Commit 4d37f222 authored by jamescook's avatar jamescook Committed by Commit bot

mash: Initialize chromeos components and strings

This is required to show the status area widget in mojo:ash.

* Initialize various service singletons in WindowManagerApplication
* Add ash strings to the window manager pak file

BUG=619636
TEST=ash_unittests, mash_unittests

Review-Url: https://codereview.chromium.org/2155743003
Cr-Commit-Position: refs/heads/master@{#406126}
parent 0037e42c
...@@ -83,6 +83,7 @@ source_set("lib") { ...@@ -83,6 +83,7 @@ source_set("lib") {
deps = [ deps = [
"//components/user_manager", "//components/user_manager",
"//ui/app_list/presenter", "//ui/app_list/presenter",
"//ui/message_center",
] ]
public_deps = [ public_deps = [
...@@ -111,7 +112,11 @@ source_set("lib") { ...@@ -111,7 +112,11 @@ source_set("lib") {
] ]
if (is_chromeos) { if (is_chromeos) {
deps += [ "//chromeos" ] deps += [
"//chromeos",
"//chromeos:power_manager_proto",
"//device/bluetooth",
]
} }
} }
...@@ -147,6 +152,7 @@ repack("resources") { ...@@ -147,6 +152,7 @@ repack("resources") {
sources = [ sources = [
"$root_gen_dir/ash/mus/resources/ash_mus_resources_100_percent.pak", "$root_gen_dir/ash/mus/resources/ash_mus_resources_100_percent.pak",
"$root_gen_dir/ash/resources/ash_resources_100_percent.pak", "$root_gen_dir/ash/resources/ash_resources_100_percent.pak",
"$root_gen_dir/ash/strings/ash_strings_en-US.pak",
"$root_gen_dir/ui/resources/ui_resources_100_percent.pak", "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
"$root_gen_dir/ui/strings/app_locale_settings_en-US.pak", "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
"$root_gen_dir/ui/strings/ui_strings_en-US.pak", "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
...@@ -156,6 +162,7 @@ repack("resources") { ...@@ -156,6 +162,7 @@ repack("resources") {
deps = [ deps = [
"//ash/mus/resources", "//ash/mus/resources",
"//ash/resources", "//ash/resources",
"//ash/strings",
"//ui/resources", "//ui/resources",
"//ui/strings", "//ui/strings",
"//ui/views/mus:resources", "//ui/views/mus:resources",
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <utility> #include <utility>
#include "ash/common/material_design/material_design_controller.h"
#include "ash/mus/accelerator_registrar_impl.h" #include "ash/mus/accelerator_registrar_impl.h"
#include "ash/mus/root_window_controller.h" #include "ash/mus/root_window_controller.h"
#include "ash/mus/shelf_layout_impl.h" #include "ash/mus/shelf_layout_impl.h"
...@@ -21,14 +22,47 @@ ...@@ -21,14 +22,47 @@
#include "services/ui/public/cpp/window.h" #include "services/ui/public/cpp/window.h"
#include "services/ui/public/cpp/window_tree_client.h" #include "services/ui/public/cpp/window_tree_client.h"
#include "ui/events/event.h" #include "ui/events/event.h"
#include "ui/message_center/message_center.h"
#include "ui/views/mus/aura_init.h" #include "ui/views/mus/aura_init.h"
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
#include "ash/common/system/chromeos/power/power_status.h"
#include "chromeos/audio/cras_audio_handler.h"
#include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/dbus/dbus_thread_manager.h"
#include "device/bluetooth/dbus/bluez_dbus_manager.h" // nogncheck
#endif #endif
namespace ash { namespace ash {
namespace mus { namespace mus {
namespace {
void InitializeComponents() {
message_center::MessageCenter::Initialize();
#if defined(OS_CHROMEOS)
// Must occur after mojo::ApplicationRunner has initialized AtExitManager, but
// before WindowManager::Init().
chromeos::DBusThreadManager::Initialize();
bluez::BluezDBusManager::Initialize(
chromeos::DBusThreadManager::Get()->GetSystemBus(),
chromeos::DBusThreadManager::Get()->IsUsingStub(
chromeos::DBusClientBundle::BLUETOOTH));
// TODO(jamescook): Initialize real audio handler.
chromeos::CrasAudioHandler::InitializeForTesting();
PowerStatus::Initialize();
#endif
}
void ShutdownComponents() {
#if defined(OS_CHROMEOS)
PowerStatus::Shutdown();
chromeos::CrasAudioHandler::Shutdown();
bluez::BluezDBusManager::Shutdown();
chromeos::DBusThreadManager::Shutdown();
#endif
message_center::MessageCenter::Shutdown();
}
} // namespace
WindowManagerApplication::WindowManagerApplication() WindowManagerApplication::WindowManagerApplication()
: connector_(nullptr), screenlock_state_listener_binding_(this) {} : connector_(nullptr), screenlock_state_listener_binding_(this) {}
...@@ -45,9 +79,7 @@ WindowManagerApplication::~WindowManagerApplication() { ...@@ -45,9 +79,7 @@ WindowManagerApplication::~WindowManagerApplication() {
// OnWillDestroyRootWindowController() is called (if it hasn't been already). // OnWillDestroyRootWindowController() is called (if it hasn't been already).
window_manager_.reset(); window_manager_.reset();
#if defined(OS_CHROMEOS) ShutdownComponents();
chromeos::DBusThreadManager::Shutdown();
#endif
} }
void WindowManagerApplication::OnAcceleratorRegistrarDestroyed( void WindowManagerApplication::OnAcceleratorRegistrarDestroyed(
...@@ -57,11 +89,8 @@ void WindowManagerApplication::OnAcceleratorRegistrarDestroyed( ...@@ -57,11 +89,8 @@ void WindowManagerApplication::OnAcceleratorRegistrarDestroyed(
void WindowManagerApplication::InitWindowManager( void WindowManagerApplication::InitWindowManager(
::ui::WindowTreeClient* window_tree_client) { ::ui::WindowTreeClient* window_tree_client) {
#if defined(OS_CHROMEOS) InitializeComponents();
// Must occur after mojo::ApplicationRunner has initialized AtExitManager, but
// before WindowManager::Init().
chromeos::DBusThreadManager::Initialize();
#endif
window_manager_->Init(window_tree_client); window_manager_->Init(window_tree_client);
window_manager_->AddObserver(this); window_manager_->AddObserver(this);
} }
...@@ -74,6 +103,7 @@ void WindowManagerApplication::OnStart(shell::Connector* connector, ...@@ -74,6 +103,7 @@ void WindowManagerApplication::OnStart(shell::Connector* connector,
window_manager_.reset(new WindowManager(connector_)); window_manager_.reset(new WindowManager(connector_));
aura_init_.reset(new views::AuraInit(connector_, "ash_mus_resources.pak")); aura_init_.reset(new views::AuraInit(connector_, "ash_mus_resources.pak"));
MaterialDesignController::Initialize();
tracing_.Initialize(connector, identity.name()); tracing_.Initialize(connector, identity.name());
......
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