Title: [261232] trunk
Revision
261232
Author
[email protected]
Date
2020-05-06 09:01:44 -0700 (Wed, 06 May 2020)

Log Message

Eliminate checks of USE(DICTATION_ALTERNATIVES) in Cocoa-specific code
https://bugs.webkit.org/show_bug.cgi?id=211460

Reviewed by Anders Carlsson.

Source/WebCore:

* editing/cocoa/AlternativeTextContextController.h: Remove USE(DICTATION_ALTERNATIVES).
Also remove unnecessary use of RetainPtr and add a FIXME. Also remove #pragma once
since this header is only imported from Objective-C++ sources.
* editing/cocoa/AlternativeTextContextController.mm: Ditto.
* editing/cocoa/AlternativeTextUIController.h: Ditto.
* editing/cocoa/AlternativeTextUIController.mm: Ditto.
* editing/mac/TextAlternativeWithRange.h: Ditto.
* editing/mac/TextAlternativeWithRange.mm: Ditto.

Source/WebKit:

* UIProcess/Cocoa/PageClientImplCocoa.h: Remove USE(DICTATION_ALTERNATIVES).
Also remove unnecessary use of RetainPtr.
* UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::PageClientImplCocoa): Ditto.
(WebKit::PageClientImplCocoa::pageClosed): Ditto.
(WebKit::PageClientImplCocoa::dictationAlternatives): Ditto.
* UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::insertDictatedTextAsync): Ditto.
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::validAttributesForMarkedText): Ditto.
(WebKit::WebViewImpl::insertText): Ditto.
* UIProcess/PageClient.h: Ditto.
* UIProcess/ios/PageClientImplIOS.h: Ditto.
* UIProcess/ios/PageClientImplIOS.mm: Ditto.
* UIProcess/ios/WKContentViewInteraction.mm: Ditto.
* UIProcess/mac/PageClientImplMac.h: Ditto.
* UIProcess/mac/PageClientImplMac.mm: Ditto.
* WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: Ditto.

Source/WebKitLegacy/mac:

* WebCoreSupport/WebAlternativeTextClient.h: Removed USE(DICTATION_ALTERNATIVES).
* WebCoreSupport/WebAlternativeTextClient.mm:
(WebAlternativeTextClient::dictationAlternatives): Ditto.
* WebView/WebHTMLView.mm: Ditto.
* WebView/WebView.mm: Ditto. Also use modern for loop.
* WebView/WebViewData.h: Ditto.
* WebView/WebViewData.mm: Ditto.
* WebView/WebViewInternal.h: Ditto.

Tools:

* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: Remove USE(DICTATION_ALTERNATIVES).

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (261231 => 261232)


--- trunk/Source/WebCore/ChangeLog	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebCore/ChangeLog	2020-05-06 16:01:44 UTC (rev 261232)
@@ -1,3 +1,19 @@
+2020-05-06  Darin Adler  <[email protected]>
+
+        Eliminate checks of USE(DICTATION_ALTERNATIVES) in Cocoa-specific code
+        https://bugs.webkit.org/show_bug.cgi?id=211460
+
+        Reviewed by Anders Carlsson.
+
+        * editing/cocoa/AlternativeTextContextController.h: Remove USE(DICTATION_ALTERNATIVES).
+        Also remove unnecessary use of RetainPtr and add a FIXME. Also remove #pragma once
+        since this header is only imported from Objective-C++ sources.
+        * editing/cocoa/AlternativeTextContextController.mm: Ditto.
+        * editing/cocoa/AlternativeTextUIController.h: Ditto.
+        * editing/cocoa/AlternativeTextUIController.mm: Ditto.
+        * editing/mac/TextAlternativeWithRange.h: Ditto.
+        * editing/mac/TextAlternativeWithRange.mm: Ditto.
+
 2020-05-06  Simon Fraser  <[email protected]>
 
         Factor EventHandler code that sends mouseEnteredContentArea/mouseExitedContentArea into its own function

Modified: trunk/Source/WebCore/editing/cocoa/AlternativeTextContextController.h (261231 => 261232)


--- trunk/Source/WebCore/editing/cocoa/AlternativeTextContextController.h	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebCore/editing/cocoa/AlternativeTextContextController.h	2020-05-06 16:01:44 UTC (rev 261232)
@@ -23,14 +23,10 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#pragma once
-
-#if USE(DICTATION_ALTERNATIVES)
-
 #import <wtf/Forward.h>
 #import <wtf/HashMap.h>
 
