| 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/content_settings/content_settings_policy_provider.h" | 5 #include "chrome/browser/content_settings/content_settings_policy_provider.h" | 
| 6 | 6 | 
| 7 #include <string> | 7 #include <string> | 
| 8 #include <vector> | 8 #include <vector> | 
| 9 | 9 | 
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" | 
| (...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 419   if (!prefs_) | 419   if (!prefs_) | 
| 420     return; | 420     return; | 
| 421   pref_change_registrar_.RemoveAll(); | 421   pref_change_registrar_.RemoveAll(); | 
| 422   prefs_ = NULL; | 422   prefs_ = NULL; | 
| 423 } | 423 } | 
| 424 | 424 | 
| 425 void PolicyProvider::Observe(int type, | 425 void PolicyProvider::Observe(int type, | 
| 426                              const content::NotificationSource& source, | 426                              const content::NotificationSource& source, | 
| 427                              const content::NotificationDetails& details) { | 427                              const content::NotificationDetails& details) { | 
| 428   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 428   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 
|  | 429   DCHECK_EQ(type, chrome::NOTIFICATION_PREF_CHANGED); | 
|  | 430   DCHECK_EQ(prefs_, content::Source<PrefService>(source).ptr()); | 
| 429 | 431 | 
| 430   if (type == chrome::NOTIFICATION_PREF_CHANGED) { | 432   const std::string& name = *content::Details<std::string>(details).ptr(); | 
| 431     DCHECK_EQ(prefs_, content::Source<PrefService>(source).ptr()); | 433   if (name == prefs::kManagedDefaultCookiesSetting) { | 
| 432     std::string* name = content::Details<std::string>(details).ptr(); | 434     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES); | 
| 433     if (*name == prefs::kManagedDefaultCookiesSetting) { | 435   } else if (name == prefs::kManagedDefaultImagesSetting) { | 
| 434       UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES); | 436     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_IMAGES); | 
| 435     } else if (*name == prefs::kManagedDefaultImagesSetting) { | 437   } else if (name == prefs::kManagedDefaultJavaScriptSetting) { | 
| 436       UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_IMAGES); | 438     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); | 
| 437     } else if (*name == prefs::kManagedDefaultJavaScriptSetting) { | 439   } else if (name == prefs::kManagedDefaultPluginsSetting) { | 
| 438       UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); | 440     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_PLUGINS); | 
| 439     } else if (*name == prefs::kManagedDefaultPluginsSetting) { | 441   } else if (name == prefs::kManagedDefaultPopupsSetting) { | 
| 440       UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_PLUGINS); | 442     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_POPUPS); | 
| 441     } else if (*name == prefs::kManagedDefaultPopupsSetting) { | 443   } else if (name == prefs::kManagedDefaultGeolocationSetting) { | 
| 442       UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_POPUPS); | 444     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION); | 
| 443     } else if (*name == prefs::kManagedDefaultGeolocationSetting) { | 445   } else if (name == prefs::kManagedDefaultNotificationsSetting) { | 
| 444       UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION); | 446     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_NOTIFICATIONS); | 
| 445     } else if (*name == prefs::kManagedDefaultNotificationsSetting) { | 447   } else if (name == prefs::kManagedDefaultMediaStreamSetting) { | 
| 446       UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_NOTIFICATIONS); | 448     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_MEDIASTREAM); | 
| 447     } else if (*name == prefs::kManagedDefaultMediaStreamSetting) { | 449   } else if (name == prefs::kManagedAutoSelectCertificateForUrls || | 
| 448       UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_MEDIASTREAM); | 450              name == prefs::kManagedCookiesAllowedForUrls || | 
| 449     } else if (*name == prefs::kManagedAutoSelectCertificateForUrls || | 451              name == prefs::kManagedCookiesBlockedForUrls || | 
| 450         *name == prefs::kManagedCookiesAllowedForUrls || | 452              name == prefs::kManagedCookiesSessionOnlyForUrls || | 
| 451         *name == prefs::kManagedCookiesBlockedForUrls || | 453              name == prefs::kManagedImagesAllowedForUrls || | 
| 452         *name == prefs::kManagedCookiesSessionOnlyForUrls || | 454              name == prefs::kManagedImagesBlockedForUrls || | 
| 453         *name == prefs::kManagedImagesAllowedForUrls || | 455              name == prefs::kManagedJavaScriptAllowedForUrls || | 
| 454         *name == prefs::kManagedImagesBlockedForUrls || | 456              name == prefs::kManagedJavaScriptBlockedForUrls || | 
| 455         *name == prefs::kManagedJavaScriptAllowedForUrls || | 457              name == prefs::kManagedPluginsAllowedForUrls || | 
| 456         *name == prefs::kManagedJavaScriptBlockedForUrls || | 458              name == prefs::kManagedPluginsBlockedForUrls || | 
| 457         *name == prefs::kManagedPluginsAllowedForUrls || | 459              name == prefs::kManagedPopupsAllowedForUrls || | 
| 458         *name == prefs::kManagedPluginsBlockedForUrls || | 460              name == prefs::kManagedPopupsBlockedForUrls || | 
| 459         *name == prefs::kManagedPopupsAllowedForUrls || | 461              name == prefs::kManagedNotificationsAllowedForUrls || | 
| 460         *name == prefs::kManagedPopupsBlockedForUrls || | 462              name == prefs::kManagedNotificationsBlockedForUrls) { | 
| 461         *name == prefs::kManagedNotificationsAllowedForUrls || | 463     ReadManagedContentSettings(true); | 
| 462         *name == prefs::kManagedNotificationsBlockedForUrls) { | 464     ReadManagedDefaultSettings(); | 
| 463       ReadManagedContentSettings(true); |  | 
| 464       ReadManagedDefaultSettings(); |  | 
| 465     } |  | 
| 466   } else { | 465   } else { | 
| 467     NOTREACHED() << "Unexpected notification"; | 466     NOTREACHED(); | 
| 468     return; | 467     return; | 
| 469   } | 468   } | 
| 470   NotifyObservers(ContentSettingsPattern(), | 469   NotifyObservers(ContentSettingsPattern(), | 
| 471                   ContentSettingsPattern(), | 470                   ContentSettingsPattern(), | 
| 472                   CONTENT_SETTINGS_TYPE_DEFAULT, | 471                   CONTENT_SETTINGS_TYPE_DEFAULT, | 
| 473                   std::string()); | 472                   std::string()); | 
| 474 } | 473 } | 
| 475 | 474 | 
| 476 }  // namespace content_settings | 475 }  // namespace content_settings | 
| OLD | NEW | 
|---|