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

Side by Side Diff: chrome/browser/ui/webui/uber/uber_ui.cc

Issue 9320056: Help: Implement the initial version of the cross-platform help/about page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: String fix. Created 8 years, 10 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/webui/uber/uber_ui.h" 5 #include "chrome/browser/ui/webui/uber/uber_ui.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/ui/webui/chrome_url_data_manager.h" 10 #include "chrome/browser/ui/webui/chrome_url_data_manager.h"
(...skipping 21 matching lines...) Expand all
32 source->add_resource_path("uber_utils.js", IDR_UBER_UTILS_JS); 32 source->add_resource_path("uber_utils.js", IDR_UBER_UTILS_JS);
33 source->set_default_resource(IDR_UBER_HTML); 33 source->set_default_resource(IDR_UBER_HTML);
34 34
35 // Hack alert: continue showing "Loading..." until a real title is set. 35 // Hack alert: continue showing "Loading..." until a real title is set.
36 source->AddLocalizedString("pageTitle", IDS_TAB_LOADING_TITLE); 36 source->AddLocalizedString("pageTitle", IDS_TAB_LOADING_TITLE);
37 37
38 source->AddString("settingsHost", 38 source->AddString("settingsHost",
39 ASCIIToUTF16(chrome::kChromeUISettingsHost)); 39 ASCIIToUTF16(chrome::kChromeUISettingsHost));
40 source->AddString("extensionsHost", 40 source->AddString("extensionsHost",
41 ASCIIToUTF16(chrome::kChromeUIExtensionsHost)); 41 ASCIIToUTF16(chrome::kChromeUIExtensionsHost));
42 source->AddString("helpHost",
43 ASCIIToUTF16(chrome::kChromeUIHelpHost));
42 44
43 #if defined(OS_CHROMEOS)
44 source->AddString("aboutPageHost",
45 ASCIIToUTF16(chrome::kAboutOptionsSubPage));
46 #endif
47 return source; 45 return source;
48 } 46 }
49 47
50 ChromeWebUIDataSource* CreateUberFrameHTMLSource() { 48 ChromeWebUIDataSource* CreateUberFrameHTMLSource() {
51 ChromeWebUIDataSource* source = 49 ChromeWebUIDataSource* source =
52 new ChromeWebUIDataSource(chrome::kChromeUIUberFrameHost); 50 new ChromeWebUIDataSource(chrome::kChromeUIUberFrameHost);
53 51
54 source->set_json_path("strings.js"); 52 source->set_json_path("strings.js");
55 source->add_resource_path("uber_frame.js", IDR_UBER_FRAME_JS); 53 source->add_resource_path("uber_frame.js", IDR_UBER_FRAME_JS);
56 source->set_default_resource(IDR_UBER_FRAME_HTML); 54 source->set_default_resource(IDR_UBER_FRAME_HTML);
57 55
58 source->AddLocalizedString("shortProductName", IDS_SHORT_PRODUCT_NAME); 56 source->AddLocalizedString("shortProductName", IDS_SHORT_PRODUCT_NAME);
59 57
60 source->AddString("settingsHost", 58 source->AddString("settingsHost",
61 ASCIIToUTF16(chrome::kChromeUISettingsHost)); 59 ASCIIToUTF16(chrome::kChromeUISettingsHost));
62 source->AddLocalizedString("settingsDisplayName", IDS_SETTINGS_TITLE); 60 source->AddLocalizedString("settingsDisplayName", IDS_SETTINGS_TITLE);
63 source->AddString("extensionsHost", 61 source->AddString("extensionsHost",
64 ASCIIToUTF16(chrome::kChromeUIExtensionsHost)); 62 ASCIIToUTF16(chrome::kChromeUIExtensionsHost));
65 source->AddLocalizedString("extensionsDisplayName", 63 source->AddLocalizedString("extensionsDisplayName",
66 IDS_MANAGE_EXTENSIONS_SETTING_WINDOWS_TITLE); 64 IDS_MANAGE_EXTENSIONS_SETTING_WINDOWS_TITLE);
67 #if defined(OS_CHROMEOS) 65 source->AddString("helpHost",
68 source->AddString("aboutPageHost", 66 ASCIIToUTF16(chrome::kChromeUIHelpHost));
69 ASCIIToUTF16(chrome::kAboutOptionsSubPage)); 67 source->AddLocalizedString("helpDisplayName", IDS_HELP_TITLE);
70 source->AddLocalizedString("aboutPageDisplayName", IDS_ABOUT_TAB_TITLE);
71 #endif
72 68
73 return source; 69 return source;
74 } 70 }
75 71
76 } // namespace 72 } // namespace
77 73
78 UberUI::UberUI(content::WebUI* web_ui) : WebUIController(web_ui) { 74 UberUI::UberUI(content::WebUI* web_ui) : WebUIController(web_ui) {
79 Profile* profile = Profile::FromWebUI(web_ui); 75 Profile* profile = Profile::FromWebUI(web_ui);
80 profile->GetChromeURLDataManager()->AddDataSource(CreateUberHTMLSource()); 76 profile->GetChromeURLDataManager()->AddDataSource(CreateUberHTMLSource());
81 77
82 RegisterSubpage(chrome::kChromeUIUberFrameURL); 78 RegisterSubpage(chrome::kChromeUIUberFrameURL);
83 RegisterSubpage(chrome::kChromeUISettingsFrameURL); 79 RegisterSubpage(chrome::kChromeUISettingsFrameURL);
84 RegisterSubpage(chrome::kChromeUIExtensionsFrameURL); 80 RegisterSubpage(chrome::kChromeUIExtensionsFrameURL);
85 #if defined(OS_CHROMEOS) 81 RegisterSubpage(chrome::kChromeUIHelpFrameURL);
86 RegisterSubpage(chrome::kChromeUIAboutPageFrameURL);
87 #endif
88 } 82 }
89 83
90 UberUI::~UberUI() { 84 UberUI::~UberUI() {
91 STLDeleteValues(&sub_uis_); 85 STLDeleteValues(&sub_uis_);
92 } 86 }
93 87
94 void UberUI::RegisterSubpage(const std::string& page_url) { 88 void UberUI::RegisterSubpage(const std::string& page_url) {
95 content::WebUI* webui = 89 content::WebUI* webui =
96 web_ui()->GetWebContents()->CreateWebUI(GURL(page_url)); 90 web_ui()->GetWebContents()->CreateWebUI(GURL(page_url));
97 91
(...skipping 28 matching lines...) Expand all
126 // Find the appropriate subpage and forward the message. 120 // Find the appropriate subpage and forward the message.
127 SubpageMap::iterator subpage = sub_uis_.find(source_url.GetOrigin().spec()); 121 SubpageMap::iterator subpage = sub_uis_.find(source_url.GetOrigin().spec());
128 if (subpage == sub_uis_.end()) { 122 if (subpage == sub_uis_.end()) {
129 // The message was sent from the uber page itself. 123 // The message was sent from the uber page itself.
130 DCHECK_EQ(std::string(chrome::kChromeUIUberHost), source_url.host()); 124 DCHECK_EQ(std::string(chrome::kChromeUIUberHost), source_url.host());
131 return false; 125 return false;
132 } 126 }
133 127
134 // The message was sent from a subpage. 128 // The message was sent from a subpage.
135 // TODO(jam) fix this to use interface 129 // TODO(jam) fix this to use interface
136 //return subpage->second->GetController()->OverrideHandleWebUIMessage( 130 // return subpage->second->GetController()->OverrideHandleWebUIMessage(
137 // source_url, message, args); 131 // source_url, message, args);
138 subpage->second->ProcessWebUIMessage(source_url, message, args); 132 subpage->second->ProcessWebUIMessage(source_url, message, args);
139 return true; 133 return true;
140 } 134 }
141 135
142 // UberFrameUI 136 // UberFrameUI
143 137
144 UberFrameUI::UberFrameUI(content::WebUI* web_ui) : WebUIController(web_ui) { 138 UberFrameUI::UberFrameUI(content::WebUI* web_ui) : WebUIController(web_ui) {
145 Profile* profile = Profile::FromWebUI(web_ui); 139 Profile* profile = Profile::FromWebUI(web_ui);
146 profile->GetChromeURLDataManager()->AddDataSource( 140 profile->GetChromeURLDataManager()->AddDataSource(
147 CreateUberFrameHTMLSource()); 141 CreateUberFrameHTMLSource());
148 } 142 }
149 143
150 UberFrameUI::~UberFrameUI() { 144 UberFrameUI::~UberFrameUI() {
151 } 145 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698