| Index: content/browser/debugger/devtools_manager_unittest.cc
|
| diff --git a/content/browser/debugger/devtools_manager_unittest.cc b/content/browser/debugger/devtools_manager_unittest.cc
|
| index f7daf85e9aee2737e3f1bb077b459ad59cdd3d91..ead247c428595703cd79e9ae13cb880c13c66458 100644
|
| --- a/content/browser/debugger/devtools_manager_unittest.cc
|
| +++ b/content/browser/debugger/devtools_manager_unittest.cc
|
| @@ -4,8 +4,7 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/time.h"
|
| -#include "content/browser/debugger/devtools_client_host.h"
|
| -#include "content/browser/debugger/devtools_manager.h"
|
| +#include "content/browser/debugger/devtools_manager_impl.h"
|
| #include "content/browser/debugger/render_view_devtools_agent_host.h"
|
| #include "content/browser/mock_content_browser_client.h"
|
| #include "content/browser/renderer_host/test_render_view_host.h"
|
| @@ -13,9 +12,16 @@
|
| #include "content/browser/tab_contents/test_tab_contents.h"
|
| #include "content/common/view_messages.h"
|
| #include "content/public/browser/content_browser_client.h"
|
| +#include "content/public/browser/devtools_agent_host_registry.h"
|
| +#include "content/public/browser/devtools_client_host.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| using base::TimeDelta;
|
| +using content::DevToolsAgentHost;
|
| +using content::DevToolsAgentHostRegistry;
|
| +using content::DevToolsClientHost;
|
| +using content::DevToolsManager;
|
| +using content::DevToolsManagerImpl;
|
|
|
| namespace {
|
|
|
| @@ -30,20 +36,20 @@ class TestDevToolsClientHost : public DevToolsClientHost {
|
| EXPECT_TRUE(closed_);
|
| }
|
|
|
| - virtual void Close() {
|
| + virtual void Close(DevToolsManager* manager) {
|
| EXPECT_FALSE(closed_);
|
| close_counter++;
|
| - NotifyCloseListener();
|
| + manager->ClientHostClosing(this);
|
| closed_ = true;
|
| }
|
| virtual void InspectedTabClosing() {
|
| - Close();
|
| + FAIL();
|
| }
|
|
|
| virtual void SetInspectedTabUrl(const std::string& url) {
|
| }
|
|
|
| - virtual void SendMessageToClient(const IPC::Message& message) {
|
| + virtual void DispatchOnInspectorFrontend(const std::string& message) {
|
| last_sent_message = &message;
|
| }
|
|
|
| @@ -56,7 +62,7 @@ class TestDevToolsClientHost : public DevToolsClientHost {
|
|
|
| static int close_counter;
|
|
|
| - const IPC::Message* last_sent_message;
|
| + const std::string* last_sent_message;
|
|
|
| private:
|
| bool closed_;
|
| @@ -129,42 +135,46 @@ class DevToolsManagerTest : public RenderViewHostTestHarness {
|
| };
|
|
|
| TEST_F(DevToolsManagerTest, OpenAndManuallyCloseDevToolsClientHost) {
|
| - DevToolsManager manager;
|
| + DevToolsManagerImpl manager;
|
|
|
| - DevToolsClientHost* host = manager.GetDevToolsClientHostFor(rvh());
|
| + DevToolsAgentHost* agent =
|
| + DevToolsAgentHostRegistry::GetDevToolsAgentHost(rvh());
|
| + DevToolsClientHost* host = manager.GetDevToolsClientHostFor(agent);
|
| EXPECT_TRUE(NULL == host);
|
|
|
| TestDevToolsClientHost client_host;
|
| - manager.RegisterDevToolsClientHostFor(rvh(), &client_host);
|
| + manager.RegisterDevToolsClientHostFor(agent, &client_host);
|
| // Test that just registered devtools host is returned.
|
| - host = manager.GetDevToolsClientHostFor(rvh());
|
| + host = manager.GetDevToolsClientHostFor(agent);
|
| EXPECT_TRUE(&client_host == host);
|
| EXPECT_EQ(0, TestDevToolsClientHost::close_counter);
|
|
|
| // Test that the same devtools host is returned.
|
| - host = manager.GetDevToolsClientHostFor(rvh());
|
| + host = manager.GetDevToolsClientHostFor(agent);
|
| EXPECT_TRUE(&client_host == host);
|
| EXPECT_EQ(0, TestDevToolsClientHost::close_counter);
|
|
|
| - client_host.Close();
|
| + client_host.Close(&manager);
|
| EXPECT_EQ(1, TestDevToolsClientHost::close_counter);
|
| - host = manager.GetDevToolsClientHostFor(rvh());
|
| + host = manager.GetDevToolsClientHostFor(agent);
|
| EXPECT_TRUE(NULL == host);
|
| }
|
|
|
| TEST_F(DevToolsManagerTest, ForwardMessageToClient) {
|
| - DevToolsManager manager;
|
| + DevToolsManagerImpl manager;
|
|
|
| TestDevToolsClientHost client_host;
|
| - manager.RegisterDevToolsClientHostFor(rvh(), &client_host);
|
| + DevToolsAgentHost* agent_host =
|
| + DevToolsAgentHostRegistry::GetDevToolsAgentHost(rvh());
|
| + manager.RegisterDevToolsClientHostFor(agent_host, &client_host);
|
| EXPECT_EQ(0, TestDevToolsClientHost::close_counter);
|
|
|
| - IPC::Message m;
|
| - DevToolsAgentHost* agent_host = RenderViewDevToolsAgentHost::FindFor(rvh());
|
| - manager.ForwardToDevToolsClient(agent_host, m);
|
| + std::string m = "test message";
|
| + agent_host = DevToolsAgentHostRegistry::GetDevToolsAgentHost(rvh());
|
| + manager.DispatchOnInspectorFrontend(agent_host, m);
|
| EXPECT_TRUE(&m == client_host.last_sent_message);
|
|
|
| - client_host.Close();
|
| + client_host.Close(&manager);
|
| EXPECT_EQ(1, TestDevToolsClientHost::close_counter);
|
| }
|
|
|
| @@ -176,8 +186,10 @@ TEST_F(DevToolsManagerTest, NoUnresponsiveDialogInInspectedTab) {
|
| contents()->set_delegate(&delegate);
|
|
|
| TestDevToolsClientHost client_host;
|
| + DevToolsAgentHost* agent_host =
|
| + DevToolsAgentHostRegistry::GetDevToolsAgentHost(inspected_rvh);
|
| DevToolsManager::GetInstance()->
|
| - RegisterDevToolsClientHostFor(inspected_rvh, &client_host);
|
| + RegisterDevToolsClientHostFor(agent_host, &client_host);
|
|
|
| // Start with a short timeout.
|
| inspected_rvh->StartHangMonitorTimeout(TimeDelta::FromMilliseconds(10));
|
| @@ -188,7 +200,7 @@ TEST_F(DevToolsManagerTest, NoUnresponsiveDialogInInspectedTab) {
|
| EXPECT_FALSE(delegate.renderer_unresponsive_received());
|
|
|
| // Now close devtools and check that the notification is delivered.
|
| - client_host.Close();
|
| + client_host.Close(DevToolsManager::GetInstance());
|
| // Start with a short timeout.
|
| inspected_rvh->StartHangMonitorTimeout(TimeDelta::FromMilliseconds(10));
|
| // Wait long enough for first timeout and see if it fired.
|
| @@ -214,21 +226,24 @@ TEST_F(DevToolsManagerTest, ReattachOnCancelPendingNavigation) {
|
|
|
| TestDevToolsClientHost client_host;
|
| DevToolsManager* devtools_manager = DevToolsManager::GetInstance();
|
| - devtools_manager->RegisterDevToolsClientHostFor(rvh(), &client_host);
|
| + devtools_manager->RegisterDevToolsClientHostFor(
|
| + DevToolsAgentHostRegistry::GetDevToolsAgentHost(rvh()),
|
| + &client_host);
|
|
|
| // Navigate to new site which should get a new RenderViewHost.
|
| const GURL url2("http://www.yahoo.com");
|
| controller().LoadURL(
|
| url2, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
|
| EXPECT_TRUE(contents()->cross_navigation_pending());
|
| - EXPECT_EQ(&client_host,
|
| - devtools_manager->GetDevToolsClientHostFor(pending_rvh()));
|
| + EXPECT_EQ(&client_host, devtools_manager->GetDevToolsClientHostFor(
|
| + DevToolsAgentHostRegistry::GetDevToolsAgentHost(pending_rvh())));
|
|
|
| // Interrupt pending navigation and navigate back to the original site.
|
| controller().LoadURL(
|
| url, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
|
| contents()->TestDidNavigate(orig_rvh, params1);
|
| EXPECT_FALSE(contents()->cross_navigation_pending());
|
| - EXPECT_EQ(&client_host, devtools_manager->GetDevToolsClientHostFor(rvh()));
|
| - client_host.Close();
|
| + EXPECT_EQ(&client_host, devtools_manager->GetDevToolsClientHostFor(
|
| + DevToolsAgentHostRegistry::GetDevToolsAgentHost(rvh())));
|
| + client_host.Close(DevToolsManager::GetInstance());
|
| }
|
|
|