-OBJC_CLASS NSTextAlternatives;
+@class NSTextAlternatives;
 
 namespace WebCore {
 
@@ -40,7 +36,7 @@
     WEBCORE_EXPORT AlternativeTextContextController();
     WEBCORE_EXPORT ~AlternativeTextContextController();
 
-    uint64_t addAlternatives(const RetainPtr<NSTextAlternatives>&);
+    uint64_t addAlternatives(NSTextAlternatives *);
 
     void clear();
 
@@ -55,5 +51,3 @@
 };
 
 } // namespace WebCore
-
-#endif // USE(DICTATION_ALTERNATIVES)

Modified: trunk/Source/WebCore/editing/cocoa/AlternativeTextContextController.mm (261231 => 261232)


--- trunk/Source/WebCore/editing/cocoa/AlternativeTextContextController.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebCore/editing/cocoa/AlternativeTextContextController.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -26,8 +26,6 @@
 #import "config.h"
 #import "AlternativeTextContextController.h"
 
-#if USE(DICTATION_ALTERNATIVES)
-
 #import <wtf/RetainPtr.h>
 
 #if USE(APPKit)
@@ -42,9 +40,10 @@
 
 AlternativeTextContextController::~AlternativeTextContextController() = default;
 
-uint64_t AlternativeTextContextController::addAlternatives(const RetainPtr<NSTextAlternatives>& alternatives)
+uint64_t AlternativeTextContextController::addAlternatives(NSTextAlternatives *alternatives)
 {
-    uint64_t context = reinterpret_cast<uint64_t>(alternatives.get());
+    // FIXME: Turning a pointer into an integer is a flawed algorithm to generate a unique ID. Can lead to aliasing to a new object that happens to occupy the same memory as an old one.
+    uint64_t context = reinterpret_cast<uint64_t>(alternatives);
     if (!context)
         return invalidContext;
     if (alternativesForContext(context))
@@ -69,5 +68,3 @@
 }
 
 } // namespace WebCore
-
-#endif // USE(DICTATION_ALTERNATIVES)

Modified: trunk/Source/WebCore/editing/cocoa/AlternativeTextUIController.h (261231 => 261232)


--- trunk/Source/WebCore/editing/cocoa/AlternativeTextUIController.h	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebCore/editing/cocoa/AlternativeTextUIController.h	2020-05-06 16:01:44 UTC (rev 261232)
@@ -23,10 +23,6 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#pragma once
-
-#if USE(DICTATION_ALTERNATIVES)
-
 #import "AlternativeTextContextController.h"
 #import <wtf/RetainPtr.h>
 
@@ -42,7 +38,7 @@
 public:
     AlternativeTextUIController() = default;
 
-    WEBCORE_EXPORT uint64_t addAlternatives(const RetainPtr<NSTextAlternatives>&); // Returns a context ID.
+    WEBCORE_EXPORT uint64_t addAlternatives(NSTextAlternatives *); // Returns a context ID.
 
     WEBCORE_EXPORT void clear();
 
@@ -64,5 +60,3 @@
 };
 
 } // namespace WebCore
-
-#endif // USE(DICTATION_ALTERNATIVES)

Modified: trunk/Source/WebCore/editing/cocoa/AlternativeTextUIController.mm (261231 => 261232)


--- trunk/Source/WebCore/editing/cocoa/AlternativeTextUIController.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebCore/editing/cocoa/AlternativeTextUIController.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -26,8 +26,6 @@
 #import "config.h"
 #import "AlternativeTextUIController.h"
 
-#if USE(DICTATION_ALTERNATIVES)
-
 #import "FloatRect.h"
 #import <wtf/cocoa/VectorCocoa.h>
 
@@ -35,13 +33,15 @@
 #import <AppKit/NSSpellChecker.h>
 #import <AppKit/NSTextAlternatives.h>
 #import <AppKit/NSView.h>
-#elif PLATFORM(IOS_FAMILY)
+#endif
+
+#if PLATFORM(IOS_FAMILY)
 #import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 namespace WebCore {
 
-uint64_t AlternativeTextUIController::addAlternatives(const RetainPtr<NSTextAlternatives>& alternatives)
+uint64_t AlternativeTextUIController::addAlternatives(NSTextAlternatives *alternatives)
 {
     return m_contextController.addAlternatives(alternatives);
 }
@@ -106,5 +106,3 @@
 }
 
 } // namespace WebCore
