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

Side by Side Diff: chrome/browser/ui/views/frame/glass_browser_frame_view.cc

Issue 1624773002: Clean up frame code a bit: (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Resync, fix compile Created 4 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/frame/glass_browser_frame_view.h" 5 #include "chrome/browser/ui/views/frame/glass_browser_frame_view.h"
6 6
7 #include "base/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "base/win/windows_version.h" 9 #include "base/win/windows_version.h"
10 #include "chrome/app/chrome_command_ids.h" 10 #include "chrome/app/chrome_command_ids.h"
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 // frame has a 0 frame border around most edges and a CYSIZEFRAME-thick border 296 // frame has a 0 frame border around most edges and a CYSIZEFRAME-thick border
297 // at the top (see AeroGlassFrame::OnGetMinMaxInfo()). 297 // at the top (see AeroGlassFrame::OnGetMinMaxInfo()).
298 return (frame()->IsFullscreen() && !restored) ? 298 return (frame()->IsFullscreen() && !restored) ?
299 0 : gfx::win::GetSystemMetricsInDIP(SM_CYSIZEFRAME); 299 0 : gfx::win::GetSystemMetricsInDIP(SM_CYSIZEFRAME);
300 } 300 }
301 301
302 int GlassBrowserFrameView::NonClientBorderThickness(bool restored) const { 302 int GlassBrowserFrameView::NonClientBorderThickness(bool restored) const {
303 if ((frame()->IsMaximized() || frame()->IsFullscreen()) && !restored) 303 if ((frame()->IsMaximized() || frame()->IsFullscreen()) && !restored)
304 return 0; 304 return 0;
305 305
306 return (base::win::GetVersion() <= base::win::VERSION_WIN8_1) 306 return (base::win::GetVersion() < base::win::VERSION_WIN10)
307 ? kNonClientBorderThicknessPreWin10 307 ? kNonClientBorderThicknessPreWin10
308 : kNonClientBorderThicknessWin10; 308 : kNonClientBorderThicknessWin10;
309 } 309 }
310 310
311 int GlassBrowserFrameView::NonClientTopBorderHeight(bool restored) const { 311 int GlassBrowserFrameView::NonClientTopBorderHeight(bool restored) const {
312 if (frame()->IsFullscreen() && !restored) 312 if (frame()->IsFullscreen() && !restored)
313 return 0; 313 return 0;
314 314
315 const int top = FrameTopBorderHeight(restored); 315 const int top = FrameTopBorderHeight(restored);
316 // The tab top inset is equal to the height of any shadow region above the 316 // The tab top inset is equal to the height of any shadow region above the
317 // tabs, plus a 1 px top stroke. In maximized mode, we want to push the 317 // tabs, plus a 1 px top stroke. In maximized mode, we want to push the
318 // shadow region off the top of the screen but leave the top stroke. 318 // shadow region off the top of the screen but leave the top stroke.
319 // Annoyingly, the pre-MD layout uses different heights for the hit-test 319 // Annoyingly, the pre-MD layout uses different heights for the hit-test
320 // exclusion region (which we want here, since we're trying to size the border 320 // exclusion region (which we want here, since we're trying to size the border
321 // so that the region above the tab's hit-test zone matches) versus the shadow 321 // so that the region above the tab's hit-test zone matches) versus the shadow
322 // thickness. 322 // thickness.
323 const int exclusion = GetLayoutConstant(TAB_TOP_EXCLUSION_HEIGHT); 323 const int exclusion = GetLayoutConstant(TAB_TOP_EXCLUSION_HEIGHT);
324 return (frame()->IsMaximized() && !restored) ? 324 return (frame()->IsMaximized() && !restored) ?
325 (top - GetLayoutInsets(TAB).top() + 1) : 325 (top - GetLayoutInsets(TAB).top() + 1) :
326 (top + kNonClientRestoredExtraThickness - exclusion); 326 (top + kNonClientRestoredExtraThickness - exclusion);
327 } 327 }
328 328
329 bool GlassBrowserFrameView::IsToolbarVisible() const { 329 bool GlassBrowserFrameView::IsToolbarVisible() const {
330 return browser_view()->IsToolbarVisible() && 330 return browser_view()->IsToolbarVisible() &&
331 !browser_view()->toolbar()->GetPreferredSize().IsEmpty(); 331 !browser_view()->toolbar()->GetPreferredSize().IsEmpty();
332 } 332 }
333 333
334 void GlassBrowserFrameView::PaintToolbarBackground(gfx::Canvas* canvas) { 334 void GlassBrowserFrameView::PaintToolbarBackground(gfx::Canvas* canvas) const {
335 gfx::Rect toolbar_bounds(browser_view()->GetToolbarBounds()); 335 gfx::Rect toolbar_bounds(browser_view()->GetToolbarBounds());
336 if (toolbar_bounds.IsEmpty()) 336 if (toolbar_bounds.IsEmpty())
337 return; 337 return;
338 gfx::Point toolbar_origin(toolbar_bounds.origin()); 338 gfx::Point toolbar_origin(toolbar_bounds.origin());
339 ConvertPointToTarget(browser_view(), this, &toolbar_origin); 339 ConvertPointToTarget(browser_view(), this, &toolbar_origin);
340 toolbar_bounds.set_origin(toolbar_origin); 340 toolbar_bounds.set_origin(toolbar_origin);
341 const int h = toolbar_bounds.height(); 341 const int h = toolbar_bounds.height();
342 const bool md = ui::MaterialDesignController::IsModeMaterial(); 342 const bool md = ui::MaterialDesignController::IsModeMaterial();
343 const ui::ThemeProvider* tp = GetThemeProvider(); 343 const ui::ThemeProvider* tp = GetThemeProvider();
344 const SkColor separator_color = 344 const SkColor separator_color =
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 toolbar_bounds.Inset(kClientEdgeThickness, h - kClientEdgeThickness, 429 toolbar_bounds.Inset(kClientEdgeThickness, h - kClientEdgeThickness,
430 kClientEdgeThickness, 0); 430 kClientEdgeThickness, 0);
431 if (md) { 431 if (md) {
432 BrowserView::Paint1pxHorizontalLine(canvas, separator_color, 432 BrowserView::Paint1pxHorizontalLine(canvas, separator_color,
433 toolbar_bounds, true); 433 toolbar_bounds, true);
434 } else { 434 } else {
435 canvas->FillRect(toolbar_bounds, separator_color); 435 canvas->FillRect(toolbar_bounds, separator_color);
436 } 436 }
437 } 437 }
438 438
439 void GlassBrowserFrameView::PaintClientEdge(gfx::Canvas* canvas) { 439 void GlassBrowserFrameView::PaintClientEdge(gfx::Canvas* canvas) const {
440 gfx::Rect client_bounds = CalculateClientAreaBounds(); 440 gfx::Rect client_bounds = CalculateClientAreaBounds();
441 int y = client_bounds.y(); 441 int y = client_bounds.y();
442 const bool normal_mode = browser_view()->IsTabStripVisible(); 442 const bool normal_mode = browser_view()->IsTabStripVisible();
443 const ui::ThemeProvider* tp = GetThemeProvider(); 443 const ui::ThemeProvider* tp = GetThemeProvider();
444 const SkColor toolbar_color = 444 const SkColor toolbar_color =
445 normal_mode 445 normal_mode
446 ? tp->GetColor(ThemeProperties::COLOR_TOOLBAR) 446 ? tp->GetColor(ThemeProperties::COLOR_TOOLBAR)
447 : ThemeProperties::GetDefaultColor(ThemeProperties::COLOR_TOOLBAR, 447 : ThemeProperties::GetDefaultColor(ThemeProperties::COLOR_TOOLBAR,
448 browser_view()->IsOffTheRecord()); 448 browser_view()->IsOffTheRecord());
449 449
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 static bool initialized = false; 674 static bool initialized = false;
675 if (!initialized) { 675 if (!initialized) {
676 for (int i = 0; i < kThrobberIconCount; ++i) { 676 for (int i = 0; i < kThrobberIconCount; ++i) {
677 throbber_icons_[i] = 677 throbber_icons_[i] =
678 ui::LoadThemeIconFromResourcesDataDLL(IDI_THROBBER_01 + i); 678 ui::LoadThemeIconFromResourcesDataDLL(IDI_THROBBER_01 + i);
679 DCHECK(throbber_icons_[i]); 679 DCHECK(throbber_icons_[i]);
680 } 680 }
681 initialized = true; 681 initialized = true;
682 } 682 }
683 } 683 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/frame/glass_browser_frame_view.h ('k') | chrome/browser/ui/views/frame/opaque_browser_frame_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698