OLD | NEW |
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 "chrome/browser/chromeos/login/ui/webui_login_view.h" | 5 #include "chrome/browser/chromeos/login/ui/webui_login_view.h" |
6 | 6 |
7 #include "ash/shell.h" | 7 #include "ash/shell.h" |
8 #include "ash/system/tray/system_tray.h" | 8 #include "ash/system/tray/system_tray.h" |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
11 #include "base/i18n/rtl.h" | 11 #include "base/i18n/rtl.h" |
12 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
13 #include "base/trace_event/trace_event.h" | 13 #include "base/trace_event/trace_event.h" |
14 #include "base/values.h" | 14 #include "base/values.h" |
15 #include "chrome/browser/chrome_notification_types.h" | 15 #include "chrome/browser/chrome_notification_types.h" |
16 #include "chrome/browser/chromeos/accessibility/accessibility_util.h" | 16 #include "chrome/browser/chromeos/accessibility/accessibility_util.h" |
17 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" | 17 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" |
18 #include "chrome/browser/chromeos/login/ui/proxy_settings_dialog.h" | 18 #include "chrome/browser/chromeos/login/ui/proxy_settings_dialog.h" |
19 #include "chrome/browser/chromeos/login/ui/webui_login_display.h" | 19 #include "chrome/browser/chromeos/login/ui/webui_login_display.h" |
20 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 20 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
21 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h" | 21 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h" |
22 #include "chrome/browser/media/media_capture_devices_dispatcher.h" | 22 #include "chrome/browser/media/media_capture_devices_dispatcher.h" |
23 #include "chrome/browser/media/media_stream_infobar_delegate.h" | 23 #include "chrome/browser/media/media_stream_infobar_delegate.h" |
24 #include "chrome/browser/password_manager/chrome_password_manager_client.h" | 24 #include "chrome/browser/password_manager/chrome_password_manager_client.h" |
25 #include "chrome/browser/renderer_preferences_util.h" | 25 #include "chrome/browser/renderer_preferences_util.h" |
26 #include "chrome/browser/sessions/session_tab_helper.h" | 26 #include "chrome/browser/sessions/session_tab_helper.h" |
27 #include "chrome/browser/ui/autofill/chrome_autofill_client.h" | 27 #include "chrome/browser/ui/autofill/chrome_autofill_client.h" |
28 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" | 28 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" |
| 29 #include "chrome/common/chrome_version_info.h" |
29 #include "chrome/common/render_messages.h" | 30 #include "chrome/common/render_messages.h" |
30 #include "chromeos/dbus/dbus_thread_manager.h" | 31 #include "chromeos/dbus/dbus_thread_manager.h" |
31 #include "chromeos/dbus/session_manager_client.h" | 32 #include "chromeos/dbus/session_manager_client.h" |
32 #include "chromeos/network/network_state.h" | 33 #include "chromeos/network/network_state.h" |
33 #include "chromeos/network/network_state_handler.h" | 34 #include "chromeos/network/network_state_handler.h" |
34 #include "components/password_manager/core/browser/password_manager.h" | 35 #include "components/password_manager/core/browser/password_manager.h" |
35 #include "components/web_modal/web_contents_modal_dialog_manager.h" | 36 #include "components/web_modal/web_contents_modal_dialog_manager.h" |
36 #include "content/public/browser/notification_service.h" | 37 #include "content/public/browser/notification_service.h" |
37 #include "content/public/browser/render_frame_host.h" | 38 #include "content/public/browser/render_frame_host.h" |
38 #include "content/public/browser/render_view_host.h" | 39 #include "content/public/browser/render_view_host.h" |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN)] = | 125 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN)] = |
125 kAccelNameKioskEnable; | 126 kAccelNameKioskEnable; |
126 accel_map_[ui::Accelerator(ui::VKEY_V, ui::EF_ALT_DOWN)] = | 127 accel_map_[ui::Accelerator(ui::VKEY_V, ui::EF_ALT_DOWN)] = |
127 kAccelNameVersion; | 128 kAccelNameVersion; |
128 accel_map_[ui::Accelerator(ui::VKEY_R, | 129 accel_map_[ui::Accelerator(ui::VKEY_R, |
129 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)] = | 130 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)] = |
130 kAccelNameReset; | 131 kAccelNameReset; |
131 accel_map_[ui::Accelerator(ui::VKEY_X, | 132 accel_map_[ui::Accelerator(ui::VKEY_X, |
132 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)] = | 133 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)] = |
133 kAccelNameEnableDebugging; | 134 kAccelNameEnableDebugging; |
134 accel_map_[ui::Accelerator(ui::VKEY_W, | |
135 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)] = | |
136 kAccelNameToggleWebviewSignin; | |
137 accel_map_[ui::Accelerator( | 135 accel_map_[ui::Accelerator( |
138 ui::VKEY_L, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)] = | 136 ui::VKEY_L, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)] = |
139 kAccelNameToggleNewLoginUI; | 137 kAccelNameToggleNewLoginUI; |
140 accel_map_[ui::Accelerator( | 138 accel_map_[ui::Accelerator( |
141 ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)] = | 139 ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)] = |
142 kAccelNameToggleEasyBootstrap; | 140 kAccelNameToggleEasyBootstrap; |
143 | 141 |
144 accel_map_[ui::Accelerator(ui::VKEY_LEFT, ui::EF_NONE)] = | 142 accel_map_[ui::Accelerator(ui::VKEY_LEFT, ui::EF_NONE)] = |
145 kAccelFocusPrev; | 143 kAccelFocusPrev; |
146 accel_map_[ui::Accelerator(ui::VKEY_RIGHT, ui::EF_NONE)] = | 144 accel_map_[ui::Accelerator(ui::VKEY_RIGHT, ui::EF_NONE)] = |
147 kAccelFocusNext; | 145 kAccelFocusNext; |
148 | 146 |
| 147 // Ctrl-Alt-Shift-W for canary/dev builds only. |
| 148 const chrome::VersionInfo::Channel channel = |
| 149 chrome::VersionInfo::GetChannel(); |
| 150 if (channel != chrome::VersionInfo::CHANNEL_STABLE && |
| 151 channel != chrome::VersionInfo::CHANNEL_BETA) { |
| 152 accel_map_[ui::Accelerator( |
| 153 ui::VKEY_W, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | |
| 154 ui::EF_SHIFT_DOWN)] = kAccelNameToggleWebviewSignin; |
| 155 } |
| 156 |
149 // Use KEY_RELEASED because Gaia consumes KEY_PRESSED for up/down key. | 157 // Use KEY_RELEASED because Gaia consumes KEY_PRESSED for up/down key. |
150 ui::Accelerator key_up(ui::VKEY_UP, ui::EF_NONE); | 158 ui::Accelerator key_up(ui::VKEY_UP, ui::EF_NONE); |
151 key_up.set_type(ui::ET_KEY_RELEASED); | 159 key_up.set_type(ui::ET_KEY_RELEASED); |
152 ui::Accelerator key_down(ui::VKEY_DOWN, ui::EF_NONE); | 160 ui::Accelerator key_down(ui::VKEY_DOWN, ui::EF_NONE); |
153 key_down.set_type(ui::ET_KEY_RELEASED); | 161 key_down.set_type(ui::ET_KEY_RELEASED); |
154 accel_map_[key_up] = kAccelFocusPrev; | 162 accel_map_[key_up] = kAccelFocusPrev; |
155 accel_map_[key_down] = kAccelFocusNext; | 163 accel_map_[key_down] = kAccelFocusNext; |
156 | 164 |
157 accel_map_[ui::Accelerator( | 165 accel_map_[ui::Accelerator( |
158 ui::VKEY_D, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)] = | 166 ui::VKEY_D, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)] = |
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
506 webui_visible_ = true; | 514 webui_visible_ = true; |
507 } | 515 } |
508 | 516 |
509 void WebUILoginView::ReturnFocus(bool reverse) { | 517 void WebUILoginView::ReturnFocus(bool reverse) { |
510 // Return the focus to the web contents. | 518 // Return the focus to the web contents. |
511 webui_login_->web_contents()->FocusThroughTabTraversal(reverse); | 519 webui_login_->web_contents()->FocusThroughTabTraversal(reverse); |
512 GetWidget()->Activate(); | 520 GetWidget()->Activate(); |
513 } | 521 } |
514 | 522 |
515 } // namespace chromeos | 523 } // namespace chromeos |
OLD | NEW |