-
-#endif // USE(DICTATION_ALTERNATIVES)

Modified: trunk/Source/WebCore/editing/mac/TextAlternativeWithRange.h (261231 => 261232)


--- trunk/Source/WebCore/editing/mac/TextAlternativeWithRange.h	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebCore/editing/mac/TextAlternativeWithRange.h	2020-05-06 16:01:44 UTC (rev 261232)
@@ -23,18 +23,13 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#pragma once
-
 #include "AlternativeTextClient.h"
 #include <wtf/RetainPtr.h>
 
-#if USE(DICTATION_ALTERNATIVES)
-OBJC_CLASS NSTextAlternatives;
-#endif
+@class NSTextAlternatives;
 
 namespace WebCore {
 
-#if USE(DICTATION_ALTERNATIVES)
 struct TextAlternativeWithRange {
     WEBCORE_EXPORT TextAlternativeWithRange(NSTextAlternatives* anAlternatives, NSRange aRange);
     NSRange range;
@@ -43,8 +38,4 @@
 
 WEBCORE_EXPORT void collectDictationTextAlternatives(NSAttributedString*, Vector<TextAlternativeWithRange>& alternatives);
 
-#else
-struct TextAlternativeWithRange { };
-#endif
-
 } // namespace WebCore

Modified: trunk/Source/WebCore/editing/mac/TextAlternativeWithRange.mm (261231 => 261232)


--- trunk/Source/WebCore/editing/mac/TextAlternativeWithRange.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebCore/editing/mac/TextAlternativeWithRange.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -22,11 +22,10 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
+
 #import "config.h"
 #import "TextAlternativeWithRange.h"
 
-#if USE(DICTATION_ALTERNATIVES)
-
 #if USE(APPKIT)
 #import <AppKit/NSTextAlternatives.h>
 #elif PLATFORM(IOS_FAMILY)
@@ -57,5 +56,3 @@
 }
 
 } // namespace WebCore
-
-#endif // USE(DICTATION_ALTERNATIVES)

Modified: trunk/Source/WebKit/ChangeLog (261231 => 261232)


--- trunk/Source/WebKit/ChangeLog	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/ChangeLog	2020-05-06 16:01:44 UTC (rev 261232)
@@ -1,3 +1,29 @@
+2020-05-06  Darin Adler  <[email protected]>
+
+        Eliminate checks of USE(DICTATION_ALTERNATIVES) in Cocoa-specific code
+        https://bugs.webkit.org/show_bug.cgi?id=211460
+
+        Reviewed by Anders Carlsson.
+
+        * UIProcess/Cocoa/PageClientImplCocoa.h: Remove USE(DICTATION_ALTERNATIVES).
+        Also remove unnecessary use of RetainPtr.
+        * UIProcess/Cocoa/PageClientImplCocoa.mm:
+        (WebKit::PageClientImplCocoa::PageClientImplCocoa): Ditto.
+        (WebKit::PageClientImplCocoa::pageClosed): Ditto.
+        (WebKit::PageClientImplCocoa::dictationAlternatives): Ditto.
+        * UIProcess/Cocoa/WebPageProxyCocoa.mm:
+        (WebKit::WebPageProxy::insertDictatedTextAsync): Ditto.
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::validAttributesForMarkedText): Ditto.
+        (WebKit::WebViewImpl::insertText): Ditto.
+        * UIProcess/PageClient.h: Ditto.
+        * UIProcess/ios/PageClientImplIOS.h: Ditto.
+        * UIProcess/ios/PageClientImplIOS.mm: Ditto.
+        * UIProcess/ios/WKContentViewInteraction.mm: Ditto.
+        * UIProcess/mac/PageClientImplMac.h: Ditto.
+        * UIProcess/mac/PageClientImplMac.mm: Ditto.
+        * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: Ditto.
+
 2020-05-06  Lauro Moura  <[email protected]>
 
         [GTK] Cleanup KeyBindingTranslator on WebView disposal

Modified: trunk/Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h (261231 => 261232)


--- trunk/Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h	2020-05-06 16:01:44 UTC (rev 261232)
@@ -62,17 +62,13 @@
     NSSet *serializableFileWrapperClasses() const final;
 #endif
 
-#if USE(DICTATION_ALTERNATIVES)
-    uint64_t addDictationAlternatives(const RetainPtr<NSTextAlternatives>&) final;
+    uint64_t addDictationAlternatives(NSTextAlternatives *) final;
     void removeDictationAlternatives(uint64_t dictationContext) final;
     Vector<String> dictationAlternatives(uint64_t dictationContext) final;
