Reviewed by Pavel Feldman.
Web Inspector: move searchingForNode flag in InspectorController under control of InspectorCookies.
Four functions from Inspector IDL go away.
Searching for node feature of Inspector keeps alive even after navigation.
https://bugs.webkit.org/show_bug.cgi?id=46462
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::updateInspectorStateCookie):
(WebCore::InspectorController::restoreInspectorStateFromCookie):
(WebCore::InspectorController::setSearchingForNode):
(WebCore::InspectorController::populateScriptObjects):
* inspector/InspectorController.h:
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.hide):
(WebInspector.ElementsPanel.prototype.updateFocusedNode):
(WebInspector.ElementsPanel.prototype._setSearchingForNode):
(WebInspector.ElementsPanel.prototype.setSearchingForNode):
(WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
* inspector/front-end/inspector.js:
(WebInspector._updateFocusedNode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@68256
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2010-09-24 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: move searchingForNode flag in InspectorController under control of InspectorCookies.
+
+ Four functions from Inspector IDL go away.
+ Searching for node feature of Inspector keeps alive even after navigation.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46462
+
+ * inspector/Inspector.idl:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::updateInspectorStateCookie):
+ (WebCore::InspectorController::restoreInspectorStateFromCookie):
+ (WebCore::InspectorController::setSearchingForNode):
+ (WebCore::InspectorController::populateScriptObjects):
+ * inspector/InspectorController.h:
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.hide):
+ (WebInspector.ElementsPanel.prototype.updateFocusedNode):
+ (WebInspector.ElementsPanel.prototype._setSearchingForNode):
+ (WebInspector.ElementsPanel.prototype.setSearchingForNode):
+ (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
+ * inspector/front-end/inspector.js:
+ (WebInspector._updateFocusedNode):
+
2010-09-24 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[notify] void removeResource(out unsigned long identifier);
[notify] void reset();
[notify] void resetProfilesPanel();
- [notify] void searchingForNodeWasEnabled();
- [notify] void searchingForNodeWasDisabled();
[notify] void setChildNodes(out long parentId, out Array nodes);
[notify] void setDetachedRoot(out Object root);
[notify] void setDocument(out Value root);
[handler=Controller] void saveApplicationSettings(in String settings);
[handler=Controller] void saveSessionSettings(in String settings);
- [handler=Controller] void enableSearchingForNode();
- [handler=Controller] void disableSearchingForNode();
+ [handler=Controller] void setSearchingForNode(in boolean enabled, out boolean newState);
[handler=Controller] void setMonitoringXHREnabled(in boolean enable, out boolean newState);
static const char* const resourceTrackingAlwaysEnabledSettingName = "resourceTrackingEnabled";
static const char* const profilerAlwaysEnabledSettingName = "profilerEnabled";
-static const char* const timelineProfilerEnabledStateName = "timelineProfilerEnabled";
-static const char* const resourceTrackingEnabledStateName = "resourceTrackingEnabled";
static const char* const monitoringXHRStateName = "monitoringXHREnabled";
+static const char* const resourceTrackingEnabledStateName = "resourceTrackingEnabled";
+static const char* const searchingForNodeEnabledStateName = "searchingForNodeEnabled";
+static const char* const timelineProfilerEnabledStateName = "timelineProfilerEnabled";
static const char* const inspectorAttachedHeightName = "inspectorAttachedHeight";
state->setBoolean(monitoringXHRStateName, m_monitoringXHR);
state->setBoolean(resourceTrackingEnabledStateName, m_resourceTrackingEnabled);
state->setBoolean(timelineProfilerEnabledStateName, m_timelineAgent);
+ state->setBoolean(searchingForNodeEnabledStateName, m_searchingForNode);
m_client->updateInspectorStateCookie(state->toJSONString());
}
inspectorState->getBoolean(monitoringXHRStateName, &m_monitoringXHR);
inspectorState->getBoolean(resourceTrackingEnabledStateName, &m_resourceTrackingEnabled);
+ inspectorState->getBoolean(searchingForNodeEnabledStateName, &m_searchingForNode);
bool timelineProfilerEnabled = false;
inspectorState->getBoolean(timelineProfilerEnabledStateName, &timelineProfilerEnabled);
m_searchingForNode = enabled;
if (!m_searchingForNode)
hideHighlight();
- if (m_frontend) {
- if (enabled)
- m_frontend->searchingForNodeWasEnabled();
- else
- m_frontend->searchingForNodeWasDisabled();
- }
+ updateInspectorStateCookie();
+}
+
+void InspectorController::setSearchingForNode(bool enabled, bool* newState)
+{
+ *newState = enabled;
+ setSearchingForNode(enabled);
}
void InspectorController::setMonitoringXHREnabled(bool enabled, bool* newState)
showPanel(m_showAfterVisible);
- if (m_searchingForNode)
- m_frontend->searchingForNodeWasEnabled();
-
-
#if ENABLE(JAVASCRIPT_DEBUGGER)
if (m_profilerAgent->enabled())
m_frontend->profilerWasEnabled();
void restoreDebugger();
void restoreProfiler();
void unbindAllResources();
+ void setSearchingForNode(bool enabled);
// Following are used from InspectorBackend and internally.
- void setSearchingForNode(bool enabled);
- void enableSearchingForNode() { setSearchingForNode(true); }
- void disableSearchingForNode() { setSearchingForNode(false); }
+ void setSearchingForNode(bool enabled, bool* newState);
void setMonitoringXHREnabled(bool enabled, bool* newState);
void storeLastActivePanel(const String& panelName);
WebInspector.Panel.prototype.hide.call(this);
WebInspector.highlightDOMNode(0);
- InspectorBackend.disableSearchingForNode();
+ this.setSearchingForNode(false);
},
resize: function()
InspectorBackend.performSearch(whitespaceTrimmedQuery, false);
},
- searchingForNodeWasEnabled: function()
- {
- this._nodeSearchButton.toggled = true;
- },
-
- searchingForNodeWasDisabled: function()
- {
- this._nodeSearchButton.toggled = false;
- },
-
populateHrefContextMenu: function(contextMenu, event, anchorElement)
{
if (!anchorElement.href)
this.treeOutline.updateSelection();
},
+ updateFocusedNode: function(nodeId)
+ {
+ var node = WebInspector.domAgent.nodeForId(nodeId);
+ if (!node)
+ return;
+
+ this.focusedDOMNode = node;
+ this._nodeSearchButton.toggled = false;
+ },
+
+ _setSearchingForNode: function(enabled)
+ {
+ this._nodeSearchButton.toggled = enabled;
+ },
+
+ setSearchingForNode: function(enabled)
+ {
+ InspectorBackend.setSearchingForNode(enabled, this._setSearchingForNode.bind(this));
+ },
+
toggleSearchingForNode: function()
{
- if (!this._nodeSearchButton.toggled)
- InspectorBackend.enableSearchingForNode();
- else
- InspectorBackend.disableSearchingForNode();
+ this.setSearchingForNode(!this._nodeSearchButton.toggled);
},
elementsToRestoreScrollPositionsFor: function()
_updateFocusedNode: function(nodeId)
{
- var node = WebInspector.domAgent.nodeForId(nodeId);
- if (!node)
- return;
-
this.currentPanel = this.panels.elements;
- this.panels.elements.focusedDOMNode = node;
+ this.panels.elements.updateFocusedNode(nodeId);
}
}