Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4779)

Unified Diff: chrome/browser/ui/views/frame/browser_view.cc

Issue 962453002: Update permission bubble anchor when omnibar is hidden (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Apply Feedback Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 {

Powered by Google App Engine
This is Rietveld 408576698