[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

yurys at chromium.org yurys at chromium.org
Wed Dec 22 13:28:17 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit d68ba84b28c8022ef2dfceb78f06625cf7f42207
Author: yurys at chromium.org <yurys at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Sep 16 15:37:56 2010 +0000

    2010-09-16  Yury Semikhatsky  <yurys at chromium.org>
    
            Reviewed by Pavel Feldman.
    
            Web Inspector: [REGRESSION] Scripts disappear from scripts panel after navigation
            https://bugs.webkit.org/show_bug.cgi?id=45890
    
            * inspector/InspectorController.cpp:
            (WebCore::InspectorController::populateScriptObjects):
            (WebCore::InspectorController::restoreDebugger):
            (WebCore::InspectorController::restoreProfiler):
            * inspector/InspectorController.h:
    2010-09-16  Yury Semikhatsky  <yurys at chromium.org>
    
            Reviewed by Pavel Feldman.
    
            Web Inspector: [REGRESSION] Scripts disappear from scripts panel after navigation
            https://bugs.webkit.org/show_bug.cgi?id=45890
    
            * src/WebDevToolsAgentImpl.cpp:
            (WebKit::WebDevToolsAgentImpl::setRuntimeProperty): make sure debugger and profiler
            are initialized when inspected page navigation leads to renderer process change.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67623 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 0e9b7eb..433b1d6 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2010-09-16  Yury Semikhatsky  <yurys at chromium.org>
+
+        Reviewed by Pavel Feldman.
+
+        Web Inspector: [REGRESSION] Scripts disappear from scripts panel after navigation
+        https://bugs.webkit.org/show_bug.cgi?id=45890
+
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::populateScriptObjects):
+        (WebCore::InspectorController::restoreDebugger):
+        (WebCore::InspectorController::restoreProfiler):
+        * inspector/InspectorController.h:
+
 2010-09-16  Satish Sampath  <satish at chromium.org>
 
         Unreviewed, fixing a build break with VS 2008.
diff --git a/WebCore/inspector/InspectorController.cpp b/WebCore/inspector/InspectorController.cpp
index 3e8815e..6e1e94a 100644
--- a/WebCore/inspector/InspectorController.cpp
+++ b/WebCore/inspector/InspectorController.cpp
@@ -503,6 +503,13 @@ void InspectorController::connectFrontend()
     connectedFrontendCount++;
 }
 
+void InspectorController::reuseFrontend()
+{
+    connectFrontend();
+    restoreDebugger();
+    restoreProfiler();
+}
+
 void InspectorController::show()
 {
     if (!enabled())
@@ -664,6 +671,13 @@ void InspectorController::populateScriptObjects()
         m_frontend->evaluateForTestInFrontend((*it).first, (*it).second);
     m_pendingEvaluateTestCommands.clear();
 
+    restoreDebugger();
+    restoreProfiler();
+}
+
+void InspectorController::restoreDebugger()
+{
+    ASSERT(m_frontend);
 #if ENABLE(JAVASCRIPT_DEBUGGER)
     if (InspectorDebuggerAgent::isDebuggerAlwaysEnabled())
         enableDebuggerFromFrontend(false);
@@ -672,6 +686,13 @@ void InspectorController::populateScriptObjects()
         if (debuggerEnabled == "true" || m_attachDebuggerWhenShown)
             enableDebugger();
     }
