Commit d2861a3e authored by sadrul's avatar sadrul Committed by Commit bot

mus: Initialize WindowManagerConnection in chrome instead of in content.

BUG=none

Review-Url: https://codereview.chromium.org/2027093002
Cr-Commit-Position: refs/heads/master@{#398242}
parent 23be8597
......@@ -14,6 +14,11 @@
#include "ui/wm/core/wm_state.h"
#endif
#if defined(USE_AURA) && defined(MOJO_SHELL_CLIENT)
#include "content/public/common/mojo_shell_connection.h"
#include "ui/views/mus/window_manager_connection.h"
#endif
ChromeBrowserMainExtraPartsViews::ChromeBrowserMainExtraPartsViews() {
}
......@@ -39,3 +44,15 @@ void ChromeBrowserMainExtraPartsViews::PreCreateThreads() {
display::Screen::SetScreenInstance(views::CreateDesktopScreen());
#endif
}
void ChromeBrowserMainExtraPartsViews::PreProfileInit() {
#if defined(USE_AURA) && defined(MOJO_SHELL_CLIENT)
content::MojoShellConnection* mojo_shell_connection =
content::MojoShellConnection::Get();
if (mojo_shell_connection && mojo_shell_connection->UsingExternalShell()) {
views::WindowManagerConnection::Create(
mojo_shell_connection->GetConnector(),
mojo_shell_connection->GetIdentity());
}
#endif
}
......@@ -28,6 +28,7 @@ class ChromeBrowserMainExtraPartsViews : public ChromeBrowserMainExtraParts {
// Overridden from ChromeBrowserMainExtraParts:
void ToolkitInitialized() override;
void PreCreateThreads() override;
void PreProfileInit() override;
private:
std::unique_ptr<views::ViewsDelegate> views_delegate_;
......
......@@ -92,6 +92,7 @@ void ChromeBrowserMainExtraPartsViewsLinux::PreCreateThreads() {
}
void ChromeBrowserMainExtraPartsViewsLinux::PreProfileInit() {
ChromeBrowserMainExtraPartsViews::PreProfileInit();
// On the Linux desktop, we want to prevent the user from logging in as root,
// so that we don't destroy the profile. Now that we have some minimal ui
// initialized, check to see if we're running as root and bail if we are.
......
......@@ -404,7 +404,6 @@ source_set("browser") {
"//ui/aura",
"//ui/aura_extra",
"//ui/strings",
"//ui/views/mus:for_component",
"//ui/wm",
]
sources += [
......
......@@ -23,7 +23,6 @@ include_rules = [
"+services",
"+sql",
"+ui/aura_extra",
"+ui/views/mus", # http://crbug.com/555767
"+ui/webui",
"+win8/util",
......
......@@ -186,11 +186,6 @@
#include "crypto/nss_util.h"
#endif
#if defined(MOJO_SHELL_CLIENT)
#include "services/shell/public/cpp/connector.h"
#include "ui/views/mus/window_manager_connection.h"
#endif
#if defined(ENABLE_VULKAN)
#include "gpu/vulkan/vulkan_implementation.h"
#endif
......@@ -1211,15 +1206,11 @@ int BrowserMainLoop::BrowserThreadsStarted() {
mojo_shell_context_.reset(new MojoShellContext);
if (IsRunningInMojoShell()) {
#if defined(MOJO_SHELL_CLIENT) && defined(USE_AURA)
// TODO(rockot): Remove the blocking wait for init.
// http://crbug.com/594852.
MojoShellConnection* mojo_shell_connection = MojoShellConnection::Get();
if (mojo_shell_connection) {
// TODO(rockot): Remove the blocking wait for init.
// http://crbug.com/594852.
if (mojo_shell_connection)
WaitForMojoShellInitialize();
views::WindowManagerConnection::Create(
mojo_shell_connection->GetConnector(),
mojo_shell_connection->GetIdentity());
}
#endif
}
......
......@@ -20,5 +20,6 @@ static_library("content_client") {
"//net",
"//services/navigation:lib",
"//ui/views:test_support",
"//ui/views/mus",
]
}
......@@ -9,6 +9,7 @@
#include "content/shell/browser/shell_browser_context.h"
#include "content/shell/browser/shell_net_log.h"
#include "services/navigation/navigation.h"
#include "ui/views/mus/window_manager_connection.h"
#include "ui/views/test/test_views_delegate.h"
namespace navigation {
......@@ -23,11 +24,17 @@ void BrowserMainParts::ToolkitInitialized() {
}
void BrowserMainParts::PreMainMessageLoopRun() {
content::MojoShellConnection* mojo_shell_connection =
content::MojoShellConnection::Get();
if (mojo_shell_connection) {
views::WindowManagerConnection::Create(
mojo_shell_connection->GetConnector(),
mojo_shell_connection->GetIdentity());
}
net_log_.reset(new content::ShellNetLog("ash_shell"));
browser_context_.reset(
new content::ShellBrowserContext(false, net_log_.get()));
navigation_->Init(content::MojoShellConnection::Get()->GetConnector(),
browser_context());
navigation_->Init(mojo_shell_connection->GetConnector(), browser_context());
}
void BrowserMainParts::PostMainMessageLoopRun() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment