Diff
Modified: trunk/Source/WebCore/ChangeLog (99553 => 99554)
--- trunk/Source/WebCore/ChangeLog 2011-11-08 13:03:20 UTC (rev 99553)
+++ trunk/Source/WebCore/ChangeLog 2011-11-08 13:06:11 UTC (rev 99554)
@@ -1,3 +1,24 @@
+2011-11-08 Yury Semikhatsky <yu...@chromium.org>
+
+ Web Inspector: display notification in the front-end when inspected worker terminates
+ https://bugs.webkit.org/show_bug.cgi?id=71770
+
+ When inspected worker terminates we will show a notification similar to the help
+ screen. The notification disappears when the worker restarts or the user closes it
+ manually.
+
+ Reviewed by Pavel Feldman.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ScriptsPanel.js:
+ * inspector/front-end/WorkerManager.js:
+ (WebInspector.WorkerManager.loaded):
+ (WebInspector.WorkerManager.showWorkerTerminatedScreen):
+ (WebInspector.WorkerTerminatedScreen):
+ * inspector/front-end/inspector.js:
+ (WebInspector.disconnectFromBackend):
+ (WebInspector.frontendReused):
+
2011-11-08 Nikolas Zimmermann <nzimmerm...@rim.com>
Fold ImageBySizeCache again into CSSImageGeneratorValue
Modified: trunk/Source/WebCore/English.lproj/localizedStrings.js
(Binary files differ)
Modified: trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js (99553 => 99554)
--- trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js 2011-11-08 13:03:20 UTC (rev 99553)
+++ trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js 2011-11-08 13:06:11 UTC (rev 99554)
@@ -117,7 +117,7 @@
this.sidebarPanes.eventListenerBreakpoints = new WebInspector.EventListenerBreakpointsSidebarPane();
}
- if (Preferences.canInspectWorkers && WebInspector.workerManager) {
+ if (Preferences.canInspectWorkers && !WebInspector.WorkerManager.isWorkerFrontend()) {
WorkerAgent.setWorkerInspectionEnabled(true);
this.sidebarPanes.workerList = new WebInspector.WorkerListSidebarPane(WebInspector.workerManager);
} else
Modified: trunk/Source/WebCore/inspector/front-end/WorkerManager.js (99553 => 99554)
--- trunk/Source/WebCore/inspector/front-end/WorkerManager.js 2011-11-08 13:03:20 UTC (rev 99553)
+++ trunk/Source/WebCore/inspector/front-end/WorkerManager.js 2011-11-08 13:06:11 UTC (rev 99554)
@@ -47,9 +47,9 @@
WebInspector.WorkerManager.loaded = function()
{
var workerId = WebInspector.queryParamsObject["dedicatedWorkerId"];
- if (workerId) {
+ if (workerId)
WebInspector.WorkerManager._initializeDedicatedWorkerFrontend(workerId);
- } else
+ else
WebInspector.workerManager = new WebInspector.WorkerManager();
}
@@ -106,6 +106,17 @@
}
}
+WebInspector.WorkerManager.showWorkerTerminatedScreen = function()
+{
+ function onHide()
+ {
+ WebInspector.debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events.ParsedScriptSource, screen.hide, screen);
+ }
+ var screen = new WebInspector.WorkerTerminatedScreen();
+ WebInspector.debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.ParsedScriptSource, screen.hide, screen);
+ screen.show(onHide.bind(this));
+}
+
WebInspector.WorkerManager.Events = {
WorkerAdded: "worker-added",
WorkerRemoved: "worker-removed",
@@ -232,3 +243,13 @@
this._workerManager._sendMessageToWorkerInspector(workerId, message);
}
}
+
+WebInspector.WorkerTerminatedScreen = function()
+{
+ WebInspector.HelpScreen.call(this, WebInspector.UIString("Inspected worker terminated"));
+ var p = this.contentElement.createChild("p");
+ p.addStyleClass("help-section");
+ p.textContent = WebInspector.UIString("Inspected worker has terminated. Once it restarts we will attach to it automatically.");
+}
+
+WebInspector.WorkerTerminatedScreen.prototype.__proto__ = WebInspector.HelpScreen.prototype;
Modified: trunk/Source/WebCore/inspector/front-end/inspector.js (99553 => 99554)
--- trunk/Source/WebCore/inspector/front-end/inspector.js 2011-11-08 13:03:20 UTC (rev 99553)
+++ trunk/Source/WebCore/inspector/front-end/inspector.js 2011-11-08 13:06:11 UTC (rev 99554)
@@ -461,7 +461,10 @@
WebInspector.disconnectFromBackend = function()
{
- InspectorFrontendHost.disconnectFromBackend();
+ if (WebInspector.WorkerManager.isWorkerFrontend())
+ WebInspector.WorkerManager.showWorkerTerminatedScreen();
+ else
+ InspectorFrontendHost.disconnectFromBackend();
}
WebInspector.documentClick = function(event)
Modified: trunk/Source/WebKit/chromium/ChangeLog (99553 => 99554)
--- trunk/Source/WebKit/chromium/ChangeLog 2011-11-08 13:03:20 UTC (rev 99553)
+++ trunk/Source/WebKit/chromium/ChangeLog 2011-11-08 13:06:11 UTC (rev 99554)
@@ -1,5 +1,19 @@
2011-11-08 Yury Semikhatsky <yu...@chromium.org>
+ Web Inspector: display notification in the front-end when inspected worker terminates
+ https://bugs.webkit.org/show_bug.cgi?id=71770
+
+ Exposed an API for the browser to notify inspector front-end when inspeced instance
+ terminates. It is used now for tracking shared workers termination.
+
+ Reviewed by Pavel Feldman.
+
+ * public/WebDevToolsAgent.h:
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgent::createFrontendDisconnectedEvent):
+
+2011-11-08 Yury Semikhatsky <yu...@chromium.org>
+
[Chromium] Web Inspector: add sanity test for automatic reattach to a page which is reloaded after crash
https://bugs.webkit.org/show_bug.cgi?id=71786
Modified: trunk/Source/WebKit/chromium/public/WebDevToolsAgent.h (99553 => 99554)
--- trunk/Source/WebKit/chromium/public/WebDevToolsAgent.h 2011-11-08 13:03:20 UTC (rev 99553)
+++ trunk/Source/WebKit/chromium/public/WebDevToolsAgent.h 2011-11-08 13:06:11 UTC (rev 99554)
@@ -90,6 +90,10 @@
WEBKIT_EXPORT static bool shouldInterruptForMessage(const WebString&);
WEBKIT_EXPORT static void processPendingMessages();
+ // Returns a disconnect 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 disconnectEventAsText();
+
typedef void (*MessageLoopDispatchHandler)();
// Installs dispatch handle that is going to be called periodically
Modified: trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp (99553 => 99554)
--- trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp 2011-11-08 13:03:20 UTC (rev 99553)
+++ trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp 2011-11-08 13:06:11 UTC (rev 99554)
@@ -38,6 +38,7 @@
#include "InjectedScriptHost.h"
#include "InspectorBackendDispatcher.h"
#include "InspectorController.h"
+#include "InspectorFrontend.h"
#include "InspectorInstrumentation.h"
#include "InspectorProtocolVersion.h"
#include "MemoryCache.h"
@@ -381,6 +382,22 @@
PageScriptDebugServer::shared().runPendingTasks();
}
+WebString WebDevToolsAgent::disconnectEventAsText()
+{
+ class ChannelImpl : public InspectorFrontendChannel {
+ public:
+ virtual bool sendMessageToFrontend(const String& message)
+ {
+ m_message = message;
+ return true;
+ }
+ String m_message;
+ } channel;
+ InspectorFrontend::Inspector inspector(&channel);
+ inspector.disconnectFromBackend();
+ return channel.m_message;
+}
+
void WebDevToolsAgent::setMessageLoopDispatchHandler(MessageLoopDispatchHandler handler)
{
DebuggerAgentManager::setMessageLoopDispatchHandler(handler);