Changeset 90398 in webkit


Ignore:
Timestamp:
Jul 5, 2011 9:01:45 AM (13 years ago)
Author:
yurys@chromium.org
Message:

2011-07-05 Yury Semikhatsky <yurys@chromium.org>

[Chromium] Web Inspector: extend WebSharedWorker with inspector transport methods
https://bugs.webkit.org/show_bug.cgi?id=63942

Added methods for connecting inspector to shared worker and for passing
messages between shared worker inspector and corresponding inspector frontend.

Reviewed by Pavel Feldman.

  • public/WebCommonWorkerClient.h: (WebKit::WebCommonWorkerClient::dispatchDevToolsMessage):
  • public/WebSharedWorker.h: (WebKit::WebSharedWorker::attachDevTools): (WebKit::WebSharedWorker::detachDevTools): (WebKit::WebSharedWorker::dispatchDevToolsMessage):
  • public/WebWorkerClient.h:
  • src/WebSharedWorkerImpl.cpp: (WebKit::connectToWorkerContextInspectorTask): (WebKit::WebSharedWorkerImpl::attachDevTools): (WebKit::disconnectFromWorkerContextInspectorTask): (WebKit::WebSharedWorkerImpl::detachDevTools): (WebKit::dispatchOnInspectorBackendTask): (WebKit::WebSharedWorkerImpl::dispatchDevToolsMessage):
  • src/WebSharedWorkerImpl.h:
  • src/WebWorkerBase.cpp: (WebKit::WebWorkerBase::postMessageToPageInspectorTask):
Location:
trunk/Source/WebKit/chromium
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/chromium/ChangeLog

    r90313 r90398  
     12011-07-05  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        [Chromium] Web Inspector: extend WebSharedWorker with inspector transport methods
     4        https://bugs.webkit.org/show_bug.cgi?id=63942
     5
     6        Added methods for connecting inspector to shared worker and for passing
     7        messages between shared worker inspector and corresponding inspector frontend.
     8
     9        Reviewed by Pavel Feldman.
     10
     11        * public/WebCommonWorkerClient.h:
     12        (WebKit::WebCommonWorkerClient::dispatchDevToolsMessage):
     13        * public/WebSharedWorker.h:
     14        (WebKit::WebSharedWorker::attachDevTools):
     15        (WebKit::WebSharedWorker::detachDevTools):
     16        (WebKit::WebSharedWorker::dispatchDevToolsMessage):
     17        * public/WebWorkerClient.h:
     18        * src/WebSharedWorkerImpl.cpp:
     19        (WebKit::connectToWorkerContextInspectorTask):
     20        (WebKit::WebSharedWorkerImpl::attachDevTools):
     21        (WebKit::disconnectFromWorkerContextInspectorTask):
     22        (WebKit::WebSharedWorkerImpl::detachDevTools):
     23        (WebKit::dispatchOnInspectorBackendTask):
     24        (WebKit::WebSharedWorkerImpl::dispatchDevToolsMessage):
     25        * src/WebSharedWorkerImpl.h:
     26        * src/WebWorkerBase.cpp:
     27        (WebKit::WebWorkerBase::postMessageToPageInspectorTask):
     28
    1292011-07-01  Kent Tamura  <tkent@chromium.org>
    230
  • trunk/Source/WebKit/chromium/public/WebCommonWorkerClient.h

    r86356 r90398  
    9999    }
    100100
     101    virtual void dispatchDevToolsMessage(const WebString&) { }
     102
    101103protected:
    102104    ~WebCommonWorkerClient() { }
  • trunk/Source/WebKit/chromium/public/WebSharedWorker.h

    r61856 r90398  
    7878    // Notification when the WebCommonWorkerClient is destroyed.
    7979    virtual void clientDestroyed() = 0;
     80
     81    virtual void attachDevTools() { }
     82    virtual void detachDevTools() { }
     83    virtual void dispatchDevToolsMessage(const WebString&) { }
    8084};
    8185
  • trunk/Source/WebKit/chromium/public/WebWorkerClient.h

    r87074 r90398  
    5353    virtual void reportPendingActivity(bool hasPendingActivity) = 0;
    5454
    55     virtual void dispatchDevToolsMessage(const WebString&) { }
    56 
    5755protected:
    5856    ~WebWorkerClient() { }
  • trunk/Source/WebKit/chromium/src/WebSharedWorkerImpl.cpp

    r85165 r90398  
    4040#include "SharedWorkerContext.h"
    4141#include "SharedWorkerThread.h"
     42#include "WorkerInspectorController.h"
     43#include "WorkerScriptDebugServer.h"
    4244
    4345#include "WebMessagePortChannel.h"
     
    110112}
    111113
     114static void connectToWorkerContextInspectorTask(ScriptExecutionContext* context, bool)
     115{
     116    ASSERT(context->isWorkerContext());
     117    static_cast<WorkerContext*>(context)->workerInspectorController()->connectFrontend();
     118}
     119
     120void WebSharedWorkerImpl::attachDevTools()
     121{
     122    workerThread()->runLoop().postTask(createCallbackTask(connectToWorkerContextInspectorTask, true));
     123}
     124
     125static void disconnectFromWorkerContextInspectorTask(ScriptExecutionContext* context, bool)
     126{
     127    ASSERT(context->isWorkerContext());
     128    static_cast<WorkerContext*>(context)->workerInspectorController()->disconnectFrontend();
     129}
     130
     131void WebSharedWorkerImpl::detachDevTools()
     132{
     133    workerThread()->runLoop().postTaskForMode(createCallbackTask(disconnectFromWorkerContextInspectorTask, true), WorkerScriptDebugServer::debuggerTaskMode);
     134}
     135
     136static void dispatchOnInspectorBackendTask(ScriptExecutionContext* context, const String& message)
     137{
     138    ASSERT(context->isWorkerContext());
     139    static_cast<WorkerContext*>(context)->workerInspectorController()->dispatchMessageFromFrontend(message);
     140}
     141
     142void WebSharedWorkerImpl::dispatchDevToolsMessage(const WebString& message)
     143{
     144    workerThread()->runLoop().postTaskForMode(createCallbackTask(dispatchOnInspectorBackendTask, String(message)), WorkerScriptDebugServer::debuggerTaskMode);
     145}
     146
    112147WebWorkerClient* WebSharedWorkerImpl::client()
    113148{
  • trunk/Source/WebKit/chromium/src/WebSharedWorkerImpl.h

    r85165 r90398  
    5757    virtual void clientDestroyed();
    5858
     59    virtual void attachDevTools();
     60    virtual void detachDevTools();
     61    virtual void dispatchDevToolsMessage(const WebString&);
     62
    5963    // WebWorkerBase methods:
    6064    WebWorkerClient* client();
  • trunk/Source/WebKit/chromium/src/WebWorkerBase.cpp

    r87074 r90398  
    430430void WebWorkerBase::postMessageToPageInspectorTask(ScriptExecutionContext*, WebWorkerBase* thisPtr, const String& message)
    431431{
    432     if (!thisPtr->client())
    433         return;
    434     thisPtr->client()->dispatchDevToolsMessage(message);
     432    if (!thisPtr->commonClient())
     433        return;
     434    thisPtr->commonClient()->dispatchDevToolsMessage(message);
    435435}
    436436
Note: See TracChangeset for help on using the changeset viewer.