Title: [271160] trunk/Source/WebKit
Revision
271160
Author
[email protected]
Date
2021-01-05 10:41:31 -0800 (Tue, 05 Jan 2021)

Log Message

Use sendWithAsyncReply instead of FontAttributesCallback
https://bugs.webkit.org/show_bug.cgi?id=220123

Reviewed by Chris Dumez.

* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::typingAttributesWithCompletionHandler):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestFontAttributesAtSelectionStart):
(WebKit::WebPageProxy::fontAttributesCallback): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestFontAttributesAtSelectionStart):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (271159 => 271160)


--- trunk/Source/WebKit/ChangeLog	2021-01-05 18:38:08 UTC (rev 271159)
+++ trunk/Source/WebKit/ChangeLog	2021-01-05 18:41:31 UTC (rev 271160)
@@ -1,5 +1,24 @@
 2021-01-05  Alex Christensen  <[email protected]>
 
+        Use sendWithAsyncReply instead of FontAttributesCallback
+        https://bugs.webkit.org/show_bug.cgi?id=220123
+
+        Reviewed by Chris Dumez.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::typingAttributesWithCompletionHandler):
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::requestFontAttributesAtSelectionStart):
+        (WebKit::WebPageProxy::fontAttributesCallback): Deleted.
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::requestFontAttributesAtSelectionStart):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+
+2021-01-05  Alex Christensen  <[email protected]>
+
         Use sendWithAsyncReply instead of RectForCharacterRangeCallback
         https://bugs.webkit.org/show_bug.cgi?id=220125
 

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (271159 => 271160)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2021-01-05 18:38:08 UTC (rev 271159)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2021-01-05 18:41:31 UTC (rev 271160)
@@ -2979,12 +2979,7 @@
         return;
     }
 
