Commit 23982536 authored by Christian Dullweber's avatar Christian Dullweber Committed by Commit Bot

Disable cookie deletion for supervised users

Disable cookie deletion button in new PageInfo UI when deletion is
restricted for supervised users.

Bug: 1077766
Change-Id: Iabb07fb686b761a1a3a9ca8b9c3d0f2be95f499c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2396122
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: default avatarEhimare Okoyomon <eokoyomon@chromium.org>
Cr-Commit-Position: refs/heads/master@{#804884}
parent 6ec77e0a
...@@ -12,6 +12,7 @@ import androidx.appcompat.app.AppCompatActivity; ...@@ -12,6 +12,7 @@ import androidx.appcompat.app.AppCompatActivity;
import org.chromium.components.browser_ui.site_settings.SiteDataCleaner; import org.chromium.components.browser_ui.site_settings.SiteDataCleaner;
import org.chromium.components.browser_ui.site_settings.Website; import org.chromium.components.browser_ui.site_settings.Website;
import org.chromium.components.browser_ui.site_settings.WebsiteAddress; import org.chromium.components.browser_ui.site_settings.WebsiteAddress;
import org.chromium.components.browser_ui.site_settings.WebsitePreferenceBridge;
import org.chromium.components.content_settings.CookieControlsBridge; import org.chromium.components.content_settings.CookieControlsBridge;
import org.chromium.components.content_settings.CookieControlsEnforcement; import org.chromium.components.content_settings.CookieControlsEnforcement;
import org.chromium.components.content_settings.CookieControlsObserver; import org.chromium.components.content_settings.CookieControlsObserver;
...@@ -64,6 +65,15 @@ public class PageInfoCookiesController ...@@ -64,6 +65,15 @@ public class PageInfoCookiesController
public View createViewForSubpage(ViewGroup parent) { public View createViewForSubpage(ViewGroup parent) {
assert mSubPage == null; assert mSubPage == null;
mSubPage = new PageInfoCookiesPreference(); mSubPage = new PageInfoCookiesPreference();
PageInfoCookiesPreference.PageInfoCookiesViewParams params =
new PageInfoCookiesPreference.PageInfoCookiesViewParams();
params.onCheckedChangedCallback = this::onCheckedChangedCallback;
params.onClearCallback = this::clearData;
params.onCookieSettingsLinkClicked = mDelegate::showCookieSettings;
params.disableCookieDeletion = WebsitePreferenceBridge.isCookieDeletionDisabled(
mMainController.getBrowserContext(), mFullUrl);
mSubPage.setParams(params);
AppCompatActivity host = (AppCompatActivity) mRowView.getContext(); AppCompatActivity host = (AppCompatActivity) mRowView.getContext();
host.getSupportFragmentManager().beginTransaction().add(mSubPage, "FOO").commitNow(); host.getSupportFragmentManager().beginTransaction().add(mSubPage, "FOO").commitNow();
return mSubPage.requireView(); return mSubPage.requireView();
...@@ -71,12 +81,6 @@ public class PageInfoCookiesController ...@@ -71,12 +81,6 @@ public class PageInfoCookiesController
@Override @Override
public void onSubPageAttached() { public void onSubPageAttached() {
PageInfoCookiesPreference.PageInfoCookiesViewParams params =
new PageInfoCookiesPreference.PageInfoCookiesViewParams();
params.onCheckedChangedCallback = this::onCheckedChangedCallback;
params.onClearCallback = this::clearData;
params.onCookieSettingsLinkClicked = mDelegate::showCookieSettings;
mSubPage.setParams(params);
// TODO(crbug.com/1077766): Get storage size. // TODO(crbug.com/1077766): Get storage size.
mSubPage.setCookiesCount(mAllowedCookies, mBlockedCookies); mSubPage.setCookiesCount(mAllowedCookies, mBlockedCookies);
mSubPage.setCookieBlockingStatus(mStatus, mIsEnforced); mSubPage.setCookieBlockingStatus(mStatus, mIsEnforced);
......
...@@ -37,6 +37,7 @@ public class PageInfoCookiesPreference extends PreferenceFragmentCompat { ...@@ -37,6 +37,7 @@ public class PageInfoCookiesPreference extends PreferenceFragmentCompat {
public Callback<Boolean> onCheckedChangedCallback; public Callback<Boolean> onCheckedChangedCallback;
public Runnable onClearCallback; public Runnable onClearCallback;
public Runnable onCookieSettingsLinkClicked; public Runnable onCookieSettingsLinkClicked;
public boolean disableCookieDeletion;
} }
@Override @Override
...@@ -66,6 +67,9 @@ public class PageInfoCookiesPreference extends PreferenceFragmentCompat { ...@@ -66,6 +67,9 @@ public class PageInfoCookiesPreference extends PreferenceFragmentCompat {
mParams.onClearCallback.run(); mParams.onClearCallback.run();
return true; return true;
}); });
if (mParams.disableCookieDeletion) {
clearButton.setEnabled(false);
}
} }
public void setParams(PageInfoCookiesViewParams params) { public void setParams(PageInfoCookiesViewParams params) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment