Changeset 271160 in webkit


Ignore:
Timestamp:
Jan 5, 2021 10:41:31 AM (3 years ago)
Author:
achristensen@apple.com
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:
Location:
trunk/Source/WebKit
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r271156 r271160  
     12021-01-05  Alex Christensen  <achristensen@webkit.org>
     2
     3        Use sendWithAsyncReply instead of FontAttributesCallback
     4        https://bugs.webkit.org/show_bug.cgi?id=220123
     5
     6        Reviewed by Chris Dumez.
     7
     8        * UIProcess/Cocoa/WebViewImpl.mm:
     9        (WebKit::WebViewImpl::typingAttributesWithCompletionHandler):
     10        * UIProcess/WebPageProxy.cpp:
     11        (WebKit::WebPageProxy::requestFontAttributesAtSelectionStart):
     12        (WebKit::WebPageProxy::fontAttributesCallback): Deleted.
     13        * UIProcess/WebPageProxy.h:
     14        * UIProcess/WebPageProxy.messages.in:
     15        * WebProcess/WebPage/WebPage.cpp:
     16        (WebKit::WebPage::requestFontAttributesAtSelectionStart):
     17        * WebProcess/WebPage/WebPage.h:
     18        * WebProcess/WebPage/WebPage.messages.in:
     19
    1202021-01-05  Alex Christensen  <achristensen@webkit.org>
    221
  • trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm

    r271156 r271160  
    29802980    }
    29812981
    2982     m_page->requestFontAttributesAtSelectionStart([completion = makeBlockPtr(completion)] (const WebCore::FontAttributes& attributes, CallbackBase::Error error) {
    2983         if (error != CallbackBase::Error::None) {
    2984             completion(nil);
    2985             return;
    2986         }
    2987 
     2982    m_page->requestFontAttributesAtSelectionStart([completion = makeBlockPtr(completion)] (const WebCore::FontAttributes& attributes) {
    29882983        auto attributesAsDictionary = attributes.createDictionary();
    29892984        completion(attributesAsDictionary.get());
  • trunk/Source/WebKit/UIProcess/WebPageProxy.cpp

    r271156 r271160  
    23452345}
    23462346
    2347 void WebPageProxy::requestFontAttributesAtSelectionStart(Function<void(const WebCore::FontAttributes&, CallbackBase::Error)>&& callback)
    2348 {
    2349     if (!hasRunningProcess()) {
    2350         callback({ }, CallbackBase::Error::Unknown);
    2351         return;
    2352     }
    2353 
    2354     auto callbackID = m_callbacks.put(WTFMove(callback), m_process->throttler().backgroundActivity("WebPageProxy::requestFontAttributesAtSelectionStart"_s));
    2355     send(Messages::WebPage::RequestFontAttributesAtSelectionStart(callbackID));
    2356 }
    2357 
    2358 void WebPageProxy::fontAttributesCallback(const WebCore::FontAttributes& attributes, CallbackID callbackID)
    2359 {
    2360     m_cachedFontAttributesAtSelectionStart = attributes;
    2361 
    2362     if (auto callback = m_callbacks.take<FontAttributesCallback>(callbackID))
    2363         callback->performCallbackWithReturnValue(attributes);
     2347void WebPageProxy::requestFontAttributesAtSelectionStart(CompletionHandler<void(const WebCore::FontAttributes&)>&& callback)
     2348{
     2349    if (!hasRunningProcess())
     2350        return callback({ });
     2351
     2352    sendWithAsyncReply(Messages::WebPage::RequestFontAttributesAtSelectionStart(), [this, protectedThis = makeRef(*this), callback = WTFMove(callback)] (const WebCore::FontAttributes& attributes) mutable {
     2353        m_cachedFontAttributesAtSelectionStart = attributes;
     2354        callback(attributes);
     2355    });
    23642356}
    23652357
  • trunk/Source/WebKit/UIProcess/WebPageProxy.h

    r271156 r271160  
    375375typedef GenericCallback<uint64_t> UnsignedCallback;
    376376typedef GenericCallback<const String&> StringCallback;
    377 typedef GenericCallback<const WebCore::FontAttributes&> FontAttributesCallback;
    378377typedef GenericCallback<bool> BoolCallback;
    379378
     
    721720    void setMediaStreamCaptureMuted(bool);
    722721
    723     void requestFontAttributesAtSelectionStart(Function<void(const WebCore::FontAttributes&, CallbackBase::Error)>&&);
    724     void fontAttributesCallback(const WebCore::FontAttributes&, CallbackID);
     722    void requestFontAttributesAtSelectionStart(CompletionHandler<void(const WebCore::FontAttributes&)>&&);
    725723
    726724    void setCanShowPlaceholder(const WebCore::ElementContext&, bool);
  • trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in

    r271156 r271160  
    179179    FontAtSelectionCallback(struct WebKit::FontInfo fontInfo, double fontSize, bool selectionHasMultipleFonts, WebKit::CallbackID callbackID)
    180180#endif
    181     FontAttributesCallback(struct WebCore::FontAttributes attributes, WebKit::CallbackID callbackID)
    182181#if PLATFORM(IOS_FAMILY)
    183182    GestureCallback(WebCore::IntPoint point, enum:uint8_t WebKit::GestureType gestureType, enum:uint8_t WebKit::GestureRecognizerState gestureState, OptionSet<WebKit::SelectionFlags> flags, WebKit::CallbackID callbackID)
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp

    r271156 r271160  
    30113011}
    30123012
    3013 void WebPage::requestFontAttributesAtSelectionStart(CallbackID callbackID)
    3014 {
    3015     auto attributes = m_page->focusController().focusedOrMainFrame().editor().fontAttributesAtSelectionStart();
    3016     send(Messages::WebPageProxy::FontAttributesCallback(attributes, callbackID));
     3013void WebPage::requestFontAttributesAtSelectionStart(CompletionHandler<void(const WebCore::FontAttributes&)>&& completionHandler)
     3014{
     3015    completionHandler(m_page->focusController().focusedOrMainFrame().editor().fontAttributesAtSelectionStart());
    30173016}
    30183017
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.h

    r271156 r271160  
    15361536    void setCurrentHistoryItemForReattach(WebKit::BackForwardListItemState&&);
    15371537
    1538     void requestFontAttributesAtSelectionStart(CallbackID);
     1538    void requestFontAttributesAtSelectionStart(CompletionHandler<void(const WebCore::FontAttributes&)>&&);
    15391539
    15401540#if ENABLE(REMOTE_INSPECTOR)
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in

    r271156 r271160  
    264264    SetNeedsFontAttributes(bool needsFontAttributes)
    265265
    266     RequestFontAttributesAtSelectionStart(WebKit::CallbackID callbackID)
     266    RequestFontAttributesAtSelectionStart() -> (struct WebCore::FontAttributes attributes) Async
    267267
    268268    DidRemoveEditCommand(uint64_t commandID)
Note: See TracChangeset for help on using the changeset viewer.