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

Side by Side Diff: ui/keyboard/keyboard_util.cc

Issue 1392713002: Extract content dependency from keyboard code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 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 unified diff | Download patch
« no previous file with comments | « ui/keyboard/keyboard_util.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "ui/keyboard/keyboard_util.h" 5 #include "ui/keyboard/keyboard_util.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/lazy_instance.h" 11 #include "base/lazy_instance.h"
12 #include "base/logging.h" 12 #include "base/logging.h"
13 #include "base/metrics/histogram.h" 13 #include "base/metrics/histogram.h"
14 #include "base/strings/string16.h" 14 #include "base/strings/string16.h"
15 #include "grit/keyboard_resources.h"
16 #include "grit/keyboard_resources_map.h"
17 #include "media/audio/audio_manager.h" 15 #include "media/audio/audio_manager.h"
18 #include "ui/aura/client/aura_constants.h" 16 #include "ui/aura/client/aura_constants.h"
19 #include "ui/aura/window_tree_host.h" 17 #include "ui/aura/window_tree_host.h"
20 #include "ui/base/ime/input_method.h" 18 #include "ui/base/ime/input_method.h"
21 #include "ui/base/ime/text_input_client.h" 19 #include "ui/base/ime/text_input_client.h"
22 #include "ui/events/event_processor.h" 20 #include "ui/events/event_processor.h"
23 #include "ui/events/event_utils.h" 21 #include "ui/events/event_utils.h"
24 #include "ui/events/keycodes/dom/dom_code.h" 22 #include "ui/events/keycodes/dom/dom_code.h"
25 #include "ui/events/keycodes/dom/dom_key.h" 23 #include "ui/events/keycodes/dom/dom_key.h"
26 #include "ui/events/keycodes/dom/keycode_converter.h" 24 #include "ui/events/keycodes/dom/keycode_converter.h"
27 #include "ui/events/keycodes/keyboard_code_conversion.h" 25 #include "ui/events/keycodes/keyboard_code_conversion.h"
28 #include "ui/keyboard/keyboard_controller.h" 26 #include "ui/keyboard/keyboard_controller.h"
29 #include "ui/keyboard/keyboard_controller_proxy.h"
30 #include "ui/keyboard/keyboard_switches.h" 27 #include "ui/keyboard/keyboard_switches.h"
31 #include "url/gurl.h" 28 #include "ui/keyboard/keyboard_ui.h"
32 29
33 namespace { 30 namespace {
34 31
35 const char kKeyDown[] ="keydown"; 32 const char kKeyDown[] ="keydown";
36 const char kKeyUp[] = "keyup"; 33 const char kKeyUp[] = "keyup";
37 34
38 void SendProcessKeyEvent(ui::EventType type, 35 void SendProcessKeyEvent(ui::EventType type,
39 aura::WindowTreeHost* host) { 36 aura::WindowTreeHost* host) {
40 ui::KeyEvent event(type, ui::VKEY_PROCESSKEY, ui::DomCode::NONE, 37 ui::KeyEvent event(type, ui::VKEY_PROCESSKEY, ui::DomCode::NONE,
41 ui::EF_IS_SYNTHESIZED, ui::DomKey::PROCESS, 38 ui::EF_IS_SYNTHESIZED, ui::DomKey::PROCESS,
42 ui::EventTimeForNow()); 39 ui::EventTimeForNow());
43 ui::EventDispatchDetails details = 40 ui::EventDispatchDetails details =
44 host->event_processor()->OnEventFromSource(&event); 41 host->event_processor()->OnEventFromSource(&event);
45 CHECK(!details.dispatcher_destroyed); 42 CHECK(!details.dispatcher_destroyed);
46 } 43 }
47 44
48 base::LazyInstance<base::Time> g_keyboard_load_time_start = 45 base::LazyInstance<base::Time> g_keyboard_load_time_start =
49 LAZY_INSTANCE_INITIALIZER; 46 LAZY_INSTANCE_INITIALIZER;
50 47
51 bool g_accessibility_keyboard_enabled = false; 48 bool g_accessibility_keyboard_enabled = false;
52 49
53 bool g_hotrod_keyboard_enabled = false; 50 bool g_hotrod_keyboard_enabled = false;
54 51
55 base::LazyInstance<GURL> g_override_content_url = LAZY_INSTANCE_INITIALIZER;
56
57 bool g_touch_keyboard_enabled = false; 52 bool g_touch_keyboard_enabled = false;
58 53
59 keyboard::KeyboardState g_requested_keyboard_state = 54 keyboard::KeyboardState g_requested_keyboard_state =
60 keyboard::KEYBOARD_STATE_AUTO; 55 keyboard::KEYBOARD_STATE_AUTO;
61 56
62 keyboard::KeyboardOverscrolOverride g_keyboard_overscroll_override = 57 keyboard::KeyboardOverscrolOverride g_keyboard_overscroll_override =
63 keyboard::KEYBOARD_OVERSCROLL_OVERRIDE_NONE; 58 keyboard::KEYBOARD_OVERSCROLL_OVERRIDE_NONE;
64 59
65 keyboard::KeyboardShowOverride g_keyboard_show_override = 60 keyboard::KeyboardShowOverride g_keyboard_show_override =
66 keyboard::KEYBOARD_SHOW_OVERRIDE_NONE; 61 keyboard::KEYBOARD_SHOW_OVERRIDE_NONE;
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 return media::AudioManager::Get()->HasAudioInputDevices() && 211 return media::AudioManager::Get()->HasAudioInputDevices() &&
217 !base::CommandLine::ForCurrentProcess()->HasSwitch( 212 !base::CommandLine::ForCurrentProcess()->HasSwitch(
218 switches::kDisableVoiceInput); 213 switches::kDisableVoiceInput);
219 } 214 }
220 215
221 bool InsertText(const base::string16& text) { 216 bool InsertText(const base::string16& text) {
222 keyboard::KeyboardController* controller = KeyboardController::GetInstance(); 217 keyboard::KeyboardController* controller = KeyboardController::GetInstance();
223 if (!controller) 218 if (!controller)
224 return false; 219 return false;
225 220
226 ui::InputMethod* input_method = controller->proxy()->GetInputMethod(); 221 ui::InputMethod* input_method = controller->ui()->GetInputMethod();
227 if (!input_method) 222 if (!input_method)
228 return false; 223 return false;
229 224
230 ui::TextInputClient* tic = input_method->GetTextInputClient(); 225 ui::TextInputClient* tic = input_method->GetTextInputClient();
231 if (!tic || tic->GetTextInputType() == ui::TEXT_INPUT_TYPE_NONE) 226 if (!tic || tic->GetTextInputType() == ui::TEXT_INPUT_TYPE_NONE)
232 return false; 227 return false;
233 228
234 tic->InsertText(text); 229 tic->InsertText(text);
235 230
236 return true; 231 return true;
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 static bool logged = false; 378 static bool logged = false;
384 if (!logged) { 379 if (!logged) {
385 // Log the delta only once. 380 // Log the delta only once.
386 UMA_HISTOGRAM_TIMES( 381 UMA_HISTOGRAM_TIMES(
387 "VirtualKeyboard.FirstLoadTime", 382 "VirtualKeyboard.FirstLoadTime",
388 base::Time::Now() - g_keyboard_load_time_start.Get()); 383 base::Time::Now() - g_keyboard_load_time_start.Get());
389 logged = true; 384 logged = true;
390 } 385 }
391 } 386 }
392 387
393 const GritResourceMap* GetKeyboardExtensionResources(size_t* size) {
394 // This looks a lot like the contents of a resource map; however it is
395 // necessary to have a custom path for the extension path, so the resource
396 // map cannot be used directly.
397 static const GritResourceMap kKeyboardResources[] = {
398 {"keyboard/locales/en.js", IDR_KEYBOARD_LOCALES_EN},
399 {"keyboard/config/emoji.js", IDR_KEYBOARD_CONFIG_EMOJI},
400 {"keyboard/config/hwt.js", IDR_KEYBOARD_CONFIG_HWT},
401 {"keyboard/config/us.js", IDR_KEYBOARD_CONFIG_US},
402 {"keyboard/emoji.css", IDR_KEYBOARD_CSS_EMOJI},
403 {"keyboard/images/3dots.png", IDR_KEYBOARD_IMAGES_3_DOTS},
404 {"keyboard/images/back_to_keyboard.png",
405 IDR_KEYBOARD_IMAGES_BACK_TO_KEYBOARD},
406 {"keyboard/images/backspace.png", IDR_KEYBOARD_IMAGES_BACKSPACE},
407 {"keyboard/images/car.png", IDR_KEYBOARD_IMAGES_CAR},
408 {"keyboard/images/check.png", IDR_KEYBOARD_IMAGES_CHECK},
409 {"keyboard/images/check_in_menu.png", IDR_KEYBOARD_IMAGES_CHECK_IN_MENU},
410 {"keyboard/images/compact.png", IDR_KEYBOARD_IMAGES_COMPACT},
411 {"keyboard/images/down.png", IDR_KEYBOARD_IMAGES_DOWN},
412 {"keyboard/images/emoji.png", IDR_KEYBOARD_IMAGES_EMOJI},
413 {"keyboard/images/emoji_car.png", IDR_KEYBOARD_IMAGES_EMOJI_CAR},
414 {"keyboard/images/emoji_crown.png", IDR_KEYBOARD_IMAGES_EMOJI_CROWN},
415 {"keyboard/images/emoji_emoticon.png",
416 IDR_KEYBOARD_IMAGES_EMOJI_EMOTICON},
417 {"keyboard/images/emoji_flower.png", IDR_KEYBOARD_IMAGES_EMOJI_FLOWER},
418 {"keyboard/images/emoji_hot.png", IDR_KEYBOARD_IMAGES_EMOJI_HOT},
419 {"keyboard/images/emoji_recent.png", IDR_KEYBOARD_IMAGES_EMOJI_RECENT},
420 {"keyboard/images/emoji_shape.png", IDR_KEYBOARD_IMAGES_EMOJI_SHAPE},
421 {"keyboard/images/emoji_cat_items.png", IDR_KEYBOARD_IMAGES_CAT},
422 {"keyboard/images/emoticon.png", IDR_KEYBOARD_IMAGES_EMOTICON},
423 {"keyboard/images/enter.png", IDR_KEYBOARD_IMAGES_RETURN},
424 {"keyboard/images/error.png", IDR_KEYBOARD_IMAGES_ERROR},
425 {"keyboard/images/favorit.png", IDR_KEYBOARD_IMAGES_FAVORITE},
426 {"keyboard/images/flower.png", IDR_KEYBOARD_IMAGES_FLOWER},
427 {"keyboard/images/globe.png", IDR_KEYBOARD_IMAGES_GLOBE},
428 {"keyboard/images/hide.png", IDR_KEYBOARD_IMAGES_HIDE},
429 {"keyboard/images/hidekeyboard.png", IDR_KEYBOARD_IMAGES_HIDE_KEYBOARD},
430 {"keyboard/images/keyboard.svg", IDR_KEYBOARD_IMAGES_KEYBOARD},
431 {"keyboard/images/left.png", IDR_KEYBOARD_IMAGES_LEFT},
432 {"keyboard/images/penci.png", IDR_KEYBOARD_IMAGES_PENCIL},
433 {"keyboard/images/recent.png", IDR_KEYBOARD_IMAGES_RECENT},
434 {"keyboard/images/regular_size.png", IDR_KEYBOARD_IMAGES_FULLSIZE},
435 {"keyboard/images/menu.png", IDR_KEYBOARD_IMAGES_MENU},
436 {"keyboard/images/pencil.png", IDR_KEYBOARD_IMAGES_PENCIL},
437 {"keyboard/images/right.png", IDR_KEYBOARD_IMAGES_RIGHT},
438 {"keyboard/images/search.png", IDR_KEYBOARD_IMAGES_SEARCH},
439 {"keyboard/images/select_right.png", IDR_KEYBOARD_IMAGES_SELECT_RIGHT},
440 {"keyboard/images/select_left.png", IDR_KEYBOARD_IMAGES_SELECT_LEFT},
441 {"keyboard/images/setting.png", IDR_KEYBOARD_IMAGES_SETTINGS},
442 {"keyboard/images/shift.png", IDR_KEYBOARD_IMAGES_SHIFT},
443 {"keyboard/images/space.png", IDR_KEYBOARD_IMAGES_SPACE},
444 {"keyboard/images/tab.png", IDR_KEYBOARD_IMAGES_TAB},
445 {"keyboard/images/tab_in_fullsize.png",
446 IDR_KEYBOARD_IMAGES_TAB_IN_FULLSIZE},
447 {"keyboard/images/triangle.png", IDR_KEYBOARD_IMAGES_TRIANGLE},
448 {"keyboard/images/up.png", IDR_KEYBOARD_IMAGES_UP},
449 {"keyboard/index.html", IDR_KEYBOARD_INDEX},
450 {"keyboard/inputview_adapter.js", IDR_KEYBOARD_INPUTVIEW_ADAPTER},
451 {"keyboard/inputview.css", IDR_KEYBOARD_INPUTVIEW_CSS},
452 {"keyboard/inputview.js", IDR_KEYBOARD_INPUTVIEW_JS},
453 {"keyboard/inputview_layouts/101kbd.js", IDR_KEYBOARD_LAYOUTS_101},
454 {"keyboard/inputview_layouts/compactkbd-qwerty.js",
455 IDR_KEYBOARD_LAYOUTS_COMPACT_QWERTY},
456 {"keyboard/inputview_layouts/compactkbd-numberpad.js",
457 IDR_KEYBOARD_LAYOUTS_COMPACT_NUMBERPAD},
458 {"keyboard/inputview_layouts/emoji.js", IDR_KEYBOARD_LAYOUTS_EMOJI},
459 {"keyboard/inputview_layouts/handwriting.js", IDR_KEYBOARD_LAYOUTS_HWT},
460 {"keyboard/manifest.json", IDR_KEYBOARD_MANIFEST},
461 {"keyboard/sounds/keypress-delete.wav",
462 IDR_KEYBOARD_SOUNDS_KEYPRESS_DELETE},
463 {"keyboard/sounds/keypress-return.wav",
464 IDR_KEYBOARD_SOUNDS_KEYPRESS_RETURN},
465 {"keyboard/sounds/keypress-spacebar.wav",
466 IDR_KEYBOARD_SOUNDS_KEYPRESS_SPACEBAR},
467 {"keyboard/sounds/keypress-standard.wav",
468 IDR_KEYBOARD_SOUNDS_KEYPRESS_STANDARD},
469 };
470 static const size_t kKeyboardResourcesSize = arraysize(kKeyboardResources);
471 *size = kKeyboardResourcesSize;
472 return kKeyboardResources;
473 }
474
475 void SetOverrideContentUrl(const GURL& url) {
476 g_override_content_url.Get() = url;
477 }
478
479 const GURL& GetOverrideContentUrl() {
480 return g_override_content_url.Get();
481 }
482
483 void LogKeyboardControlEvent(KeyboardControlEvent event) { 388 void LogKeyboardControlEvent(KeyboardControlEvent event) {
484 UMA_HISTOGRAM_ENUMERATION( 389 UMA_HISTOGRAM_ENUMERATION(
485 "VirtualKeyboard.KeyboardControlEvent", 390 "VirtualKeyboard.KeyboardControlEvent",
486 event, 391 event,
487 keyboard::KEYBOARD_CONTROL_MAX); 392 keyboard::KEYBOARD_CONTROL_MAX);
488 } 393 }
489 394
490 } // namespace keyboard 395 } // namespace keyboard
OLDNEW
« no previous file with comments | « ui/keyboard/keyboard_util.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698