| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |