| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "chrome/browser/ui/ash/ash_keyboard_controller_proxy.h" | 5 #include "chrome/browser/ui/ash/ash_keyboard_controller_proxy.h" |
| 6 | 6 |
| 7 #include "ash/display/display_controller.h" | 7 #include "ash/display/display_controller.h" |
| 8 #include "ash/shell.h" | 8 #include "ash/shell.h" |
| 9 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h" | 9 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h" |
| 10 #include "chrome/browser/media/media_capture_devices_dispatcher.h" | 10 #include "chrome/browser/media/media_capture_devices_dispatcher.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 | 29 |
| 30 namespace virtual_keyboard_private = | 30 namespace virtual_keyboard_private = |
| 31 extensions::core_api::virtual_keyboard_private; | 31 extensions::core_api::virtual_keyboard_private; |
| 32 | 32 |
| 33 typedef virtual_keyboard_private::OnTextInputBoxFocused::Context Context; | 33 typedef virtual_keyboard_private::OnTextInputBoxFocused::Context Context; |
| 34 | 34 |
| 35 namespace { | 35 namespace { |
| 36 | 36 |
| 37 const char* kVirtualKeyboardExtensionID = "mppnpdlheglhdfmldimlhpnegondlapf"; | 37 const char* kVirtualKeyboardExtensionID = "mppnpdlheglhdfmldimlhpnegondlapf"; |
| 38 | 38 |
| 39 Context::Type TextInputTypeToGeneratedInputTypeEnum(ui::TextInputType type) { | 39 virtual_keyboard_private::OnTextInputBoxFocusedType |
| 40 TextInputTypeToGeneratedInputTypeEnum(ui::TextInputType type) { |
| 40 switch (type) { | 41 switch (type) { |
| 41 case ui::TEXT_INPUT_TYPE_NONE: | 42 case ui::TEXT_INPUT_TYPE_NONE: |
| 42 return Context::TYPE_NONE; | 43 return virtual_keyboard_private::ON_TEXT_INPUT_BOX_FOCUSED_TYPE_NONE; |
| 43 case ui::TEXT_INPUT_TYPE_PASSWORD: | 44 case ui::TEXT_INPUT_TYPE_PASSWORD: |
| 44 return Context::TYPE_PASSWORD; | 45 return virtual_keyboard_private::ON_TEXT_INPUT_BOX_FOCUSED_TYPE_PASSWORD; |
| 45 case ui::TEXT_INPUT_TYPE_EMAIL: | 46 case ui::TEXT_INPUT_TYPE_EMAIL: |
| 46 return Context::TYPE_EMAIL; | 47 return virtual_keyboard_private::ON_TEXT_INPUT_BOX_FOCUSED_TYPE_EMAIL; |
| 47 case ui::TEXT_INPUT_TYPE_NUMBER: | 48 case ui::TEXT_INPUT_TYPE_NUMBER: |
| 48 return Context::TYPE_NUMBER; | 49 return virtual_keyboard_private::ON_TEXT_INPUT_BOX_FOCUSED_TYPE_NUMBER; |
| 49 case ui::TEXT_INPUT_TYPE_TELEPHONE: | 50 case ui::TEXT_INPUT_TYPE_TELEPHONE: |
| 50 return Context::TYPE_TEL; | 51 return virtual_keyboard_private::ON_TEXT_INPUT_BOX_FOCUSED_TYPE_TEL; |
| 51 case ui::TEXT_INPUT_TYPE_URL: | 52 case ui::TEXT_INPUT_TYPE_URL: |
| 52 return Context::TYPE_URL; | 53 return virtual_keyboard_private::ON_TEXT_INPUT_BOX_FOCUSED_TYPE_URL; |
| 53 case ui::TEXT_INPUT_TYPE_DATE: | 54 case ui::TEXT_INPUT_TYPE_DATE: |
| 54 return Context::TYPE_DATE; | 55 return virtual_keyboard_private::ON_TEXT_INPUT_BOX_FOCUSED_TYPE_DATE; |
| 55 case ui::TEXT_INPUT_TYPE_TEXT: | 56 case ui::TEXT_INPUT_TYPE_TEXT: |
| 56 case ui::TEXT_INPUT_TYPE_SEARCH: | 57 case ui::TEXT_INPUT_TYPE_SEARCH: |
| 57 case ui::TEXT_INPUT_TYPE_DATE_TIME: | 58 case ui::TEXT_INPUT_TYPE_DATE_TIME: |
| 58 case ui::TEXT_INPUT_TYPE_DATE_TIME_LOCAL: | 59 case ui::TEXT_INPUT_TYPE_DATE_TIME_LOCAL: |
| 59 case ui::TEXT_INPUT_TYPE_MONTH: | 60 case ui::TEXT_INPUT_TYPE_MONTH: |
| 60 case ui::TEXT_INPUT_TYPE_TIME: | 61 case ui::TEXT_INPUT_TYPE_TIME: |
| 61 case ui::TEXT_INPUT_TYPE_WEEK: | 62 case ui::TEXT_INPUT_TYPE_WEEK: |
| 62 case ui::TEXT_INPUT_TYPE_TEXT_AREA: | 63 case ui::TEXT_INPUT_TYPE_TEXT_AREA: |
| 63 case ui::TEXT_INPUT_TYPE_CONTENT_EDITABLE: | 64 case ui::TEXT_INPUT_TYPE_CONTENT_EDITABLE: |
| 64 case ui::TEXT_INPUT_TYPE_DATE_TIME_FIELD: | 65 case ui::TEXT_INPUT_TYPE_DATE_TIME_FIELD: |
| 65 return Context::TYPE_TEXT; | 66 return virtual_keyboard_private::ON_TEXT_INPUT_BOX_FOCUSED_TYPE_TEXT; |
| 66 } | 67 } |
| 67 NOTREACHED(); | 68 NOTREACHED(); |
| 68 return Context::TYPE_NONE; | 69 return virtual_keyboard_private::ON_TEXT_INPUT_BOX_FOCUSED_TYPE_NONE; |
| 69 } | 70 } |
| 70 | 71 |
| 71 } // namespace | 72 } // namespace |
| 72 | 73 |
| 73 AshKeyboardControllerProxy::AshKeyboardControllerProxy( | 74 AshKeyboardControllerProxy::AshKeyboardControllerProxy( |
| 74 content::BrowserContext* context) | 75 content::BrowserContext* context) |
| 75 : keyboard::KeyboardControllerProxy(context) { | 76 : keyboard::KeyboardControllerProxy(context) { |
| 76 } | 77 } |
| 77 | 78 |
| 78 AshKeyboardControllerProxy::~AshKeyboardControllerProxy() {} | 79 AshKeyboardControllerProxy::~AshKeyboardControllerProxy() {} |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 extensions::EventRouter::Get(browser_context()); | 165 extensions::EventRouter::Get(browser_context()); |
| 165 | 166 |
| 166 if (!router->HasEventListener( | 167 if (!router->HasEventListener( |
| 167 virtual_keyboard_private::OnTextInputBoxFocused::kEventName)) { | 168 virtual_keyboard_private::OnTextInputBoxFocused::kEventName)) { |
| 168 return; | 169 return; |
| 169 } | 170 } |
| 170 | 171 |
| 171 scoped_ptr<base::ListValue> event_args(new base::ListValue()); | 172 scoped_ptr<base::ListValue> event_args(new base::ListValue()); |
| 172 scoped_ptr<base::DictionaryValue> input_context(new base::DictionaryValue()); | 173 scoped_ptr<base::DictionaryValue> input_context(new base::DictionaryValue()); |
| 173 input_context->SetString("type", | 174 input_context->SetString("type", |
| 174 Context::ToString(TextInputTypeToGeneratedInputTypeEnum(type))); | 175 virtual_keyboard_private::ToString( |
| 176 TextInputTypeToGeneratedInputTypeEnum(type))); |
| 175 event_args->Append(input_context.release()); | 177 event_args->Append(input_context.release()); |
| 176 | 178 |
| 177 scoped_ptr<extensions::Event> event(new extensions::Event( | 179 scoped_ptr<extensions::Event> event(new extensions::Event( |
| 178 virtual_keyboard_private::OnTextInputBoxFocused::kEventName, | 180 virtual_keyboard_private::OnTextInputBoxFocused::kEventName, |
| 179 event_args.Pass())); | 181 event_args.Pass())); |
| 180 event->restrict_to_browser_context = browser_context(); | 182 event->restrict_to_browser_context = browser_context(); |
| 181 router->DispatchEventToExtension(kVirtualKeyboardExtensionID, event.Pass()); | 183 router->DispatchEventToExtension(kVirtualKeyboardExtensionID, event.Pass()); |
| 182 } | 184 } |
| OLD | NEW |