[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
pfeldman at chromium.org
pfeldman at chromium.org
Wed Dec 22 11:44:05 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit fdb902612231038bd7f04d89b37b2d5e4e6a55ff
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Aug 5 10:00:32 2010 +0000
2010-08-05 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Yury Semikhatsky.
DevTools: get rid of delayed command dispatching on front-end side.
https://bugs.webkit.org/show_bug.cgi?id=43479
* public/WebDevToolsFrontendClient.h:
(WebKit::WebDevToolsFrontendClient::sendFrontendLoaded):
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgentImpl::attach):
(WebKit::WebDevToolsAgentImpl::frontendLoaded):
* src/WebDevToolsAgentImpl.h:
* src/WebDevToolsFrontendImpl.cpp:
(WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):
(WebKit::WebDevToolsFrontendImpl::frontendLoaded):
* src/WebDevToolsFrontendImpl.h:
* src/js/DevTools.js:
(WebInspector.doLoadedDone):
* src/js/Tests.js:
(.uiTests.runTest):
2010-08-05 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Yury Semikhatsky.
DevTools: get rid of delayed command dispatching on front-end side.
https://bugs.webkit.org/show_bug.cgi?id=43479
* DumpRenderTree/chromium/DRTDevToolsAgent.cpp:
(DRTDevToolsAgent::detach):
(DRTDevToolsAgent::frontendLoaded):
* DumpRenderTree/chromium/DRTDevToolsAgent.h:
* DumpRenderTree/chromium/DRTDevToolsClient.cpp:
(DRTDevToolsClient::~DRTDevToolsClient):
(DRTDevToolsClient::sendFrontendLoaded):
* DumpRenderTree/chromium/DRTDevToolsClient.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/inspector/front-end/InspectorBackendStub.js b/WebCore/inspector/front-end/InspectorBackendStub.js
index 1e8c88a..c87cb81 100644
--- a/WebCore/inspector/front-end/InspectorBackendStub.js
+++ b/WebCore/inspector/front-end/InspectorBackendStub.js
@@ -122,10 +122,7 @@ WebInspector.InspectorBackendStub.prototype = {
sendMessageToBackend: function()
{
var message = JSON.stringify(Array.prototype.slice.call(arguments));
- if (WebInspector._paramsObject && "page" in WebInspector._paramsObject)
- WebInspector.socket.send(message);
- else
- InspectorFrontendHost.sendMessageToBackend(message);
+ InspectorFrontendHost.sendMessageToBackend(message);
}
}
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index d19f902..ca39537 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,27 @@
+2010-08-05 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ DevTools: get rid of delayed command dispatching on front-end side.
+
+ https://bugs.webkit.org/show_bug.cgi?id=43479
+
+ * public/WebDevToolsFrontendClient.h:
+ (WebKit::WebDevToolsFrontendClient::sendFrontendLoaded):
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::attach):
+ (WebKit::WebDevToolsAgentImpl::frontendLoaded):
+ * src/WebDevToolsAgentImpl.h:
+ * src/WebDevToolsFrontendImpl.cpp:
+ (WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):
+ (WebKit::WebDevToolsFrontendImpl::frontendLoaded):
+ * src/WebDevToolsFrontendImpl.h:
+ * src/js/DevTools.js:
+ (WebInspector.doLoadedDone):
+ * src/js/Tests.js:
+ (.uiTests.runTest):
+ (.):
+
2010-08-02 Kenneth Russell <kbr at google.com>
Reviewed by Dimitri Glazkov.
diff --git a/WebKit/chromium/public/WebDevToolsFrontendClient.h b/WebKit/chromium/public/WebDevToolsFrontendClient.h
index b876c33..df34dc5 100644
--- a/WebKit/chromium/public/WebDevToolsFrontendClient.h
+++ b/WebKit/chromium/public/WebDevToolsFrontendClient.h
@@ -40,6 +40,7 @@ class WebDevToolsFrontendClient {
public:
WebDevToolsFrontendClient() { }
+ virtual void sendFrontendLoaded() { }
virtual void sendMessageToBackend(const WebString&) { }
virtual void sendDebuggerCommandToAgent(const WebString& command) { }
virtual void sendDebuggerPauseScript() { }
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index a95bb65..f95a2a5 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -246,8 +246,6 @@ void WebDevToolsAgentImpl::attach()
ic->injectedScriptHost()->setInjectedScriptSource("(" + source + ")");
}
}
-
- setInspectorFrontendProxyToInspectorController();
m_attached = true;
}
@@ -266,6 +264,11 @@ void WebDevToolsAgentImpl::detach()
void WebDevToolsAgentImpl::frontendLoaded()
{
+ v8::HandleScope scope;
+ ScriptState* state = ScriptState::forContext(
+ v8::Local<v8::Context>::New(m_utilityContext));
+ InspectorController* ic = inspectorController();
+ ic->connectFrontend(ScriptObject(state, m_utilityContext->Global()));
}
void WebDevToolsAgentImpl::didNavigate()
@@ -344,15 +347,6 @@ void WebDevToolsAgentImpl::createInspectorFrontendProxy()
WebCore::String(debuggerScriptJs.data(), debuggerScriptJs.length()));
}
-void WebDevToolsAgentImpl::setInspectorFrontendProxyToInspectorController()
-{
- v8::HandleScope scope;
- ScriptState* state = ScriptState::forContext(
- v8::Local<v8::Context>::New(m_utilityContext));
- InspectorController* ic = inspectorController();
- ic->connectFrontend(ScriptObject(state, m_utilityContext->Global()));
-}
-
void WebDevToolsAgentImpl::setApuAgentEnabled(bool enabled)
{
m_apuAgentEnabled = enabled;
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.h b/WebKit/chromium/src/WebDevToolsAgentImpl.h
index 8eecf2e..fb8eb70 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.h
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.h
@@ -111,7 +111,6 @@ private:
void compileUtilityScripts();
void initDevToolsAgentHost();
void createInspectorFrontendProxy();
- void setInspectorFrontendProxyToInspectorController();
void setApuAgentEnabled(bool enabled);
WebCore::InspectorController* inspectorController();
diff --git a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
index a0c8eba..c1b09c4 100644
--- a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
@@ -119,27 +119,6 @@ WebDevToolsFrontendImpl::~WebDevToolsFrontendImpl()
void WebDevToolsFrontendImpl::dispatchOnInspectorFrontend(const WebString& message)
{
- if (!m_loaded) {
- m_pendingIncomingMessages.append(message);
- return;
- }
- executeScript(message);
-}
-
-void WebDevToolsFrontendImpl::frontendLoaded()
-{
- m_loaded = true;
-
- for (Vector<WebString>::iterator it = m_pendingIncomingMessages.begin();
- it != m_pendingIncomingMessages.end();
- ++it) {
- executeScript(*it);
- }
- m_pendingIncomingMessages.clear();
-}
-
-void WebDevToolsFrontendImpl::executeScript(const WebString& message)
-{
WebFrameImpl* frame = m_webViewImpl->mainFrameImpl();
v8::HandleScope scope;
v8::Handle<v8::Context> frameContext = V8Proxy::context(frame->frame());
@@ -154,6 +133,11 @@ void WebDevToolsFrontendImpl::executeScript(const WebString& message)
function->Call(frameContext->Global(), args.size(), args.data());
}
+void WebDevToolsFrontendImpl::frontendLoaded()
+{
+ m_client->sendFrontendLoaded();
+}
+
v8::Handle<v8::Value> WebDevToolsFrontendImpl::jsDebuggerPauseScript(const v8::Arguments& args)
{
WebDevToolsFrontendImpl* frontend = static_cast<WebDevToolsFrontendImpl*>(v8::External::Cast(*args.Data())->Value());
diff --git a/WebKit/chromium/src/WebDevToolsFrontendImpl.h b/WebKit/chromium/src/WebDevToolsFrontendImpl.h
index c1c4786..f03c54e 100644
--- a/WebKit/chromium/src/WebDevToolsFrontendImpl.h
+++ b/WebKit/chromium/src/WebDevToolsFrontendImpl.h
@@ -70,15 +70,12 @@ public:
void frontendLoaded();
private:
- void executeScript(const WebString& message);
-
static v8::Handle<v8::Value> jsDebuggerPauseScript(const v8::Arguments& args);
WebKit::WebViewImpl* m_webViewImpl;
WebKit::WebDevToolsFrontendClient* m_client;
String m_applicationLocale;
bool m_loaded;
- Vector<WebString> m_pendingIncomingMessages;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/js/DevTools.js b/WebKit/chromium/src/js/DevTools.js
index 8e07a6a..2faa69f 100644
--- a/WebKit/chromium/src/js/DevTools.js
+++ b/WebKit/chromium/src/js/DevTools.js
@@ -88,13 +88,15 @@ var context = {}; // Used by WebCore's inspector routines.
}
if ("page" in WebInspector._paramsObject) {
WebInspector.socket = new WebSocket("ws://" + window.location.host + "/devtools/page/" + WebInspector._paramsObject.page);
- WebInspector.socket.onmessage = function(message) { eval(message.data); }
+ WebInspector.socket.onmessage = function(message) { devtools$$dispatch(message.data); }
WebInspector.socket.onerror = function(error) { console.err(error); }
WebInspector.socket.onopen = function() {
WebInspector.socketOpened = true;
if (WebInspector.loadedDone)
WebInspector.doLoadedDone();
};
+ InspectorFrontendHost.sendMessageToBackend = WebInspector.socket.send.bind(WebInspector.socket);
+ InspectorFrontendHost.loaded = WebInspector.socket.send.bind(WebInspector.socket, "loaded");
}
})();
///////////////////////////////////////////////////////////////////////////////
@@ -111,7 +113,6 @@ WebInspector.loaded = function()
Preferences.debuggerAlwaysEnabled = true;
Preferences.profilerAlwaysEnabled = true;
Preferences.canEditScriptSource = true;
-
if ("page" in WebInspector._paramsObject) {
WebInspector.loadedDone = true;
if (WebInspector.socketOpened)
@@ -123,7 +124,6 @@ WebInspector.loaded = function()
WebInspector.doLoadedDone = function() {
oldLoaded.call(this);
- InspectorFrontendHost.loaded();
}
devtools.domContentLoaded = function()
diff --git a/WebKit/chromium/src/js/Tests.js b/WebKit/chromium/src/js/Tests.js
index b5bce28..ac20040 100644
--- a/WebKit/chromium/src/js/Tests.js
+++ b/WebKit/chromium/src/js/Tests.js
@@ -1845,8 +1845,24 @@ uiTests.runAllTests = function()
*/
uiTests.runTest = function(name)
{
- new TestSuite().runTest(name);
+ if (uiTests._populatedInterface)
+ new TestSuite().runTest(name);
+ else
+ uiTests._pendingTestName = name;
};
+(function() {
+var oldShowElementsPanel = WebInspector.showElementsPanel;
+WebInspector.showElementsPanel = function()
+{
+ oldShowElementsPanel.call(this);
+ uiTests._populatedInterface = true;
+ var name = uiTests._pendingTestName;
+ delete uiTests._pendingTestName;
+ if (name)
+ new TestSuite().runTest(name);
+}
+
+})();
}
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 4a499fd..74a7dad 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,20 @@
+2010-08-05 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ DevTools: get rid of delayed command dispatching on front-end side.
+
+ https://bugs.webkit.org/show_bug.cgi?id=43479
+
+ * DumpRenderTree/chromium/DRTDevToolsAgent.cpp:
+ (DRTDevToolsAgent::detach):
+ (DRTDevToolsAgent::frontendLoaded):
+ * DumpRenderTree/chromium/DRTDevToolsAgent.h:
+ * DumpRenderTree/chromium/DRTDevToolsClient.cpp:
+ (DRTDevToolsClient::~DRTDevToolsClient):
+ (DRTDevToolsClient::sendFrontendLoaded):
+ * DumpRenderTree/chromium/DRTDevToolsClient.h:
+
2010-08-04 Kenichi Ishibashi <bashi at google.com>
Reviewed by Shinichiro Hamaji.
diff --git a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp
index 9dbba49..d1d2e16 100644
--- a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp
@@ -120,7 +120,7 @@ void DRTDevToolsAgent::attach(DRTDevToolsClient* client)
agent->attach();
}
-void DRTDevToolsAgent::detach(DRTDevToolsClient* client)
+void DRTDevToolsAgent::detach()
{
ASSERT(m_drtDevToolsClient);
WebDevToolsAgent* agent = webDevToolsAgent();
@@ -129,6 +129,12 @@ void DRTDevToolsAgent::detach(DRTDevToolsClient* client)
m_drtDevToolsClient = 0;
}
+void DRTDevToolsAgent::frontendLoaded() {
+ WebDevToolsAgent* agent = webDevToolsAgent();
+ if (agent)
+ agent->frontendLoaded();
+}
+
bool DRTDevToolsAgent::setTimelineProfilingEnabled(bool enabled)
{
WebDevToolsAgent* agent = webDevToolsAgent();
diff --git a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.h b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.h
index bf69c19..a2826d0 100644
--- a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.h
+++ b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.h
@@ -67,7 +67,8 @@ public:
void asyncCall(const DRTDevToolsCallArgs&);
void attach(DRTDevToolsClient*);
- void detach(DRTDevToolsClient*);
+ void detach();
+ void frontendLoaded();
bool evaluateInWebInspector(long callID, const std::string& script);
bool setTimelineProfilingEnabled(bool enable);
diff --git a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.cpp b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.cpp
index e5b5562..c5eeff9 100644
--- a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.cpp
@@ -61,7 +61,12 @@ DRTDevToolsClient::~DRTDevToolsClient()
// m_drtDevToolsAgent and we should clean pending requests a bit earlier.
m_callMethodFactory.RevokeAll();
if (m_drtDevToolsAgent)
- m_drtDevToolsAgent->detach(this);
+ m_drtDevToolsAgent->detach();
+}
+
+void DRTDevToolsClient::sendFrontendLoaded() {
+ if (m_drtDevToolsAgent)
+ m_drtDevToolsAgent->frontendLoaded();
}
void DRTDevToolsClient::sendMessageToBackend(const WebString& data)
diff --git a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.h b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.h
index 691e1d5..07a6187 100644
--- a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.h
+++ b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.h
@@ -55,6 +55,7 @@ public:
virtual ~DRTDevToolsClient();
// WebDevToolsFrontendClient implementation
+ virtual void sendFrontendLoaded();
virtual void sendMessageToBackend(const WebKit::WebString&);
virtual void sendDebuggerCommandToAgent(const WebKit::WebString& command);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list