OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/webui/chromeos/keyboard_overlay_ui.h" | 5 #include "chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.h" |
6 | 6 |
| 7 #include "ash/display/display_manager.h" |
| 8 #include "ash/shell.h" |
7 #include "base/bind.h" | 9 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
9 #include "base/command_line.h" | 11 #include "base/command_line.h" |
10 #include "base/memory/weak_ptr.h" | 12 #include "base/memory/weak_ptr.h" |
11 #include "base/prefs/pref_service.h" | 13 #include "base/prefs/pref_service.h" |
12 #include "base/utf_string_conversions.h" | 14 #include "base/utf_string_conversions.h" |
13 #include "base/values.h" | 15 #include "base/values.h" |
14 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" | 16 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" |
15 #include "chrome/browser/chromeos/input_method/input_method_manager.h" | 17 #include "chrome/browser/chromeos/input_method/input_method_manager.h" |
16 #include "chrome/browser/chromeos/input_method/xkeyboard.h" | 18 #include "chrome/browser/chromeos/input_method/xkeyboard.h" |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 { "keyboardOverlayPreviousWindow", IDS_KEYBOARD_OVERLAY_PREVIOUS_WINDOW }, | 186 { "keyboardOverlayPreviousWindow", IDS_KEYBOARD_OVERLAY_PREVIOUS_WINDOW }, |
185 { "keyboardOverlayPreviousWord", IDS_KEYBOARD_OVERLAY_PREVIOUS_WORD }, | 187 { "keyboardOverlayPreviousWord", IDS_KEYBOARD_OVERLAY_PREVIOUS_WORD }, |
186 { "keyboardOverlayPrint", IDS_KEYBOARD_OVERLAY_PRINT }, | 188 { "keyboardOverlayPrint", IDS_KEYBOARD_OVERLAY_PRINT }, |
187 { "keyboardOverlayReloadCurrentPage", | 189 { "keyboardOverlayReloadCurrentPage", |
188 IDS_KEYBOARD_OVERLAY_RELOAD_CURRENT_PAGE }, | 190 IDS_KEYBOARD_OVERLAY_RELOAD_CURRENT_PAGE }, |
189 { "keyboardOverlayReloadIgnoringCache", | 191 { "keyboardOverlayReloadIgnoringCache", |
190 IDS_KEYBOARD_OVERLAY_RELOAD_IGNORING_CACHE }, | 192 IDS_KEYBOARD_OVERLAY_RELOAD_IGNORING_CACHE }, |
191 { "keyboardOverlayReopenLastClosedTab", | 193 { "keyboardOverlayReopenLastClosedTab", |
192 IDS_KEYBOARD_OVERLAY_REOPEN_LAST_CLOSED_TAB }, | 194 IDS_KEYBOARD_OVERLAY_REOPEN_LAST_CLOSED_TAB }, |
193 { "keyboardOverlayReportIssue", IDS_KEYBOARD_OVERLAY_REPORT_ISSUE }, | 195 { "keyboardOverlayReportIssue", IDS_KEYBOARD_OVERLAY_REPORT_ISSUE }, |
| 196 { "keyboardOverlayResetScreenZoom", IDS_KEYBOARD_OVERLAY_RESET_SCREEN_ZOOM }, |
194 { "keyboardOverlayResetZoom", IDS_KEYBOARD_OVERLAY_RESET_ZOOM }, | 197 { "keyboardOverlayResetZoom", IDS_KEYBOARD_OVERLAY_RESET_ZOOM }, |
| 198 { "keyboardOverlayRotateScreen", IDS_KEYBOARD_OVERLAY_ROTATE_SCREEN }, |
195 { "keyboardOverlaySave", IDS_KEYBOARD_OVERLAY_SAVE }, | 199 { "keyboardOverlaySave", IDS_KEYBOARD_OVERLAY_SAVE }, |
196 { "keyboardOverlayScreenshotRegion", | 200 { "keyboardOverlayScreenshotRegion", |
197 IDS_KEYBOARD_OVERLAY_SCREENSHOT_REGION }, | 201 IDS_KEYBOARD_OVERLAY_SCREENSHOT_REGION }, |
198 { "keyboardOverlayScrollUpOnePage", | 202 { "keyboardOverlayScrollUpOnePage", |
199 IDS_KEYBOARD_OVERLAY_SCROLL_UP_ONE_PAGE }, | 203 IDS_KEYBOARD_OVERLAY_SCROLL_UP_ONE_PAGE }, |
200 { "keyboardOverlaySelectAll", IDS_KEYBOARD_OVERLAY_SELECT_ALL }, | 204 { "keyboardOverlaySelectAll", IDS_KEYBOARD_OVERLAY_SELECT_ALL }, |
201 { "keyboardOverlaySelectPreviousInputMethod", | 205 { "keyboardOverlaySelectPreviousInputMethod", |
202 IDS_KEYBOARD_OVERLAY_SELECT_PREVIOUS_INPUT_METHOD }, | 206 IDS_KEYBOARD_OVERLAY_SELECT_PREVIOUS_INPUT_METHOD }, |
203 { "keyboardOverlaySelectWordAtATime", | 207 { "keyboardOverlaySelectWordAtATime", |
204 IDS_KEYBOARD_OVERLAY_SELECT_WORD_AT_A_TIME }, | 208 IDS_KEYBOARD_OVERLAY_SELECT_WORD_AT_A_TIME }, |
(...skipping 13 matching lines...) Expand all Loading... |
218 IDS_KEYBOARD_OVERLAY_TOGGLE_SPEECH_INPUT }, | 222 IDS_KEYBOARD_OVERLAY_TOGGLE_SPEECH_INPUT }, |
219 { "keyboardOverlayToggleSpokenFeedback", | 223 { "keyboardOverlayToggleSpokenFeedback", |
220 IDS_KEYBOARD_OVERLAY_TOGGLE_SPOKEN_FEEDBACK }, | 224 IDS_KEYBOARD_OVERLAY_TOGGLE_SPOKEN_FEEDBACK }, |
221 { "keyboardOverlayUndo", IDS_KEYBOARD_OVERLAY_UNDO }, | 225 { "keyboardOverlayUndo", IDS_KEYBOARD_OVERLAY_UNDO }, |
222 { "keyboardOverlayViewKeyboardOverlay", | 226 { "keyboardOverlayViewKeyboardOverlay", |
223 IDS_KEYBOARD_OVERLAY_VIEW_KEYBOARD_OVERLAY }, | 227 IDS_KEYBOARD_OVERLAY_VIEW_KEYBOARD_OVERLAY }, |
224 { "keyboardOverlayViewSource", IDS_KEYBOARD_OVERLAY_VIEW_SOURCE }, | 228 { "keyboardOverlayViewSource", IDS_KEYBOARD_OVERLAY_VIEW_SOURCE }, |
225 { "keyboardOverlayWordMove", IDS_KEYBOARD_OVERLAY_WORD_MOVE }, | 229 { "keyboardOverlayWordMove", IDS_KEYBOARD_OVERLAY_WORD_MOVE }, |
226 { "keyboardOverlayZoomIn", IDS_KEYBOARD_OVERLAY_ZOOM_IN }, | 230 { "keyboardOverlayZoomIn", IDS_KEYBOARD_OVERLAY_ZOOM_IN }, |
227 { "keyboardOverlayZoomOut", IDS_KEYBOARD_OVERLAY_ZOOM_OUT }, | 231 { "keyboardOverlayZoomOut", IDS_KEYBOARD_OVERLAY_ZOOM_OUT }, |
| 232 { "keyboardOverlayZoomScreenIn", IDS_KEYBOARD_OVERLAY_ZOOM_SCREEN_IN }, |
| 233 { "keyboardOverlayZoomScreenOut", IDS_KEYBOARD_OVERLAY_ZOOM_SCREEN_OUT }, |
228 }; | 234 }; |
229 | 235 |
230 std::string ModifierKeyToLabel(ModifierKey modifier) { | 236 std::string ModifierKeyToLabel(ModifierKey modifier) { |
231 for (size_t i = 0; i < arraysize(kModifierToLabels); ++i) { | 237 for (size_t i = 0; i < arraysize(kModifierToLabels); ++i) { |
232 if (modifier == kModifierToLabels[i].modifier) { | 238 if (modifier == kModifierToLabels[i].modifier) { |
233 return kModifierToLabels[i].label; | 239 return kModifierToLabels[i].label; |
234 } | 240 } |
235 } | 241 } |
236 return ""; | 242 return ""; |
237 } | 243 } |
238 | 244 |
239 content::WebUIDataSource* CreateKeyboardOverlayUIHTMLSource() { | 245 content::WebUIDataSource* CreateKeyboardOverlayUIHTMLSource() { |
240 content::WebUIDataSource* source = | 246 content::WebUIDataSource* source = |
241 content::WebUIDataSource::Create(chrome::kChromeUIKeyboardOverlayHost); | 247 content::WebUIDataSource::Create(chrome::kChromeUIKeyboardOverlayHost); |
242 | 248 |
243 for (size_t i = 0; i < arraysize(kI18nContentToMessage); ++i) { | 249 for (size_t i = 0; i < arraysize(kI18nContentToMessage); ++i) { |
244 source->AddLocalizedString(kI18nContentToMessage[i].i18n_content, | 250 source->AddLocalizedString(kI18nContentToMessage[i].i18n_content, |
245 kI18nContentToMessage[i].message); | 251 kI18nContentToMessage[i].message); |
246 } | 252 } |
247 | 253 |
248 source->AddString("keyboardOverlayLearnMoreURL", UTF8ToUTF16(kLearnMoreURL)); | 254 source->AddString("keyboardOverlayLearnMoreURL", UTF8ToUTF16(kLearnMoreURL)); |
249 const char* has_diamond_key_value = | 255 source->AddBoolean("keyboardOverlayHasChromeOSDiamondKey", |
250 CommandLine::ForCurrentProcess()->HasSwitch( | 256 CommandLine::ForCurrentProcess()->HasSwitch( |
251 switches::kHasChromeOSDiamondKey) ? "true" : "false"; | 257 switches::kHasChromeOSDiamondKey)); |
252 source->AddString("keyboardOverlayHasChromeOSDiamondKey", | 258 ash::Shell* shell = ash::Shell::GetInstance(); |
253 has_diamond_key_value); | 259 ash::internal::DisplayManager* display_manager = shell->display_manager(); |
| 260 source->AddBoolean("keyboardOverlayIsDisplayRotationEnabled", |
| 261 display_manager->IsDisplayRotationEnabled()); |
| 262 source->AddBoolean("keyboardOverlayIsDisplayUIScalingEnabled", |
| 263 display_manager->IsDisplayUIScalingEnabled()); |
254 source->SetJsonPath("strings.js"); | 264 source->SetJsonPath("strings.js"); |
255 source->SetUseJsonJSFormatV2(); | 265 source->SetUseJsonJSFormatV2(); |
256 source->AddResourcePath("keyboard_overlay.js", IDR_KEYBOARD_OVERLAY_JS); | 266 source->AddResourcePath("keyboard_overlay.js", IDR_KEYBOARD_OVERLAY_JS); |
257 source->SetDefaultResource(IDR_KEYBOARD_OVERLAY_HTML); | 267 source->SetDefaultResource(IDR_KEYBOARD_OVERLAY_HTML); |
258 return source; | 268 return source; |
259 } | 269 } |
260 | 270 |
261 } // namespace | 271 } // namespace |
262 | 272 |
263 // The handler for Javascript messages related to the "keyboardoverlay" view. | 273 // The handler for Javascript messages related to the "keyboardoverlay" view. |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 | 372 |
363 KeyboardOverlayUI::KeyboardOverlayUI(content::WebUI* web_ui) | 373 KeyboardOverlayUI::KeyboardOverlayUI(content::WebUI* web_ui) |
364 : WebDialogUI(web_ui) { | 374 : WebDialogUI(web_ui) { |
365 Profile* profile = Profile::FromWebUI(web_ui); | 375 Profile* profile = Profile::FromWebUI(web_ui); |
366 KeyboardOverlayHandler* handler = new KeyboardOverlayHandler(profile); | 376 KeyboardOverlayHandler* handler = new KeyboardOverlayHandler(profile); |
367 web_ui->AddMessageHandler(handler); | 377 web_ui->AddMessageHandler(handler); |
368 | 378 |
369 // Set up the chrome://keyboardoverlay/ source. | 379 // Set up the chrome://keyboardoverlay/ source. |
370 content::WebUIDataSource::Add(profile, CreateKeyboardOverlayUIHTMLSource()); | 380 content::WebUIDataSource::Add(profile, CreateKeyboardOverlayUIHTMLSource()); |
371 } | 381 } |
OLD | NEW |