diff options
author | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-04 16:26:31 +0000 |
---|---|---|
committer | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-04 16:26:31 +0000 |
commit | 9eee621222e2c1d419725f058d69277ac026ff46 (patch) | |
tree | 4f6e64e9d536338ea7e93ac21c02bdd28c681c0f | |
parent | c48998a7082c56a5afb066f50fe3f96016b2279b (diff) | |
download | chromium_src-9eee621222e2c1d419725f058d69277ac026ff46.zip chromium_src-9eee621222e2c1d419725f058d69277ac026ff46.tar.gz chromium_src-9eee621222e2c1d419725f058d69277ac026ff46.tar.bz2 |
Fix ash_shell showing views examples. We weren't setting top_level.
This causes desktop aura instances to do the right thing immediately.
On ash, we also need to fix their private ShellViewsDelegate because
ash_shell doesn't get ChromeViewsDelegate's fix for this.
BUG=172448
Review URL: https://chromiumcodereview.appspot.com/12093099
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180420 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ash/shell/content_client/shell_browser_main_parts.cc | 11 | ||||
-rw-r--r-- | ui/views/examples/examples_window_with_content.cc | 1 |
2 files changed, 11 insertions, 1 deletions
diff --git a/ash/shell/content_client/shell_browser_main_parts.cc b/ash/shell/content_client/shell_browser_main_parts.cc index 848c408..afd9147 100644 --- a/ash/shell/content_client/shell_browser_main_parts.cc +++ b/ash/shell/content_client/shell_browser_main_parts.cc @@ -54,10 +54,19 @@ class ShellViewsDelegate : public views::TestViewsDelegate { views::Widget* widget) OVERRIDE { return ash::Shell::GetInstance()->CreateDefaultNonClientFrameView(widget); } - bool UseTransparentWindows() const OVERRIDE { + virtual bool UseTransparentWindows() const OVERRIDE { // Ash uses transparent window frames. return true; } + virtual void OnBeforeWidgetInit( + views::Widget::InitParams* params, + views::internal::NativeWidgetDelegate* delegate) OVERRIDE { + if (params->native_widget) + return; + + if (!params->parent && !params->context && params->top_level) + params->context = Shell::GetPrimaryRootWindow(); + } private: DISALLOW_COPY_AND_ASSIGN(ShellViewsDelegate); diff --git a/ui/views/examples/examples_window_with_content.cc b/ui/views/examples/examples_window_with_content.cc index 56da74e..a8705ed 100644 --- a/ui/views/examples/examples_window_with_content.cc +++ b/ui/views/examples/examples_window_with_content.cc @@ -213,6 +213,7 @@ void ShowExamplesWindowWithContent(Operation operation, Widget::InitParams params; params.delegate = new ExamplesWindowContents(operation, browser_context); params.bounds = gfx::Rect(0, 0, 850, 300); + params.top_level = true; widget->Init(params); widget->Show(); } |