[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

pfeldman at chromium.org pfeldman at chromium.org
Sun Feb 20 23:06:35 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit d68b9aec0e4c64d33681215d86eb378305e3acf0
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jan 17 16:42:38 2011 +0000

    2011-01-17  Pavel Feldman  <pfeldman at chromium.org>
    
            Reviewed by Yury Semikhatsky.
    
            Web Inspector: restore dom and network state upon frontend reuse.
            https://bugs.webkit.org/show_bug.cgi?id=52574
    
            * inspector/Inspector.idl:
            * inspector/InspectorController.cpp:
            (WebCore::InspectorController::restoreInspectorStateFromCookie):
            (WebCore::InspectorController::populateScriptObjects):
            (WebCore::InspectorController::pushDataCollectedOffline):
            (WebCore::InspectorController::didCommitLoad):
            * inspector/InspectorController.h:
            * inspector/front-end/NetworkManager.js:
            (WebInspector.NetworkManager.prototype.reset):
            * inspector/front-end/NetworkPanel.js:
            (WebInspector.NetworkPanel.prototype.clear):
            (WebInspector.NetworkPanel.prototype.mainResourceChanged):
            * inspector/front-end/ResourceTreeModel.js:
            (WebInspector.ResourceTreeModel):
            (WebInspector.ResourceTreeModel.prototype.reloadCachedResources):
            * inspector/front-end/ResourcesPanel.js:
            (WebInspector.ResourcesPanel.prototype.clear):
            * inspector/front-end/inspector.js:
            (WebInspector.frontendReused):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75949 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 0a64d2b..b29fe48 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,30 @@
+2011-01-17  Pavel Feldman  <pfeldman at chromium.org>
+
+        Reviewed by Yury Semikhatsky.
+
+        Web Inspector: restore dom and network state upon frontend reuse.
+        https://bugs.webkit.org/show_bug.cgi?id=52574
+
+        * inspector/Inspector.idl:
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::restoreInspectorStateFromCookie):
+        (WebCore::InspectorController::populateScriptObjects):
+        (WebCore::InspectorController::pushDataCollectedOffline):
+        (WebCore::InspectorController::didCommitLoad):
+        * inspector/InspectorController.h:
+        * inspector/front-end/NetworkManager.js:
+        (WebInspector.NetworkManager.prototype.reset):
+        * inspector/front-end/NetworkPanel.js:
+        (WebInspector.NetworkPanel.prototype.clear):
+        (WebInspector.NetworkPanel.prototype.mainResourceChanged):
+        * inspector/front-end/ResourceTreeModel.js:
+        (WebInspector.ResourceTreeModel):
+        (WebInspector.ResourceTreeModel.prototype.reloadCachedResources):
+        * inspector/front-end/ResourcesPanel.js:
+        (WebInspector.ResourcesPanel.prototype.clear):
+        * inspector/front-end/inspector.js:
+        (WebInspector.frontendReused):
+
 2011-01-17  Csaba Osztrogonác  <ossy at webkit.org>
 
         Unreviewed buildfix after r75944.
