Chromium Code Reviews| 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 { |