-#endif
 
 protected:
     WeakObjCPtr<WKWebView> m_webView;
-#if USE(DICTATION_ALTERNATIVES)
     std::unique_ptr<WebCore::AlternativeTextUIController> m_alternativeTextUIController;
-#endif
 };
 
 }

Modified: trunk/Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm (261231 => 261232)


--- trunk/Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -29,19 +29,14 @@
 #import "WKWebViewConfigurationPrivate.h"
 #import "WKWebViewInternal.h"
 #import "WKWebViewPrivateForTesting.h"
+#import <WebCore/AlternativeTextUIController.h>
 #import <wtf/Vector.h>
 
-#if USE(DICTATION_ALTERNATIVES)
-#import <WebCore/AlternativeTextUIController.h>
-#endif
-
 namespace WebKit {
 
 PageClientImplCocoa::PageClientImplCocoa(WKWebView *webView)
     : m_webView { webView }
-#if USE(DICTATION_ALTERNATIVES)
     , m_alternativeTextUIController { makeUnique<AlternativeTextUIController>() }
-#endif
 {
 }
 
@@ -98,14 +93,10 @@
 
 void PageClientImplCocoa::pageClosed()
 {
-#if USE(DICTATION_ALTERNATIVES)
     m_alternativeTextUIController->clear();
-#endif
 }
 
-#if USE(DICTATION_ALTERNATIVES)
-
-uint64_t PageClientImplCocoa::addDictationAlternatives(const RetainPtr<NSTextAlternatives>& alternatives)
+uint64_t PageClientImplCocoa::addDictationAlternatives(NSTextAlternatives *alternatives)
 {
     return m_alternativeTextUIController->addAlternatives(alternatives);
 }
@@ -119,8 +110,5 @@
 {
     return m_alternativeTextUIController->alternativesForContext(dictationContext);
 }
-
-#endif
-
     
 }

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm (261231 => 261232)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -45,14 +45,11 @@
 #import <WebCore/LocalCurrentGraphicsContext.h>
 #import <WebCore/NotImplemented.h>
 #import <WebCore/SearchPopupMenuCocoa.h>
+#import <WebCore/TextAlternativeWithRange.h>
 #import <WebCore/ValidationBubble.h>
 #import <wtf/BlockPtr.h>
 #import <wtf/cf/TypeCastsCF.h>
 
-#if USE(DICTATION_ALTERNATIVES)
-#import <WebCore/TextAlternativeWithRange.h>
-#endif
-
 #if ENABLE(MEDIA_USAGE)
 #import "MediaUsageManagerCocoa.h"
 #endif
@@ -247,13 +244,12 @@
 
 void WebPageProxy::insertDictatedTextAsync(const String& text, const EditingRange& replacementRange, const Vector<TextAlternativeWithRange>& dictationAlternativesWithRange, InsertTextOptions&& options)
 {
-#if USE(DICTATION_ALTERNATIVES)
     if (!hasRunningProcess())
         return;
 
     Vector<DictationAlternative> dictationAlternatives;
     for (const auto& alternativeWithRange : dictationAlternativesWithRange) {
-        uint64_t dictationContext = pageClient().addDictationAlternatives(alternativeWithRange.alternatives);
+        uint64_t dictationContext = pageClient().addDictationAlternatives(alternativeWithRange.alternatives.get());
         if (dictationContext)
             dictationAlternatives.append(DictationAlternative(alternativeWithRange.range.location, alternativeWithRange.range.length, dictationContext));
     }
@@ -264,9 +260,6 @@
     }
 
     process().send(Messages::WebPage::InsertDictatedTextAsync { text, replacementRange, dictationAlternatives, WTFMove(options) }, m_webPageID);
