| Index: chrome/browser/views/browser_bubble.cc
|
| ===================================================================
|
| --- chrome/browser/views/browser_bubble.cc (revision 34039)
|
| +++ chrome/browser/views/browser_bubble.cc (working copy)
|
| @@ -9,6 +9,21 @@
|
| #include "views/widget/root_view.h"
|
| #include "views/window/window.h"
|
|
|
| +namespace {
|
| +
|
| +BrowserView* GetBrowserViewFromFrame(views::Widget* frame) {
|
| + BrowserView* browser_view = NULL;
|
| + views::Window* window = frame->GetWindow();
|
| + if (window) {
|
| + browser_view = BrowserView::GetBrowserViewForNativeWindow(
|
| + window->GetNativeWindow());
|
| + DCHECK(browser_view);
|
| + }
|
| + return browser_view;
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| BrowserBubble::BrowserBubble(views::View* view, views::Widget* frame,
|
| const gfx::Point& origin)
|
| : frame_(frame),
|
| @@ -39,8 +54,8 @@
|
| if (!attached_)
|
| return;
|
| attached_ = false;
|
| - BrowserView* browser_view = BrowserView::GetBrowserViewForNativeWindow(
|
| - frame_->GetWindow()->GetNativeWindow());
|
| +
|
| + BrowserView* browser_view = GetBrowserViewFromFrame(frame_);
|
| if (browser_view)
|
| browser_view->DetachBrowserBubble(this);
|
| }
|
| @@ -49,13 +64,12 @@
|
| DCHECK(!attached_);
|
| if (attached_)
|
| return;
|
| - BrowserView* browser_view = BrowserView::GetBrowserViewForNativeWindow(
|
| - frame_->GetWindow()->GetNativeWindow());
|
| - DCHECK(browser_view);
|
| - if (browser_view) {
|
| +
|
| + BrowserView* browser_view = GetBrowserViewFromFrame(frame_);
|
| + if (browser_view)
|
| browser_view->AttachBrowserBubble(this);
|
| - attached_ = true;
|
| - }
|
| +
|
| + attached_ = true;
|
| }
|
|
|
| void BrowserBubble::BrowserWindowMoved() {
|
|
|