summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-10 17:22:09 +0000
committertsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-10 17:22:09 +0000
commit12c105f167fbcd91b0958161b8024f6fd08017a6 (patch)
treeb9f66ce1c6a509359a91557aaa2211f03818a622
parenta30940722c293602bdb72e0a0e6aa66c63e78049 (diff)
downloadchromium_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
-rw-r--r--chrome/browser/browser_resources.grd3
-rw-r--r--chrome/browser/resources/chromeos/choose_mobile_network.html5
-rw-r--r--chrome/browser/ui/webui/chrome_url_data_manager_backend.cc1
-rw-r--r--chrome/browser/ui/webui/chromeos/choose_mobile_network_ui.cc84
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