-#else
-    insertTextAsync(text, replacementRange, WTFMove(options));
-#endif
 }
     
 #if ENABLE(APPLE_PAY)

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (261231 => 261232)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -4703,10 +4703,11 @@
 {
     static NSArray *validAttributes;
     if (!validAttributes) {
-        validAttributes = @[ NSUnderlineStyleAttributeName, NSUnderlineColorAttributeName, NSMarkedClauseSegmentAttributeName,
-#if USE(DICTATION_ALTERNATIVES)
+        validAttributes = @[
+            NSUnderlineStyleAttributeName,
+            NSUnderlineColorAttributeName,
+            NSMarkedClauseSegmentAttributeName,
             NSTextAlternativesAttributeName,
-#endif
 #if USE(INSERTION_UNDO_GROUPING)
             NSTextInsertionUndoableAttributeName,
 #endif
@@ -4845,9 +4846,7 @@
 
     bool registerUndoGroup = false;
     if (isAttributedString) {
-#if USE(DICTATION_ALTERNATIVES)
         WebCore::collectDictationTextAlternatives(string, dictationAlternatives);
-#endif
 #if USE(INSERTION_UNDO_GROUPING)
         registerUndoGroup = WebCore::shouldRegisterInsertionUndoGroup(string);
 #endif

Modified: trunk/Source/WebKit/UIProcess/PageClient.h (261231 => 261232)


--- trunk/Source/WebKit/UIProcess/PageClient.h	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/UIProcess/PageClient.h	2020-05-06 16:01:44 UTC (rev 261232)
@@ -355,7 +355,7 @@
     virtual void takeFocus(WebCore::FocusDirection) { }
 
 #if USE(DICTATION_ALTERNATIVES)
-    virtual uint64_t addDictationAlternatives(const RetainPtr<NSTextAlternatives>&) = 0;
+    virtual uint64_t addDictationAlternatives(NSTextAlternatives *) = 0;
     virtual void removeDictationAlternatives(uint64_t dictationContext) = 0;
     virtual void showDictationAlternativeUI(const WebCore::FloatRect& boundingBoxOfDictatedText, uint64_t dictationContext) = 0;
     virtual Vector<String> dictationAlternatives(uint64_t dictationContext) = 0;

Modified: trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h (261231 => 261232)


--- trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h	2020-05-06 16:01:44 UTC (rev 261232)
@@ -260,9 +260,7 @@
     void cancelPointersForGestureRecognizer(UIGestureRecognizer*) override;
     WTF::Optional<unsigned> activeTouchIdentifierForGestureRecognizer(UIGestureRecognizer*) override;
 
-#if USE(DICTATION_ALTERNATIVES)
     void showDictationAlternativeUI(const WebCore::FloatRect&, uint64_t dictationContext) override;
-#endif
 
     WeakObjCPtr<WKContentView> m_contentView;
     RetainPtr<WKEditorUndoTarget> m_undoTarget;

Modified: trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm (261231 => 261232)


--- trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -949,15 +949,11 @@
     [m_contentView _handleAutocorrectionContext:context];
 }
 
-#if USE(DICTATION_ALTERNATIVES)
-
 void PageClientImpl::showDictationAlternativeUI(const WebCore::FloatRect&, uint64_t)
 {
     notImplemented();
 }
 
-#endif
-
 } // namespace WebKit
 
 #endif // PLATFORM(IOS_FAMILY)

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (261231 => 261232)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -113,6 +113,7 @@
 #import <WebCore/RuntimeApplicationChecks.h>
 #import <WebCore/Scrollbar.h>
 #import <WebCore/ShareData.h>
+#import <WebCore/TextAlternativeWithRange.h>
 #import <WebCore/TextIndicator.h>
 #import <WebCore/TouchAction.h>
 #import <WebCore/UTIUtilities.h>
@@ -164,10 +165,6 @@
 #import <WebKitAdditions/WKContentViewInteractionAdditions.mm>
 #endif
 
-#if USE(DICTATION_ALTERNATIVES)
-#import <WebCore/TextAlternativeWithRange.h>
-#endif
-
 #import <pal/ios/ManagedConfigurationSoftLink.h>
 
 #if HAVE(LINK_PREVIEW) && USE(UICONTEXTMENU)
@@ -4783,8 +4780,6 @@
     _page->insertTextAsync(aStringValue, WebKit::EditingRange(), WTFMove(options));
 }
 
-#if USE(DICTATION_ALTERNATIVES)
-
 - (void)insertText:(NSString *)aStringValue alternatives:(NSArray<NSString *> *)alternatives style:(UITextAlternativeStyle)style
 {
     if (!alternatives.count)
@@ -4800,8 +4795,6 @@
     }
 }
 
-#endif
-
 - (BOOL)hasText
 {
     auto& editorState = _page->editorState();

Modified: trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h (261231 => 261232)


--- trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h	2020-05-06 16:01:44 UTC (rev 261232)
@@ -180,9 +180,7 @@
 
     void intrinsicContentSizeDidChange(const WebCore::IntSize& intrinsicContentSize) override;
 
-#if USE(DICTATION_ALTERNATIVES)
     void showDictationAlternativeUI(const WebCore::FloatRect& boundingBoxOfDictatedText, uint64_t dictationContext) override;
-#endif
 
     void setEditableElementIsFocused(bool) override;
 

Modified: trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm (261231 => 261232)


--- trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -682,8 +682,6 @@
     return m_impl->executeSavedCommandBySelector(NSSelectorFromString(selectorString));
 }
 
-#if USE(DICTATION_ALTERNATIVES)
-
 void PageClientImpl::showDictationAlternativeUI(const WebCore::FloatRect& boundingBoxOfDictatedText, uint64_t dictationContext)
 {
     if (!isViewVisible() || !isViewInWindow())
@@ -693,8 +691,6 @@
     });
 }
 
