Changeset 85570 in webkit


Ignore:
Timestamp:
May 2, 2011 6:19:07 PM (13 years ago)
Author:
andersca@apple.com
Message:

2011-05-02 Anders Carlsson <andersca@apple.com>

Reviewed by Oliver Hunt.

Dispatch the PluginProcessCrashed on the connection work queue
https://bugs.webkit.org/show_bug.cgi?id=59996

  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::initialize): Add the web process as a queue client.

(WebKit::WebProcess::terminate):
Remove the web process as a queue client.

(WebKit::WebProcess::willProcessMessageOnClientRunLoop):
Try calling willProcessWebProcessMessageOnClientRunLoop.

  • WebProcess/WebProcess.messages.in: Add the DispatchOnConnectionQueue attribute to PluginProcessCrashed.
Location:
trunk/Source/WebKit2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r85569 r85570  
     12011-05-02  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Oliver Hunt.
     4
     5        Dispatch the PluginProcessCrashed on the connection work queue
     6        https://bugs.webkit.org/show_bug.cgi?id=59996
     7
     8        * WebProcess/WebProcess.cpp:
     9        (WebKit::WebProcess::initialize):
     10        Add the web process as a queue client.
     11
     12        (WebKit::WebProcess::terminate):
     13        Remove the web process as a queue client.
     14
     15        (WebKit::WebProcess::willProcessMessageOnClientRunLoop):
     16        Try calling willProcessWebProcessMessageOnClientRunLoop.
     17
     18        * WebProcess/WebProcess.messages.in:
     19        Add the DispatchOnConnectionQueue attribute to PluginProcessCrashed.
     20
    1212011-05-02  Anders Carlsson  <andersca@apple.com>
    222
  • trunk/Source/WebKit2/WebProcess/WebProcess.cpp

    r85569 r85570  
    150150    m_connection->setDidCloseOnConnectionWorkQueueCallback(didCloseOnConnectionWorkQueue);
    151151    m_connection->setShouldExitOnSyncMessageSendFailure(true);
     152    m_connection->addQueueClient(this);
    152153
    153154    m_connection->open();
     
    551552
    552553    // Invalidate our connection.
     554    m_connection->removeQueueClient(this);
    553555    m_connection->invalidate();
    554556    m_connection = nullptr;
     
    675677}
    676678
     679bool WebProcess::willProcessMessageOnClientRunLoop(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
     680{
     681    if (messageID.is<CoreIPC::MessageClassWebProcess>())
     682        return willProcessWebProcessMessageOnClientRunLoop(connection, messageID, arguments);
     683
     684    return true;
     685}
     686
    677687WebFrame* WebProcess::webFrame(uint64_t frameID) const
    678688{
  • trunk/Source/WebKit2/WebProcess/WebProcess.h

    r85569 r85570  
    6767struct WebProcessCreationParameters;
    6868
    69 class WebProcess : public ChildProcess {
     69class WebProcess : public ChildProcess, private CoreIPC::Connection::QueueClient {
    7070public:
    7171    static WebProcess& shared();
     
    183183    virtual void syncMessageSendTimedOut(CoreIPC::Connection*);
    184184
     185    // CoreIPC::Connection::QueueClient
     186    virtual bool willProcessMessageOnClientRunLoop(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
     187
    185188#if PLATFORM(WIN)
    186189    Vector<HWND> windowsToReceiveSentMessagesWhileWaitingForSyncReply();
     
    188191
    189192    // Implemented in generated WebProcessMessageReceiver.cpp
     193    bool willProcessWebProcessMessageOnClientRunLoop(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
    190194    void didReceiveWebProcessMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
    191    
     195
    192196    RefPtr<CoreIPC::Connection> m_connection;
    193197    HashMap<uint64_t, RefPtr<WebPage> > m_pageMap;
  • trunk/Source/WebKit2/WebProcess/WebProcess.messages.in

    r85569 r85570  
    5454
    5555#if ENABLE(PLUGIN_PROCESS)
    56     PluginProcessCrashed(String pluginProcess)
     56    PluginProcessCrashed(String pluginProcess) DispatchOnConnectionQueue
    5757#endif
    5858
Note: See TracChangeset for help on using the changeset viewer.