diff --git a/Source/WebCore/inspector/Inspector.idl b/Source/WebCore/inspector/Inspector.idl
index 6563508..6c2cc2e 100644
--- a/Source/WebCore/inspector/Inspector.idl
+++ b/Source/WebCore/inspector/Inspector.idl
@@ -48,6 +48,7 @@ module core {
 
         [domain=Inspector] void openInInspectedWindow(in String url);
         [domain=Inspector] void setSearchingForNode(in boolean enabled, out boolean newState);
+        [notify, domain=Inspector] void frontendReused();
         [notify, domain=Inspector] void addNodesToSearchResult(out Array nodeIds);
         [notify, domain=Inspector] void bringToFront();
         [notify, domain=Inspector] void disconnectFromBackend();
@@ -185,7 +186,6 @@ module core {
         [notify, domain=DOM] void childNodeCountUpdated(out long id, out int newValue);
         [notify, domain=DOM] void childNodeInserted(out long parentId, out long prevId, out Object node);
         [notify, domain=DOM] void childNodeRemoved(out long parentId, out long id);
-        [notify, domain=DOM] void didCommitLoad();
 
         ///////////////////////////////////////////////////////////////////////
         // CSS API
diff --git a/Source/WebCore/inspector/InspectorController.cpp b/Source/WebCore/inspector/InspectorController.cpp
index aa0bec6..5a139b6 100644
--- a/Source/WebCore/inspector/InspectorController.cpp
+++ b/Source/WebCore/inspector/InspectorController.cpp
@@ -226,8 +226,13 @@ void InspectorController::restoreInspectorStateFromCookie(const String& inspecto
 {
     m_state->restoreFromInspectorCookie(inspectorStateCookie);
 
-    if (!m_frontend)
+    if (!m_frontend) {
         connectFrontend();
+        m_frontend->frontendReused();
+        m_frontend->inspectedURLChanged(m_inspectedPage->mainFrame()->loader()->url().string());
+        m_domAgent->setDocument(m_inspectedPage->mainFrame()->document());
+        pushDataCollectedOffline();
+    }
 
     if (m_state->getBoolean(InspectorState::timelineProfilerEnabled))
         startTimelineProfiler();
@@ -546,11 +551,24 @@ void InspectorController::populateScriptObjects()
         m_frontend->profilerWasEnabled();
 #endif
 
-    m_domAgent->setDocument(m_inspectedPage->mainFrame()->document());
+    pushDataCollectedOffline();
 
     if (m_nodeToFocus)
         focusNode();
 
+    // Dispatch pending frontend commands
+    for (Vector<pair<long, String> >::iterator it = m_pendingEvaluateTestCommands.begin(); it != m_pendingEvaluateTestCommands.end(); ++it)
+        m_frontend->evaluateForTestInFrontend((*it).first, (*it).second);
+    m_pendingEvaluateTestCommands.clear();
+
+    restoreDebugger();
+    restoreProfiler(ProfilerRestoreNoAction);
+}
+
+void InspectorController::pushDataCollectedOffline()
+{
+    m_domAgent->setDocument(m_inspectedPage->mainFrame()->document());
+
 #if ENABLE(DATABASE)
     DatabaseResourcesMap::iterator databasesEnd = m_databaseResources.end();
     for (DatabaseResourcesMap::iterator it = m_databaseResources.begin(); it != databasesEnd; ++it)
@@ -568,14 +586,6 @@ void InspectorController::populateScriptObjects()
         m_frontend->didCreateWorker(worker->id(), worker->url(), worker->isSharedWorker());
     }
 #endif
-
-    // Dispatch pending frontend commands
-    for (Vector<pair<long, String> >::iterator it = m_pendingEvaluateTestCommands.begin(); it != m_pendingEvaluateTestCommands.end(); ++it)
-        m_frontend->evaluateForTestInFrontend((*it).first, (*it).second);
-    m_pendingEvaluateTestCommands.clear();
-
-    restoreDebugger();
-    restoreProfiler(ProfilerRestoreNoAction);
 }
 
 void InspectorController::restoreDebugger()
@@ -667,10 +677,8 @@ void InspectorController::didCommitLoad(DocumentLoader* loader)
         m_domStorageResources.clear();
 #endif
 
-        if (m_frontend) {
-            m_frontend->didCommitLoad();
+        if (m_frontend)
             m_domAgent->setDocument(m_inspectedPage->mainFrame()->document());
-        }
     }
 }
 
diff --git a/Source/WebCore/inspector/InspectorController.h b/Source/WebCore/inspector/InspectorController.h
index 37ba25b..9cddc56 100644
--- a/Source/WebCore/inspector/InspectorController.h
+++ b/Source/WebCore/inspector/InspectorController.h
@@ -257,6 +257,7 @@ private:
     void getInspectorState(RefPtr<InspectorObject>* state);
 
     void populateScriptObjects();
