Commit 3f33f249 authored by Robbie McElrath's avatar Robbie McElrath Committed by Chromium LUCI CQ

[WebLayer] Rename SiteSettingsClient to SiteSettingsDelegate

This renames SiteSettingsClient to SiteSettingsDelegate to match other
similar interfaces, and merges SiteSettingsHelpClient and
WebappSettingsClient into SiteSettingsDelegate so there's only one
interface for embedders to implement.

Things were originally split into multiple interfaces to help group
methods together and make it easier to reason about. Whether or not that
actually worked is debatable, but now that we've removed the need for
multiple of these sub-interfaces, the 2 that remain should be merged
into the main one.

Bug: 1077007
Change-Id: Ia02d8e47d38d1b4878b4a4d0cda5ccbb74de6352
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2594441
Commit-Queue: Robbie McElrath <rmcelrath@chromium.org>
Reviewed-by: default avatarScott Violet <sky@chromium.org>
Reviewed-by: default avatarNatalie Chouinard <chouinard@chromium.org>
Reviewed-by: default avatarFinnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/heads/master@{#840305}
parent 9651eea3
...@@ -1259,9 +1259,7 @@ chrome_java_sources = [ ...@@ -1259,9 +1259,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetView.java", "java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetView.java",
"java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetViewBinder.java", "java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetViewBinder.java",
"java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerDelegateImpl.java", "java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerDelegateImpl.java",
"java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsClient.java", "java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java",
"java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsHelpClient.java",
"java/src/org/chromium/chrome/browser/site_settings/ChromeWebappSettingsClient.java",
"java/src/org/chromium/chrome/browser/site_settings/CookieControlsServiceBridge.java", "java/src/org/chromium/chrome/browser/site_settings/CookieControlsServiceBridge.java",
"java/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivity.java", "java/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivity.java",
"java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java", "java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java",
......
...@@ -506,7 +506,7 @@ chrome_test_java_sources = [ ...@@ -506,7 +506,7 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/signin/IdentityManagerIntegrationTest.java", "javatests/src/org/chromium/chrome/browser/signin/IdentityManagerIntegrationTest.java",
"javatests/src/org/chromium/chrome/browser/signin/SigninFragmentTest.java", "javatests/src/org/chromium/chrome/browser/signin/SigninFragmentTest.java",
"javatests/src/org/chromium/chrome/browser/signin/SigninSignoutIntegrationTest.java", "javatests/src/org/chromium/chrome/browser/signin/SigninSignoutIntegrationTest.java",
"javatests/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsClientTest.java", "javatests/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegateTest.java",
"javatests/src/org/chromium/chrome/browser/site_settings/CookieControlsBridgeTest.java", "javatests/src/org/chromium/chrome/browser/site_settings/CookieControlsBridgeTest.java",
"javatests/src/org/chromium/chrome/browser/site_settings/CookieControlsServiceBridgeTest.java", "javatests/src/org/chromium/chrome/browser/site_settings/CookieControlsServiceBridgeTest.java",
"javatests/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivityTest.java", "javatests/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivityTest.java",
......
...@@ -36,14 +36,14 @@ import org.chromium.chrome.browser.performance_hints.PerformanceHintsObserver.Pe ...@@ -36,14 +36,14 @@ import org.chromium.chrome.browser.performance_hints.PerformanceHintsObserver.Pe
import org.chromium.chrome.browser.previews.PreviewsAndroidBridge; import org.chromium.chrome.browser.previews.PreviewsAndroidBridge;
import org.chromium.chrome.browser.previews.PreviewsUma; import org.chromium.chrome.browser.previews.PreviewsUma;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsClient; import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabUtils; import org.chromium.chrome.browser.tab.TabUtils;
import org.chromium.chrome.browser.ui.favicon.FaviconHelper; import org.chromium.chrome.browser.ui.favicon.FaviconHelper;
import org.chromium.chrome.browser.vr.VrModuleProvider; import org.chromium.chrome.browser.vr.VrModuleProvider;
import org.chromium.components.browser_ui.settings.SettingsUtils; import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory; import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
import org.chromium.components.browser_ui.site_settings.SiteSettingsClient; import org.chromium.components.browser_ui.site_settings.SiteSettingsDelegate;
import org.chromium.components.content_settings.CookieControlsBridge; import org.chromium.components.content_settings.CookieControlsBridge;
import org.chromium.components.content_settings.CookieControlsObserver; import org.chromium.components.content_settings.CookieControlsObserver;
import org.chromium.components.embedder_support.browser_context.BrowserContextHandle; import org.chromium.components.embedder_support.browser_context.BrowserContextHandle;
...@@ -318,8 +318,8 @@ public class ChromePageInfoControllerDelegate extends PageInfoControllerDelegate ...@@ -318,8 +318,8 @@ public class ChromePageInfoControllerDelegate extends PageInfoControllerDelegate
*/ */
@Override @Override
@NonNull @NonNull
public SiteSettingsClient getSiteSettingsClient() { public SiteSettingsDelegate getSiteSettingsDelegate() {
return new ChromeSiteSettingsClient(mContext, getBrowserContext()); return new ChromeSiteSettingsDelegate(mContext, getBrowserContext());
} }
@NonNull @NonNull
......
...@@ -45,7 +45,7 @@ import org.chromium.chrome.browser.safety_check.SafetyCheckCoordinator; ...@@ -45,7 +45,7 @@ import org.chromium.chrome.browser.safety_check.SafetyCheckCoordinator;
import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment; import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl; import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl;
import org.chromium.chrome.browser.signin.SigninActivityLauncherImpl; import org.chromium.chrome.browser.signin.SigninActivityLauncherImpl;
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsClient; import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
import org.chromium.components.browser_ui.settings.SettingsUtils; import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.browser_ui.site_settings.SiteSettingsPreferenceFragment; import org.chromium.components.browser_ui.site_settings.SiteSettingsPreferenceFragment;
import org.chromium.ui.UiUtils; import org.chromium.ui.UiUtils;
...@@ -286,7 +286,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity ...@@ -286,7 +286,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
public void onAttachFragment(Fragment fragment) { public void onAttachFragment(Fragment fragment) {
if (fragment instanceof SiteSettingsPreferenceFragment) { if (fragment instanceof SiteSettingsPreferenceFragment) {
((SiteSettingsPreferenceFragment) fragment) ((SiteSettingsPreferenceFragment) fragment)
.setSiteSettingsClient(new ChromeSiteSettingsClient( .setSiteSettingsDelegate(new ChromeSiteSettingsDelegate(
this, Profile.getLastUsedRegularProfile())); this, Profile.getLastUsedRegularProfile()));
} }
if (fragment instanceof FragmentSettingsLauncher) { if (fragment instanceof FragmentSettingsLauncher) {
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.site_settings; package org.chromium.chrome.browser.site_settings;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Bitmap; import android.graphics.Bitmap;
...@@ -15,17 +16,17 @@ import org.chromium.base.Callback; ...@@ -15,17 +16,17 @@ import org.chromium.base.Callback;
import org.chromium.base.CommandLine; import org.chromium.base.CommandLine;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.browserservices.permissiondelegation.TrustedWebActivityPermissionManager; import org.chromium.chrome.browser.browserservices.permissiondelegation.TrustedWebActivityPermissionManager;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.notifications.channels.SiteChannelsManager; import org.chromium.chrome.browser.notifications.channels.SiteChannelsManager;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate; import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.ui.favicon.FaviconHelper; import org.chromium.chrome.browser.ui.favicon.FaviconHelper;
import org.chromium.chrome.browser.ui.favicon.FaviconHelper.FaviconImageCallback; import org.chromium.chrome.browser.ui.favicon.FaviconHelper.FaviconImageCallback;
import org.chromium.chrome.browser.webapps.WebappRegistry;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory; import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
import org.chromium.components.browser_ui.site_settings.SiteSettingsClient; import org.chromium.components.browser_ui.site_settings.SiteSettingsDelegate;
import org.chromium.components.browser_ui.site_settings.SiteSettingsHelpClient;
import org.chromium.components.browser_ui.site_settings.WebappSettingsClient;
import org.chromium.components.browser_ui.widget.RoundedIconGenerator; import org.chromium.components.browser_ui.widget.RoundedIconGenerator;
import org.chromium.components.content_settings.ContentSettingsType; import org.chromium.components.content_settings.ContentSettingsType;
import org.chromium.components.embedder_support.browser_context.BrowserContextHandle; import org.chromium.components.embedder_support.browser_context.BrowserContextHandle;
...@@ -34,10 +35,12 @@ import org.chromium.components.page_info.PageInfoFeatureList; ...@@ -34,10 +35,12 @@ import org.chromium.components.page_info.PageInfoFeatureList;
import org.chromium.content_public.browser.ContentFeatureList; import org.chromium.content_public.browser.ContentFeatureList;
import org.chromium.content_public.common.ContentSwitches; import org.chromium.content_public.common.ContentSwitches;
import java.util.Set;
/** /**
* A SiteSettingsClient instance that contains Chrome-specific Site Settings logic. * A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic.
*/ */
public class ChromeSiteSettingsClient implements SiteSettingsClient { public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
// Constants for favicon processing. // Constants for favicon processing.
// TODO(crbug.com/1076571): Move these constants to colors.xml and dimens.xml // TODO(crbug.com/1076571): Move these constants to colors.xml and dimens.xml
private static final int FAVICON_BACKGROUND_COLOR = 0xff969696; private static final int FAVICON_BACKGROUND_COLOR = 0xff969696;
...@@ -48,11 +51,9 @@ public class ChromeSiteSettingsClient implements SiteSettingsClient { ...@@ -48,11 +51,9 @@ public class ChromeSiteSettingsClient implements SiteSettingsClient {
private final Context mContext; private final Context mContext;
private final BrowserContextHandle mBrowserContext; private final BrowserContextHandle mBrowserContext;
private ChromeSiteSettingsHelpClient mChromeSiteSettingsHelpClient;
private ChromeWebappSettingsClient mChromeWebappSettingsClient;
private ManagedPreferenceDelegate mManagedPreferenceDelegate; private ManagedPreferenceDelegate mManagedPreferenceDelegate;
public ChromeSiteSettingsClient(Context context, BrowserContextHandle browserContext) { public ChromeSiteSettingsDelegate(Context context, BrowserContextHandle browserContext) {
mContext = context; mContext = context;
mBrowserContext = browserContext; mBrowserContext = browserContext;
} }
...@@ -75,22 +76,6 @@ public class ChromeSiteSettingsClient implements SiteSettingsClient { ...@@ -75,22 +76,6 @@ public class ChromeSiteSettingsClient implements SiteSettingsClient {
return mManagedPreferenceDelegate; return mManagedPreferenceDelegate;
} }
@Override
public SiteSettingsHelpClient getSiteSettingsHelpClient() {
if (mChromeSiteSettingsHelpClient == null) {
mChromeSiteSettingsHelpClient = new ChromeSiteSettingsHelpClient();
}
return mChromeSiteSettingsHelpClient;
}
@Override
public WebappSettingsClient getWebappSettingsClient() {
if (mChromeWebappSettingsClient == null) {
mChromeWebappSettingsClient = new ChromeWebappSettingsClient();
}
return mChromeWebappSettingsClient;
}
@Override @Override
public void getFaviconImageForURL(String faviconUrl, Callback<Bitmap> callback) { public void getFaviconImageForURL(String faviconUrl, Callback<Bitmap> callback) {
new FaviconLoader(faviconUrl, callback); new FaviconLoader(faviconUrl, callback);
...@@ -205,4 +190,34 @@ public class ChromeSiteSettingsClient implements SiteSettingsClient { ...@@ -205,4 +190,34 @@ public class ChromeSiteSettingsClient implements SiteSettingsClient {
public boolean isPageInfoV2Enabled() { public boolean isPageInfoV2Enabled() {
return PageInfoFeatureList.isEnabled(PageInfoFeatureList.PAGE_INFO_V2); return PageInfoFeatureList.isEnabled(PageInfoFeatureList.PAGE_INFO_V2);
} }
@Override
public boolean isHelpAndFeedbackEnabled() {
return true;
}
@Override
public void launchSettingsHelpAndFeedbackActivity(Activity currentActivity) {
HelpAndFeedbackLauncherImpl.getInstance().show(currentActivity,
currentActivity.getString(R.string.help_context_settings),
Profile.getLastUsedRegularProfile(), null);
}
@Override
public void launchProtectedContentHelpAndFeedbackActivity(Activity currentActivity) {
HelpAndFeedbackLauncherImpl.getInstance().show(currentActivity,
currentActivity.getString(R.string.help_context_protected_content),
Profile.getLastUsedRegularProfile(), null);
}
@Override
public Set<String> getOriginsWithInstalledApp() {
WebappRegistry registry = WebappRegistry.getInstance();
return registry.getOriginsWithInstalledApp();
}
@Override
public Set<String> getAllDelegatedNotificationOrigins() {
return TrustedWebActivityPermissionManager.get().getAllDelegatedOrigins();
}
} }
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.site_settings;
import android.app.Activity;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.components.browser_ui.site_settings.SiteSettingsHelpClient;
/**
* A SiteSettingsHelpClient instance that provides Chrome-specific help functionality.
*/
public class ChromeSiteSettingsHelpClient implements SiteSettingsHelpClient {
@Override
public boolean isHelpAndFeedbackEnabled() {
return true;
}
@Override
public void launchSettingsHelpAndFeedbackActivity(Activity currentActivity) {
HelpAndFeedbackLauncherImpl.getInstance().show(currentActivity,
currentActivity.getString(R.string.help_context_settings),
Profile.getLastUsedRegularProfile(), null);
}
@Override
public void launchProtectedContentHelpAndFeedbackActivity(Activity currentActivity) {
HelpAndFeedbackLauncherImpl.getInstance().show(currentActivity,
currentActivity.getString(R.string.help_context_protected_content),
Profile.getLastUsedRegularProfile(), null);
}
}
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.site_settings;
import org.chromium.chrome.browser.browserservices.permissiondelegation.TrustedWebActivityPermissionManager;
import org.chromium.chrome.browser.webapps.WebappRegistry;
import org.chromium.components.browser_ui.site_settings.WebappSettingsClient;
import java.util.Set;
/**
* A SiteSettingsClient instance that contains Chrome-specific Site Settings logic.
*/
public class ChromeWebappSettingsClient implements WebappSettingsClient {
@Override
public Set<String> getOriginsWithInstalledApp() {
WebappRegistry registry = WebappRegistry.getInstance();
return registry.getOriginsWithInstalledApp();
}
@Override
public Set<String> getAllDelegatedNotificationOrigins() {
return TrustedWebActivityPermissionManager.get().getAllDelegatedOrigins();
}
}
...@@ -28,14 +28,14 @@ import org.chromium.content_public.browser.test.util.TestThreadUtils; ...@@ -28,14 +28,14 @@ import org.chromium.content_public.browser.test.util.TestThreadUtils;
import java.util.concurrent.TimeoutException; import java.util.concurrent.TimeoutException;
/** /**
* Tests for Chrome's SiteSettingsClient implementation. * Tests for Chrome's SiteSettingsDelegate implementation.
*/ */
@RunWith(ChromeJUnit4ClassRunner.class) @RunWith(ChromeJUnit4ClassRunner.class)
@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE}) @CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
public class ChromeSiteSettingsClientTest { public class ChromeSiteSettingsDelegateTest {
@Rule @Rule
public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
ChromeSiteSettingsClient mSiteSettingsClient; ChromeSiteSettingsDelegate mSiteSettingsDelegate;
@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
...@@ -48,7 +48,7 @@ public class ChromeSiteSettingsClientTest { ...@@ -48,7 +48,7 @@ public class ChromeSiteSettingsClientTest {
@SmallTest @SmallTest
public void testFallbackFaviconLoads() throws TimeoutException { public void testFallbackFaviconLoads() throws TimeoutException {
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
mSiteSettingsClient = new ChromeSiteSettingsClient( mSiteSettingsDelegate = new ChromeSiteSettingsDelegate(
mActivityTestRule.getActivity(), Profile.getLastUsedRegularProfile()); mActivityTestRule.getActivity(), Profile.getLastUsedRegularProfile());
}); });
...@@ -57,7 +57,7 @@ public class ChromeSiteSettingsClientTest { ...@@ -57,7 +57,7 @@ public class ChromeSiteSettingsClientTest {
Bitmap[] holder = new Bitmap[1]; Bitmap[] holder = new Bitmap[1];
CallbackHelper helper = new CallbackHelper(); CallbackHelper helper = new CallbackHelper();
PostTask.postTask(UiThreadTaskTraits.DEFAULT, () -> { PostTask.postTask(UiThreadTaskTraits.DEFAULT, () -> {
mSiteSettingsClient.getFaviconImageForURL("url.with.no.favicon", favicon -> { mSiteSettingsDelegate.getFaviconImageForURL("url.with.no.favicon", favicon -> {
holder[0] = favicon; holder[0] = favicon;
helper.notifyCalled(); helper.notifyCalled();
}); });
......
...@@ -62,13 +62,11 @@ android_library("java") { ...@@ -62,13 +62,11 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/SiteDataCleaner.java", "java/src/org/chromium/components/browser_ui/site_settings/SiteDataCleaner.java",
"java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java", "java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java",
"java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java", "java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java",
"java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsClient.java", "java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java",
"java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsFeatureList.java", "java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsFeatureList.java",
"java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsHelpClient.java",
"java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsPreferenceFragment.java", "java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsPreferenceFragment.java",
"java/src/org/chromium/components/browser_ui/site_settings/StorageInfo.java", "java/src/org/chromium/components/browser_ui/site_settings/StorageInfo.java",
"java/src/org/chromium/components/browser_ui/site_settings/TriStateSiteSettingsPreference.java", "java/src/org/chromium/components/browser_ui/site_settings/TriStateSiteSettingsPreference.java",
"java/src/org/chromium/components/browser_ui/site_settings/WebappSettingsClient.java",
"java/src/org/chromium/components/browser_ui/site_settings/Website.java", "java/src/org/chromium/components/browser_ui/site_settings/Website.java",
"java/src/org/chromium/components/browser_ui/site_settings/WebsiteAddress.java", "java/src/org/chromium/components/browser_ui/site_settings/WebsiteAddress.java",
"java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java", "java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java",
......
...@@ -97,7 +97,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment ...@@ -97,7 +97,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment
private void getInfoForOrigins() { private void getInfoForOrigins() {
WebsitePermissionsFetcher fetcher = new WebsitePermissionsFetcher( WebsitePermissionsFetcher fetcher = new WebsitePermissionsFetcher(
getSiteSettingsClient().getBrowserContextHandle(), false); getSiteSettingsDelegate().getBrowserContextHandle(), false);
fetcher.fetchPreferencesForCategory(mCategory, new ResultsPopulator()); fetcher.fetchPreferencesForCategory(mCategory, new ResultsPopulator());
} }
...@@ -106,7 +106,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment ...@@ -106,7 +106,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment
LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Read which category we should be showing. // Read which category we should be showing.
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
if (getArguments() != null) { if (getArguments() != null) {
mCategory = SiteSettingsCategory.createFromPreferenceKey( mCategory = SiteSettingsCategory.createFromPreferenceKey(
browserContextHandle, getArguments().getString(EXTRA_CATEGORY, "")); browserContextHandle, getArguments().getString(EXTRA_CATEGORY, ""));
...@@ -156,7 +156,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment ...@@ -156,7 +156,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment
for (int i = 0; i < mWebsites.size(); i++) { for (int i = 0; i < mWebsites.size(); i++) {
WebsitePreference preference = mWebsites.get(i); WebsitePreference preference = mWebsites.get(i);
preference.site().clearAllStoredData( preference.site().clearAllStoredData(
getSiteSettingsClient().getBrowserContextHandle(), () -> { getSiteSettingsDelegate().getBrowserContextHandle(), () -> {
if (--numLeft[0] <= 0) getInfoForOrigins(); if (--numLeft[0] <= 0) getInfoForOrigins();
}); });
} }
...@@ -170,7 +170,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment ...@@ -170,7 +170,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment
long totalUsage = 0; long totalUsage = 0;
boolean includesApps = false; boolean includesApps = false;
Set<String> originsWithInstalledApp = Set<String> originsWithInstalledApp =
getSiteSettingsClient().getWebappSettingsClient().getOriginsWithInstalledApp(); getSiteSettingsDelegate().getOriginsWithInstalledApp();
if (mWebsites != null) { if (mWebsites != null) {
for (WebsitePreference preference : mWebsites) { for (WebsitePreference preference : mWebsites) {
totalUsage += preference.site().getTotalUsage(); totalUsage += preference.site().getTotalUsage();
...@@ -243,7 +243,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment ...@@ -243,7 +243,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment
if (queryHasChanged) getInfoForOrigins(); if (queryHasChanged) getInfoForOrigins();
}); });
if (getSiteSettingsClient().getSiteSettingsHelpClient().isHelpAndFeedbackEnabled()) { if (getSiteSettingsDelegate().isHelpAndFeedbackEnabled()) {
MenuItem help = menu.add( MenuItem help = menu.add(
Menu.NONE, R.id.menu_id_site_settings_help, Menu.NONE, R.string.menu_help); Menu.NONE, R.id.menu_id_site_settings_help, Menu.NONE, R.string.menu_help);
help.setIcon(VectorDrawableCompat.create( help.setIcon(VectorDrawableCompat.create(
...@@ -254,9 +254,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment ...@@ -254,9 +254,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.menu_id_site_settings_help) { if (item.getItemId() == R.id.menu_id_site_settings_help) {
getSiteSettingsClient() getSiteSettingsDelegate().launchSettingsHelpAndFeedbackActivity(getActivity());
.getSiteSettingsHelpClient()
.launchSettingsHelpAndFeedbackActivity(getActivity());
return true; return true;
} }
...@@ -318,7 +316,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment ...@@ -318,7 +316,7 @@ public class AllSiteSettings extends SiteSettingsPreferenceFragment
for (Website site : sites) { for (Website site : sites) {
if (mSearch == null || mSearch.isEmpty() || site.getTitle().contains(mSearch)) { if (mSearch == null || mSearch.isEmpty() || site.getTitle().contains(mSearch)) {
websites.add(new WebsitePreference( websites.add(new WebsitePreference(
getStyledContext(), getSiteSettingsClient(), site, mCategory)); getStyledContext(), getSiteSettingsDelegate(), site, mCategory));
} }
} }
......
...@@ -62,7 +62,7 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment { ...@@ -62,7 +62,7 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment {
setDivider(null); setDivider(null);
int contentSettingsType = getArguments().getInt(EXTRA_CATEGORY); int contentSettingsType = getArguments().getInt(EXTRA_CATEGORY);
mCategory = SiteSettingsCategory.createFromContentSettingsType( mCategory = SiteSettingsCategory.createFromContentSettingsType(
getSiteSettingsClient().getBrowserContextHandle(), contentSettingsType); getSiteSettingsDelegate().getBrowserContextHandle(), contentSettingsType);
mObjectInfos = mObjectInfos =
(ArrayList<ChosenObjectInfo>) getArguments().getSerializable(EXTRA_OBJECT_INFOS); (ArrayList<ChosenObjectInfo>) getArguments().getSerializable(EXTRA_OBJECT_INFOS);
checkObjectConsistency(); checkObjectConsistency();
...@@ -118,7 +118,7 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment { ...@@ -118,7 +118,7 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment {
}; };
mSearchView.setOnQueryTextListener(queryTextListener); mSearchView.setOnQueryTextListener(queryTextListener);
if (getSiteSettingsClient().getSiteSettingsHelpClient().isHelpAndFeedbackEnabled()) { if (getSiteSettingsDelegate().isHelpAndFeedbackEnabled()) {
MenuItem help = menu.add( MenuItem help = menu.add(
Menu.NONE, R.id.menu_id_site_settings_help, Menu.NONE, R.string.menu_help); Menu.NONE, R.id.menu_id_site_settings_help, Menu.NONE, R.string.menu_help);
help.setIcon(VectorDrawableCompat.create( help.setIcon(VectorDrawableCompat.create(
...@@ -129,9 +129,7 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment { ...@@ -129,9 +129,7 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment {
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.menu_id_site_settings_help) { if (item.getItemId() == R.id.menu_id_site_settings_help) {
getSiteSettingsClient() getSiteSettingsDelegate().launchSettingsHelpAndFeedbackActivity(getActivity());
.getSiteSettingsHelpClient()
.launchSettingsHelpAndFeedbackActivity(getActivity());
return true; return true;
} }
return false; return false;
...@@ -159,7 +157,7 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment { ...@@ -159,7 +157,7 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment {
if (info.isManaged()) { if (info.isManaged()) {
hasManagedObject = true; hasManagedObject = true;
} else { } else {
info.revoke(getSiteSettingsClient().getBrowserContextHandle()); info.revoke(getSiteSettingsDelegate().getBrowserContextHandle());
} }
} }
...@@ -219,7 +217,7 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment { ...@@ -219,7 +217,7 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment {
*/ */
private void getInfo() { private void getInfo() {
WebsitePermissionsFetcher fetcher = WebsitePermissionsFetcher fetcher =
new WebsitePermissionsFetcher(getSiteSettingsClient().getBrowserContextHandle()); new WebsitePermissionsFetcher(getSiteSettingsDelegate().getBrowserContextHandle());
fetcher.fetchPreferencesForCategory(mCategory, new ResultsPopulator()); fetcher.fetchPreferencesForCategory(mCategory, new ResultsPopulator());
} }
...@@ -276,18 +274,18 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment { ...@@ -276,18 +274,18 @@ public class ChosenObjectSettings extends SiteSettingsPreferenceFragment {
Website site = mSites.get(i); Website site = mSites.get(i);
ChosenObjectInfo info = mObjectInfos.get(i); ChosenObjectInfo info = mObjectInfos.get(i);
WebsitePreference preference = new WebsitePreference( WebsitePreference preference = new WebsitePreference(
getStyledContext(), getSiteSettingsClient(), site, mCategory); getStyledContext(), getSiteSettingsDelegate(), site, mCategory);
preference.getExtras().putSerializable(SingleWebsiteSettings.EXTRA_SITE, site); preference.getExtras().putSerializable(SingleWebsiteSettings.EXTRA_SITE, site);
preference.setFragment(SingleWebsiteSettings.class.getCanonicalName()); preference.setFragment(SingleWebsiteSettings.class.getCanonicalName());
preference.setImageView(R.drawable.ic_delete_white_24dp, preference.setImageView(R.drawable.ic_delete_white_24dp,
R.string.website_settings_revoke_device_permission, (View view) -> { R.string.website_settings_revoke_device_permission, (View view) -> {
info.revoke(getSiteSettingsClient().getBrowserContextHandle()); info.revoke(getSiteSettingsDelegate().getBrowserContextHandle());
getInfo(); getInfo();
}); });
preference.setManagedPreferenceDelegate(new ForwardingManagedPreferenceDelegate( preference.setManagedPreferenceDelegate(new ForwardingManagedPreferenceDelegate(
getSiteSettingsClient().getManagedPreferenceDelegate()) { getSiteSettingsDelegate().getManagedPreferenceDelegate()) {
@Override @Override
public boolean isPreferenceControlledByPolicy(Preference preference) { public boolean isPreferenceControlledByPolicy(Preference preference) {
return info.isManaged(); return info.isManaged();
......
...@@ -182,7 +182,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -182,7 +182,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
} }
WebsitePermissionsFetcher fetcher = new WebsitePermissionsFetcher( WebsitePermissionsFetcher fetcher = new WebsitePermissionsFetcher(
getSiteSettingsClient().getBrowserContextHandle(), false); getSiteSettingsDelegate().getBrowserContextHandle(), false);
fetcher.fetchPreferencesForCategory(mCategory, new ResultsPopulator()); fetcher.fetchPreferencesForCategory(mCategory, new ResultsPopulator());
} }
...@@ -192,7 +192,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -192,7 +192,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
*/ */
private boolean isOnBlockList(WebsitePreference website) { private boolean isOnBlockList(WebsitePreference website) {
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
for (@SiteSettingsCategory.Type int i = 0; i < SiteSettingsCategory.Type.NUM_ENTRIES; i++) { for (@SiteSettingsCategory.Type int i = 0; i < SiteSettingsCategory.Type.NUM_ENTRIES; i++) {
if (!mCategory.showSites(i)) continue; if (!mCategory.showSites(i)) continue;
@ContentSettingValues @ContentSettingValues
...@@ -285,7 +285,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -285,7 +285,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Read which category we should be showing. // Read which category we should be showing.
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
if (getArguments() != null) { if (getArguments() != null) {
mCategory = SiteSettingsCategory.createFromPreferenceKey( mCategory = SiteSettingsCategory.createFromPreferenceKey(
browserContextHandle, getArguments().getString(EXTRA_CATEGORY, "")); browserContextHandle, getArguments().getString(EXTRA_CATEGORY, ""));
...@@ -359,7 +359,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -359,7 +359,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (queryHasChanged) getInfoForOrigins(); if (queryHasChanged) getInfoForOrigins();
}); });
if (getSiteSettingsClient().getSiteSettingsHelpClient().isHelpAndFeedbackEnabled()) { if (getSiteSettingsDelegate().isHelpAndFeedbackEnabled()) {
MenuItem help = menu.add( MenuItem help = menu.add(
Menu.NONE, R.id.menu_id_site_settings_help, Menu.NONE, R.string.menu_help); Menu.NONE, R.id.menu_id_site_settings_help, Menu.NONE, R.string.menu_help);
help.setIcon(VectorDrawableCompat.create( help.setIcon(VectorDrawableCompat.create(
...@@ -371,13 +371,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -371,13 +371,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.menu_id_site_settings_help) { if (item.getItemId() == R.id.menu_id_site_settings_help) {
if (mCategory.showSites(SiteSettingsCategory.Type.PROTECTED_MEDIA)) { if (mCategory.showSites(SiteSettingsCategory.Type.PROTECTED_MEDIA)) {
getSiteSettingsClient() getSiteSettingsDelegate().launchProtectedContentHelpAndFeedbackActivity(
.getSiteSettingsHelpClient() getActivity());
.launchProtectedContentHelpAndFeedbackActivity(getActivity());
} else { } else {
getSiteSettingsClient() getSiteSettingsDelegate().launchSettingsHelpAndFeedbackActivity(getActivity());
.getSiteSettingsHelpClient()
.launchSettingsHelpAndFeedbackActivity(getActivity());
} }
return true; return true;
} }
...@@ -402,7 +399,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -402,7 +399,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (preference instanceof WebsitePreference) { if (preference instanceof WebsitePreference) {
WebsitePreference website_pref = (WebsitePreference) preference; WebsitePreference website_pref = (WebsitePreference) preference;
if (getSiteSettingsClient().isPageInfoV2Enabled() if (getSiteSettingsDelegate().isPageInfoV2Enabled()
&& !website_pref.getParent().getKey().equals(MANAGED_GROUP)) { && !website_pref.getParent().getKey().equals(MANAGED_GROUP)) {
buildPreferenceDialog(website_pref.site()).show(); buildPreferenceDialog(website_pref.site()).show();
} else { } else {
...@@ -424,7 +421,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -424,7 +421,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
PrefService prefService = UserPrefs.get(browserContextHandle); PrefService prefService = UserPrefs.get(browserContextHandle);
if (BINARY_TOGGLE_KEY.equals(preference.getKey())) { if (BINARY_TOGGLE_KEY.equals(preference.getKey())) {
assert !mCategory.isManaged(); assert !mCategory.isManaged();
...@@ -494,9 +491,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -494,9 +491,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
} }
WebsitePreferenceBridge.setCategoryEnabled( WebsitePreferenceBridge.setCategoryEnabled(
getSiteSettingsClient().getBrowserContextHandle(), ContentSettingsType.COOKIES, getSiteSettingsDelegate().getBrowserContextHandle(), ContentSettingsType.COOKIES,
allowCookies); allowCookies);
PrefService prefService = UserPrefs.get(getSiteSettingsClient().getBrowserContextHandle()); PrefService prefService =
UserPrefs.get(getSiteSettingsDelegate().getBrowserContextHandle());
prefService.setInteger(COOKIE_CONTROLS_MODE, mode); prefService.setInteger(COOKIE_CONTROLS_MODE, mode);
} }
...@@ -509,7 +507,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -509,7 +507,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
private String getAddExceptionDialogMessage() { private String getAddExceptionDialogMessage() {
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
int resource = 0; int resource = 0;
if (mCategory.showSites(SiteSettingsCategory.Type.AUTOMATIC_DOWNLOADS)) { if (mCategory.showSites(SiteSettingsCategory.Type.AUTOMATIC_DOWNLOADS)) {
resource = R.string.website_settings_add_site_description_automatic_downloads; resource = R.string.website_settings_add_site_description_automatic_downloads;
...@@ -571,7 +569,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -571,7 +569,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@Override @Override
public void onAddSite(String primaryPattern, String secondaryPattern) { public void onAddSite(String primaryPattern, String secondaryPattern) {
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
int setting; int setting;
if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES) && mRequiresFourStateSetting) { if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES) && mRequiresFourStateSetting) {
setting = cookieSettingsExceptionShouldBlock() ? ContentSettingValues.BLOCK setting = cookieSettingsExceptionShouldBlock() ? ContentSettingValues.BLOCK
...@@ -616,7 +614,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -616,7 +614,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
configureGlobalToggles(); configureGlobalToggles();
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
boolean exception = false; boolean exception = false;
if (mCategory.showSites(SiteSettingsCategory.Type.SOUND)) { if (mCategory.showSites(SiteSettingsCategory.Type.SOUND)) {
exception = true; exception = true;
...@@ -648,7 +646,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -648,7 +646,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
for (Website site : sites) { for (Website site : sites) {
if (mSearch == null || mSearch.isEmpty() || site.getTitle().contains(mSearch)) { if (mSearch == null || mSearch.isEmpty() || site.getTitle().contains(mSearch)) {
websites.add(new WebsitePreference( websites.add(new WebsitePreference(
getStyledContext(), getSiteSettingsClient(), site, mCategory)); getStyledContext(), getSiteSettingsDelegate(), site, mCategory));
} }
} }
...@@ -682,9 +680,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -682,9 +680,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
Set<String> delegatedOrigins = Set<String> delegatedOrigins =
mCategory.showSites(SiteSettingsCategory.Type.NOTIFICATIONS) mCategory.showSites(SiteSettingsCategory.Type.NOTIFICATIONS)
? getSiteSettingsClient() ? getSiteSettingsDelegate().getAllDelegatedNotificationOrigins()
.getWebappSettingsClient()
.getAllDelegatedNotificationOrigins()
: Collections.emptySet(); : Collections.emptySet();
for (WebsitePreference website : websites) { for (WebsitePreference website : websites) {
...@@ -882,7 +878,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -882,7 +878,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
screen.removePreference(notificationsVibrate); screen.removePreference(notificationsVibrate);
} }
if (getSiteSettingsClient().isQuietNotificationPromptsFeatureEnabled()) { if (getSiteSettingsDelegate().isQuietNotificationPromptsFeatureEnabled()) {
notificationsQuietUi.setOnPreferenceChangeListener(this); notificationsQuietUi.setOnPreferenceChangeListener(this);
} else { } else {
screen.removePreference(notificationsQuietUi); screen.removePreference(notificationsQuietUi);
...@@ -896,11 +892,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -896,11 +892,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
// Only show the link that explains protected content settings when needed. // Only show the link that explains protected content settings when needed.
if (mCategory.showSites(SiteSettingsCategory.Type.PROTECTED_MEDIA) if (mCategory.showSites(SiteSettingsCategory.Type.PROTECTED_MEDIA)
&& getSiteSettingsClient().getSiteSettingsHelpClient().isHelpAndFeedbackEnabled()) { && getSiteSettingsDelegate().isHelpAndFeedbackEnabled()) {
explainProtectedMediaKey.setOnPreferenceClickListener(preference -> { explainProtectedMediaKey.setOnPreferenceClickListener(preference -> {
getSiteSettingsClient() getSiteSettingsDelegate().launchProtectedContentHelpAndFeedbackActivity(
.getSiteSettingsHelpClient() getActivity());
.launchProtectedContentHelpAndFeedbackActivity(getActivity());
return true; return true;
}); });
...@@ -937,7 +932,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -937,7 +932,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
ChromeBasePreference osWarning = new ChromeBasePreference(getStyledContext(), null); ChromeBasePreference osWarning = new ChromeBasePreference(getStyledContext(), null);
ChromeBasePreference osWarningExtra = new ChromeBasePreference(getStyledContext(), null); ChromeBasePreference osWarningExtra = new ChromeBasePreference(getStyledContext(), null);
mCategory.configurePermissionIsOffPreferences(osWarning, osWarningExtra, getContext(), true, mCategory.configurePermissionIsOffPreferences(osWarning, osWarningExtra, getContext(), true,
getSiteSettingsClient().getAppName()); getSiteSettingsDelegate().getAppName());
if (osWarning.getTitle() != null) { if (osWarning.getTitle() != null) {
osWarning.setKey(SingleWebsiteSettings.PREF_OS_PERMISSIONS_WARNING); osWarning.setKey(SingleWebsiteSettings.PREF_OS_PERMISSIONS_WARNING);
screen.addPreference(osWarning); screen.addPreference(osWarning);
...@@ -954,8 +949,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -954,8 +949,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
FourStateCookieSettingsPreference.Params params = FourStateCookieSettingsPreference.Params params =
new FourStateCookieSettingsPreference.Params(); new FourStateCookieSettingsPreference.Params();
params.allowCookies = WebsitePreferenceBridge.isCategoryEnabled( params.allowCookies = WebsitePreferenceBridge.isCategoryEnabled(
getSiteSettingsClient().getBrowserContextHandle(), ContentSettingsType.COOKIES); getSiteSettingsDelegate().getBrowserContextHandle(), ContentSettingsType.COOKIES);
PrefService prefService = UserPrefs.get(getSiteSettingsClient().getBrowserContextHandle()); PrefService prefService =
UserPrefs.get(getSiteSettingsDelegate().getBrowserContextHandle());
params.cookieControlsMode = prefService.getInteger(COOKIE_CONTROLS_MODE); params.cookieControlsMode = prefService.getInteger(COOKIE_CONTROLS_MODE);
params.cookiesContentSettingEnforced = mCategory.isManaged(); params.cookiesContentSettingEnforced = mCategory.isManaged();
params.cookieControlsModeEnforced = prefService.isManagedPreference(COOKIE_CONTROLS_MODE); params.cookieControlsModeEnforced = prefService.isManagedPreference(COOKIE_CONTROLS_MODE);
...@@ -967,7 +963,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -967,7 +963,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
triStateToggle.setOnPreferenceChangeListener(this); triStateToggle.setOnPreferenceChangeListener(this);
@ContentSettingValues @ContentSettingValues
int setting = WebsitePreferenceBridge.getContentSetting( int setting = WebsitePreferenceBridge.getContentSetting(
getSiteSettingsClient().getBrowserContextHandle(), contentType); getSiteSettingsDelegate().getBrowserContextHandle(), contentType);
int[] descriptionIds = int[] descriptionIds =
ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType); ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType);
triStateToggle.initialize(setting, descriptionIds); triStateToggle.initialize(setting, descriptionIds);
...@@ -979,7 +975,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -979,7 +975,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
// Set summary on or off. // Set summary on or off.
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
if (mCategory.showSites(SiteSettingsCategory.Type.DEVICE_LOCATION) if (mCategory.showSites(SiteSettingsCategory.Type.DEVICE_LOCATION)
&& WebsitePreferenceBridge.isLocationAllowedByPolicy(browserContextHandle)) { && WebsitePreferenceBridge.isLocationAllowedByPolicy(browserContextHandle)) {
binaryToggle.setSummaryOn(ContentSettingsResources.getGeolocationAllowedSummary()); binaryToggle.setSummaryOn(ContentSettingsResources.getGeolocationAllowedSummary());
...@@ -989,7 +985,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -989,7 +985,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
binaryToggle.setSummaryOff(ContentSettingsResources.getDisabledSummary(contentType)); binaryToggle.setSummaryOff(ContentSettingsResources.getDisabledSummary(contentType));
binaryToggle.setManagedPreferenceDelegate(new SingleCategoryManagedPreferenceDelegate( binaryToggle.setManagedPreferenceDelegate(new SingleCategoryManagedPreferenceDelegate(
getSiteSettingsClient().getManagedPreferenceDelegate())); getSiteSettingsDelegate().getManagedPreferenceDelegate()));
// Set the checked value. // Set the checked value.
binaryToggle.setChecked( binaryToggle.setChecked(
...@@ -998,7 +994,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -998,7 +994,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
private void updateNotificationsSecondaryControls() { private void updateNotificationsSecondaryControls() {
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
Boolean categoryEnabled = WebsitePreferenceBridge.isCategoryEnabled( Boolean categoryEnabled = WebsitePreferenceBridge.isCategoryEnabled(
browserContextHandle, ContentSettingsType.NOTIFICATIONS); browserContextHandle, ContentSettingsType.NOTIFICATIONS);
...@@ -1008,7 +1004,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -1008,7 +1004,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
NOTIFICATIONS_VIBRATE_TOGGLE_KEY); NOTIFICATIONS_VIBRATE_TOGGLE_KEY);
if (vibrate_pref != null) vibrate_pref.setEnabled(categoryEnabled); if (vibrate_pref != null) vibrate_pref.setEnabled(categoryEnabled);
if (!getSiteSettingsClient().isQuietNotificationPromptsFeatureEnabled()) return; if (!getSiteSettingsDelegate().isQuietNotificationPromptsFeatureEnabled()) return;
// The notifications quiet ui checkbox. // The notifications quiet ui checkbox.
ChromeBaseCheckBoxPreference quiet_ui_pref = ChromeBaseCheckBoxPreference quiet_ui_pref =
...@@ -1035,7 +1031,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -1035,7 +1031,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (mCategory.isManagedByCustodian()) { if (mCategory.isManagedByCustodian()) {
ManagedPreferencesUtils.showManagedByParentToast(getContext(), ManagedPreferencesUtils.showManagedByParentToast(getContext(),
new SingleCategoryManagedPreferenceDelegate( new SingleCategoryManagedPreferenceDelegate(
getSiteSettingsClient().getManagedPreferenceDelegate())); getSiteSettingsDelegate().getManagedPreferenceDelegate()));
} else { } else {
ManagedPreferencesUtils.showManagedByAdministratorToast(getContext()); ManagedPreferencesUtils.showManagedByAdministratorToast(getContext());
} }
...@@ -1047,7 +1043,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ...@@ -1047,7 +1043,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
*/ */
private AlertDialog.Builder buildPreferenceDialog(Website site) { private AlertDialog.Builder buildPreferenceDialog(Website site) {
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
@ContentSettingsType @ContentSettingsType
int contentSettingsType = mCategory.getContentSettingsType(); int contentSettingsType = mCategory.getContentSettingsType();
......
...@@ -280,9 +280,9 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -280,9 +280,9 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
} }
private void init() { private void init() {
// Remove this Preference if it gets restored without a valid SiteSettingsClient. This // Remove this Preference if it gets restored without a valid SiteSettingsDelegate. This
// can happen e.g. when it is included in PageInfo. // can happen e.g. when it is included in PageInfo.
if (getSiteSettingsClient() == null) { if (getSiteSettingsDelegate() == null) {
getParentFragmentManager().beginTransaction().remove(this).commit(); getParentFragmentManager().beginTransaction().remove(this).commit();
return; return;
} }
...@@ -295,7 +295,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -295,7 +295,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
displaySitePermissions(); displaySitePermissions();
} else if (extraSiteAddress != null && extraSite == null) { } else if (extraSiteAddress != null && extraSite == null) {
WebsitePermissionsFetcher fetcher = new WebsitePermissionsFetcher( WebsitePermissionsFetcher fetcher = new WebsitePermissionsFetcher(
getSiteSettingsClient().getBrowserContextHandle()); getSiteSettingsDelegate().getBrowserContextHandle());
fetcher.fetchAllPreferences( fetcher.fetchAllPreferences(
new SingleWebsitePermissionsPopulator((WebsiteAddress) extraSiteAddress)); new SingleWebsitePermissionsPopulator((WebsiteAddress) extraSiteAddress));
} else { } else {
...@@ -313,7 +313,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -313,7 +313,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
if (preference instanceof ClearWebsiteStorage) { if (preference instanceof ClearWebsiteStorage) {
Callback<Boolean> onDialogClosed = (Boolean confirmed) -> { Callback<Boolean> onDialogClosed = (Boolean confirmed) -> {
if (confirmed) { if (confirmed) {
mSite.clearAllStoredData(getSiteSettingsClient().getBrowserContextHandle(), mSite.clearAllStoredData(getSiteSettingsDelegate().getBrowserContextHandle(),
mDataClearedCallback::run); mDataClearedCallback::run);
} }
}; };
...@@ -479,7 +479,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -479,7 +479,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
} else { } else {
setupContentSettingsPreference(preference, setupContentSettingsPreference(preference,
mSite.getContentSetting( mSite.getContentSetting(
getSiteSettingsClient().getBrowserContextHandle(), type), getSiteSettingsDelegate().getBrowserContextHandle(), type),
isPermissionEmbargoed(type)); isPermissionEmbargoed(type));
} }
} }
...@@ -493,17 +493,15 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -493,17 +493,15 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA); ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
long usage = mSite.getTotalUsage(); long usage = mSite.getTotalUsage();
if (usage > 0) { if (usage > 0) {
boolean appFound = getSiteSettingsClient() boolean appFound = getSiteSettingsDelegate().getOriginsWithInstalledApp().contains(
.getWebappSettingsClient() mSite.getAddress().getOrigin());
.getOriginsWithInstalledApp()
.contains(mSite.getAddress().getOrigin());
Context context = preference.getContext(); Context context = preference.getContext();
preference.setTitle( preference.setTitle(
String.format(context.getString(R.string.origin_settings_storage_usage_brief), String.format(context.getString(R.string.origin_settings_storage_usage_brief),
Formatter.formatShortFileSize(context, usage))); Formatter.formatShortFileSize(context, usage)));
preference.setDataForDisplay(mSite.getTitle(), appFound); preference.setDataForDisplay(mSite.getTitle(), appFound);
if (WebsitePreferenceBridge.isCookieDeletionDisabled( if (WebsitePreferenceBridge.isCookieDeletionDisabled(
getSiteSettingsClient().getBrowserContextHandle(), getSiteSettingsDelegate().getBrowserContextHandle(),
mSite.getAddress().getOrigin())) { mSite.getAddress().getOrigin())) {
preference.setEnabled(false); preference.setEnabled(false);
} }
...@@ -520,7 +518,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -520,7 +518,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
preference.setOrder(mMaxPermissionOrder + 1); preference.setOrder(mMaxPermissionOrder + 1);
preference.setOnPreferenceClickListener(this); preference.setOnPreferenceClickListener(this);
if (WebsitePreferenceBridge.isCookieDeletionDisabled( if (WebsitePreferenceBridge.isCookieDeletionDisabled(
getSiteSettingsClient().getBrowserContextHandle(), getSiteSettingsDelegate().getBrowserContextHandle(),
mSite.getAddress().getOrigin())) { mSite.getAddress().getOrigin())) {
preference.setEnabled(false); preference.setEnabled(false);
} }
...@@ -557,7 +555,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -557,7 +555,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
} }
/** /**
* A permission can be managed by an app. For example, with a Chrome SiteSettingsClient, * A permission can be managed by an app. For example, with a Chrome SiteSettingsDelegate,
* Notifications could be controlled by PWA, however for a Weblayer variant, Location could be * Notifications could be controlled by PWA, however for a Weblayer variant, Location could be
* controlled by the DSE. * controlled by the DSE.
*/ */
...@@ -569,13 +567,14 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -569,13 +567,14 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
return false; return false;
} }
String managedByAppName = getSiteSettingsClient().getDelegateAppNameForOrigin(origin, type); String managedByAppName =
getSiteSettingsDelegate().getDelegateAppNameForOrigin(origin, type);
if (managedByAppName == null) { if (managedByAppName == null) {
return false; return false;
} }
final Intent settingsIntent = getSettingsIntent( final Intent settingsIntent = getSettingsIntent(
getSiteSettingsClient().getDelegatePackageNameForOrigin(origin, type), type); getSiteSettingsDelegate().getDelegatePackageNameForOrigin(origin, type), type);
String summaryText = getString(R.string.website_setting_managed_by_app, managedByAppName); String summaryText = getString(R.string.website_setting_managed_by_app, managedByAppName);
ChromeImageViewPreference newPreference = ChromeImageViewPreference newPreference =
createReadOnlyCopyOf(preference, summaryText, value); createReadOnlyCopyOf(preference, summaryText, value);
...@@ -593,7 +592,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -593,7 +592,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setUpNotificationsPreference(Preference preference, boolean isEmbargoed) { private void setUpNotificationsPreference(Preference preference, boolean isEmbargoed) {
final @ContentSettingValues @Nullable Integer value = final @ContentSettingValues @Nullable Integer value =
mSite.getContentSetting(getSiteSettingsClient().getBrowserContextHandle(), mSite.getContentSetting(getSiteSettingsDelegate().getBrowserContextHandle(),
ContentSettingsType.NOTIFICATIONS); ContentSettingsType.NOTIFICATIONS);
if (setupAppDelegatePreference(preference, R.string.website_notification_settings, if (setupAppDelegatePreference(preference, R.string.website_notification_settings,
ContentSettingsType.NOTIFICATIONS, value)) { ContentSettingsType.NOTIFICATIONS, value)) {
...@@ -642,7 +641,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -642,7 +641,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
// There is no notification channel if the origin is merely embargoed. Create it // There is no notification channel if the origin is merely embargoed. Create it
// just-in-time if the user tries to change to setting. // just-in-time if the user tries to change to setting.
if (isPermissionEmbargoed(ContentSettingsType.NOTIFICATIONS)) { if (isPermissionEmbargoed(ContentSettingsType.NOTIFICATIONS)) {
mSite.setContentSetting(getSiteSettingsClient().getBrowserContextHandle(), mSite.setContentSetting(getSiteSettingsDelegate().getBrowserContextHandle(),
ContentSettingsType.NOTIFICATIONS, ContentSettingValues.BLOCK); ContentSettingsType.NOTIFICATIONS, ContentSettingValues.BLOCK);
} }
...@@ -653,14 +652,14 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -653,14 +652,14 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
// origin, so it is safe to open the channel settings for whatever channel ID // origin, so it is safe to open the channel settings for whatever channel ID
// it returns. // it returns.
String channelId = String channelId =
getSiteSettingsClient().getChannelIdForOrigin(mSite.getAddress().getOrigin()); getSiteSettingsDelegate().getChannelIdForOrigin(mSite.getAddress().getOrigin());
launchOsChannelSettings(preference.getContext(), channelId); launchOsChannelSettings(preference.getContext(), channelId);
} }
private void launchOsChannelSettings(Context context, String channelId) { private void launchOsChannelSettings(Context context, String channelId) {
// Store current value of permission to allow comparison against new value at return. // Store current value of permission to allow comparison against new value at return.
mPreviousNotificationPermission = mPreviousNotificationPermission =
mSite.getContentSetting(getSiteSettingsClient().getBrowserContextHandle(), mSite.getContentSetting(getSiteSettingsDelegate().getBrowserContextHandle(),
ContentSettingsType.NOTIFICATIONS); ContentSettingsType.NOTIFICATIONS);
Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS); Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS);
...@@ -698,12 +697,12 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -698,12 +697,12 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
// for changes each time Chrome becomes active. // for changes each time Chrome becomes active.
@ContentSettingValues @ContentSettingValues
int newPermission = int newPermission =
mSite.getContentSetting(getSiteSettingsClient().getBrowserContextHandle(), mSite.getContentSetting(getSiteSettingsDelegate().getBrowserContextHandle(),
ContentSettingsType.NOTIFICATIONS); ContentSettingsType.NOTIFICATIONS);
if (mPreviousNotificationPermission == ContentSettingValues.ALLOW if (mPreviousNotificationPermission == ContentSettingValues.ALLOW
&& newPermission != ContentSettingValues.ALLOW) { && newPermission != ContentSettingValues.ALLOW) {
WebsitePreferenceBridgeJni.get().reportNotificationRevokedForOrigin( WebsitePreferenceBridgeJni.get().reportNotificationRevokedForOrigin(
getSiteSettingsClient().getBrowserContextHandle(), getSiteSettingsDelegate().getBrowserContextHandle(),
mSite.getAddress().getOrigin(), newPermission); mSite.getAddress().getOrigin(), newPermission);
mPreviousNotificationPermission = null; mPreviousNotificationPermission = null;
} }
...@@ -732,7 +731,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -732,7 +731,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
preference.setTitle(info.getName()); preference.setTitle(info.getName());
preference.setImageView(R.drawable.ic_delete_white_24dp, preference.setImageView(R.drawable.ic_delete_white_24dp,
R.string.website_settings_revoke_device_permission, (View view) -> { R.string.website_settings_revoke_device_permission, (View view) -> {
info.revoke(getSiteSettingsClient().getBrowserContextHandle()); info.revoke(getSiteSettingsDelegate().getBrowserContextHandle());
preferenceScreen.removePreference(preference); preferenceScreen.removePreference(preference);
mObjectUserPermissionCount--; mObjectUserPermissionCount--;
...@@ -742,7 +741,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -742,7 +741,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}); });
preference.setManagedPreferenceDelegate(new ForwardingManagedPreferenceDelegate( preference.setManagedPreferenceDelegate(new ForwardingManagedPreferenceDelegate(
getSiteSettingsClient().getManagedPreferenceDelegate()) { getSiteSettingsDelegate().getManagedPreferenceDelegate()) {
@Override @Override
public boolean isPreferenceControlledByPolicy(Preference preference) { public boolean isPreferenceControlledByPolicy(Preference preference) {
return info.isManaged(); return info.isManaged();
...@@ -776,7 +775,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -776,7 +775,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
Preference osWarning = findPreference(PREF_OS_PERMISSIONS_WARNING); Preference osWarning = findPreference(PREF_OS_PERMISSIONS_WARNING);
Preference osWarningExtra = findPreference(PREF_OS_PERMISSIONS_WARNING_EXTRA); Preference osWarningExtra = findPreference(PREF_OS_PERMISSIONS_WARNING_EXTRA);
categoryWithWarning.configurePermissionIsOffPreferences(osWarning, osWarningExtra, categoryWithWarning.configurePermissionIsOffPreferences(osWarning, osWarningExtra,
getContext(), false, getSiteSettingsClient().getAppName()); getContext(), false, getSiteSettingsDelegate().getAppName());
if (osWarning.getTitle() == null) { if (osWarning.getTitle() == null) {
preferenceScreen.removePreference(osWarning); preferenceScreen.removePreference(osWarning);
} else if (osWarningExtra.getTitle() == null) { } else if (osWarningExtra.getTitle() == null) {
...@@ -790,7 +789,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -790,7 +789,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
// activated on this site. // activated on this site.
boolean adBlockingActivated = SiteSettingsCategory.adsCategoryEnabled() boolean adBlockingActivated = SiteSettingsCategory.adsCategoryEnabled()
&& WebsitePreferenceBridge.getAdBlockingActivated( && WebsitePreferenceBridge.getAdBlockingActivated(
getSiteSettingsClient().getBrowserContextHandle(), getSiteSettingsDelegate().getBrowserContextHandle(),
mSite.getAddress().getOrigin()) mSite.getAddress().getOrigin())
&& findPreference(getPreferenceKey(ContentSettingsType.ADS)) != null; && findPreference(getPreferenceKey(ContentSettingsType.ADS)) != null;
...@@ -807,7 +806,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -807,7 +806,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
// priority because that category is the only one that potentially shows an additional // priority because that category is the only one that potentially shows an additional
// warning (when Location is turned off globally). // warning (when Location is turned off globally).
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
if (showWarningFor(SiteSettingsCategory.Type.DEVICE_LOCATION)) { if (showWarningFor(SiteSettingsCategory.Type.DEVICE_LOCATION)) {
return SiteSettingsCategory.createFromType( return SiteSettingsCategory.createFromType(
browserContextHandle, SiteSettingsCategory.Type.DEVICE_LOCATION); browserContextHandle, SiteSettingsCategory.Type.DEVICE_LOCATION);
...@@ -832,7 +831,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -832,7 +831,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private boolean showWarningFor(@SiteSettingsCategory.Type int type) { private boolean showWarningFor(@SiteSettingsCategory.Type int type) {
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
@ContentSettingValues @ContentSettingValues
Integer permission = mSite.getContentSetting( Integer permission = mSite.getContentSetting(
browserContextHandle, SiteSettingsCategory.contentSettingsType(type)); browserContextHandle, SiteSettingsCategory.contentSettingsType(type));
...@@ -928,7 +927,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -928,7 +927,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
return; return;
} }
SiteSettingsCategory category = SiteSettingsCategory.createFromContentSettingsType( SiteSettingsCategory category = SiteSettingsCategory.createFromContentSettingsType(
getSiteSettingsClient().getBrowserContextHandle(), contentType); getSiteSettingsDelegate().getBrowserContextHandle(), contentType);
if (category != null && value != null && value != ContentSettingValues.BLOCK if (category != null && value != null && value != ContentSettingValues.BLOCK
&& !category.enabledInAndroid(getActivity())) { && !category.enabledInAndroid(getActivity())) {
preference.setIcon(category.getDisabledInAndroidIcon(getContext())); preference.setIcon(category.getDisabledInAndroidIcon(getContext()));
...@@ -947,8 +946,9 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -947,8 +946,9 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setUpLocationPreference(Preference preference) { private void setUpLocationPreference(Preference preference) {
@ContentSettingValues @ContentSettingValues
@Nullable @Nullable
Integer permission = mSite.getContentSetting( Integer permission =
getSiteSettingsClient().getBrowserContextHandle(), ContentSettingsType.GEOLOCATION); mSite.getContentSetting(getSiteSettingsDelegate().getBrowserContextHandle(),
ContentSettingsType.GEOLOCATION);
if (setupAppDelegatePreference(preference, R.string.website_location_settings, if (setupAppDelegatePreference(preference, R.string.website_location_settings,
ContentSettingsType.GEOLOCATION, permission)) { ContentSettingsType.GEOLOCATION, permission)) {
return; return;
...@@ -963,7 +963,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -963,7 +963,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setUpSoundPreference(Preference preference) { private void setUpSoundPreference(Preference preference) {
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
@ContentSettingValues @ContentSettingValues
@Nullable @Nullable
Integer currentValue = Integer currentValue =
...@@ -982,7 +982,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -982,7 +982,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setUpJavascriptPreference(Preference preference) { private void setUpJavascriptPreference(Preference preference) {
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
@ContentSettingValues @ContentSettingValues
@Nullable @Nullable
Integer currentValue = Integer currentValue =
...@@ -1007,7 +1007,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -1007,7 +1007,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
*/ */
private void setUpAdsPreference(Preference preference) { private void setUpAdsPreference(Preference preference) {
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
// Do not show the setting if the category is not enabled. // Do not show the setting if the category is not enabled.
if (!SiteSettingsCategory.adsCategoryEnabled()) { if (!SiteSettingsCategory.adsCategoryEnabled()) {
setupContentSettingsPreference(preference, null, false); setupContentSettingsPreference(preference, null, false);
...@@ -1062,7 +1062,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -1062,7 +1062,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
*/ */
private boolean isPermissionControlledByDSE(@ContentSettingsType int contentSettingsType) { private boolean isPermissionControlledByDSE(@ContentSettingsType int contentSettingsType) {
return WebsitePreferenceBridge.isPermissionControlledByDSE( return WebsitePreferenceBridge.isPermissionControlledByDSE(
getSiteSettingsClient().getBrowserContextHandle(), contentSettingsType, getSiteSettingsDelegate().getBrowserContextHandle(), contentSettingsType,
mSite.getAddress().getOrigin()); mSite.getAddress().getOrigin());
} }
...@@ -1111,7 +1111,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -1111,7 +1111,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
// incognito mode is closed through the system notification. // incognito mode is closed through the system notification.
if (getView() == null) return true; if (getView() == null) return true;
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
int type = getContentSettingsTypeFromPreferenceKey(preference.getKey()); int type = getContentSettingsTypeFromPreferenceKey(preference.getKey());
if (type == ContentSettingsType.DEFAULT) return false; if (type == ContentSettingsType.DEFAULT) return false;
...@@ -1157,7 +1157,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -1157,7 +1157,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
(dialog, which) -> { (dialog, which) -> {
if (mHideNonPermissionPreferences) { if (mHideNonPermissionPreferences) {
mSiteDataCleaner.resetPermissions( mSiteDataCleaner.resetPermissions(
getSiteSettingsClient().getBrowserContextHandle(), getSiteSettingsDelegate().getBrowserContextHandle(),
mSite); mSite);
} else { } else {
resetSite(); resetSite();
...@@ -1196,9 +1196,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment ...@@ -1196,9 +1196,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
boolean finishActivityImmediately = boolean finishActivityImmediately =
mSite.getTotalUsage() == 0 && mObjectPolicyPermissionCount == 0; mSite.getTotalUsage() == 0 && mObjectPolicyPermissionCount == 0;
mSiteDataCleaner.resetPermissions(getSiteSettingsClient().getBrowserContextHandle(), mSite); mSiteDataCleaner.resetPermissions(
getSiteSettingsDelegate().getBrowserContextHandle(), mSite);
mSiteDataCleaner.clearData( mSiteDataCleaner.clearData(
getSiteSettingsClient().getBrowserContextHandle(), mSite, mDataClearedCallback); getSiteSettingsDelegate().getBrowserContextHandle(), mSite, mDataClearedCallback);
int navigationSource = getArguments().getInt( int navigationSource = getArguments().getInt(
SettingsNavigationSource.EXTRA_KEY, SettingsNavigationSource.OTHER); SettingsNavigationSource.EXTRA_KEY, SettingsNavigationSource.OTHER);
......
...@@ -51,7 +51,7 @@ public class SiteSettings ...@@ -51,7 +51,7 @@ public class SiteSettings
// Remove unsupported settings categories. // Remove unsupported settings categories.
for (@SiteSettingsCategory.Type int type = 0; type < SiteSettingsCategory.Type.NUM_ENTRIES; for (@SiteSettingsCategory.Type int type = 0; type < SiteSettingsCategory.Type.NUM_ENTRIES;
type++) { type++) {
if (!getSiteSettingsClient().isCategoryVisible(type)) { if (!getSiteSettingsDelegate().isCategoryVisible(type)) {
getPreferenceScreen().removePreference(findPreference(type)); getPreferenceScreen().removePreference(findPreference(type));
} }
} }
...@@ -61,7 +61,7 @@ public class SiteSettings ...@@ -61,7 +61,7 @@ public class SiteSettings
// Initialize the summary and icon for all preferences that have an // Initialize the summary and icon for all preferences that have an
// associated content settings entry. // associated content settings entry.
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
for (@Type int prefCategory = 0; prefCategory < Type.NUM_ENTRIES; prefCategory++) { for (@Type int prefCategory = 0; prefCategory < Type.NUM_ENTRIES; prefCategory++) {
Preference p = findPreference(prefCategory); Preference p = findPreference(prefCategory);
int contentType = SiteSettingsCategory.contentSettingsType(prefCategory); int contentType = SiteSettingsCategory.contentSettingsType(prefCategory);
...@@ -94,7 +94,7 @@ public class SiteSettings ...@@ -94,7 +94,7 @@ public class SiteSettings
|| Type.NOTIFICATIONS == prefCategory || Type.NOTIFICATIONS == prefCategory
|| Type.AUGMENTED_REALITY == prefCategory) || Type.AUGMENTED_REALITY == prefCategory)
&& SiteSettingsCategory && SiteSettingsCategory
.createFromType(getSiteSettingsClient().getBrowserContextHandle(), .createFromType(getSiteSettingsDelegate().getBrowserContextHandle(),
prefCategory) prefCategory)
.showPermissionBlockedMessage(getContext())) { .showPermissionBlockedMessage(getContext())) {
// Show 'disabled' message when permission is not granted in Android. // Show 'disabled' message when permission is not granted in Android.
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
package org.chromium.components.browser_ui.site_settings; package org.chromium.components.browser_ui.site_settings;
import android.app.Activity;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
...@@ -14,12 +15,13 @@ import org.chromium.components.content_settings.ContentSettingsType; ...@@ -14,12 +15,13 @@ import org.chromium.components.content_settings.ContentSettingsType;
import org.chromium.components.embedder_support.browser_context.BrowserContextHandle; import org.chromium.components.embedder_support.browser_context.BrowserContextHandle;
import org.chromium.components.embedder_support.util.Origin; import org.chromium.components.embedder_support.util.Origin;
import java.util.Set;
/** /**
* An interface implemented by the embedder that allows the Site Settings UI to access * An interface implemented by the embedder that allows the Site Settings UI to access
* embedder-specific logic. * embedder-specific logic.
*/ */
// TODO(crbug.com/1077007): Clean up this interface. public interface SiteSettingsDelegate {
public interface SiteSettingsClient {
/** /**
* @return The BrowserContextHandle that should be used to read and update settings. * @return The BrowserContextHandle that should be used to read and update settings.
*/ */
...@@ -31,17 +33,6 @@ public interface SiteSettingsClient { ...@@ -31,17 +33,6 @@ public interface SiteSettingsClient {
*/ */
ManagedPreferenceDelegate getManagedPreferenceDelegate(); ManagedPreferenceDelegate getManagedPreferenceDelegate();
/**
* @return The SiteSettingsHelpClient that should be used to provide help functionality to the
* Site Settings UI.
*/
SiteSettingsHelpClient getSiteSettingsHelpClient();
/**
* @return The WebappSettingsClient that should be used when showing the Site Settings UI.
*/
WebappSettingsClient getWebappSettingsClient();
/** /**
* Asynchronously looks up the locally cached favicon image for the given URL, generating a * Asynchronously looks up the locally cached favicon image for the given URL, generating a
* fallback if one isn't available. * fallback if one isn't available.
...@@ -92,4 +83,33 @@ public interface SiteSettingsClient { ...@@ -92,4 +83,33 @@ public interface SiteSettingsClient {
* @return true if PageInfo V2 is enabled. * @return true if PageInfo V2 is enabled.
*/ */
boolean isPageInfoV2Enabled(); boolean isPageInfoV2Enabled();
/**
* @return true if Help and Feedback links and menu items should be shown to the user.
*/
boolean isHelpAndFeedbackEnabled();
/**
* Launches a support page relevant to settings UI pages.
*
* @see org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher#show
*/
void launchSettingsHelpAndFeedbackActivity(Activity currentActivity);
/**
* Launches a support page related to protected content.
*
* @see org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher#show
*/
void launchProtectedContentHelpAndFeedbackActivity(Activity currentActivity);
/**
* @return The set of all origins that have a WebAPK or TWA installed.
*/
Set<String> getOriginsWithInstalledApp();
/**
* @return The set of all origins whose notification permissions are delegated to another app.
*/
Set<String> getAllDelegatedNotificationOrigins();
} }
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.components.browser_ui.site_settings;
import android.app.Activity;
/**
* An interface that allows the Site Settings UI to link to and open embedder-specific help pages.
*/
public interface SiteSettingsHelpClient {
/**
* @return true if Help and Feedback links and menu items should be shown to the user.
*/
boolean isHelpAndFeedbackEnabled();
/**
* Launches a support page relevant to settings UI pages.
*
* @see org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher#show
*/
void launchSettingsHelpAndFeedbackActivity(Activity currentActivity);
/**
* Launches a support page related to protected content.
*
* @see org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher#show
*/
void launchProtectedContentHelpAndFeedbackActivity(Activity currentActivity);
}
...@@ -10,23 +10,23 @@ import androidx.preference.PreferenceFragmentCompat; ...@@ -10,23 +10,23 @@ import androidx.preference.PreferenceFragmentCompat;
* Preference fragment for showing the Site Settings UI. * Preference fragment for showing the Site Settings UI.
*/ */
public abstract class SiteSettingsPreferenceFragment extends PreferenceFragmentCompat { public abstract class SiteSettingsPreferenceFragment extends PreferenceFragmentCompat {
private SiteSettingsClient mSiteSettingsClient; private SiteSettingsDelegate mSiteSettingsDelegate;
/** /**
* Sets the SiteSettingsClient instance this Fragment should use. * Sets the SiteSettingsDelegate instance this Fragment should use.
* *
* This should be called by the embedding Activity. * This should be called by the embedding Activity.
*/ */
public void setSiteSettingsClient(SiteSettingsClient client) { public void setSiteSettingsDelegate(SiteSettingsDelegate client) {
assert mSiteSettingsClient == null; assert mSiteSettingsDelegate == null;
mSiteSettingsClient = client; mSiteSettingsDelegate = client;
} }
/** /**
* @return the SiteSettingsClient instance to use when rendering the Site Settings UI. * @return the SiteSettingsDelegate instance to use when rendering the Site Settings UI.
*/ */
protected SiteSettingsClient getSiteSettingsClient() { protected SiteSettingsDelegate getSiteSettingsDelegate() {
assert mSiteSettingsClient != null : "SiteSettingsClient not set"; assert mSiteSettingsDelegate != null : "SiteSettingsDelegate not set";
return mSiteSettingsClient; return mSiteSettingsDelegate;
} }
} }
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.components.browser_ui.site_settings;
import java.util.Set;
/**
* An interface implemented by the embedder that allows the Site Settings UI to access
* Webapp (TWA/PWA) related embedder-specific logic.
*/
public interface WebappSettingsClient {
/**
* @return The set of all origins that have a WebAPK or TWA installed.
*/
Set<String> getOriginsWithInstalledApp();
/**
* @return The set of all origins whose notification permissions are delegated to another app.
*/
Set<String> getAllDelegatedNotificationOrigins();
}
...@@ -26,7 +26,7 @@ import org.chromium.components.browser_ui.settings.ChromeImageViewPreference; ...@@ -26,7 +26,7 @@ import org.chromium.components.browser_ui.settings.ChromeImageViewPreference;
* can be used. * can be used.
*/ */
class WebsitePreference extends ChromeImageViewPreference { class WebsitePreference extends ChromeImageViewPreference {
private final SiteSettingsClient mSiteSettingsClient; private final SiteSettingsDelegate mSiteSettingsDelegate;
private final Website mSite; private final Website mSite;
private final SiteSettingsCategory mCategory; private final SiteSettingsCategory mCategory;
...@@ -37,10 +37,10 @@ class WebsitePreference extends ChromeImageViewPreference { ...@@ -37,10 +37,10 @@ class WebsitePreference extends ChromeImageViewPreference {
// Whether the favicon has been fetched already. // Whether the favicon has been fetched already.
private boolean mFaviconFetched; private boolean mFaviconFetched;
WebsitePreference(Context context, SiteSettingsClient siteSettingsClient, Website site, WebsitePreference(Context context, SiteSettingsDelegate siteSettingsClient, Website site,
SiteSettingsCategory category) { SiteSettingsCategory category) {
super(context); super(context);
mSiteSettingsClient = siteSettingsClient; mSiteSettingsDelegate = siteSettingsClient;
mSite = site; mSite = site;
mCategory = category; mCategory = category;
setWidgetLayoutResource(R.layout.website_features); setWidgetLayoutResource(R.layout.website_features);
...@@ -137,7 +137,7 @@ class WebsitePreference extends ChromeImageViewPreference { ...@@ -137,7 +137,7 @@ class WebsitePreference extends ChromeImageViewPreference {
if (!mFaviconFetched) { if (!mFaviconFetched) {
// Start the favicon fetching. Will respond in onFaviconAvailable. // Start the favicon fetching. Will respond in onFaviconAvailable.
mSiteSettingsClient.getFaviconImageForURL(faviconUrl(), this::onFaviconAvailable); mSiteSettingsDelegate.getFaviconImageForURL(faviconUrl(), this::onFaviconAvailable);
mFaviconFetched = true; mFaviconFetched = true;
} }
......
...@@ -14,7 +14,7 @@ import androidx.fragment.app.FragmentManager; ...@@ -14,7 +14,7 @@ import androidx.fragment.app.FragmentManager;
import org.chromium.base.Callback; import org.chromium.base.Callback;
import org.chromium.base.Consumer; import org.chromium.base.Consumer;
import org.chromium.components.browser_ui.site_settings.SiteSettingsClient; import org.chromium.components.browser_ui.site_settings.SiteSettingsDelegate;
import org.chromium.components.content_settings.CookieControlsBridge; import org.chromium.components.content_settings.CookieControlsBridge;
import org.chromium.components.content_settings.CookieControlsObserver; import org.chromium.components.content_settings.CookieControlsObserver;
import org.chromium.components.embedder_support.browser_context.BrowserContextHandle; import org.chromium.components.embedder_support.browser_context.BrowserContextHandle;
...@@ -234,10 +234,10 @@ public abstract class PageInfoControllerDelegate { ...@@ -234,10 +234,10 @@ public abstract class PageInfoControllerDelegate {
public abstract BrowserContextHandle getBrowserContext(); public abstract BrowserContextHandle getBrowserContext();
/** /**
* @return Returns the SiteSettingsClient for this page info. * @return Returns the SiteSettingsDelegate for this page info.
*/ */
@NonNull @NonNull
public abstract SiteSettingsClient getSiteSettingsClient(); public abstract SiteSettingsDelegate getSiteSettingsDelegate();
/** /**
* Fetches a favicon for the current page and passes it to callback. * Fetches a favicon for the current page and passes it to callback.
......
...@@ -73,7 +73,7 @@ public class PageInfoCookiesController ...@@ -73,7 +73,7 @@ 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();
mSubPage.setSiteSettingsClient(mDelegate.getSiteSettingsClient()); mSubPage.setSiteSettingsDelegate(mDelegate.getSiteSettingsDelegate());
mDelegate.getFragmentManager().beginTransaction().add(mSubPage, null).commitNow(); mDelegate.getFragmentManager().beginTransaction().add(mSubPage, null).commitNow();
PageInfoCookiesPreference.PageInfoCookiesViewParams params = PageInfoCookiesPreference.PageInfoCookiesViewParams params =
......
...@@ -47,8 +47,8 @@ public class PageInfoCookiesPreference extends SiteSettingsPreferenceFragment { ...@@ -47,8 +47,8 @@ public class PageInfoCookiesPreference extends SiteSettingsPreferenceFragment {
@Override @Override
public void onCreatePreferences(Bundle bundle, String s) { public void onCreatePreferences(Bundle bundle, String s) {
// Remove this Preference if it is restored without SiteSettingsClient. // Remove this Preference if it is restored without SiteSettingsDelegate.
if (getSiteSettingsClient() == null) { if (getSiteSettingsDelegate() == null) {
getParentFragmentManager().beginTransaction().remove(this).commit(); getParentFragmentManager().beginTransaction().remove(this).commit();
return; return;
} }
......
...@@ -53,7 +53,7 @@ public class PageInfoPermissionsController ...@@ -53,7 +53,7 @@ public class PageInfoPermissionsController
Bundle fragmentArgs = SingleWebsiteSettings.createFragmentArgsForSite(mPageUrl); Bundle fragmentArgs = SingleWebsiteSettings.createFragmentArgsForSite(mPageUrl);
mSubPage = (SingleWebsiteSettings) Fragment.instantiate( mSubPage = (SingleWebsiteSettings) Fragment.instantiate(
mRowView.getContext(), SingleWebsiteSettings.class.getName(), fragmentArgs); mRowView.getContext(), SingleWebsiteSettings.class.getName(), fragmentArgs);
mSubPage.setSiteSettingsClient(mDelegate.getSiteSettingsClient()); mSubPage.setSiteSettingsDelegate(mDelegate.getSiteSettingsDelegate());
mSubPage.setHideNonPermissionPreferences(true); mSubPage.setHideNonPermissionPreferences(true);
mSubPage.setWebsiteSettingsObserver(this); mSubPage.setWebsiteSettingsObserver(this);
mDelegate.getFragmentManager().beginTransaction().add(mSubPage, null).commitNow(); mDelegate.getFragmentManager().beginTransaction().add(mSubPage, null).commitNow();
......
...@@ -169,7 +169,7 @@ android_library("java") { ...@@ -169,7 +169,7 @@ android_library("java") {
"org/chromium/weblayer_private/permissions/PermissionRequestUtils.java", "org/chromium/weblayer_private/permissions/PermissionRequestUtils.java",
"org/chromium/weblayer_private/resources/ResourceMapper.java", "org/chromium/weblayer_private/resources/ResourceMapper.java",
"org/chromium/weblayer_private/settings/SettingsFragmentImpl.java", "org/chromium/weblayer_private/settings/SettingsFragmentImpl.java",
"org/chromium/weblayer_private/settings/WebLayerSiteSettingsClient.java", "org/chromium/weblayer_private/settings/WebLayerSiteSettingsDelegate.java",
_bundle_utils_output, _bundle_utils_output,
] ]
resources_package = "org.chromium.weblayer_private" resources_package = "org.chromium.weblayer_private"
......
...@@ -19,7 +19,7 @@ import org.chromium.base.Callback; ...@@ -19,7 +19,7 @@ import org.chromium.base.Callback;
import org.chromium.base.StrictModeContext; import org.chromium.base.StrictModeContext;
import org.chromium.components.browser_ui.site_settings.ContentSettingsResources; import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory; import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
import org.chromium.components.browser_ui.site_settings.SiteSettingsClient; import org.chromium.components.browser_ui.site_settings.SiteSettingsDelegate;
import org.chromium.components.content_settings.ContentSettingsType; import org.chromium.components.content_settings.ContentSettingsType;
import org.chromium.components.content_settings.CookieControlsBridge; import org.chromium.components.content_settings.CookieControlsBridge;
import org.chromium.components.content_settings.CookieControlsObserver; import org.chromium.components.content_settings.CookieControlsObserver;
...@@ -31,7 +31,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager; ...@@ -31,7 +31,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.url.GURL; import org.chromium.url.GURL;
import org.chromium.weblayer_private.interfaces.ObjectWrapper; import org.chromium.weblayer_private.interfaces.ObjectWrapper;
import org.chromium.weblayer_private.interfaces.SettingsIntentHelper; import org.chromium.weblayer_private.interfaces.SettingsIntentHelper;
import org.chromium.weblayer_private.settings.WebLayerSiteSettingsClient; import org.chromium.weblayer_private.settings.WebLayerSiteSettingsDelegate;
/** /**
* WebLayer's customization of PageInfoControllerDelegate. * WebLayer's customization of PageInfoControllerDelegate.
...@@ -120,8 +120,8 @@ public class PageInfoControllerDelegateImpl extends PageInfoControllerDelegate { ...@@ -120,8 +120,8 @@ public class PageInfoControllerDelegateImpl extends PageInfoControllerDelegate {
*/ */
@Override @Override
@NonNull @NonNull
public SiteSettingsClient getSiteSettingsClient() { public SiteSettingsDelegate getSiteSettingsDelegate() {
return new WebLayerSiteSettingsClient(getBrowserContext()); return new WebLayerSiteSettingsDelegate(getBrowserContext());
} }
@Override @Override
......
...@@ -170,7 +170,7 @@ public class SettingsFragmentImpl extends FragmentHostingRemoteFragmentImpl { ...@@ -170,7 +170,7 @@ public class SettingsFragmentImpl extends FragmentHostingRemoteFragmentImpl {
settingsFragment.setArguments(mFragmentArguments); settingsFragment.setArguments(mFragmentArguments);
if (settingsFragment instanceof SiteSettingsPreferenceFragment) { if (settingsFragment instanceof SiteSettingsPreferenceFragment) {
((SiteSettingsPreferenceFragment) settingsFragment) ((SiteSettingsPreferenceFragment) settingsFragment)
.setSiteSettingsClient(new WebLayerSiteSettingsClient(mProfile)); .setSiteSettingsDelegate(new WebLayerSiteSettingsDelegate(mProfile));
} }
getSupportFragmentManager() getSupportFragmentManager()
.beginTransaction() .beginTransaction()
......
...@@ -14,9 +14,7 @@ import org.chromium.base.Callback; ...@@ -14,9 +14,7 @@ import org.chromium.base.Callback;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory.Type; import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory.Type;
import org.chromium.components.browser_ui.site_settings.SiteSettingsClient; import org.chromium.components.browser_ui.site_settings.SiteSettingsDelegate;
import org.chromium.components.browser_ui.site_settings.SiteSettingsHelpClient;
import org.chromium.components.browser_ui.site_settings.WebappSettingsClient;
import org.chromium.components.content_settings.ContentSettingsType; import org.chromium.components.content_settings.ContentSettingsType;
import org.chromium.components.embedder_support.browser_context.BrowserContextHandle; import org.chromium.components.embedder_support.browser_context.BrowserContextHandle;
import org.chromium.components.embedder_support.util.Origin; import org.chromium.components.embedder_support.util.Origin;
...@@ -27,17 +25,17 @@ import java.util.Collections; ...@@ -27,17 +25,17 @@ import java.util.Collections;
import java.util.Set; import java.util.Set;
/** /**
* A SiteSettingsClient instance that contains WebLayer-specific Site Settings logic. * A SiteSettingsDelegate instance that contains WebLayer-specific Site Settings logic.
*/ */
public class WebLayerSiteSettingsClient implements SiteSettingsClient, ManagedPreferenceDelegate, public class WebLayerSiteSettingsDelegate
SiteSettingsHelpClient, WebappSettingsClient { implements SiteSettingsDelegate, ManagedPreferenceDelegate {
private final BrowserContextHandle mBrowserContextHandle; private final BrowserContextHandle mBrowserContextHandle;
public WebLayerSiteSettingsClient(BrowserContextHandle browserContextHandle) { public WebLayerSiteSettingsDelegate(BrowserContextHandle browserContextHandle) {
mBrowserContextHandle = browserContextHandle; mBrowserContextHandle = browserContextHandle;
} }
// SiteSettingsClient implementation: // SiteSettingsDelegate implementation:
@Override @Override
public BrowserContextHandle getBrowserContextHandle() { public BrowserContextHandle getBrowserContextHandle() {
...@@ -49,16 +47,6 @@ public class WebLayerSiteSettingsClient implements SiteSettingsClient, ManagedPr ...@@ -49,16 +47,6 @@ public class WebLayerSiteSettingsClient implements SiteSettingsClient, ManagedPr
return this; return this;
} }
@Override
public SiteSettingsHelpClient getSiteSettingsHelpClient() {
return this;
}
@Override
public WebappSettingsClient getWebappSettingsClient() {
return this;
}
@Override @Override
public void getFaviconImageForURL(String faviconUrl, Callback<Bitmap> callback) { public void getFaviconImageForURL(String faviconUrl, Callback<Bitmap> callback) {
// We don't currently support favicons on WebLayer. // We don't currently support favicons on WebLayer.
...@@ -134,9 +122,6 @@ public class WebLayerSiteSettingsClient implements SiteSettingsClient, ManagedPr ...@@ -134,9 +122,6 @@ public class WebLayerSiteSettingsClient implements SiteSettingsClient, ManagedPr
return false; return false;
} }
// SiteSettingsHelpClient implementation:
// A no-op since WebLayer doesn't have help pages.
@Override @Override
public boolean isHelpAndFeedbackEnabled() { public boolean isHelpAndFeedbackEnabled() {
return false; return false;
...@@ -148,9 +133,6 @@ public class WebLayerSiteSettingsClient implements SiteSettingsClient, ManagedPr ...@@ -148,9 +133,6 @@ public class WebLayerSiteSettingsClient implements SiteSettingsClient, ManagedPr
@Override @Override
public void launchProtectedContentHelpAndFeedbackActivity(Activity currentActivity) {} public void launchProtectedContentHelpAndFeedbackActivity(Activity currentActivity) {}
// WebappSettingsClient implementation:
// A no-op since WebLayer doesn't support webapps.
@Override @Override
public Set<String> getOriginsWithInstalledApp() { public Set<String> getOriginsWithInstalledApp() {
return Collections.EMPTY_SET; return Collections.EMPTY_SET;
......
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