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

Side by Side Diff: services/ui/view_manager/view_manager_app.cc

Issue 2015363003: Yet more ApplicationDelegate -> ApplicationImplBase conversion. (Closed) Base URL: https://github.com/domokit/mojo.git@work797-x-work796_no_run_main_app
Patch Set: rebased again Created 4 years, 6 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 unified diff | Download patch
« no previous file with comments | « services/ui/view_manager/view_manager_app.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "services/ui/view_manager/view_manager_app.h" 5 #include "services/ui/view_manager/view_manager_app.h"
6 6
7 #include <string>
8 #include <vector>
9
10 #include "base/command_line.h" 7 #include "base/command_line.h"
11 #include "base/logging.h" 8 #include "base/logging.h"
12 #include "base/trace_event/trace_event.h" 9 #include "base/trace_event/trace_event.h"
13 #include "mojo/application/application_runner_chromium.h"
14 #include "mojo/common/tracing_impl.h" 10 #include "mojo/common/tracing_impl.h"
15 #include "mojo/public/c/system/main.h"
16 #include "mojo/public/cpp/application/application_impl.h"
17 #include "mojo/public/cpp/application/connect.h" 11 #include "mojo/public/cpp/application/connect.h"
12 #include "mojo/public/cpp/application/run_application.h"
18 #include "mojo/public/cpp/application/service_provider_impl.h" 13 #include "mojo/public/cpp/application/service_provider_impl.h"
19 #include "services/ui/view_manager/view_manager_impl.h" 14 #include "services/ui/view_manager/view_manager_impl.h"
20 15
21 namespace view_manager { 16 namespace view_manager {
22 17
23 ViewManagerApp::ViewManagerApp() : app_impl_(nullptr) {} 18 ViewManagerApp::ViewManagerApp() {}
24 19
25 ViewManagerApp::~ViewManagerApp() {} 20 ViewManagerApp::~ViewManagerApp() {}
26 21
27 void ViewManagerApp::Initialize(mojo::ApplicationImpl* app_impl) { 22 void ViewManagerApp::OnInitialize() {
28 app_impl_ = app_impl;
29
30 auto command_line = base::CommandLine::ForCurrentProcess(); 23 auto command_line = base::CommandLine::ForCurrentProcess();
31 command_line->InitFromArgv(app_impl_->args()); 24 command_line->InitFromArgv(args());
32 logging::LoggingSettings settings; 25 logging::LoggingSettings settings;
33 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; 26 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG;
34 logging::InitLogging(settings); 27 logging::InitLogging(settings);
35 28
36 tracing_.Initialize(app_impl_->shell(), &app_impl_->args()); 29 tracing_.Initialize(shell(), &args());
37 30
38 // Connect to compositor. 31 // Connect to compositor.
39 mojo::gfx::composition::CompositorPtr compositor; 32 mojo::gfx::composition::CompositorPtr compositor;
40 mojo::ConnectToService(app_impl_->shell(), "mojo:compositor_service", 33 mojo::ConnectToService(shell(), "mojo:compositor_service",
41 GetProxy(&compositor)); 34 GetProxy(&compositor));
42 compositor.set_connection_error_handler(base::Bind( 35 compositor.set_connection_error_handler(base::Bind(
43 &ViewManagerApp::OnCompositorConnectionError, base::Unretained(this))); 36 &ViewManagerApp::OnCompositorConnectionError, base::Unretained(this)));
44 37
45 // Create the registry. 38 // Create the registry.
46 registry_.reset(new ViewRegistry(compositor.Pass())); 39 registry_.reset(new ViewRegistry(compositor.Pass()));
47 } 40 }
48 41
49 bool ViewManagerApp::ConfigureIncomingConnection( 42 bool ViewManagerApp::OnAcceptConnection(
50 mojo::ServiceProviderImpl* service_provider_impl) { 43 mojo::ServiceProviderImpl* service_provider_impl) {
51 service_provider_impl->AddService<mojo::ui::ViewManager>([this]( 44 service_provider_impl->AddService<mojo::ui::ViewManager>([this](
52 const mojo::ConnectionContext& connection_context, 45 const mojo::ConnectionContext& connection_context,
53 mojo::InterfaceRequest<mojo::ui::ViewManager> view_manager_request) { 46 mojo::InterfaceRequest<mojo::ui::ViewManager> view_manager_request) {
54 DCHECK(registry_); 47 DCHECK(registry_);
55 view_managers_.AddBinding(new ViewManagerImpl(registry_.get()), 48 view_managers_.AddBinding(new ViewManagerImpl(registry_.get()),
56 view_manager_request.Pass()); 49 view_manager_request.Pass());
57 }); 50 });
58 return true; 51 return true;
59 } 52 }
60 53
61 void ViewManagerApp::OnCompositorConnectionError() { 54 void ViewManagerApp::OnCompositorConnectionError() {
62 LOG(ERROR) << "Exiting due to compositor connection error."; 55 LOG(ERROR) << "Exiting due to compositor connection error.";
63 Shutdown(); 56 Shutdown();
64 } 57 }
65 58
66 void ViewManagerApp::Shutdown() { 59 void ViewManagerApp::Shutdown() {
67 app_impl_->Terminate(); 60 mojo::TerminateApplication(MOJO_RESULT_OK);
68 } 61 }
69 62
70 } // namespace view_manager 63 } // namespace view_manager
OLDNEW
« no previous file with comments | « services/ui/view_manager/view_manager_app.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698