-#endif
-
 void PageClientImpl::setEditableElementIsFocused(bool editableElementIsFocused)
 {
     m_impl->setEditableElementIsFocused(editableElementIsFocused);

Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp (261231 => 261232)


--- trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp	2020-05-06 16:01:44 UTC (rev 261232)
@@ -69,7 +69,6 @@
 }
 #endif
 
-#if USE(DICTATION_ALTERNATIVES)
 void WebAlternativeTextClient::removeDictationAlternatives(uint64_t dictationContext)
 {
     m_page->send(Messages::WebPageProxy::RemoveDictationAlternatives(dictationContext));
@@ -86,5 +85,5 @@
     m_page->sendSync(Messages::WebPageProxy::DictationAlternatives(dictationContext), Messages::WebPageProxy::DictationAlternatives::Reply(result));
     return result;
 }
-#endif
+
 }

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (261231 => 261232)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2020-05-06 16:01:44 UTC (rev 261232)
@@ -1,3 +1,19 @@
+2020-05-06  Darin Adler  <[email protected]>
+
+        Eliminate checks of USE(DICTATION_ALTERNATIVES) in Cocoa-specific code
+        https://bugs.webkit.org/show_bug.cgi?id=211460
+
+        Reviewed by Anders Carlsson.
+
+        * WebCoreSupport/WebAlternativeTextClient.h: Removed USE(DICTATION_ALTERNATIVES).
+        * WebCoreSupport/WebAlternativeTextClient.mm:
+        (WebAlternativeTextClient::dictationAlternatives): Ditto.
+        * WebView/WebHTMLView.mm: Ditto.
+        * WebView/WebView.mm: Ditto. Also use modern for loop.
+        * WebView/WebViewData.h: Ditto.
+        * WebView/WebViewData.mm: Ditto.
+        * WebView/WebViewInternal.h: Ditto.
+
 2020-05-05  David Kilzer  <[email protected]>
 
         Fix deprecated NSGraphicsContext methods using 'graphicsPort'

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebAlternativeTextClient.h (261231 => 261232)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebAlternativeTextClient.h	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebAlternativeTextClient.h	2020-05-06 16:01:44 UTC (rev 261232)
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#pragma once
-
 #import "CorrectionPanel.h"
 #import <WebCore/AlternativeTextClient.h>
 
@@ -33,7 +31,7 @@
 class WebAlternativeTextClient : public WebCore::AlternativeTextClient {
     WTF_MAKE_FAST_ALLOCATED;
 public:
-    explicit WebAlternativeTextClient(WebView*);
+    explicit WebAlternativeTextClient(WebView *);
     virtual ~WebAlternativeTextClient();
 #if USE(AUTOCORRECTION_PANEL)
     void showCorrectionAlternative(WebCore::AlternativeTextType, const WebCore::FloatRect& boundingBoxOfReplacedString, const String& replacedString, const String& replacementString, const Vector<String>& alternativeReplacementStrings) override;
@@ -41,20 +39,12 @@
     String dismissAlternativeSoon(WebCore::ReasonForDismissingAlternativeText) override;
     void recordAutocorrectionResponse(WebCore::AutocorrectionResponse, const String& replacedString, const String& replacementString) override;
 #endif
-#if USE(DICTATION_ALTERNATIVES)
     void showDictationAlternativeUI(const WebCore::FloatRect& boundingBoxOfDictatedText, uint64_t dictationContext) override;
     void removeDictationAlternatives(uint64_t dictationContext) override;
     Vector<String> dictationAlternatives(uint64_t dictationContext) override;
-#endif
 
 private:
-#if !(USE(AUTOCORRECTION_PANEL) || USE(DICTATION_ALTERNATIVES))
-    IGNORE_WARNINGS_BEGIN("unused-private-field")
-#endif
-    WebView* m_webView;
-#if !(USE(AUTOCORRECTION_PANEL) || USE(DICTATION_ALTERNATIVES))
-    IGNORE_WARNINGS_END
-#endif
+    WebView *m_webView;
 
 #if USE(AUTOCORRECTION_PANEL)
     CorrectionPanel m_correctionPanel;

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebAlternativeTextClient.mm (261231 => 261232)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebAlternativeTextClient.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebAlternativeTextClient.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -78,7 +78,6 @@
 }
 #endif
 
