summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-31 11:37:54 +0000
committernkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-31 11:37:54 +0000
commit7ae883344b5869ca83ad6612211a6bdf4ca5092b (patch)
tree48e7fa2955e168e0ec4398159bf26b45e73bc407
parentc6568db158e78c3963a5983506e9c7337ce143a5 (diff)
downloadchromium_src-7ae883344b5869ca83ad6612211a6bdf4ca5092b.zip
chromium_src-7ae883344b5869ca83ad6612211a6bdf4ca5092b.tar.gz
chromium_src-7ae883344b5869ca83ad6612211a6bdf4ca5092b.tar.bz2
[cros] Initial implementation for OOBE WebUI.
Only C++ part and trivial HTML/CSS files. BUG=chromium-os:15632 TEST=Manual. Navigated to chrome://oobe. Review URL: http://codereview.chromium.org/7076014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87293 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/app/chromium_strings.grd5
-rw-r--r--chrome/app/generated_resources.grd6
-rw-r--r--chrome/app/google_chrome_strings.grd5
-rw-r--r--chrome/app/nibs/MainMenu.xib4
-rw-r--r--chrome/browser/browser_resources.grd1
-rw-r--r--chrome/browser/resources/chromeos/oobe.css5
-rw-r--r--chrome/browser/resources/chromeos/oobe.html9
-rw-r--r--chrome/browser/ui/webui/chrome_web_ui_factory.cc3
-rw-r--r--chrome/browser/ui/webui/chromeos/login/oobe_ui.cc228
-rw-r--r--chrome/browser/ui/webui/chromeos/login/oobe_ui.h27
-rw-r--r--chrome/chrome_browser.gypi4
-rw-r--r--chrome/common/url_constants.cc2
-rw-r--r--chrome/common/url_constants.h2
-rw-r--r--chrome/tools/mac_helpers/infoplist_strings_util.mm4
14 files changed, 298 insertions, 7 deletions
diff --git a/chrome/app/chromium_strings.grd b/chrome/app/chromium_strings.grd
index 23da4fb..c8196a8 100644
--- a/chrome/app/chromium_strings.grd
+++ b/chrome/app/chromium_strings.grd
@@ -180,6 +180,9 @@ be available for now. -->
<message name="IDS_PRODUCT_NAME" desc="The Chrome application name">
Chromium
</message>
+ <message name="IDS_SHORT_PRODUCT_NAME" desc="The Chrome application short name.">
+ Chromium
+ </message>
<message name="IDS_SXS_SHORTCUT_NAME" desc="The Chrome short cut name for SxS channel">
Chromium
</message>
@@ -524,7 +527,7 @@ be available for now. -->
</message>
<if expr="os == 'darwin'">
- <message name="IDS_SHORT_PRODUCT_NAME" desc="The application's short name, used for the Mac's application menu, activity monitor, etc. This should be less than 16 characters. Example: Chrome, not Google Chrome.">
+ <message name="IDS_APP_MENU_PRODUCT_NAME" desc="The application's short name, used for the Mac's application menu, activity monitor, etc. This should be less than 16 characters. Example: Chrome, not Google Chrome.">
Chromium
</message>
<message name="IDS_HELPER_NAME" desc="The helper application's name. Should contain the Chrome application name (IDS_PRODUCT_NAME). Example: Google Chrome Helper.">
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index c43488e..dab950f 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -10141,6 +10141,12 @@ Keep your key file in a safe place. You will need it to create new versions of y
<message name="IDS_INSTALLING_UPDATE_DESC" desc="Additional info shown on the updates installation screen during OOBE">
Your computer will restart when the update is complete.
</message>
+ <message name="IDS_WELCOME_SCREEN_TITLE" desc="Title of the OOBE welcome screen">
+ <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> › Connect
+ </message>
+ <message name="IDS_EULA_SCREEN_TITLE" desc="Title of the OOBE EULA screen">
+ <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> › The small print
+ </message>
<message name="IDS_NETWORK_SELECTION_TITLE" desc="Welcome title shown on network selection screen">
Let's get started
</message>
diff --git a/chrome/app/google_chrome_strings.grd b/chrome/app/google_chrome_strings.grd
index 6b1984b..83477dc 100644
--- a/chrome/app/google_chrome_strings.grd
+++ b/chrome/app/google_chrome_strings.grd
@@ -178,6 +178,9 @@ Chrome supports. -->
<message name="IDS_PRODUCT_NAME" desc="The Chrome application name">
Google Chrome
</message>
+ <message name="IDS_SHORT_PRODUCT_NAME" desc="The Chrome application short name">
+ Chrome
+ </message>
<message name="IDS_SXS_SHORTCUT_NAME" desc="The Chrome short cut name for SxS channel">
Google Chrome Canary
</message>
@@ -522,7 +525,7 @@ Chrome supports. -->
</message>
<if expr="os == 'darwin'">
- <message name="IDS_SHORT_PRODUCT_NAME" desc="The application's short name, used for the Mac's application menu, activity monitor, etc. This should be less than 16 characters. Example: Chrome, not Google Chrome.">
+ <message name="IDS_APP_MENU_PRODUCT_NAME" desc="The application's short name, used for the Mac's application menu, activity monitor, etc. This should be less than 16 characters. Example: Chrome, not Google Chrome.">
Chrome
</message>
<message name="IDS_HELPER_NAME" desc="The helper application's name. Should contain the Chrome application name (IDS_PRODUCT_NAME). Example: Google Chrome Helper.">
diff --git a/chrome/app/nibs/MainMenu.xib b/chrome/app/nibs/MainMenu.xib
index 2902bd1..ae55a8f 100644
--- a/chrome/app/nibs/MainMenu.xib
+++ b/chrome/app/nibs/MainMenu.xib
@@ -42,7 +42,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="694149608">
<reference key="NSMenu" ref="649796088"/>
- <string key="NSTitle">^IDS_SHORT_PRODUCT_NAME</string>
+ <string key="NSTitle">^IDS_APP_MENU_PRODUCT_NAME</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<object class="NSCustomResource" key="NSOnImage" id="353210768">
@@ -55,7 +55,7 @@
</object>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="110575045">
- <string key="NSTitle">^IDS_SHORT_PRODUCT_NAME</string>
+ <string key="NSTitle">^IDS_APP_MENU_PRODUCT_NAME</string>
<object class="NSMutableArray" key="NSMenuItems">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="238522557">
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
index ccc24c0..67bf93f 100644
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
@@ -98,6 +98,7 @@
<include name="IDR_KEYBOARD_OVERLAY_JS" file="resources\keyboard_overlay.js" flattenhtml="true" type="BINDATA" />
<include name="IDR_MOBILE_SETUP_PAGE_HTML" file="resources\mobile_setup.html" flattenhtml="true" type="BINDATA" />
<include name="IDR_NOTIFICATION_ICON_LINK_HTML" file="resources\notification_icon_link.html" type="BINDATA" />
+ <include name="IDR_OOBE_HTML" file="resources\chromeos\oobe.html" flattenhtml="true" type="BINDATA" />
<include name="IDR_OFFLINE_LOAD_HTML" file="resources\offline_load.html" flattenhtml="true" type="BINDATA" />
<include name="IDR_OS_CREDITS_HTML" file="resources\about_os_credits.html" flattenhtml="true" type="BINDATA" />
<include name="IDR_PROXY_SETTINGS_HTML" file="resources\chromeos\proxy_settings.html" flattenhtml="true" type="BINDATA" />
diff --git a/chrome/browser/resources/chromeos/oobe.css b/chrome/browser/resources/chromeos/oobe.css
new file mode 100644
index 0000000..9b44394
--- /dev/null
+++ b/chrome/browser/resources/chromeos/oobe.css
@@ -0,0 +1,5 @@
+body {
+ cursor: default;
+ font-size: 13px;
+ background: #f1f1f1;
+}
diff --git a/chrome/browser/resources/chromeos/oobe.html b/chrome/browser/resources/chromeos/oobe.html
new file mode 100644
index 0000000..4c55568
--- /dev/null
+++ b/chrome/browser/resources/chromeos/oobe.html
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML>
+<html i18n-values="dir:textdirection">
+<head>
+<title i18n-content="title"></title>
+<link rel="stylesheet" href="oobe.css">
+</head>
+<body i18n-values=".style.fontFamily:fontfamily;">
+</body>
+</html>
diff --git a/chrome/browser/ui/webui/chrome_web_ui_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_factory.cc
index 5a6fba4..b2b84c0 100644
--- a/chrome/browser/ui/webui/chrome_web_ui_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_factory.cc
@@ -42,6 +42,7 @@
#include "chrome/browser/ui/webui/chromeos/enterprise_enrollment_ui.h"
#include "chrome/browser/ui/webui/chromeos/imageburner_ui.h"
#include "chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.h"
+#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
#include "chrome/browser/ui/webui/chromeos/mobile_setup_ui.h"
#include "chrome/browser/ui/webui/chromeos/proxy_settings_ui.h"
#include "chrome/browser/ui/webui/chromeos/register_page_ui.h"
@@ -186,6 +187,8 @@ static WebUIFactoryFunction GetWebUIFactoryFunction(Profile* profile,
return &NewWebUI<KeyboardOverlayUI>;
if (url.host() == chrome::kChromeUIMobileSetupHost)
return &NewWebUI<MobileSetupUI>;
+ if (url.host() == chrome::kChromeUIOobeHost)
+ return &NewWebUI<chromeos::OobeUI>;
if (url.host() == chrome::kChromeUIProxySettingsHost)
return &NewWebUI<chromeos::ProxySettingsUI>;
if (url.host() == chrome::kChromeUIRegisterPageHost)
diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
new file mode 100644
index 0000000..f3f8611
--- /dev/null
+++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
@@ -0,0 +1,228 @@
+// Copyright (c) 2011 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/ui/webui/chromeos/login/oobe_ui.h"
+
+#include <string>
+
+#include "base/logging.h"
+#include "base/memory/weak_ptr.h"
+#include "base/string_piece.h"
+#include "base/values.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/webui/chrome_url_data_manager.h"
+#include "chrome/common/jstemplate_builder.h"
+#include "chrome/common/url_constants.h"
+#include "content/browser/browser_thread.h"
+#include "content/browser/tab_contents/tab_contents.h"
+#include "grit/browser_resources.h"
+#include "grit/chromium_strings.h"
+#include "grit/generated_resources.h"
+#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/resource/resource_bundle.h"
+
+namespace {
+
+// JS API callbacks names.
+const char kJsApiScreenStateInitialize[] = "screenStateInitialize";
+
+// Page JS API function names.
+// const char kJsApiScreenStateChanged[] = "cr.ui.Oobe.screenStateChanged";
+
+// OOBE screen state variables which are passed to the page.
+const char kState[] = "state";
+
+} // namespace
+
+namespace chromeos {
+
+class OobeUIHTMLSource : public ChromeURLDataManager::DataSource {
+ public:
+ OobeUIHTMLSource();
+
+ // Called when the network layer has requested a resource underneath
+ // the path we registered.
+ virtual void StartDataRequest(const std::string& path,
+ bool is_incognito,
+ int request_id);
+ virtual std::string GetMimeType(const std::string&) const {
+ return "text/html";
+ }
+
+ private:
+ virtual ~OobeUIHTMLSource() {}
+
+ std::string service_path_;
+ DISALLOW_COPY_AND_ASSIGN(OobeUIHTMLSource);
+};
+
+// The handler for Javascript messages related to the "oobe" view.
+class OobeHandler : public WebUIMessageHandler,
+ public base::SupportsWeakPtr<OobeHandler> {
+ public:
+ OobeHandler();
+ virtual ~OobeHandler();
+
+ // Init work after Attach.
+ void Init(TabContents* contents);
+
+ // WebUIMessageHandler implementation.
+ virtual WebUIMessageHandler* Attach(WebUI* web_ui);
+ virtual void RegisterMessages();
+
+ private:
+ // Should keep this state enum in sync with similar one in JS code.
+ typedef enum ScreenState {
+ SCREEN_LOADING = -1,
+ SCREEN_NONE = 0,
+ SCREEN_WELCOME = 1,
+ SCREEN_EULA = 2,
+ SCREEN_UPDATE = 3,
+ } ScreenState;
+
+ class TaskProxy : public base::RefCountedThreadSafe<TaskProxy> {
+ public:
+ explicit TaskProxy(const base::WeakPtr<OobeHandler>& handler)
+ : handler_(handler) {
+ }
+
+ void HandleInitialize() {
+ if (handler_)
+ handler_->InitializeScreenState();
+ }
+
+ private:
+ base::WeakPtr<OobeHandler> handler_;
+
+ DISALLOW_COPY_AND_ASSIGN(TaskProxy);
+ };
+
+ // Handlers for JS WebUI messages.
+ void HandleScreenStateInitialize(const ListValue* args);
+
+ // Initializes current OOBE state, passes that to page.
+ void InitializeScreenState();
+
+ // Updates page states.
+ void UpdatePage();
+
+ TabContents* tab_contents_;
+ ScreenState state_;
+
+ DISALLOW_COPY_AND_ASSIGN(OobeHandler);
+};
+
+// OobeUIHTMLSource -------------------------------------------------------
+
+OobeUIHTMLSource::OobeUIHTMLSource()
+ : DataSource(chrome::kChromeUIOobeHost, MessageLoop::current()) {
+}
+
+void OobeUIHTMLSource::StartDataRequest(const std::string& path,
+ bool is_incognito,
+ int request_id) {
+ DictionaryValue strings;
+ // OOBE title is not actually seen in UI, use title of the welcome screen.
+ strings.SetString("title",
+ l10n_util::GetStringUTF16(IDS_NETWORK_SELECTION_TITLE));
+ strings.SetString("welcomeScreenTitle",
+ l10n_util::GetStringFUTF16(IDS_WELCOME_SCREEN_TITLE,
+ l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME)));
+ strings.SetString("languageSelect",
+ l10n_util::GetStringUTF16(IDS_LANGUAGE_SELECTION_SELECT));
+ strings.SetString("keyboardSelect",
+ l10n_util::GetStringUTF16(IDS_KEYBOARD_SELECTION_SELECT));
+ strings.SetString("networkSelect",
+ l10n_util::GetStringUTF16(IDS_NETWORK_SELECTION_SELECT));
+ strings.SetString("continue",
+ l10n_util::GetStringUTF16(IDS_NETWORK_SELECTION_CONTINUE_BUTTON));
+ strings.SetString("eulaScreenTitle",
+ l10n_util::GetStringFUTF16(IDS_EULA_SCREEN_TITLE,
+ l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME)));
+ strings.SetString("checkboxLogging",
+ l10n_util::GetStringUTF16(IDS_EULA_CHECKBOX_ENABLE_LOGGING));
+ strings.SetString("learnMore",
+ l10n_util::GetStringUTF16(IDS_LEARN_MORE));
+ strings.SetString("back",
+ l10n_util::GetStringUTF16(IDS_EULA_BACK_BUTTON));
+ strings.SetString("acceptAgreement",
+ l10n_util::GetStringUTF16(IDS_EULA_ACCEPT_AND_CONTINUE_BUTTON));
+ SetFontAndTextDirection(&strings);
+
+ static const base::StringPiece html(
+ ResourceBundle::GetSharedInstance().GetRawDataResource(IDR_OOBE_HTML));
+
+ const std::string& full_html = jstemplate_builder::GetI18nTemplateHtml(
+ html, &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);
+}
+
+// OobeHandler ------------------------------------------------------------
+
+OobeHandler::OobeHandler()
+ : tab_contents_(NULL),
+ state_(SCREEN_LOADING) {
+}
+
+OobeHandler::~OobeHandler() {
+}
+
+WebUIMessageHandler* OobeHandler::Attach(WebUI* web_ui) {
+ return WebUIMessageHandler::Attach(web_ui);
+}
+
+void OobeHandler::Init(TabContents* contents) {
+ tab_contents_ = contents;
+}
+
+void OobeHandler::RegisterMessages() {
+ web_ui_->RegisterMessageCallback(kJsApiScreenStateInitialize,
+ NewCallback(this, &OobeHandler::HandleScreenStateInitialize));
+}
+
+void OobeHandler::HandleScreenStateInitialize(const ListValue* args) {
+ const size_t kScreenStateInitializeParamCount = 0;
+ if (args->GetSize() != kScreenStateInitializeParamCount) {
+ NOTREACHED();
+ return;
+ }
+ scoped_refptr<TaskProxy> task = new TaskProxy(AsWeakPtr());
+ BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
+ NewRunnableMethod(task.get(), &TaskProxy::HandleInitialize));
+}
+
+void OobeHandler::InitializeScreenState() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ // TODO(nkostylev): Integrated with OOBE flow, controllers.
+ state_ = SCREEN_WELCOME;
+ UpdatePage();
+}
+
+void OobeHandler::UpdatePage() {
+ DictionaryValue screen_info_dict;
+ VLOG(1) << "New state: " << state_;
+ screen_info_dict.SetInteger(kState, state_);
+ // TODO(nkostylev): Initialize page state.
+ // web_ui_->CallJavascriptFunction(kJsApiScreenStateChanged,
+ // screen_info_dict);
+}
+
+// OobeUI ----------------------------------------------------------------------
+
+OobeUI::OobeUI(TabContents* contents) : WebUI(contents) {
+ OobeHandler* handler = new OobeHandler();
+ AddMessageHandler((handler)->Attach(this));
+ handler->Init(contents);
+ OobeUIHTMLSource* html_source = new OobeUIHTMLSource();
+
+ // Set up the chrome://oobe/ source.
+ contents->profile()->GetChromeURLDataManager()->AddDataSource(html_source);
+}
+
+} // namespace chromeos
diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.h b/chrome/browser/ui/webui/chromeos/login/oobe_ui.h
new file mode 100644
index 0000000..68ee5a1
--- /dev/null
+++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.h
@@ -0,0 +1,27 @@
+// Copyright (c) 2011 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.
+
+#ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_UI_H_
+#define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_UI_H_
+#pragma once
+
+#include "content/browser/webui/web_ui.h"
+
+namespace chromeos {
+
+// A custom WebUI that defines datasource for out-of-box-experience (OOBE) UI:
+// - welcome screen (setup language/keyboard/network).
+// - eula screen (CrOS (+ OEM) EULA content/TPM password/crash reporting).
+// - update screen.
+class OobeUI : public WebUI {
+ public:
+ explicit OobeUI(TabContents* contents);
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(OobeUI);
+};
+
+} // namespace chromeos
+
+#endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_UI_H_
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 990c747..9211d76 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -3305,6 +3305,8 @@
'browser/ui/webui/chromeos/imageburner_ui.h',
'browser/ui/webui/chromeos/keyboard_overlay_ui.cc',
'browser/ui/webui/chromeos/keyboard_overlay_ui.h',
+ 'browser/ui/webui/chromeos/login/oobe_ui.cc',
+ 'browser/ui/webui/chromeos/login/oobe_ui.h',
'browser/ui/webui/chromeos/login/login_ui.cc',
'browser/ui/webui/chromeos/login/login_ui.h',
'browser/ui/webui/chromeos/login/login_ui_helpers.cc',
@@ -3639,7 +3641,7 @@
['exclude', '^browser/ui/views/tab_contents/tab_contents_container_views.cc'],
['exclude', '^browser/ui/views/tab_contents/tab_contents_container_views.h'],
['exclude', '^browser/ui/views/tab_contents/tab_contents_view_touch.*'],
- ['exclude', '^browser/ui/webui/chromeos/login/'],
+ ['exclude', '^browser/ui/webui/chromeos/login/login*'],
['exclude', '^browser/ui/webui/keyboard_ui.*'],
],
}],
diff --git a/chrome/common/url_constants.cc b/chrome/common/url_constants.cc
index c9e6754..9b9dd6e 100644
--- a/chrome/common/url_constants.cc
+++ b/chrome/common/url_constants.cc
@@ -88,6 +88,7 @@ const char kChromeUIImageBurnerURL[] = "chrome://imageburner/";
const char kChromeUIKeyboardOverlayURL[] = "chrome://keyboardoverlay/";
const char kChromeUIMediaplayerURL[] = "chrome://mediaplayer/";
const char kChromeUIMobileSetupURL[] = "chrome://mobilesetup/";
+const char kChromeUIOobeURL[] = "chrome://oobe/";
const char kChromeUIProxySettingsURL[] = "chrome://proxy-settings/";
const char kChromeUIRegisterPageURL[] = "chrome://register/";
const char kChromeUISlideshowURL[] = "chrome://slideshow/";
@@ -140,6 +141,7 @@ const char kChromeUIImageBurnerHost[] = "imageburner";
const char kChromeUIKeyboardOverlayHost[] = "keyboardoverlay";
const char kChromeUIMediaplayerHost[] = "mediaplayer";
const char kChromeUIMobileSetupHost[] = "mobilesetup";
+const char kChromeUIOobeHost[] = "oobe";
const char kChromeUIProxySettingsHost[] = "proxy-settings";
const char kChromeUIRegisterPageHost[] = "register";
const char kChromeUISlideshowHost[] = "slideshow";
diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
index 9c7d081..0eff7b9 100644
--- a/chrome/common/url_constants.h
+++ b/chrome/common/url_constants.h
@@ -79,6 +79,7 @@ extern const char kChromeUIImageBurnerURL[];
extern const char kChromeUIKeyboardOverlayURL[];
extern const char kChromeUIMediaplayerURL[];
extern const char kChromeUIMobileSetupURL[];
+extern const char kChromeUIOobeURL[];
extern const char kChromeUIProxySettingsURL[];
extern const char kChromeUIRegisterPageURL[];
extern const char kChromeUISlideshowURL[];
@@ -130,6 +131,7 @@ extern const char kChromeUIImageBurnerHost[];
extern const char kChromeUIKeyboardOverlayHost[];
extern const char kChromeUIMediaplayerHost[];
extern const char kChromeUIMobileSetupHost[];
+extern const char kChromeUIOobeHost[];
extern const char kChromeUIProxySettingsHost[];
extern const char kChromeUIRegisterPageHost[];
extern const char kChromeUISlideshowHost[];
diff --git a/chrome/tools/mac_helpers/infoplist_strings_util.mm b/chrome/tools/mac_helpers/infoplist_strings_util.mm
index f142a4b..469af2e 100644
--- a/chrome/tools/mac_helpers/infoplist_strings_util.mm
+++ b/chrome/tools/mac_helpers/infoplist_strings_util.mm
@@ -216,8 +216,8 @@ int main(int argc, char* const argv[]) {
uint32_t name_id = IDS_PRODUCT_NAME;
const char* name_id_str = "IDS_PRODUCT_NAME";
- uint32_t short_name_id = IDS_SHORT_PRODUCT_NAME;
- const char* short_name_id_str = "IDS_SHORT_PRODUCT_NAME";
+ uint32_t short_name_id = IDS_APP_MENU_PRODUCT_NAME;
+ const char* short_name_id_str = "IDS_APP_MENU_PRODUCT_NAME";
if (strcmp(app_type, kAppType_Helper) == 0) {
name_id = IDS_HELPER_NAME;
name_id_str = "IDS_HELPER_NAME";