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); |
+}; |