Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(283)

Unified Diff: webkit/glue/devtools/js/devtools.js

Issue 54002: Make DevTools client survive 'refresh' of the inspectable tab. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/renderer/devtools_agent.cc ('k') | webkit/glue/devtools/js/devtools_host_stub.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/glue/devtools/js/devtools.js
===================================================================
--- webkit/glue/devtools/js/devtools.js (revision 12442)
+++ webkit/glue/devtools/js/devtools.js (working copy)
@@ -15,63 +15,114 @@
devtools.ToolsAgent = function() {
RemoteToolsAgent.UpdateFocusedNode =
goog.bind(this.updateFocusedNode, this);
+ RemoteToolsAgent.FrameNavigate =
+ goog.bind(this.frameNavigate, this);
+ this.domAgent_ = new devtools.DomAgent();
+ this.netAgent_ = new devtools.NetAgent();
+ this.reset();
};
-// ToolsAgent implementation.
-devtools.ToolsAgent.prototype.updateFocusedNode = function(node_id) {
- var node = domAgent.getNodeForId(node_id);
+/**
+ * Rests tools agent to its initial state.
+ */
+devtools.ToolsAgent.prototype.reset = function() {
+ this.setEnabled(true);
+ this.domAgent_.reset();
+ this.domAgent_.getDocumentElementAsync();
+};
+
+
+/**
+ * DomAgent accessor.
+ * @return {devtools.DomAgent} Dom agent instance.
+ */
+devtools.ToolsAgent.prototype.getDomAgent = function() {
+ return this.domAgent_;
+};
+
+
+/**
+ * NetAgent accessor.
+ * @return {devtools.NetAgent} Net agent instance.
+ */
+devtools.ToolsAgent.prototype.getNetAgent = function() {
+ return this.netAgent_;
+};
+
+
+/**
+ * @see tools_agent.h
+ */
+devtools.ToolsAgent.prototype.updateFocusedNode = function(nodeId) {
+ var node = this.domAgent_.getNodeForId(nodeId);
WebInspector.updateFocusedNode(node);
};
-devtools.ToolsAgent.prototype.setDomAgentEnabled = function(enabled) {
- RemoteToolsAgent.SetDomAgentEnabled(enabled);
+/**
+ * @see tools_agent.h
+ */
+devtools.ToolsAgent.prototype.frameNavigate = function(url, topLevel) {
+ this.reset();
+ WebInspector.reset();
};
-devtools.ToolsAgent.prototype.setNetAgentEnabled = function(enabled) {
- RemoteToolsAgent.SetNetAgentEnabled(enabled);
+/**
+ * @see tools_agent.h
+ */
+devtools.ToolsAgent.prototype.setEnabled = function(enabled) {
+ RemoteToolsAgent.SetEnabled(enabled);
};
+
+/**
+ * Evaluates js expression.
+ * @param {string} expr
+ */
+devtools.ToolsAgent.prototype.evaluate = function(expr) {
+ RemoteToolsAgent.evaluate(expr);
+};
+
+
// Frontend global objects.
-var domAgent;
-var netAgent;
-var toolsAgent;
+var devtools.tools;
var context = {}; // Used by WebCore's inspector routines.
-// Overrides for existing WebInspector methods.
+///////////////////////////////////////////////////////////////////////////////
+// Here and below are overrides to existing WebInspector methods only.
// TODO(pfeldman): Patch WebCore and upstream changes.
var oldLoaded = WebInspector.loaded;
WebInspector.loaded = function() {
- domAgent = new devtools.DomAgent();
- netAgent = new devtools.NetAgent();
- toolsAgent = new devtools.ToolsAgent();
+ devtools.tools = new devtools.ToolsAgent();
Preferences.ignoreWhitespace = false;
- toolsAgent.setDomAgentEnabled(true);
- toolsAgent.setNetAgentEnabled(true);
oldLoaded.call(this);
- domAgent.getDocumentElementAsync();
+
+ DevToolsHost.loaded();
};
var webkitUpdateChildren =
WebInspector.ElementsTreeElement.prototype.updateChildren;
+
WebInspector.ElementsTreeElement.prototype.updateChildren = function() {
var self = this;
- domAgent.getChildNodesAsync(this.representedObject.id, function() {
- webkitUpdateChildren.call(self);
- });
+ devtools.tools.getDomAgent().getChildNodesAsync(this.representedObject.id,
+ function() {
+ webkitUpdateChildren.call(self);
+ });
};
+
WebInspector.ElementsPanel.prototype.performSearch = function(query) {
this.searchCanceled();
var self = this;
- domAgent.performSearch(query, function(node) {
+ devtools.tools.getDomAgent().performSearch(query, function(node) {
var treeElement = self.treeOutline.findTreeElement(node);
if (treeElement)
treeElement.highlighted = true;
@@ -81,7 +132,7 @@
WebInspector.ElementsPanel.prototype.searchCanceled = function() {
var self = this;
- domAgent.searchCanceled(function(node) {
+ devtools.tools.getDomAgent().searchCanceled(function(node) {
var treeElement = self.treeOutline.findTreeElement(node);
if (treeElement)
treeElement.highlighted = false;
@@ -95,3 +146,8 @@
WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult = function() {
};
+
+
+WebInspector.Console.prototype._evalInInspectedWindow = function(expr) {
+ return devtools.tools.evaluate(expr);
+};
« no previous file with comments | « chrome/renderer/devtools_agent.cc ('k') | webkit/glue/devtools/js/devtools_host_stub.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698