+    void pushDataCollectedOffline();
     void restoreDebugger();
     enum ProfilerRestoreAction {
         ProfilerRestoreNoAction = 0,
diff --git a/Source/WebCore/inspector/front-end/DOMAgent.js b/Source/WebCore/inspector/front-end/DOMAgent.js
index 27abc62..e4fc7ad 100644
--- a/Source/WebCore/inspector/front-end/DOMAgent.js
+++ b/Source/WebCore/inspector/front-end/DOMAgent.js
@@ -373,12 +373,6 @@ WebInspector.DOMAgent.prototype = {
         return this._idToDOMNode[nodeId];
     },
 
-    _didCommitLoad: function()
-    {
-        // Cleanup elements panel early on inspected page refresh.
-        this._setDocument(null);
-    },
-
     _setDocument: function(payload)
     {
         this._idToDOMNode = {};
@@ -501,11 +495,6 @@ WebInspector.DOMDispatcher.prototype = {
     childNodeRemoved: function(parentId, nodeId)
     {
         this._domAgent._childNodeRemoved(parentId, nodeId);
-    },
-
-    didCommitLoad: function()
-    {
-        this._domAgent._didCommitLoad();
     }
 }
 
diff --git a/Source/WebCore/inspector/front-end/NetworkManager.js b/Source/WebCore/inspector/front-end/NetworkManager.js
index c8ff2e0..3942db6 100644
--- a/Source/WebCore/inspector/front-end/NetworkManager.js
+++ b/Source/WebCore/inspector/front-end/NetworkManager.js
@@ -87,6 +87,13 @@ WebInspector.NetworkManager.updateResourceWithCachedResource = function(resource
 }
 
 WebInspector.NetworkManager.prototype = {
+    reset: function()
+    {
+        WebInspector.panels.network.clear();
+        WebInspector.panels.resources.clear();
+        this._resourceTreeModel.reloadCachedResources();
+    },
+
     identifierForInitialRequest: function(identifier, url, loader, callStack)
     {
         var resource = this._resourceTreeModel.createResource(identifier, url, loader, callStack);
diff --git a/Source/WebCore/inspector/front-end/NetworkPanel.js b/Source/WebCore/inspector/front-end/NetworkPanel.js
index 357144a..aa868fe 100644
--- a/Source/WebCore/inspector/front-end/NetworkPanel.js
+++ b/Source/WebCore/inspector/front-end/NetworkPanel.js
@@ -804,12 +804,17 @@ WebInspector.NetworkPanel.prototype = {
             this.visibleView = newView;
     },
 
-    mainResourceChanged: function()
+    clear: function()
     {
         if (this._preserveLogToggle.toggled)
             return;
 
         this._reset();
+    },
+
+    mainResourceChanged: function()
+    {
+        this.clear();
         // Now resurrect the main resource along with all redirects that lead to it.
         var resourcesToAppend = (WebInspector.mainResource.redirects || []).concat(WebInspector.mainResource);
         resourcesToAppend.forEach(this.appendResource, this);
diff --git a/Source/WebCore/inspector/front-end/ResourceTreeModel.js b/Source/WebCore/inspector/front-end/ResourceTreeModel.js
index 6f6ba7a..b114b94 100644
--- a/Source/WebCore/inspector/front-end/ResourceTreeModel.js
+++ b/Source/WebCore/inspector/front-end/ResourceTreeModel.js
@@ -31,13 +31,18 @@
 
 WebInspector.ResourceTreeModel = function()
 {
-    this._resourcesByURL = {};
-    this._resourcesByFrameId = {};
-    this._subframes = {};
-    InspectorBackend.cachedResources(this._processCachedResources.bind(this));
+    this.reloadCachedResources();
 }
 
 WebInspector.ResourceTreeModel.prototype = {
+    reloadCachedResources: function()
+    {
+        this._resourcesByURL = {};
+        this._resourcesByFrameId = {};
+        this._subframes = {};
+        InspectorBackend.cachedResources(this._processCachedResources.bind(this));
+    },
+
     addOrUpdateFrame: function(frame)
     {
         var tmpResource = new WebInspector.Resource(null, frame.url);
diff --git a/Source/WebCore/inspector/front-end/ResourcesPanel.js b/Source/WebCore/inspector/front-end/ResourcesPanel.js
index 075249a..9ef8f5b 100644
--- a/Source/WebCore/inspector/front-end/ResourcesPanel.js
+++ b/Source/WebCore/inspector/front-end/ResourcesPanel.js
@@ -165,6 +165,12 @@ WebInspector.ResourcesPanel.prototype = {
             this.sidebarTree.selectedTreeElement.deselect();
     },
 
+    clear: function()
+    {
+        this.resourcesListTreeElement.removeChildren();
+        this.reset();
+    },
+
     addOrUpdateFrame: function(parentFrameId, frameId, title, subtitle)
     {
         var frameTreeElement = this._treeElementForFrameId[frameId];
diff --git a/Source/WebCore/inspector/front-end/inspector.js b/Source/WebCore/inspector/front-end/inspector.js
index cd074fd..d8a93b1 100644
--- a/Source/WebCore/inspector/front-end/inspector.js
+++ b/Source/WebCore/inspector/front-end/inspector.js
@@ -1652,6 +1652,12 @@ WebInspector.doPerformSearch = function(query, forceSearch, isBackwardSearch, re
     this.currentPanel.performSearch(query);
 }
 
+WebInspector.frontendReused = function()
+{
+    this.networkManager.reset();
+    this.reset();
+}
+
 WebInspector.addNodesToSearchResult = function(nodeIds)
 {
     WebInspector.panels.elements.addNodesToSearchResult(nodeIds);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list