Changeset 170168 in webkit


Ignore:
Timestamp:
Jun 19, 2014 5:49:16 PM (10 years ago)
Author:
mitz@apple.com
Message:

Use a single map for all callback types in WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=134069

Reviewed by Tim Horton.

  • UIProcess/GenericCallback.h:

(WebKit::CallbackMap::take):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::printFinishedCallback):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::drawPagesForPrinting):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPageProxy::attributedStringForCharacterRangeCallback):

Location:
trunk/Source/WebKit2
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r170166 r170168  
     12014-06-19  Dan Bernstein  <mitz@apple.com>
     2
     3        Use a single map for all callback types in WebPageProxy
     4        https://bugs.webkit.org/show_bug.cgi?id=134069
     5
     6        Reviewed by Tim Horton.
     7
     8        * UIProcess/GenericCallback.h:
     9        (WebKit::CallbackMap::take):
     10        * UIProcess/WebPageProxy.cpp:
     11        (WebKit::WebPageProxy::printFinishedCallback):
     12        (WebKit::WebPageProxy::resetState):
     13        (WebKit::WebPageProxy::drawPagesForPrinting):
     14        * UIProcess/WebPageProxy.h:
     15        * UIProcess/mac/WebPageProxyMac.mm:
     16        (WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
     17        (WebKit::WebPageProxy::attributedStringForCharacterRangeCallback):
     18
    1192014-06-19  Anders Carlsson  <andersca@apple.com>
    220
  • trunk/Source/WebKit2/UIProcess/GenericCallback.h

    r170158 r170168  
    175175
    176176    template<class T>
    177     typename std::enable_if<std::is_base_of<CallbackBase, T>::value, RefPtr<T>>::type take(uint64_t callbackID)
     177    RefPtr<T> take(uint64_t callbackID)
    178178    {
    179179        RefPtr<CallbackBase> base = m_map.take(callbackID);
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r170158 r170168  
    41264126void WebPageProxy::printFinishedCallback(const ResourceError& printError, uint64_t callbackID)
    41274127{
    4128     RefPtr<PrintFinishedCallback> callback = m_printFinishedCallbacks.take(callbackID);
     4128    auto callback = m_callbacks.take<PrintFinishedCallback>(callbackID);
    41294129    if (!callback) {
    41304130        // FIXME: Log error or assert.
     
    42844284    m_callbacks.invalidate(error);
    42854285    m_loadDependentStringCallbackIDs.clear();
    4286 #if PLATFORM(MAC)
    4287     invalidateCallbackMap(m_attributedStringForCharacterRangeCallbacks, error);
    4288 #endif
    4289 #if PLATFORM(GTK)
    4290     invalidateCallbackMap(m_printFinishedCallbacks, error);
    4291 #endif
    42924286
    42934287    Vector<WebEditCommandProxy*> editCommandVector;
     
    47444738
    47454739    uint64_t callbackID = callback->callbackID();
    4746     m_printFinishedCallbacks.set(callbackID, callback);
     4740    m_callbacks.put(callback);
    47474741    m_isInPrintingMode = true;
    47484742    m_process->send(Messages::WebPage::DrawPagesForPrinting(frame->frameID(), printInfo, callbackID), m_pageID, m_isPerformingDOMPrintOperation ? IPC::DispatchMessageEvenWhenWaitingForSyncReply : 0);
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r170158 r170168  
    13051305    CallbackMap m_callbacks;
    13061306    HashSet<uint64_t> m_loadDependentStringCallbackIDs;
    1307 #if PLATFORM(MAC)
    1308     HashMap<uint64_t, RefPtr<AttributedStringForCharacterRangeCallback>> m_attributedStringForCharacterRangeCallbacks;
    1309 #endif
    1310 #if PLATFORM(GTK)
    1311     HashMap<uint64_t, RefPtr<PrintFinishedCallback>> m_printFinishedCallbacks;
    1312 #endif
    13131307
    13141308    HashSet<WebEditCommandProxy*> m_editCommandSet;
  • trunk/Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm

    r170000 r170168  
    336336
    337337    uint64_t callbackID = callback->callbackID();
    338     m_attributedStringForCharacterRangeCallbacks.set(callbackID, callback);
     338    m_callbacks.put(callback);
    339339
    340340    process().send(Messages::WebPage::AttributedSubstringForCharacterRangeAsync(range, callbackID), m_pageID);
     
    345345    MESSAGE_CHECK(actualRange.isValid());
    346346
    347     RefPtr<AttributedStringForCharacterRangeCallback> callback = m_attributedStringForCharacterRangeCallbacks.take(callbackID);
     347    auto callback = m_callbacks.take<AttributedStringForCharacterRangeCallback>(callbackID);
    348348    if (!callback) {
    349349        // FIXME: Log error or assert.
Note: See TracChangeset for help on using the changeset viewer.