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

Unified Diff: mojo/examples/keyboard/keyboard.cc

Issue 684543003: Move //mojo/examples to //examples (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/examples/keyboard/DEPS ('k') | mojo/examples/keyboard/keyboard.mojom » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/examples/keyboard/keyboard.cc
diff --git a/mojo/examples/keyboard/keyboard.cc b/mojo/examples/keyboard/keyboard.cc
deleted file mode 100644
index d08b6edb245a91d90168768aff00c5ef10979c95..0000000000000000000000000000000000000000
--- a/mojo/examples/keyboard/keyboard.cc
+++ /dev/null
@@ -1,156 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/macros.h"
-#include "base/strings/string_util.h"
-#include "base/strings/utf_string_conversions.h"
-#include "mojo/application/application_runner_chromium.h"
-#include "mojo/examples/keyboard/keyboard.mojom.h"
-#include "mojo/examples/keyboard/keyboard_delegate.h"
-#include "mojo/examples/keyboard/keyboard_view.h"
-#include "mojo/public/c/system/main.h"
-#include "mojo/public/cpp/application/application_connection.h"
-#include "mojo/public/cpp/application/application_delegate.h"
-#include "mojo/public/cpp/application/application_impl.h"
-#include "mojo/public/cpp/application/interface_factory_impl.h"
-#include "mojo/services/public/cpp/view_manager/view.h"
-#include "mojo/services/public/cpp/view_manager/view_manager.h"
-#include "mojo/services/public/cpp/view_manager/view_manager_client_factory.h"
-#include "mojo/services/public/cpp/view_manager/view_manager_delegate.h"
-#include "mojo/services/public/interfaces/navigation/navigation.mojom.h"
-#include "mojo/views/native_widget_view_manager.h"
-#include "mojo/views/views_init.h"
-#include "ui/events/event.h"
-#include "ui/views/layout/fill_layout.h"
-#include "ui/views/widget/widget.h"
-#include "ui/views/widget/widget_delegate.h"
-#include "url/gurl.h"
-
-namespace mojo {
-namespace examples {
-
-class Keyboard;
-
-class KeyboardServiceImpl : public InterfaceImpl<KeyboardService> {
- public:
- explicit KeyboardServiceImpl(Keyboard* keyboard);
- virtual ~KeyboardServiceImpl() {}
-
- // KeyboardService:
- virtual void SetTarget(uint32_t view_id) override;
-
- private:
- Keyboard* keyboard_;
-
- DISALLOW_COPY_AND_ASSIGN(KeyboardServiceImpl);
-};
-
-class Keyboard : public ApplicationDelegate,
- public ViewManagerDelegate,
- public KeyboardDelegate {
- public:
- Keyboard()
- : shell_(nullptr),
- keyboard_service_factory_(this),
- view_manager_(NULL),
- keyboard_service_(NULL),
- target_(0) {}
-
- virtual ~Keyboard() {
- }
-
- void set_target(Id id) { target_ = id; }
-
- void set_keyboard_service(KeyboardServiceImpl* keyboard) {
- keyboard_service_ = keyboard;
- }
-
- private:
- // Overridden from ApplicationDelegate:
- virtual void Initialize(ApplicationImpl* app) override {
- shell_ = app->shell();
- view_manager_client_factory_.reset(
- new ViewManagerClientFactory(shell_, this));
- }
-
- virtual bool ConfigureIncomingConnection(
- ApplicationConnection* connection) override {
- views_init_.reset(new ViewsInit);
- connection->AddService(view_manager_client_factory_.get());
- connection->AddService(&keyboard_service_factory_);
- return true;
- }
-
- void CreateWidget(View* view) {
- views::WidgetDelegateView* widget_delegate = new views::WidgetDelegateView;
- widget_delegate->GetContentsView()->AddChildView(new KeyboardView(this));
- widget_delegate->GetContentsView()->SetLayoutManager(new views::FillLayout);
-
- views::Widget* widget = new views::Widget;
- views::Widget::InitParams params(
- views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
- params.native_widget = new NativeWidgetViewManager(widget, shell_, view);
- params.delegate = widget_delegate;
- params.bounds = gfx::Rect(view->bounds().width, view->bounds().height);
- widget->Init(params);
- widget->Show();
- }
-
- // ViewManagerDelegate:
- virtual void OnEmbed(ViewManager* view_manager,
- View* root,
- ServiceProviderImpl* exported_services,
- scoped_ptr<ServiceProvider> imported_services) override {
- // TODO: deal with OnEmbed() being invoked multiple times.
- view_manager_ = view_manager;
- CreateWidget(root);
- }
- virtual void OnViewManagerDisconnected(
- ViewManager* view_manager) override {
- DCHECK_EQ(view_manager_, view_manager);
- view_manager_ = NULL;
- base::MessageLoop::current()->Quit();
- }
-
- // KeyboardDelegate:
- virtual void OnKeyPressed(int key_code, int event_flags) override {
- if (!target_)
- return;
- keyboard_service_->client()->OnKeyboardEvent(target_, key_code,
- event_flags);
- }
-
- Shell* shell_;
-
- InterfaceFactoryImplWithContext<KeyboardServiceImpl, Keyboard>
- keyboard_service_factory_;
-
- scoped_ptr<ViewsInit> views_init_;
-
- ViewManager* view_manager_;
- scoped_ptr<ViewManagerClientFactory> view_manager_client_factory_;
-
- KeyboardServiceImpl* keyboard_service_;
-
- Id target_;
-
- DISALLOW_COPY_AND_ASSIGN(Keyboard);
-};
-
-KeyboardServiceImpl::KeyboardServiceImpl(Keyboard* keyboard)
- : keyboard_(keyboard) {
- keyboard_->set_keyboard_service(this);
-}
-
-void KeyboardServiceImpl::SetTarget(uint32_t view_id) {
- keyboard_->set_target(view_id);
-}
-
-} // namespace examples
-} // namespace mojo
-
-MojoResult MojoMain(MojoHandle shell_handle) {
- mojo::ApplicationRunnerChromium runner(new mojo::examples::Keyboard);
- return runner.Run(shell_handle);
-}
« no previous file with comments | « mojo/examples/keyboard/DEPS ('k') | mojo/examples/keyboard/keyboard.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698