summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-11 00:40:46 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-11 00:40:46 +0000
commit58b42f2299482ea0deaf88f649804cbb6be8bc6a (patch)
treea97328ab7a10823c3b8372adfd667303f289a5e8 /chrome/browser/views
parentd0f898d13ed166a7adf71bbb163a3ec651bdb338 (diff)
downloadchromium_src-58b42f2299482ea0deaf88f649804cbb6be8bc6a.zip
chromium_src-58b42f2299482ea0deaf88f649804cbb6be8bc6a.tar.gz
chromium_src-58b42f2299482ea0deaf88f649804cbb6be8bc6a.tar.bz2
Adding a couple of missing parts for extensios on linux/views.
* Creating RenderWidgetHostView for gtk * Fix assertion failure in BrowserBubble * Don't change the window size if the size is empty, which causes gtk assertion error. With this change, most of extension tests in browser passes except for toolstrip. Given that toolstrip is obsolete, may be we should just remove it from test. BUG=None TEST=Run browesr_tests. All tests for extension must pass except for ExtensionApiTest.Toolstrip Review URL: http://codereview.chromium.org/390006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31622 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views')
-rw-r--r--chrome/browser/views/browser_bubble_gtk.cc8
-rw-r--r--chrome/browser/views/extensions/extension_view.cc10
2 files changed, 10 insertions, 8 deletions
diff --git a/chrome/browser/views/browser_bubble_gtk.cc b/chrome/browser/views/browser_bubble_gtk.cc
index 43a6af3..ef09ef4 100644
--- a/chrome/browser/views/browser_bubble_gtk.cc
+++ b/chrome/browser/views/browser_bubble_gtk.cc
@@ -10,19 +10,13 @@
void BrowserBubble::InitPopup() {
gfx::NativeView native_view = frame_->GetNativeView();
- gfx::NativeWindow native_window = frame_->GetWindow()->GetNativeWindow();
views::WidgetGtk* pop = new views::WidgetGtk(views::WidgetGtk::TYPE_POPUP);
pop->SetOpacity(0xFF);
pop->Init(native_view, bounds_);
pop->SetContentsView(view_);
popup_ = pop;
Reposition();
-
- BrowserView* browser_view =
- BrowserView::GetBrowserViewForNativeWindow(native_window);
- DCHECK(browser_view);
- if (browser_view)
- browser_view->AttachBrowserBubble(this);
+ AttachToBrowser();
}
void BrowserBubble::MovePopup(int x, int y, int w, int h) {
diff --git a/chrome/browser/views/extensions/extension_view.cc b/chrome/browser/views/extensions/extension_view.cc
index 059d391..c0118ba 100644
--- a/chrome/browser/views/extensions/extension_view.cc
+++ b/chrome/browser/views/extensions/extension_view.cc
@@ -7,10 +7,13 @@
#include "chrome/browser/extensions/extension_host.h"
#include "chrome/browser/renderer_host/render_view_host.h"
#include "chrome/browser/renderer_host/render_widget_host_view.h"
+#include "views/widget/widget.h"
+
#if defined(OS_WIN)
#include "chrome/browser/renderer_host/render_widget_host_view_win.h"
+#elif defined(OS_LINUX)
+#include "chrome/browser/renderer_host/render_widget_host_view_gtk.h"
#endif
-#include "views/widget/widget.h"
ExtensionView::ExtensionView(ExtensionHost* host, Browser* browser)
: host_(host),
@@ -91,6 +94,11 @@ void ExtensionView::CreateWidgetHostView() {
HWND hwnd = view_win->Create(GetWidget()->GetNativeView());
view_win->ShowWindow(SW_SHOW);
Attach(hwnd);
+#elif defined(OS_LINUX)
+ RenderWidgetHostViewGtk* view_gtk =
+ static_cast<RenderWidgetHostViewGtk*>(view);
+ view_gtk->InitAsChild();
+ Attach(view_gtk->GetNativeView());
#else
NOTIMPLEMENTED();
#endif