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

Unified Diff: ui/views/mus/aura_init.cc

Issue 2471033005: Adds DesktopWindowTreeHostMus (Closed)
Patch Set: fix Created 4 years, 1 month 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
« no previous file with comments | « ui/views/mus/aura_init.h ('k') | ui/views/mus/desktop_window_tree_host_mus.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/mus/aura_init.cc
diff --git a/ui/views/mus/aura_init.cc b/ui/views/mus/aura_init.cc
index 761708679bcaa8210af345ede60131abfc58ed5b..747ef39529ad384cd51c34c9560f0503867c4acc 100644
--- a/ui/views/mus/aura_init.cc
+++ b/ui/views/mus/aura_init.cc
@@ -13,10 +13,13 @@
#include "services/catalog/public/cpp/resource_loader.h"
#include "services/service_manager/public/cpp/connector.h"
#include "ui/aura/env.h"
+#include "ui/aura/mus/window_port_mus.h"
+#include "ui/aura/window_port_local.h"
#include "ui/base/ime/input_method_initializer.h"
#include "ui/base/material_design/material_design_controller.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/ui_base_paths.h"
+#include "ui/views/mus/mus_client.h"
#include "ui/views/views_delegate.h"
#if defined(OS_LINUX)
@@ -46,13 +49,20 @@ class MusViewsDelegate : public ViewsDelegate {
} // namespace
AuraInit::AuraInit(service_manager::Connector* connector,
+ const service_manager::Identity& identity,
const std::string& resource_file,
const std::string& resource_file_200,
- const aura::Env::WindowPortFactory& window_port_factory)
+ scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
+ Mode mode)
: resource_file_(resource_file),
resource_file_200_(resource_file_200),
- env_(aura::Env::CreateInstance(window_port_factory)),
+ env_(aura::Env::CreateInstance(
+ base::Bind(&AuraInit::CreateWindowPort, base::Unretained(this)))),
views_delegate_(new MusViewsDelegate) {
+ if (mode == Mode::AURA_MUS) {
+ mus_client_ =
+ base::WrapUnique(new MusClient(connector, identity, io_task_runner));
Elliot Glaysher 2016/11/03 00:21:43 MakeUnique<MusClient>?
sky 2016/11/03 03:07:52 The constructor is private (AuraInit is friended),
+ }
ui::MaterialDesignController::Initialize();
InitializeResources(connector);
@@ -107,4 +117,17 @@ void AuraInit::InitializeResources(service_manager::Connector* connector) {
loader.TakeFile(resource_file_200_), ui::SCALE_FACTOR_200P);
}
+std::unique_ptr<aura::WindowPort> AuraInit::CreateWindowPort(
+ aura::Window* window) {
+ if (mus_client_) {
+ std::unique_ptr<aura::WindowPortMus> window_port =
+ base::MakeUnique<aura::WindowPortMus>(mus_client_->window_tree_client(),
+ aura::WindowMusType::LOCAL);
+ return std::move(window_port);
Elliot Glaysher 2016/11/03 00:21:43 Are you able to just return the output of MakeUniq
sky 2016/11/03 03:07:52 Because the types differ, no. By that I mean uniqu
+ }
+ std::unique_ptr<aura::WindowPortLocal> window_port =
+ base::MakeUnique<aura::WindowPortLocal>(window);
+ return std::move(window_port);
+}
+
} // namespace views
« no previous file with comments | « ui/views/mus/aura_init.h ('k') | ui/views/mus/desktop_window_tree_host_mus.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698