summaryrefslogtreecommitdiffstats
path: root/chrome/browser/profiles/profile_io_data.cc
diff options
context:
space:
mode:
authoratwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-11 04:58:01 +0000
committeratwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-11 04:58:01 +0000
commit78f9d8b86c7f0c3f340ef2bc66516086845f41af (patch)
treebe0d27749395168f4747898812b399ea74091eea /chrome/browser/profiles/profile_io_data.cc
parentb45ff99b226694d46b9b8b5f34759ba67e557173 (diff)
downloadchromium_src-78f9d8b86c7f0c3f340ef2bc66516086845f41af.zip
chromium_src-78f9d8b86c7f0c3f340ef2bc66516086845f41af.tar.gz
chromium_src-78f9d8b86c7f0c3f340ef2bc66516086845f41af.tar.bz2
Add a header when fetching pages under the DMServer URL.
PolicyHeaderService now generates a json-style header to send up with web requests sent to DMServer containing information about the current policy state. This allows DMServer to return policy information via SAML assertions to authorized service providers. BUG=326799 TBR=jochen Review URL: https://codereview.chromium.org/99433004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240019 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/profiles/profile_io_data.cc')
-rw-r--r--chrome/browser/profiles/profile_io_data.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
index 77de371..1973379 100644
--- a/chrome/browser/profiles/profile_io_data.cc
+++ b/chrome/browser/profiles/profile_io_data.cc
@@ -80,6 +80,14 @@
#include "net/url_request/url_request_file_job.h"
#include "net/url_request/url_request_job_factory_impl.h"
+#if defined(ENABLE_CONFIGURATION_POLICY)
+#include "chrome/browser/policy/cloud/policy_header_service.h"
+#include "chrome/browser/policy/cloud/policy_header_service_factory.h"
+#include "chrome/browser/policy/cloud/user_cloud_policy_manager.h"
+#include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
+#include "components/policy/core/browser/policy_header_io_helper.h"
+#endif
+
#if defined(ENABLE_MANAGED_USERS)
#include "chrome/browser/managed_mode/managed_mode_url_filter.h"
#include "chrome/browser/managed_mode/managed_user_service.h"
@@ -482,6 +490,16 @@ void ProfileIOData::InitializeOnUIThread(Profile* profile) {
// in particular when this ProfileIOData isn't |initialized_| during deletion.
#if defined(ENABLE_CONFIGURATION_POLICY)
url_blacklist_manager_.reset(new policy::URLBlacklistManager(pref_service));
+
+ if (!is_incognito()) {
+ // Add policy headers for non-incognito requests.
+ policy::PolicyHeaderService* policy_header_service =
+ policy::PolicyHeaderServiceFactory::GetForBrowserContext(profile);
+ if (policy_header_service) {
+ policy_header_helper_ = policy_header_service->CreatePolicyHeaderIOHelper(
+ io_message_loop_proxy);
+ }
+ }
#endif
initialized_on_UI_thread_ = true;