-#if USE(DICTATION_ALTERNATIVES)
 void WebAlternativeTextClient::removeDictationAlternatives(uint64_t dictationContext)
 {
     [m_webView _removeDictationAlternatives:dictationContext];
@@ -93,4 +92,3 @@
 {
     return [m_webView _dictationAlternatives:dictationContext];
 }
-#endif

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm (261231 => 261232)


--- trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -6255,9 +6255,7 @@
         NSUnderlineColorAttributeName,
         NSMarkedClauseSegmentAttributeName,
         NSTextInputReplacementRangeAttributeName,
-#if USE(DICTATION_ALTERNATIVES)
         NSTextAlternativesAttributeName,
-#endif
 #if USE(INSERTION_UNDO_GROUPING)
         NSTextInsertionUndoableAttributeName,
 #endif
@@ -6634,12 +6632,10 @@
     Vector<WebCore::DictationAlternative> dictationAlternativeLocations;
 #if PLATFORM(MAC)
     if (isAttributedString) {
-#if USE(DICTATION_ALTERNATIVES)
         Vector<WebCore::TextAlternativeWithRange> textAlternatives;
         collectDictationTextAlternatives(string, textAlternatives);
         if (!textAlternatives.isEmpty())
             [[self _webView] _getWebCoreDictationAlternatives:dictationAlternativeLocations fromTextAlternatives:textAlternatives];
-#endif
 #if USE(INSERTION_UNDO_GROUPING)
         registerUndoGroup = WebCore::shouldRegisterInsertionUndoGroup(string);
 #endif

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (261231 => 261232)


--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -9404,13 +9404,10 @@
 }
 #endif
 
-#if USE(DICTATION_ALTERNATIVES)
 - (void)_getWebCoreDictationAlternatives:(Vector<WebCore::DictationAlternative>&)alternatives fromTextAlternatives:(const Vector<WebCore::TextAlternativeWithRange>&)alternativesWithRange
 {
-    for (size_t i = 0; i < alternativesWithRange.size(); ++i) {
-        const WebCore::TextAlternativeWithRange& alternativeWithRange = alternativesWithRange[i];
-        uint64_t dictationContext = _private->m_alternativeTextUIController->addAlternatives(alternativeWithRange.alternatives);
-        if (dictationContext)
+    for (auto& alternativeWithRange : alternativesWithRange) {
+        if (auto dictationContext = _private->m_alternativeTextUIController->addAlternatives(alternativeWithRange.alternatives.get()))
             alternatives.append(WebCore::DictationAlternative(alternativeWithRange.range.location, alternativeWithRange.range.length, dictationContext));
     }
 }
@@ -9433,7 +9430,6 @@
 {
     return _private->m_alternativeTextUIController->alternativesForContext(dictationContext);
 }
-#endif
 
 #if ENABLE(SERVICE_CONTROLS)
 - (WebSelectionServiceController&)_selectionServiceController

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebViewData.h (261231 => 261232)


--- trunk/Source/WebKitLegacy/mac/WebView/WebViewData.h	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebViewData.h	2020-05-06 16:01:44 UTC (rev 261232)
@@ -358,9 +358,7 @@
     WebFixedPositionContent* _fixedPositionContent;
 #endif
 
-#if USE(DICTATION_ALTERNATIVES)
     std::unique_ptr<WebCore::AlternativeTextUIController> m_alternativeTextUIController;
-#endif
 
     RetainPtr<NSData> sourceApplicationAuditData;
 

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebViewData.mm (261231 => 261232)


--- trunk/Source/WebKitLegacy/mac/WebView/WebViewData.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebViewData.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -206,9 +206,7 @@
 
     pluginDatabaseClientCount++;
 
-#if USE(DICTATION_ALTERNATIVES)
     m_alternativeTextUIController = makeUnique<WebCore::AlternativeTextUIController>();
-#endif
 
     return self;
 }

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h (261231 => 261232)


--- trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h	2020-05-06 16:01:44 UTC (rev 261232)
@@ -34,6 +34,7 @@
 #import "WebTypesInternal.h"
 
 #ifdef __cplusplus
+
 #import <WebCore/AlternativeTextClient.h>
 #import <WebCore/FindOptions.h>
 #import <WebCore/FloatRect.h>
@@ -80,6 +81,7 @@
 #endif
 
 @class NSCandidateListTouchBarItem;
+@class NSTextAlternatives;
 @class WebBasePluginPackage;
 @class WebDownload;
 @class WebImmediateActionController;
@@ -92,10 +94,6 @@
 OptionSet<WebCore::LayoutMilestone> coreLayoutMilestones(WebLayoutMilestones);
 WebLayoutMilestones kitLayoutMilestones(OptionSet<WebCore::LayoutMilestone>);
 
-#if USE(DICTATION_ALTERNATIVES)
-OBJC_CLASS NSTextAlternatives;
-#endif
-
 #if ENABLE(DATA_INTERACTION) && defined(__cplusplus)
 @interface WebUITextIndicatorData (WebUITextIndicatorInternal)
 - (WebUITextIndicatorData *)initWithImage:(CGImageRef)image textIndicatorData:(const WebCore::TextIndicatorData&)indicatorData scale:(CGFloat)scale;
@@ -135,12 +133,10 @@
 - (void)handleAcceptedAlternativeText:(NSString*)text;
 #endif
 
-#if USE(DICTATION_ALTERNATIVES)
 - (void)_getWebCoreDictationAlternatives:(Vector<WebCore::DictationAlternative>&)alternatives fromTextAlternatives:(const Vector<WebCore::TextAlternativeWithRange>&)alternativesWithRange;
 - (void)_showDictationAlternativeUI:(const WebCore::FloatRect&)boundingBoxOfDictatedText forDictationContext:(uint64_t)dictationContext;
 - (void)_removeDictationAlternatives:(uint64_t)dictationContext;
 - (Vector<String>)_dictationAlternatives:(uint64_t)dictationContext;
-#endif
 
 #if ENABLE(SERVICE_CONTROLS)
 - (WebSelectionServiceController&)_selectionServiceController;

Modified: trunk/Tools/ChangeLog (261231 => 261232)


--- trunk/Tools/ChangeLog	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Tools/ChangeLog	2020-05-06 16:01:44 UTC (rev 261232)
@@ -1,3 +1,12 @@
+2020-05-06  Darin Adler  <[email protected]>
+
+        Eliminate checks of USE(DICTATION_ALTERNATIVES) in Cocoa-specific code
+        https://bugs.webkit.org/show_bug.cgi?id=211460
+
+        Reviewed by Anders Carlsson.
+
+        * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: Remove USE(DICTATION_ALTERNATIVES).
+
 2020-05-06  Pablo Saavedra  <[email protected]>
 
         Python3: Support Python3 in Tools/webkitpy/benchmark_runner

Modified: trunk/Tools/TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm (261231 => 261232)


--- trunk/Tools/TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm	2020-05-06 15:39:48 UTC (rev 261231)
+++ trunk/Tools/TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm	2020-05-06 16:01:44 UTC (rev 261232)
@@ -694,8 +694,6 @@
     EXPECT_NS_EQUAL((@[@"keydown", @"beforeinput", @"input", @"keyup", @"change"]), [webView objectByEvaluatingJavaScript:@"firedEvents"]);
 }
 
-#if USE(DICTATION_ALTERNATIVES)
-
 TEST(KeyboardInputTests, InsertDictationAlternativesSimulatingKeyboardInput)
 {
     InstanceMethodSwizzler overrideShouldSimulateKeyboardInputOnTextInsertion { NSClassFromString(@"WKContentView"), @selector(_shouldSimulateKeyboardInputOnTextInsertion), reinterpret_cast<IMP>(shouldSimulateKeyboardInputOnTextInsertionOverride) };
@@ -712,8 +710,6 @@
     EXPECT_NS_EQUAL((@[@"keydown", @"beforeinput", @"input", @"keyup", @"change"]), [webView objectByEvaluatingJavaScript:@"firedEvents"]);
 }
 
-#endif
-
 } // namespace TestWebKitAPI
 
 #endif // PLATFORM(IOS_FAMILY)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to