summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorerg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-04 16:26:31 +0000
committererg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-04 16:26:31 +0000
commit9eee621222e2c1d419725f058d69277ac026ff46 (patch)
tree4f6e64e9d536338ea7e93ac21c02bdd28c681c0f
parentc48998a7082c56a5afb066f50fe3f96016b2279b (diff)
downloadchromium_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.cc11
-rw-r--r--ui/views/examples/examples_window_with_content.cc1
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();
}