Title: [90398] trunk/Source/WebKit/chromium
- Revision
- 90398
- Author
- [email protected]
- Date
- 2011-07-05 09:01:45 -0700 (Tue, 05 Jul 2011)
Log Message
2011-07-05 Yury Semikhatsky <[email protected]>
[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):
Modified Paths
Diff
Modified: trunk/Source/WebKit/chromium/ChangeLog (90397 => 90398)
--- trunk/Source/WebKit/chromium/ChangeLog 2011-07-05 15:35:19 UTC (rev 90397)
+++ trunk/Source/WebKit/chromium/ChangeLog 2011-07-05 16:01:45 UTC (rev 90398)
@@ -1,3 +1,31 @@
+2011-07-05 Yury Semikhatsky <[email protected]>
+
+ [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):
+
2011-07-01 Kent Tamura <[email protected]>
[Chromium] Rebaseline for fast/forms/input-file-re-render.html
Modified: trunk/Source/WebKit/chromium/public/WebCommonWorkerClient.h (90397 => 90398)
--- trunk/Source/WebKit/chromium/public/WebCommonWorkerClient.h 2011-07-05 15:35:19 UTC (rev 90397)
+++ trunk/Source/WebKit/chromium/public/WebCommonWorkerClient.h 2011-07-05 16:01:45 UTC (rev 90398)
@@ -98,6 +98,8 @@
WEBKIT_ASSERT_NOT_REACHED();
}
+ virtual void dispatchDevToolsMessage(const WebString&) { }
+
protected:
~WebCommonWorkerClient() { }
};
Modified: trunk/Source/WebKit/chromium/public/WebSharedWorker.h (90397 => 90398)
--- trunk/Source/WebKit/chromium/public/WebSharedWorker.h 2011-07-05 15:35:19 UTC (rev 90397)
+++ trunk/Source/WebKit/chromium/public/WebSharedWorker.h 2011-07-05 16:01:45 UTC (rev 90398)
@@ -77,6 +77,10 @@
// Notification when the WebCommonWorkerClient is destroyed.
virtual void clientDestroyed() = 0;
+
+ virtual void attachDevTools() { }
+ virtual void detachDevTools() { }
+ virtual void dispatchDevToolsMessage(const WebString&) { }
};
} // namespace WebKit
Modified: trunk/Source/WebKit/chromium/public/WebWorkerClient.h (90397 => 90398)
--- trunk/Source/WebKit/chromium/public/WebWorkerClient.h 2011-07-05 15:35:19 UTC (rev 90397)
+++ trunk/Source/WebKit/chromium/public/WebWorkerClient.h 2011-07-05 16:01:45 UTC (rev 90398)
@@ -52,8 +52,6 @@
virtual void confirmMessageFromWorkerObject(bool hasPendingActivity) = 0;
virtual void reportPendingActivity(bool hasPendingActivity) = 0;
- virtual void dispatchDevToolsMessage(const WebString&) { }
-
protected:
~WebWorkerClient() { }
};
Modified: trunk/Source/WebKit/chromium/src/WebSharedWorkerImpl.cpp (90397 => 90398)
--- trunk/Source/WebKit/chromium/src/WebSharedWorkerImpl.cpp 2011-07-05 15:35:19 UTC (rev 90397)
+++ trunk/Source/WebKit/chromium/src/WebSharedWorkerImpl.cpp 2011-07-05 16:01:45 UTC (rev 90398)
@@ -39,6 +39,8 @@
#include "ScriptExecutionContext.h"
#include "SharedWorkerContext.h"
#include "SharedWorkerThread.h"
+#include "WorkerInspectorController.h"
+#include "WorkerScriptDebugServer.h"
#include "WebMessagePortChannel.h"
#include "WebString.h"
@@ -109,6 +111,39 @@
m_client = 0;
}
+static void connectToWorkerContextInspectorTask(ScriptExecutionContext* context, bool)
+{
+ ASSERT(context->isWorkerContext());
+ static_cast<WorkerContext*>(context)->workerInspectorController()->connectFrontend();
+}
+
+void WebSharedWorkerImpl::attachDevTools()
+{
+ workerThread()->runLoop().postTask(createCallbackTask(connectToWorkerContextInspectorTask, true));
+}
+
+static void disconnectFromWorkerContextInspectorTask(ScriptExecutionContext* context, bool)
+{
+ ASSERT(context->isWorkerContext());
+ static_cast<WorkerContext*>(context)->workerInspectorController()->disconnectFrontend();
+}
+
+void WebSharedWorkerImpl::detachDevTools()
+{
+ workerThread()->runLoop().postTaskForMode(createCallbackTask(disconnectFromWorkerContextInspectorTask, true), WorkerScriptDebugServer::debuggerTaskMode);
+}
+
+static void dispatchOnInspectorBackendTask(ScriptExecutionContext* context, const String& message)
+{
+ ASSERT(context->isWorkerContext());
+ static_cast<WorkerContext*>(context)->workerInspectorController()->dispatchMessageFromFrontend(message);
+}
+
+void WebSharedWorkerImpl::dispatchDevToolsMessage(const WebString& message)
+{
+ workerThread()->runLoop().postTaskForMode(createCallbackTask(dispatchOnInspectorBackendTask, String(message)), WorkerScriptDebugServer::debuggerTaskMode);
+}
+
WebWorkerClient* WebSharedWorkerImpl::client()
{
// We should never be asked for a WebWorkerClient (only dedicated workers have an associated WebWorkerClient).
Modified: trunk/Source/WebKit/chromium/src/WebSharedWorkerImpl.h (90397 => 90398)
--- trunk/Source/WebKit/chromium/src/WebSharedWorkerImpl.h 2011-07-05 15:35:19 UTC (rev 90397)
+++ trunk/Source/WebKit/chromium/src/WebSharedWorkerImpl.h 2011-07-05 16:01:45 UTC (rev 90398)
@@ -56,6 +56,10 @@
virtual void terminateWorkerContext();
virtual void clientDestroyed();
+ virtual void attachDevTools();
+ virtual void detachDevTools();
+ virtual void dispatchDevToolsMessage(const WebString&);
+
// WebWorkerBase methods:
WebWorkerClient* client();
WebCommonWorkerClient* commonClient() { return m_client; }
Modified: trunk/Source/WebKit/chromium/src/WebWorkerBase.cpp (90397 => 90398)
--- trunk/Source/WebKit/chromium/src/WebWorkerBase.cpp 2011-07-05 15:35:19 UTC (rev 90397)
+++ trunk/Source/WebKit/chromium/src/WebWorkerBase.cpp 2011-07-05 16:01:45 UTC (rev 90398)
@@ -429,9 +429,9 @@
void WebWorkerBase::postMessageToPageInspectorTask(ScriptExecutionContext*, WebWorkerBase* thisPtr, const String& message)
{
- if (!thisPtr->client())
+ if (!thisPtr->commonClient())
return;
- thisPtr->client()->dispatchDevToolsMessage(message);
+ thisPtr->commonClient()->dispatchDevToolsMessage(message);
}
void WebWorkerBase::confirmMessageFromWorkerObject(bool hasPendingActivity)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes