diff options
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/devtools/js/devtools_host_stub.js | 2 | ||||
-rw-r--r-- | webkit/glue/devtools/js/inspector_controller_impl.js | 29 | ||||
-rw-r--r-- | webkit/glue/webdevtoolsclient_delegate.h | 1 | ||||
-rw-r--r-- | webkit/glue/webdevtoolsclient_impl.cc | 13 | ||||
-rw-r--r-- | webkit/glue/webdevtoolsclient_impl.h | 2 |
5 files changed, 37 insertions, 10 deletions
diff --git a/webkit/glue/devtools/js/devtools_host_stub.js b/webkit/glue/devtools/js/devtools_host_stub.js index 4d875d3..026153a 100644 --- a/webkit/glue/devtools/js/devtools_host_stub.js +++ b/webkit/glue/devtools/js/devtools_host_stub.js @@ -226,6 +226,8 @@ RemoteToolsAgentStub.prototype.ExecuteUtilityFunction = function(callId, } catch (e) { result = [ e.toString(), true ]; } + } else if (functionName == 'InspectorController') { + // do nothing; } else { alert('Unexpected utility function:' + functionName); } diff --git a/webkit/glue/devtools/js/inspector_controller_impl.js b/webkit/glue/devtools/js/inspector_controller_impl.js index dc24478..cbfcd57 100644 --- a/webkit/glue/devtools/js/inspector_controller_impl.js +++ b/webkit/glue/devtools/js/inspector_controller_impl.js @@ -20,7 +20,7 @@ goog.inherits(devtools.InspectorControllerImpl, /** * {@inheritDoc}. */ -devtools.InspectorController.prototype.platform = function() { +devtools.InspectorControllerImpl.prototype.platform = function() { return DevToolsHost.getPlatform(); }; @@ -28,7 +28,7 @@ devtools.InspectorController.prototype.platform = function() { /** * {@inheritDoc}. */ -devtools.InspectorController.prototype.closeWindow = function() { +devtools.InspectorControllerImpl.prototype.closeWindow = function() { DevToolsHost.closeWindow(); }; @@ -36,7 +36,7 @@ devtools.InspectorController.prototype.closeWindow = function() { /** * {@inheritDoc}. */ -devtools.InspectorController.prototype.attach = function() { +devtools.InspectorControllerImpl.prototype.attach = function() { DevToolsHost.dockWindow(); }; @@ -44,7 +44,7 @@ devtools.InspectorController.prototype.attach = function() { /** * {@inheritDoc}. */ -devtools.InspectorController.prototype.detach = function() { +devtools.InspectorControllerImpl.prototype.detach = function() { DevToolsHost.undockWindow(); }; @@ -52,7 +52,7 @@ devtools.InspectorController.prototype.detach = function() { /** * {@inheritDoc}. */ -devtools.InspectorController.prototype.storeLastActivePanel = function(panel) { +devtools.InspectorControllerImpl.prototype.storeLastActivePanel = function(panel) { RemoteToolsAgent.ExecuteUtilityFunction( devtools.Callback.wrap(undefined), 'InspectorController', JSON.stringify(['storeLastActivePanel', panel])); @@ -62,7 +62,7 @@ devtools.InspectorController.prototype.storeLastActivePanel = function(panel) { /** * {@inheritDoc}. */ -devtools.InspectorController.prototype.clearMessages = function() { +devtools.InspectorControllerImpl.prototype.clearMessages = function() { RemoteToolsAgent.ClearConsoleMessages(); }; @@ -78,7 +78,7 @@ devtools.InspectorControllerImpl.prototype.hiddenPanels = function() { /** * {@inheritDoc}. */ -devtools.InspectorController.prototype.search = function(sourceRow, query) { +devtools.InspectorControllerImpl.prototype.search = function(sourceRow, query) { return DevToolsHost.search(sourceRow, query); }; @@ -86,6 +86,15 @@ devtools.InspectorController.prototype.search = function(sourceRow, query) { /** * {@inheritDoc}. */ +devtools.InspectorControllerImpl.prototype.toggleNodeSearch = function() { + devtools.InspectorController.prototype.toggleNodeSearch.call(this); + DevToolsHost.toggleInspectElementMode(this.searchingForNode()); +}; + + +/** + * {@inheritDoc}. + */ devtools.InspectorControllerImpl.prototype.addSourceToFrame = function(mimeType, source, element) { return DevToolsHost.addSourceToFrame(mimeType, source, element); @@ -133,7 +142,7 @@ devtools.InspectorControllerImpl.prototype.inspectedWindow = function() { /** * {@inheritDoc}. */ -devtools.InspectorController.prototype.enableResourceTracking = +devtools.InspectorControllerImpl.prototype.enableResourceTracking = function(always) { devtools.tools.setResourceTrackingEnabled(true, always); } @@ -142,7 +151,7 @@ devtools.InspectorController.prototype.enableResourceTracking = /** * {@inheritDoc}. */ -devtools.InspectorController.prototype.disableResourceTracking = +devtools.InspectorControllerImpl.prototype.disableResourceTracking = function(always) { devtools.tools.setResourceTrackingEnabled(false, always); }; @@ -173,7 +182,7 @@ devtools.InspectorControllerImpl.prototype.removeBreakpoint = function( }; -devtools.InspectorController.prototype.pauseInDebugger = function() { +devtools.InspectorControllerImpl.prototype.pauseInDebugger = function() { devtools.tools.getDebuggerAgent().pauseExecution(); }; diff --git a/webkit/glue/webdevtoolsclient_delegate.h b/webkit/glue/webdevtoolsclient_delegate.h index 09d088b..b7ef635 100644 --- a/webkit/glue/webdevtoolsclient_delegate.h +++ b/webkit/glue/webdevtoolsclient_delegate.h @@ -22,6 +22,7 @@ class WebDevToolsClientDelegate { virtual void CloseWindow() = 0; virtual void DockWindow() = 0; virtual void UndockWindow() = 0; + virtual void ToggleInspectElementMode(bool enabled) = 0; private: DISALLOW_COPY_AND_ASSIGN(WebDevToolsClientDelegate); diff --git a/webkit/glue/webdevtoolsclient_impl.cc b/webkit/glue/webdevtoolsclient_impl.cc index 5bb2883..eaf923f 100644 --- a/webkit/glue/webdevtoolsclient_impl.cc +++ b/webkit/glue/webdevtoolsclient_impl.cc @@ -181,6 +181,9 @@ WebDevToolsClientImpl::WebDevToolsClientImpl( dev_tools_host_->AddProtoFunction( "undockWindow", WebDevToolsClientImpl::JsUndockWindow); + dev_tools_host_->AddProtoFunction( + "toggleInspectElementMode", + WebDevToolsClientImpl::JsToggleInspectElementMode); dev_tools_host_->Build(); } @@ -357,3 +360,13 @@ v8::Handle<v8::Value> WebDevToolsClientImpl::JsUndockWindow( client->delegate_->UndockWindow(); return v8::Undefined(); } + +// static +v8::Handle<v8::Value> WebDevToolsClientImpl::JsToggleInspectElementMode( + const v8::Arguments& args) { + WebDevToolsClientImpl* client = static_cast<WebDevToolsClientImpl*>( + v8::External::Cast(*args.Data())->Value()); + int enabled = static_cast<int>(args[0]->BooleanValue()); + client->delegate_->ToggleInspectElementMode(enabled); + return v8::Undefined(); +} diff --git a/webkit/glue/webdevtoolsclient_impl.h b/webkit/glue/webdevtoolsclient_impl.h index 8180458..ce07dd4 100644 --- a/webkit/glue/webdevtoolsclient_impl.h +++ b/webkit/glue/webdevtoolsclient_impl.h @@ -67,6 +67,8 @@ class WebDevToolsClientImpl : public WebDevToolsClient, static v8::Handle<v8::Value> JsCloseWindow(const v8::Arguments& args); static v8::Handle<v8::Value> JsDockWindow(const v8::Arguments& args); static v8::Handle<v8::Value> JsUndockWindow(const v8::Arguments& args); + static v8::Handle<v8::Value> JsToggleInspectElementMode( + const v8::Arguments& args); WebViewImpl* web_view_impl_; WebDevToolsClientDelegate* delegate_; |