Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "base/bind.h" | |
| 6 #include "mojo/public/cpp/application/application_connection.h" | |
| 7 #include "mojo/public/cpp/application/application_delegate.h" | |
| 8 #include "mojo/public/cpp/application/application_impl.h" | |
| 9 #include "mojo/services/public/cpp/view_manager/node.h" | |
| 10 #include "mojo/services/public/cpp/view_manager/view.h" | |
| 11 #include "mojo/services/public/cpp/view_manager/view_manager.h" | |
| 12 #include "mojo/services/public/cpp/view_manager/view_manager_delegate.h" | |
| 13 #include "mojo/services/public/interfaces/view_manager/view_manager.mojom.h" | |
| 14 | |
| 15 namespace examples { | |
| 16 namespace { | |
| 17 void ConnectCallback(bool success) {} | |
| 18 | |
| 19 const SkColor kColors[] = { SK_ColorRED, SK_ColorGREEN, SK_ColorYELLOW }; | |
| 20 | |
| 21 } // namespace | |
| 22 | |
| 23 class WMFlowApp : public mojo::ApplicationDelegate, | |
|
sky
2014/07/24 16:43:27
Please add descriptions to your classes. It helps
| |
| 24 public mojo::view_manager::ViewManagerDelegate { | |
| 25 public: | |
| 26 WMFlowApp() : embed_count_(0) {} | |
| 27 virtual ~WMFlowApp() {} | |
| 28 | |
| 29 private: | |
| 30 // Overridden from Application: | |
| 31 virtual void Initialize(mojo::ApplicationImpl* app) MOJO_OVERRIDE { | |
| 32 mojo::view_manager::ViewManagerInitServicePtr init_svc; | |
| 33 app->ConnectToService("mojo:mojo_view_manager", &init_svc); | |
| 34 init_svc->Embed("mojo:mojo_wm_flow_app", base::Bind(&ConnectCallback)); | |
| 35 init_svc->Embed("mojo:mojo_wm_flow_app", base::Bind(&ConnectCallback)); | |
| 36 init_svc->Embed("mojo:mojo_wm_flow_app", base::Bind(&ConnectCallback)); | |
| 37 } | |
| 38 virtual bool ConfigureIncomingConnection( | |
| 39 mojo::ApplicationConnection* connection) MOJO_OVERRIDE { | |
| 40 mojo::view_manager::ViewManager::ConfigureIncomingConnection( | |
| 41 connection, this); | |
| 42 return true; | |
| 43 } | |
| 44 | |
| 45 void OnConnect(bool success) {} | |
| 46 | |
| 47 // Overridden from mojo::view_manager::ViewManagerDelegate: | |
| 48 virtual void OnRootAdded(mojo::view_manager::ViewManager* view_manager, | |
| 49 mojo::view_manager::Node* root) MOJO_OVERRIDE { | |
| 50 mojo::view_manager::View* view = | |
| 51 mojo::view_manager::View::Create(view_manager); | |
| 52 root->SetActiveView(view); | |
| 53 view->SetColor(kColors[embed_count_++ % arraysize(kColors)]); | |
| 54 } | |
| 55 virtual void OnViewManagerDisconnected( | |
| 56 mojo::view_manager::ViewManager* view_manager) MOJO_OVERRIDE {} | |
| 57 | |
| 58 int embed_count_; | |
| 59 | |
| 60 DISALLOW_COPY_AND_ASSIGN(WMFlowApp); | |
| 61 }; | |
| 62 | |
| 63 } // namespace examples | |
| 64 | |
| 65 namespace mojo { | |
| 66 | |
| 67 // static | |
| 68 ApplicationDelegate* ApplicationDelegate::Create() { | |
| 69 return new examples::WMFlowApp; | |
| 70 } | |
| 71 | |
| 72 } // namespace | |
| OLD | NEW |