diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-11 03:49:41 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-11 03:49:41 +0000 |
commit | ae79f8bbf66c3de33a7f08a4117fa3ae4423af7e (patch) | |
tree | 2bb0d11281dc043f2a383e2bf8519e80f159baad /chrome/browser | |
parent | 0a993c822f1b65cf0c8b40d30896ce98a1d45f0c (diff) | |
download | chromium_src-ae79f8bbf66c3de33a7f08a4117fa3ae4423af7e.zip chromium_src-ae79f8bbf66c3de33a7f08a4117fa3ae4423af7e.tar.gz chromium_src-ae79f8bbf66c3de33a7f08a4117fa3ae4423af7e.tar.bz2 |
Allow a Views client to provide a default frameview for window widgets.
Provides a default one in Ash that will be used to match kennedy-spec.
Much tweaking is needed, but that can come in future CLs.
http://crbug.com/109138
TEST=none
Review URL: http://codereview.chromium.org/9166014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117165 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/about_flags.cc | 7 | ||||
-rw-r--r-- | chrome/browser/ui/views/chrome_views_delegate.cc | 13 | ||||
-rw-r--r-- | chrome/browser/ui/views/chrome_views_delegate.h | 2 | ||||
-rw-r--r-- | chrome/browser/ui/views/constrained_window_views.cc | 8 |
4 files changed, 30 insertions, 0 deletions
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc index 0d0a177..21ff5d7 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc @@ -465,6 +465,13 @@ const Experiment kExperiments[] = { kOsWin | kOsLinux | kOsCrOS, SINGLE_VALUE_TYPE(ash::switches::kAuraTranslucentFrames) }, + { + "aura-google-dialog-frames", + IDS_FLAGS_AURA_GOOGLE_DIALOG_FRAMES_NAME, + IDS_FLAGS_AURA_GOOGLE_DIALOG_FRAMES_DESCRIPTION, + kOsWin | kOsLinux | kOsCrOS, + SINGLE_VALUE_TYPE(ash::switches::kAuraGoogleDialogFrames) + }, #endif // defined(USE_AURA) { "enable-gamepad", diff --git a/chrome/browser/ui/views/chrome_views_delegate.cc b/chrome/browser/ui/views/chrome_views_delegate.cc index ac0f073..f5aceb5 100644 --- a/chrome/browser/ui/views/chrome_views_delegate.cc +++ b/chrome/browser/ui/views/chrome_views_delegate.cc @@ -24,6 +24,10 @@ #include "chrome/browser/app_icon_win.h" #endif +#if defined(USE_AURA) +#include "ash/shell.h" +#endif + namespace { // If the given window has a profile associated with it, use that profile's @@ -124,6 +128,15 @@ HICON ChromeViewsDelegate::GetDefaultWindowIcon() const { } #endif +views::NonClientFrameView* ChromeViewsDelegate::CreateDefaultNonClientFrameView( + views::Widget* widget) { +#if defined(USE_AURA) + return ash::Shell::GetInstance()->CreateDefaultNonClientFrameView(widget); +#else + return NULL; +#endif +} + void ChromeViewsDelegate::AddRef() { g_browser_process->AddRefModule(); } diff --git a/chrome/browser/ui/views/chrome_views_delegate.h b/chrome/browser/ui/views/chrome_views_delegate.h index 71c5dc1..136b5e8 100644 --- a/chrome/browser/ui/views/chrome_views_delegate.h +++ b/chrome/browser/ui/views/chrome_views_delegate.h @@ -38,6 +38,8 @@ class ChromeViewsDelegate : public views::ViewsDelegate { #if defined(OS_WIN) virtual HICON GetDefaultWindowIcon() const OVERRIDE; #endif + virtual views::NonClientFrameView* CreateDefaultNonClientFrameView( + views::Widget* widget) OVERRIDE; virtual void AddRef() OVERRIDE; virtual void ReleaseRef() OVERRIDE; diff --git a/chrome/browser/ui/views/constrained_window_views.cc b/chrome/browser/ui/views/constrained_window_views.cc index 899cc02..36e1418 100644 --- a/chrome/browser/ui/views/constrained_window_views.cc +++ b/chrome/browser/ui/views/constrained_window_views.cc @@ -46,6 +46,10 @@ #include "ui/views/widget/native_widget_win.h" #endif +#if defined(USE_AURA) +#include "ash/shell.h" +#endif + using base::TimeDelta; namespace views { @@ -602,7 +606,11 @@ gfx::NativeWindow ConstrainedWindowViews::GetNativeWindow() { // ConstrainedWindowViews, views::Widget overrides: views::NonClientFrameView* ConstrainedWindowViews::CreateNonClientFrameView() { +#if defined(USE_AURA) + return ash::Shell::GetInstance()->CreateDefaultNonClientFrameView(this); +#else return new ConstrainedWindowFrameView(this); +#endif } //////////////////////////////////////////////////////////////////////////////// |