Index: chrome/browser/ui/views/frame/browser_view.cc |
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc |
index b86f3974716cc936f81e7583c84de815b331955c..b0e2f4810776ee1ed1829abc17a4203f0b82e437 100644 |
--- a/chrome/browser/ui/views/frame/browser_view.cc |
+++ b/chrome/browser/ui/views/frame/browser_view.cc |
@@ -540,10 +540,24 @@ void BrowserView::InitStatusBubble() { |
} |
void BrowserView::InitPermissionBubbleView() { |
- std::string languages = |
- browser_->profile()->GetPrefs()->GetString(prefs::kAcceptLanguages); |
permission_bubble_view_.reset(new PermissionBubbleViewViews( |
- GetLocationBarView()->location_icon_view(), languages)); |
+ browser_->profile()->GetPrefs()->GetString(prefs::kAcceptLanguages))); |
+ UpdatePermissionBubbleViewAnchor(); |
+} |
+ |
+void BrowserView::UpdatePermissionBubbleViewAnchor() { |
msw
2015/03/12 20:44:05
For a one-off like this without imminent plans to
hcarmona
2015/03/17 01:29:27
Done.
|
+ if (browser_->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR)) { |
+ permission_bubble_view_->SetAnchor( |
+ GetLocationBarView()->location_icon_view(), |
+ views::BubbleBorder::TOP_LEFT); |
+ } else { |
+ views::View* view = top_container_; |
+ |
+ if (IsFullscreenBubbleVisible()) |
+ view = exclusive_access_bubble_->GetView(); |
+ |
+ permission_bubble_view_->SetAnchor(view, views::BubbleBorder::NONE); |
+ } |
} |
gfx::Rect BrowserView::GetToolbarBounds() const { |
@@ -2291,6 +2305,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, |
// order to let the layout occur. |
in_process_fullscreen_ = false; |
ToolbarSizeChanged(false); |
+ |
+ UpdatePermissionBubbleViewAnchor(); |
} |
bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const { |