diff options
author | tsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-10 17:22:09 +0000 |
---|---|---|
committer | tsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-10 17:22:09 +0000 |
commit | 12c105f167fbcd91b0958161b8024f6fd08017a6 (patch) | |
tree | b9f66ce1c6a509359a91557aaa2211f03818a622 | |
parent | a30940722c293602bdb72e0a0e6aa66c63e78049 (diff) | |
download | chromium_src-12c105f167fbcd91b0958161b8024f6fd08017a6.zip chromium_src-12c105f167fbcd91b0958161b8024f6fd08017a6.tar.gz chromium_src-12c105f167fbcd91b0958161b8024f6fd08017a6.tar.bz2 |
Add Content-Security-Policy to chromeos chrome://choose-mobile-network page.
Review URL: http://codereview.chromium.org/8168005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104737 0039d316-1c4b-4281-b951-d872f2087c98
4 files changed, 30 insertions, 63 deletions
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd index b97d4b1..d06ce04 100644 --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd @@ -121,7 +121,8 @@ <if expr="pp_ifdef('chromeos')"> <include name="IDR_ABOUT_SYS_HTML" file="resources\about_sys.html" flattenhtml="true" type="BINDATA" /> <include name="IDR_ACTIVE_DOWNLOADS_HTML" file="resources\active_downloads.html" flattenhtml="true" type="BINDATA" /> - <include name="IDR_CHOOSE_MOBILE_NETWORK_HTML" file="resources\chromeos\choose_mobile_network.html" flattenhtml="true" type="BINDATA" /> + <include name="IDR_CHOOSE_MOBILE_NETWORK_HTML" file="resources\chromeos\choose_mobile_network.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" /> + <include name="IDR_CHOOSE_MOBILE_NETWORK_JS" file="resources\chromeos\choose_mobile_network.js" type="BINDATA" /> <include name="IDR_GUEST_SESSION_TAB_HTML" file="resources\guest_session_tab.html" flattenhtml="true" type="BINDATA" /> <include name="IDR_HOST_REGISTRATION_PAGE_HTML" file="resources\host_registration_page.html" flattenhtml="true" type="BINDATA" /> <include name="IDR_IMAGEBURNER_HTML" file="resources\image_burner.html" flattenhtml="true" type="BINDATA" /> diff --git a/chrome/browser/resources/chromeos/choose_mobile_network.html b/chrome/browser/resources/chromeos/choose_mobile_network.html index f66cff7..a3ab890 100644 --- a/chrome/browser/resources/chromeos/choose_mobile_network.html +++ b/chrome/browser/resources/chromeos/choose_mobile_network.html @@ -9,7 +9,8 @@ <script src="chrome://resources/js/cr/event_target.js"></script> <script src="chrome://resources/js/local_strings.js"></script> <script src="chrome://resources/js/util.js"></script> -<script src="choose_mobile_network.js"></script> +<script src="chrome://choose-mobile-network/strings.js"></script> +<script src="chrome://choose-mobile-network/choose_mobile_network.js"></script> </head> <body i18n-values=".style.fontFamily:fontfamily;"> <div id="container" class="container"> @@ -35,5 +36,7 @@ </div> </div> </div> + <script src="chrome://resources/js/i18n_template.js"></script> + <script src="chrome://resources/js/i18n_process.js"></script> </body> </html> diff --git a/chrome/browser/ui/webui/chrome_url_data_manager_backend.cc b/chrome/browser/ui/webui/chrome_url_data_manager_backend.cc index 1815c28..f5fda2b 100644 --- a/chrome/browser/ui/webui/chrome_url_data_manager_backend.cc +++ b/chrome/browser/ui/webui/chrome_url_data_manager_backend.cc @@ -63,7 +63,6 @@ class ChromeURLContentSecurityPolicyExceptionSet insert(chrome::kChromeUITextfieldsHost); #if defined(OS_CHROMEOS) insert(chrome::kChromeUIActiveDownloadsHost); - insert(chrome::kChromeUIChooseMobileNetworkHost); insert(chrome::kChromeUIEnterpriseEnrollmentHost); insert(chrome::kChromeUIImageBurnerHost); insert(chrome::kChromeUIKeyboardOverlayHost); diff --git a/chrome/browser/ui/webui/chromeos/choose_mobile_network_ui.cc b/chrome/browser/ui/webui/chromeos/choose_mobile_network_ui.cc index bf3a9bf..c205328 100644 --- a/chrome/browser/ui/webui/chromeos/choose_mobile_network_ui.cc +++ b/chrome/browser/ui/webui/chromeos/choose_mobile_network_ui.cc @@ -17,6 +17,7 @@ #include "chrome/browser/chromeos/cros/network_library.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/webui/chrome_url_data_manager.h" +#include "chrome/browser/ui/webui/chrome_web_ui_data_source.h" #include "chrome/common/jstemplate_builder.h" #include "chrome/common/url_constants.h" #include "content/browser/browser_thread.h" @@ -44,25 +45,27 @@ const char kOperatorNameProperty[] = "operatorName"; const char kStatusProperty[] = "status"; const char kTechnologyProperty[] = "technology"; -class ChooseMobileNetworkHTMLSource - : public ChromeURLDataManager::DataSource { - public: - ChooseMobileNetworkHTMLSource(); - - // 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 ~ChooseMobileNetworkHTMLSource() {} - - DISALLOW_COPY_AND_ASSIGN(ChooseMobileNetworkHTMLSource); -}; +ChromeWebUIDataSource *CreateChooseMobileNetworkUIHTMLSource() { + ChromeWebUIDataSource *source = + new ChromeWebUIDataSource(chrome::kChromeUIChooseMobileNetworkHost); + + source->AddLocalizedString("chooseNetworkTitle", + IDS_NETWORK_CHOOSE_MOBILE_NETWORK); + source->AddLocalizedString("scanningMsgLine1", + IDS_NETWORK_SCANNING_FOR_MOBILE_NETWORKS); + source->AddLocalizedString("scanningMsgLine2", + IDS_NETWORK_SCANNING_THIS_MAY_TAKE_A_MINUTE); + source->AddLocalizedString("noMobileNetworks", + IDS_NETWORK_NO_MOBILE_NETWORKS); + source->AddLocalizedString("connect", IDS_OPTIONS_SETTINGS_CONNECT); + source->AddLocalizedString("cancel", IDS_CANCEL); + + source->set_json_path("strings.js"); + source->add_resource_path("choose_mobile_network.js", + IDR_CHOOSE_MOBILE_NETWORK_JS); + source->set_default_resource(IDR_CHOOSE_MOBILE_NETWORK_HTML); + return source; +} class ChooseMobileNetworkHandler : public WebUIMessageHandler, @@ -92,44 +95,6 @@ class ChooseMobileNetworkHandler DISALLOW_COPY_AND_ASSIGN(ChooseMobileNetworkHandler); }; -// ChooseMobileNetworkHTMLSource implementation. - -ChooseMobileNetworkHTMLSource::ChooseMobileNetworkHTMLSource() - : DataSource(chrome::kChromeUIChooseMobileNetworkHost, - MessageLoop::current()) { -} - -void ChooseMobileNetworkHTMLSource::StartDataRequest(const std::string& path, - bool is_incognito, - int request_id) { - DictionaryValue strings; - strings.SetString( - "chooseNetworkTitle", - l10n_util::GetStringUTF16(IDS_NETWORK_CHOOSE_MOBILE_NETWORK)); - strings.SetString( - "scanningMsgLine1", - l10n_util::GetStringUTF16(IDS_NETWORK_SCANNING_FOR_MOBILE_NETWORKS)); - strings.SetString( - "scanningMsgLine2", - l10n_util::GetStringUTF16(IDS_NETWORK_SCANNING_THIS_MAY_TAKE_A_MINUTE)); - strings.SetString( - "noMobileNetworks", - l10n_util::GetStringUTF16(IDS_NETWORK_NO_MOBILE_NETWORKS)); - strings.SetString("connect", - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_CONNECT)); - strings.SetString("cancel", l10n_util::GetStringUTF16(IDS_CANCEL)); - SetFontAndTextDirection(&strings); - - static const base::StringPiece html( - ResourceBundle::GetSharedInstance().GetRawDataResource( - IDR_CHOOSE_MOBILE_NETWORK_HTML)); - - std::string full_html = jstemplate_builder::GetI18nTemplateHtml(html, - &strings); - - SendResponse(request_id, base::RefCountedString::TakeString(&full_html)); -} - // ChooseMobileNetworkHandler implementation. ChooseMobileNetworkHandler::ChooseMobileNetworkHandler() @@ -254,11 +219,10 @@ ChooseMobileNetworkUI::ChooseMobileNetworkUI(TabContents* contents) : ChromeWebUI(contents) { ChooseMobileNetworkHandler* handler = new ChooseMobileNetworkHandler(); AddMessageHandler((handler)->Attach(this)); - ChooseMobileNetworkHTMLSource* html_source = - new ChooseMobileNetworkHTMLSource(); // Set up the "chrome://choose-mobile-network" source. Profile* profile = Profile::FromBrowserContext(contents->browser_context()); - profile->GetChromeURLDataManager()->AddDataSource(html_source); + profile->GetChromeURLDataManager()->AddDataSource( + CreateChooseMobileNetworkUIHTMLSource()); } } // namespace chromeos |