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

Side by Side Diff: athena/virtual_keyboard/virtual_keyboard_manager_impl.cc

Issue 328303008: athena: Use mojo to provide the bindings for the virtual keyboard. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tot-merge Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 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 "athena/virtual_keyboard/public/virtual_keyboard_manager.h" 5 #include "athena/virtual_keyboard/public/virtual_keyboard_manager.h"
6 6
7 #include "athena/common/container_priorities.h" 7 #include "athena/common/container_priorities.h"
8 #include "athena/common/fill_layout_manager.h" 8 #include "athena/common/fill_layout_manager.h"
9 #include "athena/screen/public/screen_manager.h" 9 #include "athena/screen/public/screen_manager.h"
10 #include "athena/virtual_keyboard/vk_webui_controller.h"
11 #include "base/bind.h" 10 #include "base/bind.h"
12 #include "base/memory/singleton.h" 11 #include "base/memory/singleton.h"
13 #include "base/values.h" 12 #include "base/values.h"
14 #include "content/public/browser/browser_context.h" 13 #include "content/public/browser/browser_context.h"
15 #include "ui/aura/client/aura_constants.h" 14 #include "ui/aura/client/aura_constants.h"
16 #include "ui/aura/layout_manager.h" 15 #include "ui/aura/layout_manager.h"
17 #include "ui/aura/window.h" 16 #include "ui/aura/window.h"
18 #include "ui/keyboard/keyboard.h" 17 #include "ui/keyboard/keyboard.h"
19 #include "ui/keyboard/keyboard_constants.h" 18 #include "ui/keyboard/keyboard_constants.h"
20 #include "ui/keyboard/keyboard_controller.h" 19 #include "ui/keyboard/keyboard_controller.h"
(...skipping 23 matching lines...) Expand all
44 43
45 virtual void RequestAudioInput( 44 virtual void RequestAudioInput(
46 content::WebContents* web_contents, 45 content::WebContents* web_contents,
47 const content::MediaStreamRequest& request, 46 const content::MediaStreamRequest& request,
48 const content::MediaResponseCallback& callback) OVERRIDE {} 47 const content::MediaResponseCallback& callback) OVERRIDE {}
49 48
50 virtual content::BrowserContext* GetBrowserContext() OVERRIDE { 49 virtual content::BrowserContext* GetBrowserContext() OVERRIDE {
51 return browser_context_; 50 return browser_context_;
52 } 51 }
53 52
53 virtual void SetUpdateInputType(ui::TextInputType type) OVERRIDE {}
54
54 private: 55 private:
55 content::BrowserContext* browser_context_; 56 content::BrowserContext* browser_context_;
56 aura::Window* root_window_; 57 aura::Window* root_window_;
57 58
58 DISALLOW_COPY_AND_ASSIGN(BasicKeyboardControllerProxy); 59 DISALLOW_COPY_AND_ASSIGN(BasicKeyboardControllerProxy);
59 }; 60 };
60 61
61 class VirtualKeyboardManagerImpl : public VirtualKeyboardManager { 62 class VirtualKeyboardManagerImpl : public VirtualKeyboardManager {
62 public: 63 public:
63 explicit VirtualKeyboardManagerImpl(content::BrowserContext* browser_context) 64 explicit VirtualKeyboardManagerImpl(content::BrowserContext* browser_context)
(...skipping 10 matching lines...) Expand all
74 75
75 keyboard::KeyboardController::ResetInstance(NULL); 76 keyboard::KeyboardController::ResetInstance(NULL);
76 } 77 }
77 78
78 private: 79 private:
79 void Init() { 80 void Init() {
80 athena::ScreenManager::ContainerParams params("VirtualKeyboardContainer", 81 athena::ScreenManager::ContainerParams params("VirtualKeyboardContainer",
81 CP_VIRTUAL_KEYBOARD); 82 CP_VIRTUAL_KEYBOARD);
82 container_ = athena::ScreenManager::Get()->CreateContainer(params); 83 container_ = athena::ScreenManager::Get()->CreateContainer(params);
83 container_->SetLayoutManager(new FillLayoutManager(container_)); 84 container_->SetLayoutManager(new FillLayoutManager(container_));
84 keyboard::SetOverrideContentUrl(GURL(keyboard::kKeyboardURL));
85 85
86 keyboard_controller_.reset(new keyboard::KeyboardController( 86 keyboard_controller_.reset(new keyboard::KeyboardController(
87 new BasicKeyboardControllerProxy(browser_context_, 87 new BasicKeyboardControllerProxy(browser_context_,
88 container_->GetRootWindow()))); 88 container_->GetRootWindow())));
89 keyboard::KeyboardController::ResetInstance(keyboard_controller_.get()); 89 keyboard::KeyboardController::ResetInstance(keyboard_controller_.get());
90 aura::Window* kb_container = keyboard_controller_->GetContainerWindow(); 90 aura::Window* kb_container = keyboard_controller_->GetContainerWindow();
91 container_->AddChild(kb_container); 91 container_->AddChild(kb_container);
92 kb_container->Show(); 92 kb_container->Show();
93
94 content::WebUIControllerFactory::RegisterFactory(
95 VKWebUIControllerFactory::GetInstance());
96 } 93 }
97 94
98 content::BrowserContext* browser_context_; 95 content::BrowserContext* browser_context_;
99 aura::Window* container_; 96 aura::Window* container_;
100 scoped_ptr<keyboard::KeyboardController> keyboard_controller_; 97 scoped_ptr<keyboard::KeyboardController> keyboard_controller_;
101 98
102 DISALLOW_COPY_AND_ASSIGN(VirtualKeyboardManagerImpl); 99 DISALLOW_COPY_AND_ASSIGN(VirtualKeyboardManagerImpl);
103 }; 100 };
104 101
105 } // namespace 102 } // namespace
106 103
107 // static 104 // static
108 VirtualKeyboardManager* VirtualKeyboardManager::Create( 105 VirtualKeyboardManager* VirtualKeyboardManager::Create(
109 content::BrowserContext* browser_context) { 106 content::BrowserContext* browser_context) {
110 CHECK(!instance); 107 CHECK(!instance);
111 keyboard::InitializeKeyboard(); 108 keyboard::InitializeKeyboard();
112 keyboard::SetTouchKeyboardEnabled(true); 109 keyboard::SetTouchKeyboardEnabled(true);
110 keyboard::InitializeWebUIBindings();
111
113 new VirtualKeyboardManagerImpl(browser_context); 112 new VirtualKeyboardManagerImpl(browser_context);
114 CHECK(instance); 113 CHECK(instance);
115 return instance; 114 return instance;
116 } 115 }
117 116
118 VirtualKeyboardManager* VirtualKeyboardManager::Get() { 117 VirtualKeyboardManager* VirtualKeyboardManager::Get() {
119 return instance; 118 return instance;
120 } 119 }
121 120
122 void VirtualKeyboardManager::Shutdown() { 121 void VirtualKeyboardManager::Shutdown() {
123 CHECK(instance); 122 CHECK(instance);
124 delete instance; 123 delete instance;
125 CHECK(!instance); 124 CHECK(!instance);
126 } 125 }
127 126
128 } // namespace athena 127 } // namespace athena
OLDNEW
« no previous file with comments | « athena/virtual_keyboard/virtual_keyboard_bindings_impl.cc ('k') | athena/virtual_keyboard/vk_message_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698