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

Side by Side Diff: mojo/ui/base_view.cc

Issue 1991853003: Make BaseView et al. take an ApplicationConnector instead of an ApplicationImpl. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: doh Created 4 years, 7 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 | « mojo/ui/base_view.h ('k') | mojo/ui/ganesh_view.h » ('j') | 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 "mojo/ui/base_view.h" 5 #include "mojo/ui/base_view.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "mojo/public/cpp/application/connect.h" 8 #include "mojo/public/cpp/application/connect.h"
9 9
10 namespace mojo { 10 namespace mojo {
11 namespace ui { 11 namespace ui {
12 12
13 BaseView::BaseView( 13 BaseView::BaseView(InterfaceHandle<ApplicationConnector> app_connector,
14 mojo::ApplicationImpl* app_impl, 14 InterfaceRequest<ViewOwner> view_owner_request,
15 mojo::InterfaceRequest<mojo::ui::ViewOwner> view_owner_request, 15 const std::string& label)
16 const std::string& label) 16 : app_connector_(ApplicationConnectorPtr::Create(app_connector.Pass())),
17 : app_impl_(app_impl),
18 view_listener_binding_(this), 17 view_listener_binding_(this),
19 view_container_listener_binding_(this) { 18 view_container_listener_binding_(this) {
20 DCHECK(app_impl_); 19 DCHECK(app_connector_);
21 ConnectToService(app_impl_->shell(), "mojo:view_manager_service", 20 ConnectToService(app_connector_.get(), "mojo:view_manager_service",
22 mojo::GetProxy(&view_manager_)); 21 GetProxy(&view_manager_));
23 22
24 mojo::ui::ViewListenerPtr view_listener; 23 ViewListenerPtr view_listener;
25 view_listener_binding_.Bind(mojo::GetProxy(&view_listener)); 24 view_listener_binding_.Bind(GetProxy(&view_listener));
26 view_manager_->CreateView(mojo::GetProxy(&view_), view_owner_request.Pass(), 25 view_manager_->CreateView(GetProxy(&view_), view_owner_request.Pass(),
27 view_listener.Pass(), label); 26 view_listener.Pass(), label);
28 view_->CreateScene(mojo::GetProxy(&scene_)); 27 view_->CreateScene(GetProxy(&scene_));
29 } 28 }
30 29
31 BaseView::~BaseView() {} 30 BaseView::~BaseView() {}
32 31
33 mojo::ServiceProvider* BaseView::GetViewServiceProvider() { 32 ServiceProvider* BaseView::GetViewServiceProvider() {
34 if (!view_service_provider_) 33 if (!view_service_provider_)
35 view_->GetServiceProvider(mojo::GetProxy(&view_service_provider_)); 34 view_->GetServiceProvider(GetProxy(&view_service_provider_));
36 return view_service_provider_.get(); 35 return view_service_provider_.get();
37 } 36 }
38 37
39 mojo::ui::ViewContainer* BaseView::GetViewContainer() { 38 ViewContainer* BaseView::GetViewContainer() {
40 if (!view_container_) { 39 if (!view_container_) {
41 view_->GetContainer(mojo::GetProxy(&view_container_)); 40 view_->GetContainer(GetProxy(&view_container_));
42 mojo::ui::ViewContainerListenerPtr view_container_listener; 41 ViewContainerListenerPtr view_container_listener;
43 view_container_listener_binding_.Bind( 42 view_container_listener_binding_.Bind(GetProxy(&view_container_listener));
44 mojo::GetProxy(&view_container_listener));
45 view_container_->SetListener(view_container_listener.Pass()); 43 view_container_->SetListener(view_container_listener.Pass());
46 } 44 }
47 return view_container_.get(); 45 return view_container_.get();
48 } 46 }
49 47
50 void BaseView::OnPropertiesChanged(uint32_t old_scene_version, 48 void BaseView::OnPropertiesChanged(uint32_t old_scene_version,
51 mojo::ui::ViewPropertiesPtr old_properties) { 49 ViewPropertiesPtr old_properties) {}
52 }
53 50
54 void BaseView::OnChildAttached(uint32_t child_key, 51 void BaseView::OnChildAttached(uint32_t child_key,
55 mojo::ui::ViewInfoPtr child_view_info) {} 52 ViewInfoPtr child_view_info) {}
56 53
57 void BaseView::OnChildUnavailable(uint32_t child_key) {} 54 void BaseView::OnChildUnavailable(uint32_t child_key) {}
58 55
59 void BaseView::OnPropertiesChanged( 56 void BaseView::OnPropertiesChanged(
60 uint32_t scene_version, 57 uint32_t scene_version,
61 mojo::ui::ViewPropertiesPtr properties, 58 ViewPropertiesPtr properties,
62 const OnPropertiesChangedCallback& callback) { 59 const OnPropertiesChangedCallback& callback) {
63 DCHECK(properties); 60 DCHECK(properties);
64 DCHECK(properties->display_metrics); 61 DCHECK(properties->display_metrics);
65 DCHECK(properties->view_layout); 62 DCHECK(properties->view_layout);
66 DCHECK(properties->view_layout->size); 63 DCHECK(properties->view_layout->size);
67 64
68 uint32_t old_scene_version = scene_version_; 65 uint32_t old_scene_version = scene_version_;
69 mojo::ui::ViewPropertiesPtr old_properties = properties_.Pass(); 66 ViewPropertiesPtr old_properties = properties_.Pass();
70 scene_version_ = scene_version; 67 scene_version_ = scene_version;
71 properties_ = properties.Pass(); 68 properties_ = properties.Pass();
72 69
73 OnPropertiesChanged(old_scene_version, old_properties.Pass()); 70 OnPropertiesChanged(old_scene_version, old_properties.Pass());
74 callback.Run(); 71 callback.Run();
75 } 72 }
76 73
77 void BaseView::OnChildAttached(uint32_t child_key, 74 void BaseView::OnChildAttached(uint32_t child_key,
78 mojo::ui::ViewInfoPtr child_view_info, 75 ViewInfoPtr child_view_info,
79 const OnChildUnavailableCallback& callback) { 76 const OnChildUnavailableCallback& callback) {
80 DCHECK(child_view_info); 77 DCHECK(child_view_info);
81 78
82 OnChildAttached(child_key, child_view_info.Pass()); 79 OnChildAttached(child_key, child_view_info.Pass());
83 callback.Run(); 80 callback.Run();
84 } 81 }
85 82
86 void BaseView::OnChildUnavailable(uint32_t child_key, 83 void BaseView::OnChildUnavailable(uint32_t child_key,
87 const OnChildUnavailableCallback& callback) { 84 const OnChildUnavailableCallback& callback) {
88 OnChildUnavailable(child_key); 85 OnChildUnavailable(child_key);
89 callback.Run(); 86 callback.Run();
90 } 87 }
91 88
92 } // namespace ui 89 } // namespace ui
93 } // namespace mojo 90 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/ui/base_view.h ('k') | mojo/ui/ganesh_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698