Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8989)

Unified Diff: chrome/browser/chromeos/dom_ui/keyboard_overlay_ui.cc

Issue 4226001: Implement DOM UI version of keyboard overlay. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/dom_ui/keyboard_overlay_ui.h ('k') | chrome/browser/dom_ui/dom_ui_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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)));
+}
« no previous file with comments | « chrome/browser/chromeos/dom_ui/keyboard_overlay_ui.h ('k') | chrome/browser/dom_ui/dom_ui_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698