| Index: chrome/browser/chromeos/dom_ui/keyboard_overlay_ui.cc
|
| diff --git a/chrome/browser/chromeos/dom_ui/keyboard_overlay_ui.cc b/chrome/browser/chromeos/dom_ui/keyboard_overlay_ui.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..77140fd991ccdb5c902340ef03a3d68ac096c648
|
| --- /dev/null
|
| +++ b/chrome/browser/chromeos/dom_ui/keyboard_overlay_ui.cc
|
| @@ -0,0 +1,281 @@
|
| +// Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/chromeos/dom_ui/keyboard_overlay_ui.h"
|
| +
|
| +#include "app/l10n_util.h"
|
| +#include "app/resource_bundle.h"
|
| +#include "base/callback.h"
|
| +#include "base/values.h"
|
| +#include "base/weak_ptr.h"
|
| +#include "chrome/browser/browser_thread.h"
|
| +#include "chrome/browser/dom_ui/chrome_url_data_manager.h"
|
| +#include "chrome/common/jstemplate_builder.h"
|
| +#include "chrome/common/url_constants.h"
|
| +#include "grit/browser_resources.h"
|
| +#include "grit/generated_resources.h"
|
| +
|
| +#if defined(OS_CHROMEOS)
|
| +#include "chrome/browser/chromeos/cros/cros_library.h"
|
| +#endif
|
| +
|
| +class KeyboardOverlayUIHTMLSource : public ChromeURLDataManager::DataSource {
|
| + public:
|
| + KeyboardOverlayUIHTMLSource();
|
| +
|
| + // Called when the keyboard overlay has requested a resource underneath
|
| + // the path we registered.
|
| + virtual void StartDataRequest(const std::string& path,
|
| + bool is_off_the_record,
|
| + int request_id);
|
| + virtual std::string GetMimeType(const std::string&) const {
|
| + return "text/html";
|
| + }
|
| +
|
| + private:
|
| + ~KeyboardOverlayUIHTMLSource() {}
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(KeyboardOverlayUIHTMLSource);
|
| +};
|
| +
|
| +
|
| +// The handler for Javascript messages related to the "keyboardoverlay" view.
|
| +class KeyboardOverlayHandler
|
| + : public DOMMessageHandler,
|
| + public base::SupportsWeakPtr<KeyboardOverlayHandler> {
|
| + public:
|
| + KeyboardOverlayHandler();
|
| + virtual ~KeyboardOverlayHandler();
|
| +
|
| + // DOMMessageHandler implementation.
|
| + virtual DOMMessageHandler* Attach(DOMUI* dom_ui);
|
| + virtual void RegisterMessages();
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(KeyboardOverlayHandler);
|
| +};
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +//
|
| +// KeyboardOverlayUIHTMLSource
|
| +//
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +
|
| +KeyboardOverlayUIHTMLSource::KeyboardOverlayUIHTMLSource()
|
| + : DataSource(chrome::kChromeUIKeyboardOverlayHost,
|
| + MessageLoop::current()) {
|
| +}
|
| +
|
| +void KeyboardOverlayUIHTMLSource::StartDataRequest(const std::string& path,
|
| + bool is_off_the_record,
|
| + int request_id) {
|
| + DictionaryValue localized_strings;
|
| + localized_strings.SetString("keyboardOverlayTitle",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_TITLE));
|
| + localized_strings.SetString("keyboardOverlayInstructions",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_INSTRUCTIONS));
|
| + localized_strings.SetString("keyboardOverlayActivateLastTab",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ACTIVATE_LAST_TAB));
|
| + localized_strings.SetString("keyboardOverlayActivateNextTab",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ACTIVATE_NEXT_TAB));
|
| + localized_strings.SetString("keyboardOverlayActivatePreviousTab",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ACTIVATE_PREVIOUS_TAB));
|
| + localized_strings.SetString("keyboardOverlayActivateTab1",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_1));
|
| + localized_strings.SetString("keyboardOverlayActivateTab2",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_2));
|
| + localized_strings.SetString("keyboardOverlayActivateTab3",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_3));
|
| + localized_strings.SetString("keyboardOverlayActivateTab4",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_4));
|
| + localized_strings.SetString("keyboardOverlayActivateTab5",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_5));
|
| + localized_strings.SetString("keyboardOverlayActivateTab6",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_6));
|
| + localized_strings.SetString("keyboardOverlayActivateTab7",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_7));
|
| + localized_strings.SetString("keyboardOverlayActivateTab8",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_8));
|
| + localized_strings.SetString("keyboardOverlayAddWwwAndComAndOpenAddress",
|
| + l10n_util::GetStringUTF16(
|
| + IDS_KEYBOARD_OVERLAY_ADD_WWW_AND_COM_AND_OPEN_ADDRESS));
|
| + localized_strings.SetString("keyboardOverlayBookmarkCurrentPage",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_BOOKMARK_CURRENT_PAGE));
|
| + localized_strings.SetString("keyboardOverlayBookmarkAllTabs",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_BOOKMARK_ALL_TABS));
|
| + localized_strings.SetString("keyboardOverlayCloseTab",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_CLOSE_TAB));
|
| + localized_strings.SetString("keyboardOverlayCloseWindow",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_CLOSE_WINDOW));
|
| + localized_strings.SetString("keyboardOverlayDeleteWord",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_DELETE_WORD));
|
| + localized_strings.SetString("keyboardOverlayDeveloperTools",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_DEVELOPER_TOOLS));
|
| + localized_strings.SetString("keyboardOverlayFindAgain",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_FIND_AGAIN));
|
| + localized_strings.SetString("keyboardOverlayFindPrevious",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_FIND_PREVIOUS));
|
| + localized_strings.SetString("keyboardOverlayFindPrevious",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_FIND_PREVIOUS));
|
| + localized_strings.SetString("keyboardOverlayFindText",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_FIND_TEXT));
|
| + localized_strings.SetString("keyboardOverlayFocusAddressBar",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_FOCUS_ADDRESS_BAR));
|
| + localized_strings.SetString("keyboardOverlayFocusAddressBar",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_FOCUS_ADDRESS_BAR));
|
| + localized_strings.SetString("keyboardOverlayFocusAddressBarInSearchMode",
|
| + l10n_util::GetStringUTF16(
|
| + IDS_KEYBOARD_OVERLAY_FOCUS_ADDRESS_BAR_IN_SEARCH_MODE));
|
| + localized_strings.SetString("keyboardOverlayDomInspector",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_DOM_INSPECTOR));
|
| + localized_strings.SetString("keyboardOverlayDownloads",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_DOWNLOADS));
|
| + localized_strings.SetString("keyboardOverlayTaskManager",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_TASK_MANAGER));
|
| + localized_strings.SetString("keyboardOverlayBack",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_BACK));
|
| + localized_strings.SetString("keyboardOverlayForward",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_FORWARD));
|
| + localized_strings.SetString("keyboardOverlayForward",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_FORWARD));
|
| + localized_strings.SetString("keyboardOverlayHistory",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_HISTORY));
|
| + localized_strings.SetString("keyboardOverlayNewTab",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_NEW_TAB));
|
| + localized_strings.SetString("keyboardOverlayOpenAddressInNewTab",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_OPEN_ADDRESS_IN_NEW_TAB));
|
| + localized_strings.SetString("keyboardOverlayNewIncognitoWindow",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_NEW_INCOGNITO_WINDOW));
|
| + localized_strings.SetString("keyboardOverlayNewWindow",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_NEW_WINDOW));
|
| + localized_strings.SetString("keyboardOverlayPasteAsPlainText",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_PASTE_AS_PLAIN_TEXT));
|
| + localized_strings.SetString("keyboardOverlayPrint",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_PRINT));
|
| + localized_strings.SetString("keyboardOverlayReloadCurrentPage",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_RELOAD_CURRENT_PAGE));
|
| + localized_strings.SetString("keyboardOverlayReopenLastClosedTab",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_REOPEN_LAST_CLOSED_TAB));
|
| + localized_strings.SetString("keyboardOverlayResetZoom",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_RESET_ZOOM));
|
| + localized_strings.SetString("keyboardOverlaySelectWordAtATime",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_SELECT_WORD_AT_A_TIME));
|
| + localized_strings.SetString("keyboardOverlayToggleBookmarkBar",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_TOGGLE_BOOKMARK_BAR));
|
| + localized_strings.SetString("keyboardOverlayViewSource",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_VIEW_SOURCE));
|
| + localized_strings.SetString("keyboardOverlayZoomIn",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ZOOM_IN));
|
| + localized_strings.SetString("keyboardOverlayZoomOut",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_ZOOM_OUT));
|
| + localized_strings.SetString("keyboardOverlayResetZoom",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_RESET_ZOOM));
|
| + localized_strings.SetString("keyboardOverlayFocusAddressBarInSearchMode",
|
| + l10n_util::GetStringUTF16(
|
| + IDS_KEYBOARD_OVERLAY_FOCUS_ADDRESS_BAR_IN_SEARCH_MODE));
|
| + localized_strings.SetString("keyboardOverlayFullScreen",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_FULL_SCREEN));
|
| + localized_strings.SetString("keyboardOverlayTakeScreenshot",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_TAKE_SCREENSHOT));
|
| + localized_strings.SetString("keyboardOverlayHome",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_HOME));
|
| + localized_strings.SetString("keyboardOverlayEnd",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_END));
|
| + localized_strings.SetString("keyboardOverlayNextWindow",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_NEXT_WINDOW));
|
| + localized_strings.SetString("keyboardOverlayContentBrowser",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_CONTENT_BROWSER));
|
| + localized_strings.SetString("keyboardOverlayPageUp",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_PAGE_UP));
|
| + localized_strings.SetString("keyboardOverlayPageDown",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_PAGE_DOWN));
|
| + localized_strings.SetString("keyboardOverlayPreviousWindow",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_PREVIOUS_WINDOW));
|
| + localized_strings.SetString("keyboardOverlayUseExternalMonitor",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_USE_EXTERNAL_MONITOR));
|
| + localized_strings.SetString("keyboardOverlayReloadIgnoringCache",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_RELOAD_IGNORING_CACHE));
|
| + localized_strings.SetString("keyboardOverlaySave",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_SAVE));
|
| + localized_strings.SetString("keyboardOverlayScrollUpOnePage",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_SCROLL_UP_ONE_PAGE));
|
| + localized_strings.SetString("keyboardOverlaySettings",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_SETTINGS));
|
| + localized_strings.SetString("keyboardOverlaySignOut",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_SIGN_OUT));
|
| + localized_strings.SetString("keyboardOverlayUndo",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_UNDO));
|
| + localized_strings.SetString("keyboardOverlayWordMove",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_WORD_MOVE));
|
| + localized_strings.SetString("keyboardOverlaySelectAll",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_SELECT_ALL));
|
| + localized_strings.SetString("keyboardOverlaySelectPreviousInputMethod",
|
| + l10n_util::GetStringUTF16(
|
| + IDS_KEYBOARD_OVERLAY_SELECT_PREVIOUS_INPUT_METHOD));
|
| + localized_strings.SetString("keyboardOverlayCycleThroughInputMethods",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_CYCLE_THROUGH_INPUT_METHODS));
|
| + localized_strings.SetString("keyboardOverlayCloseWindow",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_CLOSE_WINDOW));
|
| + localized_strings.SetString("keyboardOverlayViewKeyboardOverlay",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_VIEW_KEYBOARD_OVERLAY));
|
| + localized_strings.SetString("keyboardOverlayCut",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_CUT));
|
| + localized_strings.SetString("keyboardOverlayCopy",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_COPY));
|
| + localized_strings.SetString("keyboardOverlayPaste",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_PASTE));
|
| + localized_strings.SetString("keyboardOverlayHelp",
|
| + l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_HELP));
|
| +
|
| + static const base::StringPiece keyboard_overlay_html(
|
| + ResourceBundle::GetSharedInstance().GetRawDataResource(
|
| + IDR_KEYBOARD_OVERLAY_HTML));
|
| + const std::string full_html = jstemplate_builder::GetI18nTemplateHtml(
|
| + keyboard_overlay_html, &localized_strings);
|
| +
|
| + scoped_refptr<RefCountedBytes> html_bytes(new RefCountedBytes);
|
| + html_bytes->data.resize(full_html.size());
|
| + std::copy(full_html.begin(), full_html.end(), html_bytes->data.begin());
|
| +
|
| + SendResponse(request_id, html_bytes);
|
| +}
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +//
|
| +// KeyboardOverlayHandler
|
| +//
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +KeyboardOverlayHandler::KeyboardOverlayHandler() {
|
| +}
|
| +
|
| +KeyboardOverlayHandler::~KeyboardOverlayHandler() {
|
| +}
|
| +
|
| +DOMMessageHandler* KeyboardOverlayHandler::Attach(DOMUI* dom_ui) {
|
| + return DOMMessageHandler::Attach(dom_ui);
|
| +}
|
| +
|
| +void KeyboardOverlayHandler::RegisterMessages() {
|
| +}
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +//
|
| +// KeyboardOverlayUI
|
| +//
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +
|
| +KeyboardOverlayUI::KeyboardOverlayUI(TabContents* contents)
|
| + : HtmlDialogUI(contents) {
|
| + KeyboardOverlayHandler* handler = new KeyboardOverlayHandler();
|
| + AddMessageHandler((handler)->Attach(this));
|
| + KeyboardOverlayUIHTMLSource* html_source = new KeyboardOverlayUIHTMLSource();
|
| +
|
| + // Set up the chrome://keyboardoverlay/ source.
|
| + BrowserThread::PostTask(
|
| + BrowserThread::IO, FROM_HERE,
|
| + NewRunnableMethod(
|
| + Singleton<ChromeURLDataManager>::get(),
|
| + &ChromeURLDataManager::AddDataSource,
|
| + make_scoped_refptr(html_source)));
|
| +}
|
|
|