summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-03 12:40:35 +0000
committerpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-03 12:40:35 +0000
commit0a8cf879c528a02205301365fb0934e2983182f3 (patch)
treeb3c9bcfe5fbf0860e491566f34b5c334da3dc297
parent0df3012fff2579aa4c09378fec0873f5c4589aab (diff)
downloadchromium_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.js39
-rw-r--r--webkit/glue/devtools/js/devtools_host_stub.js10
-rw-r--r--webkit/glue/devtools/js/inspector_controller.js26
-rw-r--r--webkit/glue/devtools/js/inspector_controller_impl.js18
-rw-r--r--webkit/glue/devtools/tools_agent.h11
-rw-r--r--webkit/glue/webdevtoolsagent_impl.cc19
-rw-r--r--webkit/glue/webdevtoolsagent_impl.h1
-rw-r--r--webkit/webkit.gyp1
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',