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

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

Issue 1780333006: Check for null |tabstrip_| in BrowserView::IsTabStripVisible() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: only change Ash/Mus Created 4 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_non_client_frame_view_mus.cc
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_mus.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_mus.cc
index f6d60c8c5d9ff23eece0a803aa3bdb528785dec1..47629580bf5a88b1ce28849ed16a750c2afc2952 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_mus.cc
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_mus.cc
@@ -388,24 +388,22 @@ bool BrowserNonClientFrameViewMus::DoesIntersectRect(
return false;
}
- TabStrip* tabstrip = browser_view()->tabstrip();
- if (tabstrip && browser_view()->IsTabStripVisible()) {
- // Claim |rect| only if it is above the bottom of the tabstrip in a non-tab
- // portion.
- gfx::RectF rect_in_tabstrip_coords_f(rect);
- View::ConvertRectToTarget(this, tabstrip, &rect_in_tabstrip_coords_f);
- gfx::Rect rect_in_tabstrip_coords =
- gfx::ToEnclosingRect(rect_in_tabstrip_coords_f);
-
- if (rect_in_tabstrip_coords.y() > tabstrip->height())
- return false;
-
- return !tabstrip->HitTestRect(rect_in_tabstrip_coords) ||
- tabstrip->IsRectInWindowCaption(rect_in_tabstrip_coords);
+ if (!browser_view()->IsTabStripVisible()) {
+ // Claim |rect| if it is above the top of the topmost client area view.
+ return rect.y() < GetTopInset(false);
}
- // Claim |rect| if it is above the top of the topmost view in the client area.
- return rect.y() < GetTopInset(false);
+ // Claim |rect| only if it is above the bottom of the tabstrip in a non-tab
+ // portion. In particular, the avatar label/button is left of the tabstrip and
+ // the window controls are right of the tabstrip.
+ TabStrip* tabstrip = browser_view()->tabstrip();
+ gfx::RectF rect_in_tabstrip_coords_f(rect);
+ View::ConvertRectToTarget(this, tabstrip, &rect_in_tabstrip_coords_f);
+ const gfx::Rect rect_in_tabstrip_coords =
+ gfx::ToEnclosingRect(rect_in_tabstrip_coords_f);
+ return (rect_in_tabstrip_coords.y() <= tabstrip->height()) &&
+ (!tabstrip->HitTestRect(rect_in_tabstrip_coords) ||
+ tabstrip->IsRectInWindowCaption(rect_in_tabstrip_coords));
}
int BrowserNonClientFrameViewMus::GetTabStripLeftInset() const {
« no previous file with comments | « chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc ('k') | chrome/browser/ui/views/frame/browser_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698