| Index: chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc b/chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc
|
| index 9772125bbd09070f5ba54fd5718e709c4c013b2e..ec58e7c84bb35a5a81550633d51ba8d614fbfcb6 100644
|
| --- a/chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "base/bind.h"
|
| #include "base/bind_helpers.h"
|
| +#include "base/command_line.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "base/values.h"
|
| @@ -15,6 +16,7 @@
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/ui/webui/chrome_url_data_manager.h"
|
| #include "chrome/browser/ui/webui/chrome_web_ui_data_source.h"
|
| +#include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/jstemplate_builder.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "chrome/common/url_constants.h"
|
| @@ -61,7 +63,21 @@ struct I18nContentToMessage {
|
| } kI18nContentToMessage[] = {
|
| { "keyboardOverlayLearnMore", IDS_KEYBOARD_OVERLAY_LEARN_MORE },
|
| { "keyboardOverlayTitle", IDS_KEYBOARD_OVERLAY_TITLE },
|
| + { "keyboardOverlayF1", IDS_KEYBOARD_OVERLAY_F1 },
|
| + { "keyboardOverlayF2", IDS_KEYBOARD_OVERLAY_F2 },
|
| + { "keyboardOverlayF3", IDS_KEYBOARD_OVERLAY_F3 },
|
| + { "keyboardOverlayF4", IDS_KEYBOARD_OVERLAY_F4 },
|
| + { "keyboardOverlayF5", IDS_KEYBOARD_OVERLAY_F5 },
|
| + { "keyboardOverlayF6", IDS_KEYBOARD_OVERLAY_F6 },
|
| + { "keyboardOverlayF7", IDS_KEYBOARD_OVERLAY_F7 },
|
| + { "keyboardOverlayF8", IDS_KEYBOARD_OVERLAY_F8 },
|
| + { "keyboardOverlayF9", IDS_KEYBOARD_OVERLAY_F9 },
|
| + { "keyboardOverlayF10", IDS_KEYBOARD_OVERLAY_F10 },
|
| + { "keyboardOverlayF11", IDS_KEYBOARD_OVERLAY_F11 },
|
| + { "keyboardOverlayF12", IDS_KEYBOARD_OVERLAY_F12 },
|
| { "keyboardOverlayInstructions", IDS_KEYBOARD_OVERLAY_INSTRUCTIONS },
|
| + { "keyboardOverlayInstructionsWithSearch",
|
| + IDS_KEYBOARD_OVERLAY_INSTRUCTIONS_WITH_SEARCH },
|
| { "keyboardOverlayInstructionsHide", IDS_KEYBOARD_OVERLAY_INSTRUCTIONS_HIDE },
|
| { "keyboardOverlayActivateLastLauncherItem",
|
| IDS_KEYBOARD_OVERLAY_ACTIVATE_LAST_LAUNCHER_ITEM },
|
| @@ -222,7 +238,8 @@ std::string ModifierKeyToLabel(ModifierKey modifier) {
|
| return "";
|
| }
|
|
|
| -ChromeWebUIDataSource* CreateKeyboardOverlayUIHTMLSource() {
|
| +ChromeWebUIDataSource* CreateKeyboardOverlayUIHTMLSource(
|
| + bool search_key_acts_as_function_key) {
|
| ChromeWebUIDataSource* source =
|
| new ChromeWebUIDataSource(chrome::kChromeUIKeyboardOverlayHost);
|
|
|
| @@ -232,6 +249,8 @@ ChromeWebUIDataSource* CreateKeyboardOverlayUIHTMLSource() {
|
| }
|
|
|
| source->AddString("keyboardOverlayLearnMoreURL", UTF8ToUTF16(kLearnMoreURL));
|
| + source->AddString("keyboardSearchKeyActsAsFunctionKey",
|
| + search_key_acts_as_function_key ? "true" : "false");
|
| source->set_json_path("strings.js");
|
| source->set_use_json_js_format_v2();
|
| source->add_resource_path("keyboard_overlay.js", IDR_KEYBOARD_OVERLAY_JS);
|
| @@ -347,7 +366,17 @@ KeyboardOverlayUI::KeyboardOverlayUI(content::WebUI* web_ui)
|
| KeyboardOverlayHandler* handler = new KeyboardOverlayHandler(profile);
|
| web_ui->AddMessageHandler(handler);
|
|
|
| + PrefService* pref_service = profile->GetPrefs();
|
| + bool chromebook_function_key = CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kEnableChromebookFunctionKey);
|
| + bool chromeos_keyboard = CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kHasChromeOSKeyboard);
|
| +
|
| + bool search_key_acts_as_function_key = chromeos_keyboard &&
|
| + chromebook_function_key &&
|
| + pref_service->GetBoolean(prefs::kLanguageSearchKeyActsAsFunctionKey);
|
| +
|
| // Set up the chrome://keyboardoverlay/ source.
|
| ChromeURLDataManager::AddDataSource(profile,
|
| - CreateKeyboardOverlayUIHTMLSource());
|
| + CreateKeyboardOverlayUIHTMLSource(search_key_acts_as_function_key));
|
| }
|
|
|