Title: [101503] trunk/Source
Revision
101503
Author
[email protected]
Date
2011-11-30 06:08:15 -0800 (Wed, 30 Nov 2011)

Log Message

Web Inspector: get rid of deferred backend->front-end commands processing.
https://bugs.webkit.org/show_bug.cgi?id=73439

Source/WebCore:

We should issue tests upon InspectorAgent::enable and should not do any deferred command processing.

Reviewed by Yury Semikhatsky.

* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::InspectorAgent):
(WebCore::InspectorAgent::setFrontend):
(WebCore::InspectorAgent::clearFrontend):
(WebCore::InspectorAgent::enable):
(WebCore::InspectorAgent::evaluateForTestInFrontend):
* inspector/InspectorAgent.h:
* inspector/front-end/inspector.js:

Source/WebKit/chromium:

Reviewed by Yury Semikhatsky.

* src/WebDevToolsFrontendImpl.cpp:
(WebKit::WebDevToolsFrontendImpl::WebDevToolsFrontendImpl):
(WebKit::WebDevToolsFrontendImpl::frontendLoaded):
(WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):
* src/WebDevToolsFrontendImpl.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (101502 => 101503)


--- trunk/Source/WebCore/ChangeLog	2011-11-30 14:07:28 UTC (rev 101502)
+++ trunk/Source/WebCore/ChangeLog	2011-11-30 14:08:15 UTC (rev 101503)
@@ -1,3 +1,21 @@
+2011-11-30  Pavel Feldman  <[email protected]>
+
+        Web Inspector: get rid of deferred backend->front-end commands processing.
+        https://bugs.webkit.org/show_bug.cgi?id=73439
+
+        We should issue tests upon InspectorAgent::enable and should not do any deferred command processing.
+
+        Reviewed by Yury Semikhatsky.
+
+        * inspector/InspectorAgent.cpp:
+        (WebCore::InspectorAgent::InspectorAgent):
+        (WebCore::InspectorAgent::setFrontend):
+        (WebCore::InspectorAgent::clearFrontend):
+        (WebCore::InspectorAgent::enable):
+        (WebCore::InspectorAgent::evaluateForTestInFrontend):
+        * inspector/InspectorAgent.h:
+        * inspector/front-end/inspector.js:
+
 2011-11-30  Andreas Kling  <[email protected]>
 
         REGRESSION(r101172): It made fast/dom/clone-node-style.html assert.

Modified: trunk/Source/WebCore/inspector/InspectorAgent.cpp (101502 => 101503)


--- trunk/Source/WebCore/inspector/InspectorAgent.cpp	2011-11-30 14:07:28 UTC (rev 101502)
+++ trunk/Source/WebCore/inspector/InspectorAgent.cpp	2011-11-30 14:08:15 UTC (rev 101503)
@@ -67,7 +67,6 @@
     , m_inspectedPage(page)
     , m_frontend(0)
     , m_injectedScriptManager(injectedScriptManager)
-    , m_canIssueEvaluateForTestInFrontend(false)
     , m_didCommitLoadFired(false)
 {
     ASSERT_ARG(page, page);
@@ -97,14 +96,10 @@
 void InspectorAgent::setFrontend(InspectorFrontend* inspectorFrontend)
 {
     m_frontend = inspectorFrontend;
-
-    // Dispatch pending frontend commands
-    issueEvaluateForTestCommands();
 }
 
 void InspectorAgent::clearFrontend()
 {
-    m_canIssueEvaluateForTestInFrontend = false;
     m_pendingEvaluateTestCommands.clear();
     m_frontend = 0;
     m_didCommitLoadFired = false;
@@ -133,6 +128,10 @@
         m_frontend->inspector()->didCreateWorker(worker->id(), worker->url(), worker->isSharedWorker());
     }
 #endif
+
+    for (Vector<pair<long, String> >::iterator it = m_pendingEvaluateTestCommands.begin(); m_frontend && it != m_pendingEvaluateTestCommands.end(); ++it)
+        m_frontend->inspector()->evaluateForTestInFrontend((*it).first, (*it).second);
+    m_pendingEvaluateTestCommands.clear();
 }
 
 void InspectorAgent::disable(ErrorString*)
@@ -222,9 +221,10 @@
 
 void InspectorAgent::evaluateForTestInFrontend(long callId, const String& script)
 {
-    m_pendingEvaluateTestCommands.append(pair<long, String>(callId, script));
-    if (m_canIssueEvaluateForTestInFrontend)
-        issueEvaluateForTestCommands();
+    if (m_state->getBoolean(InspectorAgentState::inspectorAgentEnabled))
+        m_frontend->inspector()->evaluateForTestInFrontend(callId, script);
+    else
+        m_pendingEvaluateTestCommands.append(pair<long, String>(callId, script));
 }
 
 void InspectorAgent::setInspectorExtensionAPI(const String& source)
@@ -251,17 +251,6 @@
     return m_inspectedPage->settings()->developerExtrasEnabled();
 }
 
-void InspectorAgent::issueEvaluateForTestCommands()
-{
-    if (m_frontend) {
-        Vector<pair<long, String> > copy = m_pendingEvaluateTestCommands;
-        m_pendingEvaluateTestCommands.clear();
-        for (Vector<pair<long, String> >::iterator it = copy.begin(); m_frontend && it != copy.end(); ++it)
-            m_frontend->inspector()->evaluateForTestInFrontend((*it).first, (*it).second);
-        m_canIssueEvaluateForTestInFrontend = true;
-    }
-}
-
 } // namespace WebCore
 
 #endif // ENABLE(INSPECTOR)