-    m_page->requestFontAttributesAtSelectionStart([completion = makeBlockPtr(completion)] (const WebCore::FontAttributes& attributes, CallbackBase::Error error) {
-        if (error != CallbackBase::Error::None) {
-            completion(nil);
-            return;
-        }
-
+    m_page->requestFontAttributesAtSelectionStart([completion = makeBlockPtr(completion)] (const WebCore::FontAttributes& attributes) {
         auto attributesAsDictionary = attributes.createDictionary();
         completion(attributesAsDictionary.get());
     });

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (271159 => 271160)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-01-05 18:38:08 UTC (rev 271159)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-01-05 18:41:31 UTC (rev 271160)
@@ -2344,25 +2344,17 @@
     send(Messages::WebPage::ExecuteEditCommand(commandName, argument));
 }
 
-void WebPageProxy::requestFontAttributesAtSelectionStart(Function<void(const WebCore::FontAttributes&, CallbackBase::Error)>&& callback)
+void WebPageProxy::requestFontAttributesAtSelectionStart(CompletionHandler<void(const WebCore::FontAttributes&)>&& callback)
 {
-    if (!hasRunningProcess()) {
-        callback({ }, CallbackBase::Error::Unknown);
-        return;
-    }
+    if (!hasRunningProcess())
+        return callback({ });
 
-    auto callbackID = m_callbacks.put(WTFMove(callback), m_process->throttler().backgroundActivity("WebPageProxy::requestFontAttributesAtSelectionStart"_s));
-    send(Messages::WebPage::RequestFontAttributesAtSelectionStart(callbackID));
+    sendWithAsyncReply(Messages::WebPage::RequestFontAttributesAtSelectionStart(), [this, protectedThis = makeRef(*this), callback = WTFMove(callback)] (const WebCore::FontAttributes& attributes) mutable {
+        m_cachedFontAttributesAtSelectionStart = attributes;
+        callback(attributes);
+    });
 }
 
-void WebPageProxy::fontAttributesCallback(const WebCore::FontAttributes& attributes, CallbackID callbackID)
-{
-    m_cachedFontAttributesAtSelectionStart = attributes;
-
-    if (auto callback = m_callbacks.take<FontAttributesCallback>(callbackID))
-        callback->performCallbackWithReturnValue(attributes);
-}
-
 void WebPageProxy::setEditable(bool editable)
 {
     if (editable == m_isEditable)

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (271159 => 271160)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.h	2021-01-05 18:38:08 UTC (rev 271159)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h	2021-01-05 18:41:31 UTC (rev 271160)
@@ -374,7 +374,6 @@
 typedef GenericCallback<API::Data*> DataCallback;
 typedef GenericCallback<uint64_t> UnsignedCallback;
 typedef GenericCallback<const String&> StringCallback;
-typedef GenericCallback<const WebCore::FontAttributes&> FontAttributesCallback;
 typedef GenericCallback<bool> BoolCallback;
 
 #if HAVE(VISIBILITY_PROPAGATION_VIEW)
@@ -720,8 +719,7 @@
     bool isMediaStreamCaptureMuted() const { return m_mutedState & WebCore::MediaProducer::MediaStreamCaptureIsMuted; }
     void setMediaStreamCaptureMuted(bool);
 
-    void requestFontAttributesAtSelectionStart(Function<void(const WebCore::FontAttributes&, CallbackBase::Error)>&&);
-    void fontAttributesCallback(const WebCore::FontAttributes&, CallbackID);
+    void requestFontAttributesAtSelectionStart(CompletionHandler<void(const WebCore::FontAttributes&)>&&);
 
     void setCanShowPlaceholder(const WebCore::ElementContext&, bool);
 

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in (271159 => 271160)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in	2021-01-05 18:38:08 UTC (rev 271159)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in	2021-01-05 18:41:31 UTC (rev 271160)
@@ -178,7 +178,6 @@
     AttributedStringForCharacterRangeCallback(struct WebCore::AttributedString string, struct WebKit::EditingRange actualRange, WebKit::CallbackID callbackID)
     FontAtSelectionCallback(struct WebKit::FontInfo fontInfo, double fontSize, bool selectionHasMultipleFonts, WebKit::CallbackID callbackID)
 #endif
-    FontAttributesCallback(struct WebCore::FontAttributes attributes, WebKit::CallbackID callbackID)
 #if PLATFORM(IOS_FAMILY)
     GestureCallback(WebCore::IntPoint point, enum:uint8_t WebKit::GestureType gestureType, enum:uint8_t WebKit::GestureRecognizerState gestureState, OptionSet<WebKit::SelectionFlags> flags, WebKit::CallbackID callbackID)
     TouchesCallback(WebCore::IntPoint point, enum:uint8_t WebKit::SelectionTouch touches, OptionSet<WebKit::SelectionFlags> flags, WebKit::CallbackID callbackID)

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (271159 => 271160)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2021-01-05 18:38:08 UTC (rev 271159)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2021-01-05 18:41:31 UTC (rev 271160)
@@ -3010,10 +3010,9 @@
     corePage()->mainFrame().loader().history().setCurrentItem(historyItemRef);
 }
 
-void WebPage::requestFontAttributesAtSelectionStart(CallbackID callbackID)
+void WebPage::requestFontAttributesAtSelectionStart(CompletionHandler<void(const WebCore::FontAttributes&)>&& completionHandler)
 {
-    auto attributes = m_page->focusController().focusedOrMainFrame().editor().fontAttributesAtSelectionStart();
-    send(Messages::WebPageProxy::FontAttributesCallback(attributes, callbackID));
+    completionHandler(m_page->focusController().focusedOrMainFrame().editor().fontAttributesAtSelectionStart());
 }
 
 void WebPage::cancelGesturesBlockedOnSynchronousReplies()

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (271159 => 271160)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2021-01-05 18:38:08 UTC (rev 271159)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2021-01-05 18:41:31 UTC (rev 271160)
@@ -1535,7 +1535,7 @@
     void updateBackForwardListForReattach(const Vector<WebKit::BackForwardListItemState>&);
     void setCurrentHistoryItemForReattach(WebKit::BackForwardListItemState&&);
 
-    void requestFontAttributesAtSelectionStart(CallbackID);
+    void requestFontAttributesAtSelectionStart(CompletionHandler<void(const WebCore::FontAttributes&)>&&);
 
 #if ENABLE(REMOTE_INSPECTOR)
     void setIndicating(bool);

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (271159 => 271160)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2021-01-05 18:38:08 UTC (rev 271159)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2021-01-05 18:41:31 UTC (rev 271160)
@@ -263,7 +263,7 @@
 
     SetNeedsFontAttributes(bool needsFontAttributes)
 
-    RequestFontAttributesAtSelectionStart(WebKit::CallbackID callbackID)
+    RequestFontAttributesAtSelectionStart() -> (struct WebCore::FontAttributes attributes) Async
 
     DidRemoveEditCommand(uint64_t commandID)
     ReapplyEditCommand(uint64_t commandID)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to