diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-17 19:30:31 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-17 19:30:31 +0000 |
commit | 69b11c7278664aea6fd379ee0c6c94cb6bbd59fa (patch) | |
tree | d81ddb02254ed97b1535717749af922fa1fc3201 /ui | |
parent | 843f6d39229fcf8ccc0259c4f64053aa41441f5b (diff) | |
download | chromium_src-69b11c7278664aea6fd379ee0c6c94cb6bbd59fa.zip chromium_src-69b11c7278664aea6fd379ee0c6c94cb6bbd59fa.tar.gz chromium_src-69b11c7278664aea6fd379ee0c6c94cb6bbd59fa.tar.bz2 |
Make Chrome limp briefly before freaking out with aura no ash.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10407022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137706 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r-- | ui/aura/desktop/desktop_stacking_client.cc | 6 | ||||
-rw-r--r-- | ui/aura/desktop/desktop_stacking_client.h | 6 | ||||
-rw-r--r-- | ui/views/widget/desktop_native_widget_helper_aura.cc | 2 |
3 files changed, 13 insertions, 1 deletions
diff --git a/ui/aura/desktop/desktop_stacking_client.cc b/ui/aura/desktop/desktop_stacking_client.cc index cbe6c27..4ee0090 100644 --- a/ui/aura/desktop/desktop_stacking_client.cc +++ b/ui/aura/desktop/desktop_stacking_client.cc @@ -18,7 +18,11 @@ DesktopStackingClient::~DesktopStackingClient() { } Window* DesktopStackingClient::GetDefaultParent(Window* window) { - return window->GetRootWindow(); + if (!null_parent_.get()) { + null_parent_.reset(new aura::RootWindow(gfx::Rect(100, 100))); + null_parent_->Init(); + } + return null_parent_.get(); } } // namespace aura diff --git a/ui/aura/desktop/desktop_stacking_client.h b/ui/aura/desktop/desktop_stacking_client.h index 34b8a67..cd2b5e8 100644 --- a/ui/aura/desktop/desktop_stacking_client.h +++ b/ui/aura/desktop/desktop_stacking_client.h @@ -9,9 +9,11 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" +#include "base/memory/scoped_ptr.h" #include "ui/aura/aura_export.h" namespace aura { +class RootWindow; class Window; // A stacking client for the desktop; always sets the default parent to the @@ -24,6 +26,10 @@ class AURA_EXPORT DesktopStackingClient : public client::StackingClient { // Overridden from client::StackingClient: virtual Window* GetDefaultParent(Window* window) OVERRIDE; + private: + // Windows with NULL parents are parented to this. + scoped_ptr<aura::RootWindow> null_parent_; + DISALLOW_COPY_AND_ASSIGN(DesktopStackingClient); }; diff --git a/ui/views/widget/desktop_native_widget_helper_aura.cc b/ui/views/widget/desktop_native_widget_helper_aura.cc index f971e5d..e1ea114 100644 --- a/ui/views/widget/desktop_native_widget_helper_aura.cc +++ b/ui/views/widget/desktop_native_widget_helper_aura.cc @@ -40,6 +40,7 @@ DesktopNativeWidgetHelperAura::~DesktopNativeWidgetHelperAura() { void DesktopNativeWidgetHelperAura::PreInitialize( const Widget::InitParams& params) { +#if !defined(OS_WIN) // We don't want the status bubble or the omnibox to get their own root // window on the desktop; on Linux // @@ -52,6 +53,7 @@ void DesktopNativeWidgetHelperAura::PreInitialize( } else if (params.type == Widget::InitParams::TYPE_CONTROL) { return; } +#endif gfx::Rect bounds = params.bounds; if (bounds.IsEmpty()) { |