summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-17 19:30:31 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-17 19:30:31 +0000
commit69b11c7278664aea6fd379ee0c6c94cb6bbd59fa (patch)
treed81ddb02254ed97b1535717749af922fa1fc3201 /ui
parent843f6d39229fcf8ccc0259c4f64053aa41441f5b (diff)
downloadchromium_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.cc6
-rw-r--r--ui/aura/desktop/desktop_stacking_client.h6
-rw-r--r--ui/views/widget/desktop_native_widget_helper_aura.cc2
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()) {