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

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

Issue 1336823003: Move chrome::HostDesktopType to ui::HostDesktopType (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@base_session_service_delegate_impl
Patch Set: Fix build on Mac and CrOS Created 5 years, 3 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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/browser_view.h" 5 #include "chrome/browser/ui/views/frame/browser_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 view->GetLocalBounds()); 226 view->GetLocalBounds());
227 } 227 }
228 228
229 // Paints the background (including the theme image behind content area) for 229 // Paints the background (including the theme image behind content area) for
230 // the Bookmarks Bar when it is attached to the Toolbar into |bounds|. 230 // the Bookmarks Bar when it is attached to the Toolbar into |bounds|.
231 // |background_origin| is the origin to use for painting the theme image. 231 // |background_origin| is the origin to use for painting the theme image.
232 void PaintBackgroundAttachedMode(gfx::Canvas* canvas, 232 void PaintBackgroundAttachedMode(gfx::Canvas* canvas,
233 ui::ThemeProvider* theme_provider, 233 ui::ThemeProvider* theme_provider,
234 const gfx::Rect& bounds, 234 const gfx::Rect& bounds,
235 const gfx::Point& background_origin, 235 const gfx::Point& background_origin,
236 chrome::HostDesktopType host_desktop_type) { 236 ui::HostDesktopType host_desktop_type) {
237 canvas->FillRect(bounds, 237 canvas->FillRect(bounds,
238 theme_provider->GetColor(ThemeProperties::COLOR_TOOLBAR)); 238 theme_provider->GetColor(ThemeProperties::COLOR_TOOLBAR));
239 canvas->TileImageInt(*theme_provider->GetImageSkiaNamed(IDR_THEME_TOOLBAR), 239 canvas->TileImageInt(*theme_provider->GetImageSkiaNamed(IDR_THEME_TOOLBAR),
240 background_origin.x(), 240 background_origin.x(),
241 background_origin.y(), 241 background_origin.y(),
242 bounds.x(), 242 bounds.x(),
243 bounds.y(), 243 bounds.y(),
244 bounds.width(), 244 bounds.width(),
245 bounds.height()); 245 bounds.height());
246 246
247 if (host_desktop_type == chrome::HOST_DESKTOP_TYPE_ASH && 247 if (host_desktop_type == ui::HOST_DESKTOP_TYPE_ASH &&
248 !ui::MaterialDesignController::IsModeMaterial()) { 248 !ui::MaterialDesignController::IsModeMaterial()) {
249 // The pre-material design version of Ash provides additional lightening 249 // The pre-material design version of Ash provides additional lightening
250 // at the edges of the toolbar. 250 // at the edges of the toolbar.
251 gfx::ImageSkia* toolbar_left = 251 gfx::ImageSkia* toolbar_left =
252 theme_provider->GetImageSkiaNamed(IDR_TOOLBAR_SHADE_LEFT); 252 theme_provider->GetImageSkiaNamed(IDR_TOOLBAR_SHADE_LEFT);
253 canvas->TileImageInt(*toolbar_left, 253 canvas->TileImageInt(*toolbar_left,
254 bounds.x(), 254 bounds.x(),
255 bounds.y(), 255 bounds.y(),
256 toolbar_left->width(), 256 toolbar_left->width(),
257 bounds.height()); 257 bounds.height());
258 gfx::ImageSkia* toolbar_right = 258 gfx::ImageSkia* toolbar_right =
259 theme_provider->GetImageSkiaNamed(IDR_TOOLBAR_SHADE_RIGHT); 259 theme_provider->GetImageSkiaNamed(IDR_TOOLBAR_SHADE_RIGHT);
260 canvas->TileImageInt(*toolbar_right, 260 canvas->TileImageInt(*toolbar_right,
261 bounds.right() - toolbar_right->width(), 261 bounds.right() - toolbar_right->width(),
262 bounds.y(), 262 bounds.y(),
263 toolbar_right->width(), 263 toolbar_right->width(),
264 bounds.height()); 264 bounds.height());
265 } 265 }
266 } 266 }
267 267
268 void PaintAttachedBookmarkBar(gfx::Canvas* canvas, 268 void PaintAttachedBookmarkBar(gfx::Canvas* canvas,
269 BookmarkBarView* view, 269 BookmarkBarView* view,
270 BrowserView* browser_view, 270 BrowserView* browser_view,
271 chrome::HostDesktopType host_desktop_type, 271 ui::HostDesktopType host_desktop_type,
272 int toolbar_overlap) { 272 int toolbar_overlap) {
273 // Paint background for attached state, this is fade in/out. 273 // Paint background for attached state, this is fade in/out.
274 gfx::Point background_image_offset = 274 gfx::Point background_image_offset =
275 browser_view->OffsetPointForToolbarBackgroundImage( 275 browser_view->OffsetPointForToolbarBackgroundImage(
276 gfx::Point(view->GetMirroredX(), view->y())); 276 gfx::Point(view->GetMirroredX(), view->y()));
277 PaintBackgroundAttachedMode(canvas, 277 PaintBackgroundAttachedMode(canvas,
278 view->GetThemeProvider(), 278 view->GetThemeProvider(),
279 view->GetLocalBounds(), 279 view->GetLocalBounds(),
280 background_image_offset, 280 background_image_offset,
281 host_desktop_type); 281 host_desktop_type);
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 688
689 void BrowserView::Show() { 689 void BrowserView::Show() {
690 #if !defined(OS_WIN) 690 #if !defined(OS_WIN)
691 // The Browser associated with this browser window must become the active 691 // The Browser associated with this browser window must become the active
692 // browser at the time |Show()| is called. This is the natural behavior under 692 // browser at the time |Show()| is called. This is the natural behavior under
693 // Windows and Ash, but other platforms will not trigger 693 // Windows and Ash, but other platforms will not trigger
694 // OnWidgetActivationChanged() until we return to the runloop. Therefore any 694 // OnWidgetActivationChanged() until we return to the runloop. Therefore any
695 // calls to Browser::GetLastActive() will return the wrong result if we do not 695 // calls to Browser::GetLastActive() will return the wrong result if we do not
696 // explicitly set it here. 696 // explicitly set it here.
697 // A similar block also appears in BrowserWindowCocoa::Show(). 697 // A similar block also appears in BrowserWindowCocoa::Show().
698 if (browser()->host_desktop_type() != chrome::HOST_DESKTOP_TYPE_ASH) 698 if (browser()->host_desktop_type() != ui::HOST_DESKTOP_TYPE_ASH)
699 BrowserList::SetLastActive(browser()); 699 BrowserList::SetLastActive(browser());
700 #endif 700 #endif
701 701
702 // If the window is already visible, just activate it. 702 // If the window is already visible, just activate it.
703 if (frame_->IsVisible()) { 703 if (frame_->IsVisible()) {
704 frame_->Activate(); 704 frame_->Activate();
705 return; 705 return;
706 } 706 }
707 707
708 // Showing the window doesn't make the browser window active right away. 708 // Showing the window doesn't make the browser window active right away.
(...skipping 992 matching lines...) Expand 10 before | Expand all | Expand 10 after
1701 return GetWindowTitle(); 1701 return GetWindowTitle();
1702 } 1702 }
1703 1703
1704 views::View* BrowserView::GetInitiallyFocusedView() { 1704 views::View* BrowserView::GetInitiallyFocusedView() {
1705 return nullptr; 1705 return nullptr;
1706 } 1706 }
1707 1707
1708 bool BrowserView::ShouldShowWindowTitle() const { 1708 bool BrowserView::ShouldShowWindowTitle() const {
1709 // For Ash only, trusted windows (apps and settings) do not show a title, 1709 // For Ash only, trusted windows (apps and settings) do not show a title,
1710 // crbug.com/119411. Child windows (i.e. popups) do show a title. 1710 // crbug.com/119411. Child windows (i.e. popups) do show a title.
1711 if (browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH && 1711 if (browser_->host_desktop_type() == ui::HOST_DESKTOP_TYPE_ASH &&
1712 browser_->is_trusted_source() && 1712 browser_->is_trusted_source() &&
1713 !browser_->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME)) 1713 !browser_->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME))
1714 return false; 1714 return false;
1715 1715
1716 return browser_->SupportsWindowFeature(Browser::FEATURE_TITLEBAR); 1716 return browser_->SupportsWindowFeature(Browser::FEATURE_TITLEBAR);
1717 } 1717 }
1718 1718
1719 gfx::ImageSkia BrowserView::GetWindowAppIcon() { 1719 gfx::ImageSkia BrowserView::GetWindowAppIcon() {
1720 if (browser_->is_app()) { 1720 if (browser_->is_app()) {
1721 WebContents* contents = browser_->tab_strip_model()->GetActiveWebContents(); 1721 WebContents* contents = browser_->tab_strip_model()->GetActiveWebContents();
(...skipping 13 matching lines...) Expand all
1735 return gfx::ImageSkia(); 1735 return gfx::ImageSkia();
1736 1736
1737 if (browser_->is_app() || browser_->is_type_popup()) 1737 if (browser_->is_app() || browser_->is_type_popup())
1738 return browser_->GetCurrentPageIcon().AsImageSkia(); 1738 return browser_->GetCurrentPageIcon().AsImageSkia();
1739 return gfx::ImageSkia(); 1739 return gfx::ImageSkia();
1740 } 1740 }
1741 1741
1742 bool BrowserView::ShouldShowWindowIcon() const { 1742 bool BrowserView::ShouldShowWindowIcon() const {
1743 // For Ash only, trusted windows (apps and settings) do not show an icon, 1743 // For Ash only, trusted windows (apps and settings) do not show an icon,
1744 // crbug.com/119411. Child windows (i.e. popups) do show an icon. 1744 // crbug.com/119411. Child windows (i.e. popups) do show an icon.
1745 if (browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH && 1745 if (browser_->host_desktop_type() == ui::HOST_DESKTOP_TYPE_ASH &&
1746 browser_->is_trusted_source() && 1746 browser_->is_trusted_source() &&
1747 !browser_->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME)) 1747 !browser_->SupportsWindowFeature(Browser::FEATURE_WEBAPPFRAME))
1748 return false; 1748 return false;
1749 1749
1750 return browser_->SupportsWindowFeature(Browser::FEATURE_TITLEBAR); 1750 return browser_->SupportsWindowFeature(Browser::FEATURE_TITLEBAR);
1751 } 1751 }
1752 1752
1753 bool BrowserView::ExecuteWindowsCommand(int command_id) { 1753 bool BrowserView::ExecuteWindowsCommand(int command_id) {
1754 // This function handles WM_SYSCOMMAND, WM_APPCOMMAND, and WM_COMMAND. 1754 // This function handles WM_SYSCOMMAND, WM_APPCOMMAND, and WM_COMMAND.
1755 #if defined(OS_WIN) 1755 #if defined(OS_WIN)
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after
2362 2362
2363 WebContents* contents = browser_->tab_strip_model()->GetActiveWebContents(); 2363 WebContents* contents = browser_->tab_strip_model()->GetActiveWebContents();
2364 if (contents && PermissionBubbleManager::FromWebContents(contents)) 2364 if (contents && PermissionBubbleManager::FromWebContents(contents))
2365 PermissionBubbleManager::FromWebContents(contents)->UpdateAnchorPosition(); 2365 PermissionBubbleManager::FromWebContents(contents)->UpdateAnchorPosition();
2366 } 2366 }
2367 2367
2368 bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const { 2368 bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const {
2369 // Kiosk mode needs the whole screen, and if we're not in an Ash desktop 2369 // Kiosk mode needs the whole screen, and if we're not in an Ash desktop
2370 // immersive fullscreen doesn't exist. 2370 // immersive fullscreen doesn't exist.
2371 if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kKioskMode) || 2371 if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kKioskMode) ||
2372 browser()->host_desktop_type() != chrome::HOST_DESKTOP_TYPE_ASH) { 2372 browser()->host_desktop_type() != ui::HOST_DESKTOP_TYPE_ASH) {
2373 return false; 2373 return false;
2374 } 2374 }
2375 2375
2376 return url.is_empty(); 2376 return url.is_empty();
2377 } 2377 }
2378 2378
2379 void BrowserView::LoadAccelerators() { 2379 void BrowserView::LoadAccelerators() {
2380 views::FocusManager* focus_manager = GetFocusManager(); 2380 views::FocusManager* focus_manager = GetFocusManager();
2381 DCHECK(focus_manager); 2381 DCHECK(focus_manager);
2382 2382
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
2634 return immersive_mode_controller()->IsEnabled(); 2634 return immersive_mode_controller()->IsEnabled();
2635 } 2635 }
2636 2636
2637 views::Widget* BrowserView::GetBubbleAssociatedWidget() { 2637 views::Widget* BrowserView::GetBubbleAssociatedWidget() {
2638 return GetWidget(); 2638 return GetWidget();
2639 } 2639 }
2640 2640
2641 gfx::Rect BrowserView::GetTopContainerBoundsInScreen() { 2641 gfx::Rect BrowserView::GetTopContainerBoundsInScreen() {
2642 return top_container_->GetBoundsInScreen(); 2642 return top_container_->GetBoundsInScreen();
2643 } 2643 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698