Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(714)

Unified Diff: chrome/browser/debugger/devtools_manager.cc

Issue 42233: Add unit tests for DevToolsManager (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/debugger/devtools_manager.h ('k') | chrome/browser/debugger/devtools_manager_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/debugger/devtools_manager.cc
===================================================================
--- chrome/browser/debugger/devtools_manager.cc (revision 11854)
+++ chrome/browser/debugger/devtools_manager.cc (working copy)
@@ -4,10 +4,8 @@
#include "chrome/browser/debugger/devtools_manager.h"
-#include "chrome/browser/browser_process.h"
#include "chrome/browser/debugger/devtools_window.h"
#include "chrome/browser/renderer_host/render_view_host.h"
-#include "chrome/browser/tab_contents/render_view_host_manager.h"
#include "chrome/browser/tab_contents/tab_contents.h"
#include "chrome/browser/tab_contents/web_contents.h"
#include "chrome/common/notification_registrar.h"
@@ -17,8 +15,10 @@
class DevToolsInstanceDescriptorImpl : public DevToolsInstanceDescriptor {
public:
explicit DevToolsInstanceDescriptorImpl(
+ DevToolsManager* manager,
NavigationController* navigation_controller)
- : navigation_controller_(navigation_controller),
+ : manager_(manager),
+ navigation_controller_(navigation_controller),
devtools_host_(NULL),
devtools_window_(NULL) {
}
@@ -33,11 +33,7 @@
}
virtual void Destroy() {
- DevToolsManager* manager = g_browser_process->devtools_manager();
- DCHECK(manager);
- if (manager) {
- manager->RemoveDescriptor(this);
- }
+ manager_->RemoveDescriptor(this);
delete this;
}
@@ -54,6 +50,7 @@
}
private:
+ DevToolsManager* manager_;
NavigationController* navigation_controller_;
RenderViewHost* devtools_host_;
DevToolsWindow* devtools_window_;
@@ -61,7 +58,9 @@
DISALLOW_COPY_AND_ASSIGN(DevToolsInstanceDescriptorImpl);
};
-DevToolsManager::DevToolsManager() : web_contents_listeners_(NULL) {
+DevToolsManager::DevToolsManager(DevToolsWindowFactory* factory)
+ : web_contents_listeners_(NULL),
+ devtools_window_factory_(factory) {
}
DevToolsManager::~DevToolsManager() {
@@ -69,6 +68,15 @@
"All devtools windows must alredy have been closed.";
}
+DevToolsWindow* DevToolsManager::CreateDevToolsWindow(
+ DevToolsInstanceDescriptor* descriptor) {
+ if (devtools_window_factory_) {
+ return devtools_window_factory_->CreateDevToolsWindow(descriptor);
+ } else {
+ return DevToolsWindow::Create(descriptor);
+ }
+}
+
void DevToolsManager::Observe(NotificationType type,
const NotificationSource& source,
const NotificationDetails& details) {
@@ -100,12 +108,12 @@
desc = it->second;
window = desc->devtools_window();
} else {
- desc = new DevToolsInstanceDescriptorImpl(navigation_controller);
+ desc = new DevToolsInstanceDescriptorImpl(this, navigation_controller);
navcontroller_to_descriptor_[navigation_controller] = desc;
StartListening(navigation_controller);
- window = DevToolsWindow::Create(desc);
+ window = CreateDevToolsWindow(desc);
}
window->Show();
« no previous file with comments | « chrome/browser/debugger/devtools_manager.h ('k') | chrome/browser/debugger/devtools_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698