diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-03 12:40:35 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-03 12:40:35 +0000 |
commit | 0a8cf879c528a02205301365fb0934e2983182f3 (patch) | |
tree | b3c9bcfe5fbf0860e491566f34b5c334da3dc297 | |
parent | 0df3012fff2579aa4c09378fec0873f5c4589aab (diff) | |
download | chromium_src-0a8cf879c528a02205301365fb0934e2983182f3.zip chromium_src-0a8cf879c528a02205301365fb0934e2983182f3.tar.gz chromium_src-0a8cf879c528a02205301365fb0934e2983182f3.tar.bz2 |
DevTools: Catch up with InspectorController changes.
Review URL: http://codereview.chromium.org/119077
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17474 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | webkit/glue/devtools/js/devtools.js | 39 | ||||
-rw-r--r-- | webkit/glue/devtools/js/devtools_host_stub.js | 10 | ||||
-rw-r--r-- | webkit/glue/devtools/js/inspector_controller.js | 26 | ||||
-rw-r--r-- | webkit/glue/devtools/js/inspector_controller_impl.js | 18 | ||||
-rw-r--r-- | webkit/glue/devtools/tools_agent.h | 11 | ||||
-rw-r--r-- | webkit/glue/webdevtoolsagent_impl.cc | 19 | ||||
-rw-r--r-- | webkit/glue/webdevtoolsagent_impl.h | 1 | ||||
-rw-r--r-- | webkit/webkit.gyp | 1 |
8 files changed, 123 insertions, 2 deletions
diff --git a/webkit/glue/devtools/js/devtools.js b/webkit/glue/devtools/js/devtools.js index 8287e63..a21eeda 100644 --- a/webkit/glue/devtools/js/devtools.js +++ b/webkit/glue/devtools/js/devtools.js @@ -49,6 +49,8 @@ devtools.ToolsAgent = function() { goog.bind(this.dispatchOnClient_, this); RemoteToolsAgent.DidGetResourceContent = devtools.Callback.processCallback; + RemoteToolsAgent.SetResourcesPanelEnabled = + goog.bind(this.setResourcesPanelEnabled_, this); this.debuggerAgent_ = new devtools.DebuggerAgent(); this.domAgent_ = new devtools.DomAgent(); }; @@ -169,6 +171,43 @@ devtools.ToolsAgent.prototype.getResourceContentAsync = function(identifier, /** + * Enables / disables resource tracking. + * @param {boolean} enabled Sets tracking status. + * @param {boolean} always Determines whether tracking status should be sticky. + */ +devtools.ToolsAgent.prototype.setResourceTrackingEnabled = function(enabled, + always) { + RemoteToolsAgent.SetResourceTrackingEnabled(enabled, always); +}; + + +/** + * Enables / disables resources panel in the ui. + * @param {boolean} enabled New panel status. + */ +devtools.ToolsAgent.prototype.setResourcesPanelEnabled_ = function(enabled) { + InspectorController.resourceTrackingEnabled_ = enabled; + // TODO(pfeldman): Extract this upstream. + var panel = WebInspector.panels.resources; + if (enabled) { + panel.enableToggleButton.title = + WebInspector.UIString("Resource tracking enabled. Click to disable."); + panel.enableToggleButton.addStyleClass("toggled-on"); + panel.largerResourcesButton.removeStyleClass("hidden"); + panel.sortingSelectElement.removeStyleClass("hidden"); + panel.panelEnablerView.visible = false; + } else { + panel.enableToggleButton.title = + WebInspector.UIString("Resource tracking disabled. Click to enable."); + panel.enableToggleButton.removeStyleClass("toggled-on"); + panel.largerResourcesButton.addStyleClass("hidden"); + panel.sortingSelectElement.addStyleClass("hidden"); + panel.panelEnablerView.visible = true; + } +}; + + +/** * Prints string to the inspector console or shows alert if the console doesn't * exist. * @param {string} text diff --git a/webkit/glue/devtools/js/devtools_host_stub.js b/webkit/glue/devtools/js/devtools_host_stub.js index 7a278a3..fa9aba1 100644 --- a/webkit/glue/devtools/js/devtools_host_stub.js +++ b/webkit/glue/devtools/js/devtools_host_stub.js @@ -233,6 +233,16 @@ RemoteToolsAgentStub.prototype.ClearConsoleMessages = function() { }; +RemoteToolsAgentStub.prototype.SetResourceTrackingEnabled = function(enabled, always) { + RemoteToolsAgent.SetResourcesPanelEnabled(enabled); + if (enabled) { + WebInspector.resourceTrackingWasEnabled(); + } else { + WebInspector.resourceTrackingWasDisabled(); + } +}; + + RemoteDebuggerAgentStub.ProfilerLogBuffer = 'profiler,resume\n' + 'code-creation,LazyCompile,0x1000,256,"test1 http://aaa.js:1"\n' + diff --git a/webkit/glue/devtools/js/inspector_controller.js b/webkit/glue/devtools/js/inspector_controller.js index dd4193c..3882e15 100644 --- a/webkit/glue/devtools/js/inspector_controller.js +++ b/webkit/glue/devtools/js/inspector_controller.js @@ -244,6 +244,32 @@ devtools.InspectorController.prototype.debuggerEnabled = function() { /** + * Enables resource tracking. + */ +devtools.InspectorController.prototype.enableResourceTracking = function() { + this.resourceTrackingEnabled_ = true; + WebInspector.resourceTrackingWasEnabled(); +}; + + +/** + * Disables resource tracking. + */ +devtools.InspectorController.prototype.disableResourceTracking = function() { + this.resourceTrackingEnabled_ = false; + WebInspector.resourceTrackingWasDisabled(); +}; + + +/** + * @return {boolean} True iff resource tracking is enabled. + */ +devtools.InspectorController.prototype.resourceTrackingEnabled = function() { + return this.resourceTrackingEnabled_; +}; + + +/** * Enables debugger. */ devtools.InspectorController.prototype.enableDebugger = function() { diff --git a/webkit/glue/devtools/js/inspector_controller_impl.js b/webkit/glue/devtools/js/inspector_controller_impl.js index 2f6f65e7..aac3ae5 100644 --- a/webkit/glue/devtools/js/inspector_controller_impl.js +++ b/webkit/glue/devtools/js/inspector_controller_impl.js @@ -76,6 +76,24 @@ devtools.InspectorControllerImpl.prototype.inspectedWindow = function() { /** + * {@inheritDoc}. + */ +devtools.InspectorController.prototype.enableResourceTracking = + function(always) { + devtools.tools.setResourceTrackingEnabled(true, always); +} + + +/** + * {@inheritDoc}. + */ +devtools.InspectorController.prototype.disableResourceTracking = + function(always) { + devtools.tools.setResourceTrackingEnabled(false, always); +}; + + +/** * @override */ devtools.InspectorControllerImpl.prototype.debuggerEnabled = function() { diff --git a/webkit/glue/devtools/tools_agent.h b/webkit/glue/devtools/tools_agent.h index 83e4fe7..dd6bdf7 100644 --- a/webkit/glue/devtools/tools_agent.h +++ b/webkit/glue/devtools/tools_agent.h @@ -26,9 +26,13 @@ \ /* Clears cached console messages. */ \ METHOD0(ClearConsoleMessages) \ + \ /* Requests that the agent sends content of the resource with given id to the delegate. */ \ - METHOD2(GetResourceContent, int /* call_id */, int /* identifier */) + METHOD2(GetResourceContent, int /* call_id */, int /* identifier */) \ + \ + /* Turns resource tracking on / off. */ \ + METHOD2(SetResourceTrackingEnabled, bool /* enabled */, bool /* always */) DEFINE_RPC_CLASS(ToolsAgent, TOOLS_AGENT_STRUCT) @@ -51,7 +55,10 @@ DEFINE_RPC_CLASS(ToolsAgent, TOOLS_AGENT_STRUCT) METHOD1(DispatchOnClient, String /* data */) \ \ /* Response to the async call. */ \ - METHOD2(DidGetResourceContent, int /* call_id */, String /* content */) + METHOD2(DidGetResourceContent, int /* call_id */, String /* content */) \ + \ + /* Tells frontend if resources panel should be enabled in the UI. */ \ + METHOD1(SetResourcesPanelEnabled, bool /* enabled. */) DEFINE_RPC_CLASS(ToolsAgentDelegate, TOOLS_AGENT_DELEGATE_STRUCT) diff --git a/webkit/glue/webdevtoolsagent_impl.cc b/webkit/glue/webdevtoolsagent_impl.cc index e77908c..7e441b2 100644 --- a/webkit/glue/webdevtoolsagent_impl.cc +++ b/webkit/glue/webdevtoolsagent_impl.cc @@ -92,6 +92,11 @@ void WebDevToolsAgentImpl::Attach() { web_inspector_stub_->Build(); InspectorController* ic = web_view_impl_->page()->inspectorController(); + + // Unhide resources panel if necessary. + tools_agent_delegate_stub_->SetResourcesPanelEnabled( + ic->resourceTrackingEnabled()); + v8::HandleScope scope; ic->setFrontendProxyObject( scriptStateFromPage(web_view_impl_->page()), @@ -230,6 +235,20 @@ void WebDevToolsAgentImpl::GetResourceContent( } } +void WebDevToolsAgentImpl::SetResourceTrackingEnabled( + bool enabled, + bool always) { + // Hide / unhide resources panel if necessary. + tools_agent_delegate_stub_->SetResourcesPanelEnabled(enabled); + + InspectorController* ic = web_view_impl_->page()->inspectorController(); + if (enabled) { + ic->enableResourceTracking(always); + } else { + ic->disableResourceTracking(always); + } +} + void WebDevToolsAgentImpl::DispatchMessageFromClient( const std::string& class_name, const std::string& method_name, diff --git a/webkit/glue/webdevtoolsagent_impl.h b/webkit/glue/webdevtoolsagent_impl.h index d87b442..dcf9a11 100644 --- a/webkit/glue/webdevtoolsagent_impl.h +++ b/webkit/glue/webdevtoolsagent_impl.h @@ -54,6 +54,7 @@ class WebDevToolsAgentImpl virtual void GetResourceContent( int call_id, int identifier); + virtual void SetResourceTrackingEnabled(bool enabled, bool always); // WebDevToolsAgent implementation. virtual void Attach(); diff --git a/webkit/webkit.gyp b/webkit/webkit.gyp index dd5726f..f1ac224 100644 --- a/webkit/webkit.gyp +++ b/webkit/webkit.gyp @@ -4746,6 +4746,7 @@ '../third_party/WebKit/WebCore/inspector/front-end/Images/profilesIcon.png', '../third_party/WebKit/WebCore/inspector/front-end/Images/profileSmallIcon.png', '../third_party/WebKit/WebCore/inspector/front-end/Images/profilesSilhouette.png', + '../third_party/WebKit/WebCore/inspector/front-end/Images/radioDot.png', '../third_party/WebKit/WebCore/inspector/front-end/Images/recordButtons.png', '../third_party/WebKit/WebCore/inspector/front-end/Images/reloadButtons.png', '../third_party/WebKit/WebCore/inspector/front-end/Images/resourceCSSIcon.png', |