Commit f1038d83 authored by yurys@chromium.org's avatar yurys@chromium.org

No need to have DevToolsManager reference counted

Now that ForceReopenWindow method is gone(in r91695), the browser process should own the DevToolsManager.

BUG=None
TEST=existing DevTools tests

Review URL: http://codereview.chromium.org/7461125

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95396 0039d316-1c4b-4281-b951-d872f2087c98
parent db5e4aa0
......@@ -914,7 +914,7 @@ void BrowserProcessImpl::CreateIconManager() {
void BrowserProcessImpl::CreateDevToolsManager() {
DCHECK(devtools_manager_.get() == NULL);
created_devtools_manager_ = true;
devtools_manager_ = new DevToolsManager();
devtools_manager_.reset(new DevToolsManager());
}
void BrowserProcessImpl::CreateSidebarManager() {
......
......@@ -223,7 +223,7 @@ class BrowserProcessImpl : public BrowserProcess,
scoped_refptr<DevToolsProtocolHandler> devtools_legacy_handler_;
bool created_devtools_manager_;
scoped_refptr<DevToolsManager> devtools_manager_;
scoped_ptr<DevToolsManager> devtools_manager_;
bool created_sidebar_manager_;
scoped_refptr<SidebarManager> sidebar_manager_;
......
......@@ -9,7 +9,6 @@
#include <map>
#include <string>
#include "base/memory/ref_counted.h"
#include "content/browser/debugger/devtools_client_host.h"
#include "content/common/notification_observer.h"
#include "content/common/notification_registrar.h"
......@@ -30,12 +29,12 @@ typedef std::map<std::string, std::string> DevToolsRuntimeProperties;
// This class is a singleton that manages DevToolsClientHost instances and
// routes messages between developer tools clients and agents.
class DevToolsManager : public DevToolsClientHost::CloseListener,
public NotificationObserver,
public base::RefCounted<DevToolsManager> {
public NotificationObserver {
public:
static DevToolsManager* GetInstance();
DevToolsManager();
virtual ~DevToolsManager();
// Returns DevToolsClientHost registered for |inspected_rvh| or NULL if
// there is no alive DevToolsClientHost registered for |inspected_rvh|.
......@@ -81,10 +80,6 @@ class DevToolsManager : public DevToolsClientHost::CloseListener,
void CloseAllClientHosts();
private:
friend class base::RefCounted<DevToolsManager>;
virtual ~DevToolsManager();
// DevToolsClientHost::CloseListener override.
// This method will remove all references from the manager to the
// DevToolsClientHost and unregister all listeners related to the
......
......@@ -74,38 +74,38 @@ class DevToolsManagerTest : public RenderViewHostTestHarness {
};
TEST_F(DevToolsManagerTest, OpenAndManuallyCloseDevToolsClientHost) {
scoped_refptr<DevToolsManager> manager(new DevToolsManager());
DevToolsManager manager;
DevToolsClientHost* host = manager->GetDevToolsClientHostFor(rvh());
DevToolsClientHost* host = manager.GetDevToolsClientHostFor(rvh());
EXPECT_TRUE(NULL == host);
TestDevToolsClientHost client_host;
manager->RegisterDevToolsClientHostFor(rvh(), &client_host);
manager.RegisterDevToolsClientHostFor(rvh(), &client_host);
// Test that just registered devtools host is returned.
host = manager->GetDevToolsClientHostFor(rvh());
host = manager.GetDevToolsClientHostFor(rvh());
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(rvh());
EXPECT_TRUE(&client_host == host);
EXPECT_EQ(0, TestDevToolsClientHost::close_counter);
client_host.Close();
EXPECT_EQ(1, TestDevToolsClientHost::close_counter);
host = manager->GetDevToolsClientHostFor(rvh());
host = manager.GetDevToolsClientHostFor(rvh());
EXPECT_TRUE(NULL == host);
}
TEST_F(DevToolsManagerTest, ForwardMessageToClient) {
scoped_refptr<DevToolsManager> manager(new DevToolsManager());
DevToolsManager manager;
TestDevToolsClientHost client_host;
manager->RegisterDevToolsClientHostFor(rvh(), &client_host);
manager.RegisterDevToolsClientHostFor(rvh(), &client_host);
EXPECT_EQ(0, TestDevToolsClientHost::close_counter);
IPC::Message m;
manager->ForwardToDevToolsClient(rvh(), m);
manager.ForwardToDevToolsClient(rvh(), m);
EXPECT_TRUE(&m == client_host.last_sent_message);
client_host.Close();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment