diff options
author | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-12 23:57:18 +0000 |
---|---|---|
committer | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-12 23:57:18 +0000 |
commit | 2f7f4d591192cfdebee227b72e3cf57c7c604450 (patch) | |
tree | 181fc0fc257b6203c3ca2affb33f4b143de5fd3c /chrome/browser/extensions | |
parent | 5a8459aa45b09a6cdcdd90ca190ba353799e3464 (diff) | |
download | chromium_src-2f7f4d591192cfdebee227b72e3cf57c7c604450.zip chromium_src-2f7f4d591192cfdebee227b72e3cf57c7c604450.tar.gz chromium_src-2f7f4d591192cfdebee227b72e3cf57c7c604450.tar.bz2 |
Enables the sending of Timeline Agent and Resource messages to the devtools api in extensions.
Review URL: http://codereview.chromium.org/267013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28761 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
5 files changed, 16 insertions, 43 deletions
diff --git a/chrome/browser/extensions/extension_devtools_bridge.cc b/chrome/browser/extensions/extension_devtools_bridge.cc index 2702394..da5885a 100644 --- a/chrome/browser/extensions/extension_devtools_bridge.cc +++ b/chrome/browser/extensions/extension_devtools_bridge.cc @@ -21,8 +21,6 @@ ExtensionDevToolsBridge::ExtensionDevToolsBridge(int tab_id, profile_(profile), on_page_event_name_( ExtensionDevToolsEvents::OnPageEventNameForTab(tab_id)), - on_tab_url_change_event_name_( - ExtensionDevToolsEvents::OnTabUrlChangeEventNameForTab(tab_id)), on_tab_close_event_name_( ExtensionDevToolsEvents::OnTabCloseEventNameForTab(tab_id)) { extension_devtools_manager_ = profile_->GetExtensionDevToolsManager(); @@ -42,8 +40,12 @@ bool ExtensionDevToolsBridge::RegisterAsDevToolsClientHost() { if (ExtensionTabUtil::GetTabById(tab_id_, profile_, &browser, &tab_strip, &contents, &tab_index)) { inspected_rvh_ = contents->render_view_host(); - DevToolsManager::GetInstance()->RegisterDevToolsClientHostFor( + DevToolsManager* devtools_manager = DevToolsManager::GetInstance(); + devtools_manager->RegisterDevToolsClientHostFor( inspected_rvh_, this); + devtools_manager->ForwardToDevToolsAgent( + this, + DevToolsAgentMsg_SetApuAgentEnabled(true)); return true; } return false; @@ -64,6 +66,8 @@ void ExtensionDevToolsBridge::UnregisterAsDevToolsClientHost() { void ExtensionDevToolsBridge::InspectedTabClosing() { DCHECK_EQ(MessageLoop::current()->type(), MessageLoop::TYPE_UI); + // TODO(knorton): Remove this event in favor of the standard tabs.onRemoved + // event in extensions. std::string json("[{}]"); profile_->GetExtensionMessageService()-> DispatchEventToRenderers(on_tab_close_event_name_, json); @@ -79,9 +83,8 @@ void ExtensionDevToolsBridge::SendMessageToClient(const IPC::Message& msg) { IPC_END_MESSAGE_MAP() } -static const char kTimelineAgentClassName[] = "TimelineAgentClass"; -static const char kPageEventMessageName[] = "PageEventMessage"; -static const char kTabUrlChangeEventMessageName[] = "TabUrlChangeEventMessage"; +static const char kApuAgentClassName[] = "ApuAgentDelegate"; +static const char kApuPageEventMessageName[] = "DispatchToApu"; void ExtensionDevToolsBridge::OnRpcMessage(const std::string& class_name, const std::string& message_name, @@ -89,18 +92,12 @@ void ExtensionDevToolsBridge::OnRpcMessage(const std::string& class_name, const std::string& param2, const std::string& param3) { DCHECK_EQ(MessageLoop::current()->type(), MessageLoop::TYPE_UI); - // TODO(jamesr): Update the filtering and message creation logic once - // the TimelineAgent lands in WebKit. - if (class_name == kTimelineAgentClassName) { - if (message_name == kPageEventMessageName) { - std::string json = StringPrintf("[{\"record\": \"%s\"}]", param1.c_str()); - profile_->GetExtensionMessageService()-> - DispatchEventToRenderers(on_page_event_name_, json); - } else if (message_name == kTabUrlChangeEventMessageName) { - std::string json = StringPrintf("[{\"record\": \"%s\"}]", param1.c_str()); - profile_->GetExtensionMessageService()-> - DispatchEventToRenderers(on_tab_url_change_event_name_, json); - } + + if (class_name == kApuAgentClassName + && message_name == kApuPageEventMessageName) { + std::string json = StringPrintf("[%s]", param1.c_str()); + profile_->GetExtensionMessageService()->DispatchEventToRenderers( + on_page_event_name_, json); } } diff --git a/chrome/browser/extensions/extension_devtools_bridge.h b/chrome/browser/extensions/extension_devtools_bridge.h index d6fd960..7cbbc8f 100644 --- a/chrome/browser/extensions/extension_devtools_bridge.h +++ b/chrome/browser/extensions/extension_devtools_bridge.h @@ -52,7 +52,6 @@ class ExtensionDevToolsBridge : public DevToolsClientHost { // The names of the events fired at extensions depend on the tab id, // so we store the various event names in each bridge. const std::string on_page_event_name_; - const std::string on_tab_url_change_event_name_; const std::string on_tab_close_event_name_; DISALLOW_COPY_AND_ASSIGN(ExtensionDevToolsBridge); diff --git a/chrome/browser/extensions/extension_devtools_browsertests.cc b/chrome/browser/extensions/extension_devtools_browsertests.cc index 19f7ba4..a2eff3c 100644 --- a/chrome/browser/extensions/extension_devtools_browsertests.cc +++ b/chrome/browser/extensions/extension_devtools_browsertests.cc @@ -79,21 +79,10 @@ IN_PROC_BROWSER_TEST_F(ExtensionDevToolsBrowserTest, TimelineApi) { tab_contents->render_view_host()); ASSERT_TRUE(devtools_client_host); - // Test onTabUrlChange event. - DevToolsClientMsg_RpcMessage tabUrlChangeEventMessage( - "TimelineAgentClass", "TabUrlChangeEventMessage", "", "", ""); - devtools_client_host->SendMessageToClient(tabUrlChangeEventMessage); - ui_test_utils::ExecuteJavaScriptAndExtractBool( - host->render_view_host(), - L"", - L"testReceiveTabUrlChangeEvent()", - &result); - EXPECT_TRUE(result); - // Test onPageEvent event. result = false; DevToolsClientMsg_RpcMessage pageEventMessage( - "TimelineAgentClass", "PageEventMessage", "", "", ""); + "ApuAgentDelegate", "DispatchToApu", "", "", ""); devtools_client_host->SendMessageToClient(pageEventMessage); ui_test_utils::ExecuteJavaScriptAndExtractBool( host->render_view_host(), L"", L"testReceivePageEvent()", &result); diff --git a/chrome/browser/extensions/extension_devtools_events.cc b/chrome/browser/extensions/extension_devtools_events.cc index 979726c..bec5577 100644 --- a/chrome/browser/extensions/extension_devtools_events.cc +++ b/chrome/browser/extensions/extension_devtools_events.cc @@ -12,7 +12,6 @@ // in sync with chrome/renderer/resources/extension_process_bindings.js static const char kDevToolsEventPrefix[] = "devtools."; static const char kOnPageEventName[] = "onPageEvent"; -static const char kOnTabUrlChangeEventName[] = "onTabUrlChange"; static const char kOnTabCloseEventName[] = "onTabClose"; // static @@ -43,14 +42,6 @@ std::string ExtensionDevToolsEvents::OnPageEventNameForTab(int tab_id) { } // static -std::string ExtensionDevToolsEvents::OnTabUrlChangeEventNameForTab(int tab_id) { - return StringPrintf("%s%d.%s", - kDevToolsEventPrefix, - tab_id, - kOnTabUrlChangeEventName); -} - -// static std::string ExtensionDevToolsEvents::OnTabCloseEventNameForTab(int tab_id) { return StringPrintf("%s%d.%s", kDevToolsEventPrefix, diff --git a/chrome/browser/extensions/extension_devtools_events.h b/chrome/browser/extensions/extension_devtools_events.h index ff985b2..c1dd363 100644 --- a/chrome/browser/extensions/extension_devtools_events.h +++ b/chrome/browser/extensions/extension_devtools_events.h @@ -22,9 +22,6 @@ class ExtensionDevToolsEvents { // Generates the event string for an onPageEvent for a given tab. static std::string OnPageEventNameForTab(int tab_id); - // Generates the event string for an onPageEvent for a given tab. - static std::string OnTabUrlChangeEventNameForTab(int tab_id); - // Generates the event string for an onTabCloseEvent for a given tab. static std::string OnTabCloseEventNameForTab(int tab_id); |