+#endif
+}
+
+void InspectorController::restoreProfiler()
+{
+    ASSERT(m_frontend);
+#if ENABLE(JAVASCRIPT_DEBUGGER)
     m_profilerAgent->setFrontend(m_frontend.get());
     if (!ScriptProfiler::isProfilerAlwaysEnabled()) {
         String profilerEnabledSetting = setting(profilerEnabledSettingName);
@@ -1615,7 +1636,6 @@ void InspectorController::resume()
     if (m_debuggerAgent)
         m_debuggerAgent->resume();
 }
-// JavaScriptDebugListener functions
 
 #endif
 
diff --git a/WebCore/inspector/InspectorController.h b/WebCore/inspector/InspectorController.h
index 8801847..bce1bf5 100644
--- a/WebCore/inspector/InspectorController.h
+++ b/WebCore/inspector/InspectorController.h
@@ -141,6 +141,7 @@ public:
     // transport via InspectorClient. After migration, webInspector parameter should
     // be removed.
     void connectFrontend();
+    void reuseFrontend();
     void disconnectFrontend();
 
     void addMessageToConsole(MessageSource, MessageType, MessageLevel, ScriptCallStack*, const String& message);
@@ -277,6 +278,8 @@ private:
     friend class InjectedScriptHost;
 
     void populateScriptObjects();
+    void restoreDebugger();
+    void restoreProfiler();
     void unbindAllResources();
 
     // Following are used from InspectorBackend and internally.
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index aa137ea..71fe5f7 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,14 @@
+2010-09-16  Yury Semikhatsky  <yurys at chromium.org>
+
+        Reviewed by Pavel Feldman.
+
+        Web Inspector: [REGRESSION] Scripts disappear from scripts panel after navigation
+        https://bugs.webkit.org/show_bug.cgi?id=45890
+
+        * src/WebDevToolsAgentImpl.cpp:
+        (WebKit::WebDevToolsAgentImpl::setRuntimeProperty): make sure debugger and profiler
+        are initialized when inspected page navigation leads to renderer process change.
+
 2010-09-16  Eric Uhrhane  <ericu at chromium.org>
 
         Reviewed by Jian Li.
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index 834d352..4cf496a 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -224,9 +224,7 @@ void WebDevToolsAgentImpl::detach()
 
 void WebDevToolsAgentImpl::frontendLoaded()
 {
-    inspectorController()->connectFrontend();
-    // We know that by this time injected script has already been pushed to the backend.
-    m_client->runtimePropertyChanged(kFrontendConnectedFeatureName, inspectorController()->injectedScriptHost()->injectedScriptSource());
+    connectFrontend(false);
 }
 
 void WebDevToolsAgentImpl::didNavigate()
@@ -264,7 +262,7 @@ void WebDevToolsAgentImpl::setRuntimeProperty(const WebString& name, const WebSt
           ic->disableResourceTracking(false /* not sticky */);
     } else if (name == kFrontendConnectedFeatureName && !inspectorController()->hasFrontend()) {
         inspectorController()->injectedScriptHost()->setInjectedScriptSource(value);
-        frontendLoaded();
+        connectFrontend(true);
     }
 }
 
@@ -274,7 +272,7 @@ void WebDevToolsAgentImpl::setApuAgentEnabled(bool enabled)
     InspectorController* ic = inspectorController();
     if (enabled) {
         if (!ic->hasFrontend())
-            frontendLoaded();
+            connectFrontend(true);
         m_resourceTrackingWasEnabled = ic->resourceTrackingEnabled();
         ic->startTimelineProfiler();
         if (!m_resourceTrackingWasEnabled) {
@@ -294,6 +292,16 @@ void WebDevToolsAgentImpl::setApuAgentEnabled(bool enabled)
         enabled ? String("true") : String("false"));
 }
 
+void WebDevToolsAgentImpl::connectFrontend(bool afterNavigation)
+{
+    if (afterNavigation)
+        inspectorController()->reuseFrontend();
+    else
+        inspectorController()->connectFrontend();
+    // We know that by this time injected script has already been pushed to the backend.
+    m_client->runtimePropertyChanged(kFrontendConnectedFeatureName, inspectorController()->injectedScriptHost()->injectedScriptSource());
+}
+
 WebCore::InspectorController* WebDevToolsAgentImpl::inspectorController()
 {
     if (Page* page = m_webViewImpl->page())
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.h b/WebKit/chromium/src/WebDevToolsAgentImpl.h
index 36cafcf..1d306c4 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.h
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.h
@@ -103,6 +103,7 @@ public:
 
 private:
     void setApuAgentEnabled(bool enabled);
+    void connectFrontend(bool afterNavigation);
 
     WebCore::InspectorController* inspectorController();
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list