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)