OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "ui/keyboard/keyboard_ui_controller.h" | |
6 | |
7 #include "content/public/browser/browser_context.h" | |
8 #include "content/public/browser/web_contents.h" | |
9 #include "content/public/browser/web_ui.h" | |
10 #include "content/public/browser/web_ui_data_source.h" | |
11 #include "grit/keyboard_resources.h" | |
12 #include "ui/keyboard/keyboard_constants.h" | |
13 #include "ui/keyboard/keyboard_ui_handler.h" | |
14 | |
15 namespace { | |
16 | |
17 content::WebUIDataSource* CreateKeyboardUIDataSource() { | |
18 content::WebUIDataSource* source = | |
19 content::WebUIDataSource::Create(keyboard::kKeyboardWebUIHost); | |
20 | |
21 source->SetDefaultResource(IDR_KEYBOARD_WEBUI_INDEX); | |
22 source->AddResourcePath("images/back.svg", | |
23 IDR_KEYBOARD_IMAGES_BACK); | |
24 source->AddResourcePath("images/backspace.svg", | |
25 IDR_KEYBOARD_IMAGES_BACKSPACE); | |
26 source->AddResourcePath("images/brightness-down.svg", | |
27 IDR_KEYBOARD_IMAGES_BRIGHTNESS_DOWN); | |
28 source->AddResourcePath("images/brightness-up.svg", | |
29 IDR_KEYBOARD_IMAGES_BRIGHTNESS_UP); | |
30 source->AddResourcePath("images/change-window.svg", | |
31 IDR_KEYBOARD_IMAGES_CHANGE_WINDOW); | |
32 source->AddResourcePath("images/down.svg", | |
33 IDR_KEYBOARD_IMAGES_DOWN); | |
34 source->AddResourcePath("images/forward.svg", | |
35 IDR_KEYBOARD_IMAGES_FORWARD); | |
36 source->AddResourcePath("images/fullscreen.svg", | |
37 IDR_KEYBOARD_IMAGES_FULLSCREEN); | |
38 source->AddResourcePath("images/hide-keyboard.svg", | |
39 IDR_KEYBOARD_IMAGES_HIDE_KEYBOARD); | |
40 source->AddResourcePath("images/left.svg", | |
41 IDR_KEYBOARD_IMAGES_LEFT); | |
42 source->AddResourcePath("images/microphone.svg", | |
43 IDR_KEYBOARD_IMAGES_MICROPHONE); | |
44 source->AddResourcePath("images/microphone-green.svg", | |
45 IDR_KEYBOARD_IMAGES_MICROPHONE_GREEN); | |
46 source->AddResourcePath("images/mute.svg", | |
47 IDR_KEYBOARD_IMAGES_MUTE); | |
48 source->AddResourcePath("images/reload.svg", | |
49 IDR_KEYBOARD_IMAGES_RELOAD); | |
50 source->AddResourcePath("images/return.svg", | |
51 IDR_KEYBOARD_IMAGES_RETURN); | |
52 source->AddResourcePath("images/right.svg", | |
53 IDR_KEYBOARD_IMAGES_RIGHT); | |
54 source->AddResourcePath("images/search.svg", | |
55 IDR_KEYBOARD_IMAGES_SEARCH); | |
56 source->AddResourcePath("images/shift.svg", | |
57 IDR_KEYBOARD_IMAGES_SHIFT); | |
58 source->AddResourcePath("images/shift-filled.svg", | |
59 IDR_KEYBOARD_IMAGES_SHIFT_FILLED); | |
60 source->AddResourcePath("images/shutdown.svg", | |
61 IDR_KEYBOARD_IMAGES_SHUTDOWN); | |
62 source->AddResourcePath("images/tab.svg", | |
63 IDR_KEYBOARD_IMAGES_TAB); | |
64 source->AddResourcePath("images/up.svg", | |
65 IDR_KEYBOARD_IMAGES_UP); | |
66 source->AddResourcePath("images/volume-down.svg", | |
67 IDR_KEYBOARD_IMAGES_VOLUME_DOWN); | |
68 source->AddResourcePath("images/volume-up.svg", | |
69 IDR_KEYBOARD_IMAGES_VOLUME_UP); | |
70 source->AddResourcePath("keyboard.js", IDR_KEYBOARD_JS); | |
71 source->AddResourcePath("layouts/numeric.html", IDR_KEYBOARD_LAYOUTS_NUMERIC); | |
72 source->AddResourcePath("layouts/system-qwerty.html", | |
73 IDR_KEYBOARD_LAYOUTS_SYSTEM_QWERTY); | |
74 source->AddResourcePath("polymer_loader.js", IDR_KEYBOARD_POLYMER_LOADER); | |
75 source->AddResourcePath("roboto_bold.ttf", IDR_KEYBOARD_ROBOTO_BOLD_TTF); | |
76 source->AddResourcePath("sounds/keypress-delete.wav", | |
77 IDR_KEYBOARD_SOUNDS_KEYPRESS_DELETE); | |
78 source->AddResourcePath("sounds/keypress-return.wav", | |
79 IDR_KEYBOARD_SOUNDS_KEYPRESS_RETURN); | |
80 source->AddResourcePath("sounds/keypress-spacebar.wav", | |
81 IDR_KEYBOARD_SOUNDS_KEYPRESS_SPACEBAR); | |
82 source->AddResourcePath("sounds/keypress-standard.wav", | |
83 IDR_KEYBOARD_SOUNDS_KEYPRESS_STANDARD); | |
84 | |
85 // These files are specific to the WebUI version | |
86 source->AddResourcePath("api_adapter.js", IDR_KEYBOARD_WEBUI_API_ADAPTER_JS); | |
87 source->AddResourcePath("constants.js", IDR_KEYBOARD_WEBUI_CONSTANTS_JS); | |
88 source->AddResourcePath("layouts/qwerty.html", IDR_KEYBOARD_WEBUI_QWERTY); | |
89 source->AddResourcePath("main.css", IDR_KEYBOARD_WEBUI_MAIN_CSS); | |
90 | |
91 return source; | |
92 } | |
93 | |
94 } // namespace | |
95 | |
96 namespace keyboard { | |
97 | |
98 KeyboardUIController::KeyboardUIController(content::WebUI* web_ui) | |
99 : WebUIController(web_ui) { | |
100 content::BrowserContext* browser_context = | |
101 web_ui->GetWebContents()->GetBrowserContext(); | |
102 web_ui->AddMessageHandler(new KeyboardUIHandler()); | |
103 content::WebUIDataSource::Add( | |
104 browser_context, | |
105 CreateKeyboardUIDataSource()); | |
106 } | |
107 | |
108 KeyboardUIController::~KeyboardUIController() {} | |
109 | |
110 } // namespace keyboard | |
OLD | NEW |