summaryrefslogtreecommitdiffstats
path: root/chrome/browser/debugger/devtools_container.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/debugger/devtools_container.cc')
-rw-r--r--chrome/browser/debugger/devtools_container.cc50
1 files changed, 50 insertions, 0 deletions
diff --git a/chrome/browser/debugger/devtools_container.cc b/chrome/browser/debugger/devtools_container.cc
new file mode 100644
index 0000000..28e5b62
--- /dev/null
+++ b/chrome/browser/debugger/devtools_container.cc
@@ -0,0 +1,50 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/debugger/devtools_client_host.h"
+#include "chrome/browser/debugger/devtools_container.h"
+#include "chrome/browser/debugger/devtools_manager.h"
+#include "chrome/browser/debugger/devtools_window.h"
+#include "chrome/browser/views/frame/browser_view.h"
+#include "chrome/browser/tab_contents/tab_contents.h"
+#include "chrome/browser/views/tab_contents/tab_contents_container.h"
+
+#include "app/gfx/canvas.h"
+#include "skia/ext/skia_utils_win.h"
+#include "views/background.h"
+
+DevToolsContainer::DevToolsContainer()
+ : devtools_contents_(NULL) {
+ contents_container_ = new TabContentsContainer();
+ AddChildView(contents_container_);
+}
+
+DevToolsContainer::~DevToolsContainer() {
+}
+
+void DevToolsContainer::ChangeTabContents(TabContents* tab_contents) {
+ devtools_contents_ = NULL;
+ if (tab_contents) {
+ DevToolsClientHost* client_host = DevToolsManager::GetInstance()->
+ GetDevToolsClientHostFor(tab_contents->render_view_host());
+ if (client_host) {
+ DevToolsWindow* window = client_host->AsDevToolsWindow();
+ if (window && window->is_docked())
+ devtools_contents_ = window->tab_contents();
+ }
+ }
+ contents_container_->ChangeTabContents(devtools_contents_);
+ SetVisible(devtools_contents_ != NULL);
+ GetParent()->Layout();
+}
+
+gfx::Size DevToolsContainer::GetPreferredSize() {
+ return gfx::Size(800, 200);
+}
+
+void DevToolsContainer::Layout() {
+ contents_container_->SetVisible(true);
+ contents_container_->SetBounds(0, 0, width(), height());
+ contents_container_->Layout();
+}