Modified: trunk/Source/WebCore/inspector/InspectorAgent.h (101502 => 101503)


--- trunk/Source/WebCore/inspector/InspectorAgent.h	2011-11-30 14:07:28 UTC (rev 101502)
+++ trunk/Source/WebCore/inspector/InspectorAgent.h	2011-11-30 14:08:15 UTC (rev 101503)
@@ -107,7 +107,6 @@
 #endif
 
     bool isMainResourceLoader(DocumentLoader*, const KURL& requestUrl);
-    void issueEvaluateForTestCommands();
 
     Page* m_inspectedPage;
     InspectorFrontend* m_frontend;
@@ -119,7 +118,6 @@
     typedef HashMap<intptr_t, RefPtr<InspectorWorkerResource> > WorkersMap;
     WorkersMap m_workers;
 #endif
-    bool m_canIssueEvaluateForTestInFrontend;
     bool m_didCommitLoadFired;
 };
 

Modified: trunk/Source/WebCore/inspector/front-end/inspector.js (101502 => 101503)


--- trunk/Source/WebCore/inspector/front-end/inspector.js	2011-11-30 14:07:28 UTC (rev 101502)
+++ trunk/Source/WebCore/inspector/front-end/inspector.js	2011-11-30 14:08:15 UTC (rev 101503)
@@ -317,6 +317,8 @@
 
 WebInspector.doLoadedDone = function()
 {
+    InspectorFrontendHost.loaded();
+
     WebInspector.WorkerManager.loaded();
 
     WebInspector.installPortStyles();
@@ -395,7 +397,6 @@
 
     WebInspector.CSSCompletions.requestCSSNameCompletions();
     WebInspector.WorkerManager.loadCompleted();
-    InspectorFrontendHost.loaded();
 }
 
 WebInspector.addPanel = function(panel)

Modified: trunk/Source/WebKit/chromium/ChangeLog (101502 => 101503)


--- trunk/Source/WebKit/chromium/ChangeLog	2011-11-30 14:07:28 UTC (rev 101502)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-11-30 14:08:15 UTC (rev 101503)
@@ -1,3 +1,16 @@
+2011-11-30  Pavel Feldman  <[email protected]>
+
+        Web Inspector: get rid of deferred backend->front-end commands processing.
+        https://bugs.webkit.org/show_bug.cgi?id=73439
+
+        Reviewed by Yury Semikhatsky.
+
+        * src/WebDevToolsFrontendImpl.cpp:
+        (WebKit::WebDevToolsFrontendImpl::WebDevToolsFrontendImpl):
+        (WebKit::WebDevToolsFrontendImpl::frontendLoaded):
+        (WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):
+        * src/WebDevToolsFrontendImpl.h:
+
 2011-11-30  Michael Nordman  <[email protected]>
 
         [chromium] WebSQLDatabase could use some better error reporting.

Modified: trunk/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp (101502 => 101503)


--- trunk/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp	2011-11-30 14:07:28 UTC (rev 101502)
+++ trunk/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp	2011-11-30 14:08:15 UTC (rev 101503)
@@ -77,7 +77,6 @@
 
 void InspectorFrontendClientImpl::frontendLoaded()
 {
-    m_frontend->frontendLoaded();
 }
 
 void InspectorFrontendClientImpl::moveWindowBy(float x, float y)

Modified: trunk/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp (101502 => 101503)


--- trunk/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp	2011-11-30 14:07:28 UTC (rev 101502)
+++ trunk/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp	2011-11-30 14:08:15 UTC (rev 101503)
@@ -91,7 +91,6 @@
     : m_webViewImpl(webViewImpl)
     , m_client(client)
     , m_applicationLocale(applicationLocale)
-    , m_loaded(false)
 {
     InspectorController* ic = m_webViewImpl->page()->inspectorController();
     ic->setInspectorFrontendClient(adoptPtr(new InspectorFrontendClientImpl(m_webViewImpl->page(), m_client, this)));
@@ -107,22 +106,6 @@
 
 void WebDevToolsFrontendImpl::dispatchOnInspectorFrontend(const WebString& message)
 {
-    if (m_loaded)
-        doDispatchOnInspectorFrontend(message);
-    else
-        m_pendingMessages.append(message);
-}
-
-void WebDevToolsFrontendImpl::frontendLoaded()
-{
-    m_loaded = true;
-    for (Vector<String>::iterator it = m_pendingMessages.begin(); it != m_pendingMessages.end(); ++it)
-        doDispatchOnInspectorFrontend(*it);
-    m_pendingMessages.clear();
-}
-
-void WebDevToolsFrontendImpl::doDispatchOnInspectorFrontend(const String& message)
-{
     WebFrameImpl* frame = m_webViewImpl->mainFrameImpl();
     v8::HandleScope scope;
     v8::Handle<v8::Context> frameContext = V8Proxy::context(frame->frame());

Modified: trunk/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h (101502 => 101503)


--- trunk/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h	2011-11-30 14:07:28 UTC (rev 101502)
+++ trunk/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h	2011-11-30 14:08:15 UTC (rev 101503)
@@ -57,16 +57,12 @@
     // WebDevToolsFrontend implementation.
     virtual void dispatchOnInspectorFrontend(const WebString& message);
 
-    void frontendLoaded();
-
 private:
     void doDispatchOnInspectorFrontend(const String& message);
 
     WebKit::WebViewImpl* m_webViewImpl;
     WebKit::WebDevToolsFrontendClient* m_client;
     String m_applicationLocale;
-    bool m_loaded;
-    Vector<String> m_pendingMessages;
 };
 
 } // namespace WebKit
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to