Title: [133191] trunk/Source/WebKit/chromium
- Revision
- 133191
- Author
- pfeld...@chromium.org
- Date
- 2012-11-01 10:42:42 -0700 (Thu, 01 Nov 2012)
Log Message
Web Inspector: expose Inspector.detached event factory to the embedder.
https://bugs.webkit.org/show_bug.cgi?id=100967
Reviewed by Vsevolod Vlasov.
That way embedder will be able to send messages on behalf of the backend being destructed.
* public/WebDevToolsAgent.h:
(WebDevToolsAgent):
* src/WebDevToolsAgentImpl.cpp:
(SerializingFrontendChannel):
(WebKit::SerializingFrontendChannel::sendMessageToFrontend):
(WebKit::WebDevToolsAgent::inspectorDetachedEvent):
(WebKit):
(WebKit::WebDevToolsAgent::workerDisconnectedFromWorkerEvent):
(WebKit::WebDevToolsAgent::disconnectEventAsText):
Modified Paths
Diff
Modified: trunk/Source/WebKit/chromium/ChangeLog (133190 => 133191)
--- trunk/Source/WebKit/chromium/ChangeLog 2012-11-01 17:31:01 UTC (rev 133190)
+++ trunk/Source/WebKit/chromium/ChangeLog 2012-11-01 17:42:42 UTC (rev 133191)
@@ -1,3 +1,22 @@
+2012-11-01 Pavel Feldman <pfeld...@chromium.org>
+
+ Web Inspector: expose Inspector.detached event factory to the embedder.
+ https://bugs.webkit.org/show_bug.cgi?id=100967
+
+ Reviewed by Vsevolod Vlasov.
+
+ That way embedder will be able to send messages on behalf of the backend being destructed.
+
+ * public/WebDevToolsAgent.h:
+ (WebDevToolsAgent):
+ * src/WebDevToolsAgentImpl.cpp:
+ (SerializingFrontendChannel):
+ (WebKit::SerializingFrontendChannel::sendMessageToFrontend):
+ (WebKit::WebDevToolsAgent::inspectorDetachedEvent):
+ (WebKit):
+ (WebKit::WebDevToolsAgent::workerDisconnectedFromWorkerEvent):
+ (WebKit::WebDevToolsAgent::disconnectEventAsText):
+
2012-11-01 Vsevolod Vlasov <vse...@chromium.org>
[Chromium] debug builds: Use after free under ~PageOverlay()
Modified: trunk/Source/WebKit/chromium/public/WebDevToolsAgent.h (133190 => 133191)
--- trunk/Source/WebKit/chromium/public/WebDevToolsAgent.h 2012-11-01 17:31:01 UTC (rev 133190)
+++ trunk/Source/WebKit/chromium/public/WebDevToolsAgent.h 2012-11-01 17:42:42 UTC (rev 133191)
@@ -80,8 +80,14 @@
WEBKIT_EXPORT static bool shouldInterruptForMessage(const WebString&);
WEBKIT_EXPORT static void processPendingMessages();
- // Returns a disconnect event that can be dispatched on the front-end
+ // Returns an Inspector.detached event that can be dispatched on the front-end by the embedder.
+ WEBKIT_EXPORT static WebString inspectorDetachedEvent(const WebString& reason);
+
+ // Returns a Worker.disconnectedFromWorker event that can be dispatched on the front-end
// in order to let it know that it has disconnected from the agent.
+ WEBKIT_EXPORT static WebString workerDisconnectedFromWorkerEvent();
+
+ // FIXME: remove once migrated to workerDisconnectedFromWorkerEvent().
WEBKIT_EXPORT static WebString disconnectEventAsText();
};
Modified: trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp (133190 => 133191)
--- trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp 2012-11-01 17:31:01 UTC (rev 133190)
+++ trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp 2012-11-01 17:42:42 UTC (rev 133191)
@@ -348,6 +348,15 @@
double m_originalZoomFactor;
};
+class SerializingFrontendChannel : public InspectorFrontendChannel {
+public:
+ virtual bool sendMessageToFrontend(const String& message)
+ {
+ m_message = message;
+ return true;
+ }
+ String m_message;
+};
WebDevToolsAgentImpl::WebDevToolsAgentImpl(
WebViewImpl* webViewImpl,
@@ -685,17 +694,17 @@
PageScriptDebugServer::shared().runPendingTasks();
}
-WebString WebDevToolsAgent::disconnectEventAsText()
+WebString WebDevToolsAgent::inspectorDetachedEvent(const WebString& reason)
{
- class ChannelImpl : public InspectorFrontendChannel {
- public:
- virtual bool sendMessageToFrontend(const String& message)
- {
- m_message = message;
- return true;
- }
- String m_message;
- } channel;
+ SerializingFrontendChannel channel;
+ InspectorFrontend::Inspector inspector(&channel);
+ inspector.detached(reason);
+ return channel.m_message;
+}
+
+WebString WebDevToolsAgent::workerDisconnectedFromWorkerEvent()
+{
+ SerializingFrontendChannel channel;
#if ENABLE(WORKERS)
InspectorFrontend::Worker inspector(&channel);
inspector.disconnectedFromWorker();
@@ -703,4 +712,10 @@
return channel.m_message;
}
+// FIXME: remove this once migrated to workerDisconnectedFromWorkerEvent().
+WebString WebDevToolsAgent::disconnectEventAsText()
+{
+ return WebDevToolsAgent::workerDisconnectedFromWorkerEvent();
+}
+
} // namespace WebKit
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes