Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1642)

Unified Diff: content/shell/shell_aura.cc

Issue 11614037: Call ShowRootWindow on NativeWindow's RootWindow to display the window. (Closed) Base URL: https://git.chromium.org/chromium/src.git@master
Patch Set: Rewored patch Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/shell/shell_aura.cc
diff --git a/content/shell/shell_aura.cc b/content/shell/shell_aura.cc
index a0986c47192f0faab60f726e00ee5c95152a4285..be2a8b6269251d88ccd197376ba4a060e6d4852d 100644
--- a/content/shell/shell_aura.cc
+++ b/content/shell/shell_aura.cc
@@ -283,9 +283,12 @@ void Shell::PlatformInitialize() {
chromeos::DBusThreadManager::Initialize();
#endif
#if defined(OS_CHROMEOS)
- stacking_client_ = new content::ShellStackingClientAsh();
gfx::Screen::SetScreenInstance(
gfx::SCREEN_TYPE_NATIVE, new aura::TestScreen);
+ scoped_ptr<aura::RootWindow> root_window =
+ CreateRootWindow(kTestWindowWidth, kTestWindowHeight);
+ stacking_client_ =
+ new content::ShellStackingClientAsh(root_window.Pass());
#else
stacking_client_ = new views::DesktopStackingClient();
gfx::Screen::SetScreenInstance(
@@ -295,6 +298,14 @@ void Shell::PlatformInitialize() {
views_delegate_ = new ShellViewsDelegateAura();
}
+// static
+scoped_ptr<aura::RootWindow> Shell::CreateRootWindow(int width, int height) {
+ scoped_ptr<aura::RootWindow> root_window(new aura::RootWindow(
+ aura::RootWindow::CreateParams(gfx::Rect(0, 0, width, height))));
+ root_window->Init();
+ return root_window.Pass();
+}
+
void Shell::PlatformExit() {
if (stacking_client_)
delete stacking_client_;
@@ -335,9 +346,16 @@ void Shell::PlatformSetIsLoading(bool loading) {
void Shell::PlatformCreateWindow(int width, int height) {
window_widget_ =
- views::Widget::CreateWindowWithBounds(new ShellWindowDelegateView(this),
- gfx::Rect(0, 0, width, height));
+ views::Widget::CreateWindowWithContextAndBounds(
+ new ShellWindowDelegateView(this),
+ Shell::stacking_client_->GetDefaultParent(
+ NULL, NULL, gfx::Rect()),
+ gfx::Rect(0, 0, width, height));
window_ = window_widget_->GetNativeWindow();
+ // RootWindow created via CreateRootWindow doesn't get a
+ // ShowRootWindow call, hence its XWindow doesn't get mapped.
+ // Explicitly call the ShowRootWindow on RootWindow for now.
+ window_->GetRootWindow()->ShowRootWindow();
window_widget_->Show();
}

Powered by Google App Engine
This is Rietveld 408576698