[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