Display cookie blocking toggle as extension controlled
Display an extension icon if third-party cookie blocking is controlled
through an extension.
Also use a link to the new cookie settings UI if the privacy settings
redesign is enabled.
Bug: 1065392
Change-Id: I1917908a24dfe6ca711d85960689b1328fafdb16
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2128489
Commit-Queue: Christian Dullweber <[email protected]>
Reviewed-by: Evan Stade <[email protected]>
Reviewed-by: Elly Fong-Jones <[email protected]>
Cr-Commit-Position: refs/heads/master@{#755175}
diff --git a/chrome/browser/ui/webui/ntp/cookie_controls_handler.cc b/chrome/browser/ui/webui/ntp/cookie_controls_handler.cc
index d5d8841..8a7336b 100644
--- a/chrome/browser/ui/webui/ntp/cookie_controls_handler.cc
+++ b/chrome/browser/ui/webui/ntp/cookie_controls_handler.cc
@@ -7,14 +7,17 @@
#include <utility>
#include "base/bind.h"
+#include "base/feature_list.h"
#include "base/values.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/cookie_controls/cookie_controls_service.h"
#include "chrome/browser/ui/cookie_controls/cookie_controls_service_factory.h"
+#include "chrome/common/chrome_features.h"
namespace {
-static const char* kSettingsIcon = "cr:settings_icon";
static const char* kPolicyIcon = "cr20:domain";
+static const char* kExtensionIcon = "cr:extension";
+static const char* kSettingsIcon = "cr:settings_icon";
} // namespace
CookieControlsHandler::CookieControlsHandler(Profile* profile)
@@ -55,7 +58,7 @@
void CookieControlsHandler::HandleObserveCookieControlsSettingsChanges(
const base::ListValue* args) {
AllowJavascript();
- OnThirdPartyCookieBlockingPrefChanged();
+ SendCookieControlsUIChanges();
}
const char* CookieControlsHandler::GetEnforcementIcon(Profile* profile) {
@@ -64,6 +67,8 @@
switch (service->GetCookieControlsEnforcement()) {
case CookieControlsEnforcement::kEnforcedByPolicy:
return kPolicyIcon;
+ case CookieControlsEnforcement::kEnforcedByExtension:
+ return kExtensionIcon;
case CookieControlsEnforcement::kEnforcedByCookieSetting:
return kSettingsIcon;
case CookieControlsEnforcement::kNoEnforcement:
@@ -85,5 +90,10 @@
dict.SetBoolKey("enforced", service_->ShouldEnforceCookieControls());
dict.SetBoolKey("checked", service_->GetToggleCheckedValue());
dict.SetStringKey("icon", CookieControlsHandler::GetEnforcementIcon(profile));
+ bool use_new_cookie_page =
+ base::FeatureList::IsEnabled(features::kPrivacySettingsRedesign);
+ dict.SetString("cookieSettingsUrl",
+ use_new_cookie_page ? "chrome://settings/cookies"
+ : "chrome://settings/content/cookies");
FireWebUIListener("cookie-controls-changed", dict);
}