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

Side by Side Diff: chrome/browser/ui/views/chrome_views_delegate.cc

Issue 2667703002: Linux Aura: Use Aura theme on all windows when 'Use Classic theme' is used (Closed)
Patch Set: address sky@'s comments Created 3 years, 10 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
« no previous file with comments | « chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/chrome_views_delegate.h" 5 #include "chrome/browser/ui/views/chrome_views_delegate.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 if (params->context) 443 if (params->context)
444 params->context = params->context->GetRootWindow(); 444 params->context = params->context->GetRootWindow();
445 DCHECK(params->parent || params->context || !params->child) 445 DCHECK(params->parent || params->context || !params->child)
446 << "Please provide a parent or context for this widget."; 446 << "Please provide a parent or context for this widget.";
447 if (!params->parent && !params->context) 447 if (!params->parent && !params->context)
448 params->context = ash::Shell::GetPrimaryRootWindow(); 448 params->context = ash::Shell::GetPrimaryRootWindow();
449 #elif defined(USE_AURA) 449 #elif defined(USE_AURA)
450 // While the majority of the time, context wasn't plumbed through due to the 450 // While the majority of the time, context wasn't plumbed through due to the
451 // existence of a global WindowParentingClient, if this window is toplevel, 451 // existence of a global WindowParentingClient, if this window is toplevel,
452 // it's possible that there is no contextual state that we can use. 452 // it's possible that there is no contextual state that we can use.
453 if (params->parent == NULL && params->context == NULL && !params->child) { 453 if (!params->parent && !params->context && !params->child)
454 params->native_widget = new views::DesktopNativeWidgetAura(delegate); 454 params->native_widget = new views::DesktopNativeWidgetAura(delegate);
455 } else if (use_non_toplevel_window) { 455 else if (use_non_toplevel_window)
456 views::NativeWidgetAura* native_widget = 456 params->native_widget = new views::NativeWidgetAura(delegate);
457 new views::NativeWidgetAura(delegate); 457 else
458 if (params->parent) {
459 Profile* parent_profile = reinterpret_cast<Profile*>(
460 params->parent->GetNativeWindowProperty(Profile::kProfileKey));
461 native_widget->SetNativeWindowProperty(Profile::kProfileKey,
462 parent_profile);
463 }
464 params->native_widget = native_widget;
465 } else {
466 params->native_widget = new views::DesktopNativeWidgetAura(delegate); 458 params->native_widget = new views::DesktopNativeWidgetAura(delegate);
459 gfx::NativeWindow window = params->parent ? params->parent : params->context;
460 if (window) {
461 auto* native_widget = static_cast<views::internal::NativeWidgetPrivate*>(
sky 2017/01/31 05:14:31 Sorry, one more. While params->native_widget is de
462 params->native_widget);
463 native_widget->SetNativeWindowProperty(
464 Profile::kProfileKey,
465 window->GetNativeWindowProperty(Profile::kProfileKey));
467 } 466 }
468 #endif 467 #endif
469 } 468 }
470 469
471 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) 470 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
472 bool ChromeViewsDelegate::WindowManagerProvidesTitleBar(bool maximized) { 471 bool ChromeViewsDelegate::WindowManagerProvidesTitleBar(bool maximized) {
473 // On Ubuntu Unity, the system always provides a title bar for maximized 472 // On Ubuntu Unity, the system always provides a title bar for maximized
474 // windows. 473 // windows.
475 views::LinuxUI* ui = views::LinuxUI::instance(); 474 views::LinuxUI* ui = views::LinuxUI::instance();
476 return maximized && ui && ui->UnityIsRunning(); 475 return maximized && ui && ui->UnityIsRunning();
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 return ViewsDelegate::GetBubbleDialogMargins(); 570 return ViewsDelegate::GetBubbleDialogMargins();
572 } 571 }
573 572
574 #if !defined(USE_ASH) 573 #if !defined(USE_ASH)
575 views::Widget::InitParams::WindowOpacity 574 views::Widget::InitParams::WindowOpacity
576 ChromeViewsDelegate::GetOpacityForInitParams( 575 ChromeViewsDelegate::GetOpacityForInitParams(
577 const views::Widget::InitParams& params) { 576 const views::Widget::InitParams& params) {
578 return views::Widget::InitParams::OPAQUE_WINDOW; 577 return views::Widget::InitParams::OPAQUE_WINDOW;
579 } 578 }
580 #endif 579 #endif
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698