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

Reply via email to