Commit 29916c82 authored by Ehimare Okoyomon's avatar Ehimare Okoyomon Committed by Commit Bot

[Android] Add getSiteSettingsClient for PageInfoControllerDelegate

Replace getPermissionsSubpageFragmentForUrl method with
getSiteSettingsClient because SingleWebsiteSettings is now visible
directly from page info.

Bug: 1077766
Change-Id: If2c032b889ec51a36456edf0c92aec91eb27faf8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2343030Reviewed-by: default avatarMugdha Lakhani <nator@chromium.org>
Reviewed-by: default avatarChristian Dullweber <dullweber@chromium.org>
Commit-Queue: Ehimare Okoyomon <eokoyomon@chromium.org>
Cr-Commit-Position: refs/heads/master@{#797174}
parent 03352e0f
...@@ -6,14 +6,12 @@ package org.chromium.chrome.browser.page_info; ...@@ -6,14 +6,12 @@ package org.chromium.chrome.browser.page_info;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle;
import android.text.SpannableString; import android.text.SpannableString;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.Fragment;
import org.chromium.base.Consumer; import org.chromium.base.Consumer;
import org.chromium.base.supplier.Supplier; import org.chromium.base.supplier.Supplier;
...@@ -32,7 +30,7 @@ import org.chromium.chrome.browser.previews.PreviewsUma; ...@@ -32,7 +30,7 @@ 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.ChromeSiteSettingsClient;
import org.chromium.chrome.browser.vr.VrModuleProvider; import org.chromium.chrome.browser.vr.VrModuleProvider;
import org.chromium.components.browser_ui.site_settings.SingleWebsiteSettings; import org.chromium.components.browser_ui.site_settings.SiteSettingsClient;
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;
...@@ -272,14 +270,8 @@ public class ChromePageInfoControllerDelegate extends PageInfoControllerDelegate ...@@ -272,14 +270,8 @@ public class ChromePageInfoControllerDelegate extends PageInfoControllerDelegate
*/ */
@Override @Override
@NonNull @NonNull
public Fragment getPermissionsSubpageFragmentForUrl(String url) { public SiteSettingsClient getSiteSettingsClient() {
Bundle fragmentArgs = SingleWebsiteSettings.createFragmentArgsForSite(url); return new ChromeSiteSettingsClient(mContext, getBrowserContext());
SingleWebsiteSettings fragment = (SingleWebsiteSettings) Fragment.instantiate(
mContext, SingleWebsiteSettings.class.getName(), fragmentArgs);
fragment.setSiteSettingsClient(new ChromeSiteSettingsClient(mContext, getBrowserContext()));
fragment.setHideNonPermissionPreferences(true);
fragment.setRefreshAfterReset(true);
return fragment;
} }
@VisibleForTesting @VisibleForTesting
......
...@@ -9,10 +9,10 @@ import android.content.Intent; ...@@ -9,10 +9,10 @@ import android.content.Intent;
import androidx.annotation.IntDef; import androidx.annotation.IntDef;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import org.chromium.base.Consumer; import org.chromium.base.Consumer;
import org.chromium.base.supplier.Supplier; import org.chromium.base.supplier.Supplier;
import org.chromium.components.browser_ui.site_settings.SiteSettingsClient;
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;
...@@ -215,8 +215,8 @@ public abstract class PageInfoControllerDelegate { ...@@ -215,8 +215,8 @@ public abstract class PageInfoControllerDelegate {
public abstract BrowserContextHandle getBrowserContext(); public abstract BrowserContextHandle getBrowserContext();
/** /**
* @return Returns the fragment to be used for the permissions subpage of page info. * @return Returns the SiteSettingsClient for this page info.
*/ */
@NonNull @NonNull
public abstract Fragment getPermissionsSubpageFragmentForUrl(String url); public abstract SiteSettingsClient getSiteSettingsClient();
} }
...@@ -4,12 +4,15 @@ ...@@ -4,12 +4,15 @@
package org.chromium.components.page_info; package org.chromium.components.page_info;
import android.os.Bundle;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import org.chromium.components.browser_ui.site_settings.SingleWebsiteSettings;
/** /**
* Class for controlling the page info permissions section. * Class for controlling the page info permissions section.
*/ */
...@@ -19,7 +22,7 @@ public class PageInfoPermissionsController implements PageInfoSubpageController ...@@ -19,7 +22,7 @@ public class PageInfoPermissionsController implements PageInfoSubpageController
private PageInfoControllerDelegate mDelegate; private PageInfoControllerDelegate mDelegate;
private String mTitle; private String mTitle;
private String mPageUrl; private String mPageUrl;
private Fragment mSubpageFragment; private SingleWebsiteSettings mSubpageFragment;
public PageInfoPermissionsController(PageInfoMainPageController mainController, public PageInfoPermissionsController(PageInfoMainPageController mainController,
PageInfoRowView view, PageInfoControllerDelegate delegate, String pageUrl) { PageInfoRowView view, PageInfoControllerDelegate delegate, String pageUrl) {
...@@ -41,7 +44,12 @@ public class PageInfoPermissionsController implements PageInfoSubpageController ...@@ -41,7 +44,12 @@ public class PageInfoPermissionsController implements PageInfoSubpageController
@Override @Override
public View createViewForSubpage(ViewGroup parent) { public View createViewForSubpage(ViewGroup parent) {
assert mSubpageFragment == null; assert mSubpageFragment == null;
mSubpageFragment = mDelegate.getPermissionsSubpageFragmentForUrl(mPageUrl); Bundle fragmentArgs = SingleWebsiteSettings.createFragmentArgsForSite(mPageUrl);
mSubpageFragment = (SingleWebsiteSettings) Fragment.instantiate(
mRowView.getContext(), SingleWebsiteSettings.class.getName(), fragmentArgs);
mSubpageFragment.setSiteSettingsClient(mDelegate.getSiteSettingsClient());
mSubpageFragment.setHideNonPermissionPreferences(true);
mSubpageFragment.setRefreshAfterReset(true);
AppCompatActivity host = (AppCompatActivity) mRowView.getContext(); AppCompatActivity host = (AppCompatActivity) mRowView.getContext();
host.getSupportFragmentManager().beginTransaction().add(mSubpageFragment, null).commitNow(); host.getSupportFragmentManager().beginTransaction().add(mSubpageFragment, null).commitNow();
return mSubpageFragment.getView(); return mSubpageFragment.getView();
......
...@@ -6,14 +6,12 @@ package org.chromium.weblayer_private; ...@@ -6,14 +6,12 @@ package org.chromium.weblayer_private;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import org.chromium.base.StrictModeContext; import org.chromium.base.StrictModeContext;
import org.chromium.base.supplier.Supplier; import org.chromium.base.supplier.Supplier;
import org.chromium.components.browser_ui.site_settings.SingleWebsiteSettings; import org.chromium.components.browser_ui.site_settings.SiteSettingsClient;
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;
...@@ -89,14 +87,8 @@ public class PageInfoControllerDelegateImpl extends PageInfoControllerDelegate { ...@@ -89,14 +87,8 @@ public class PageInfoControllerDelegateImpl extends PageInfoControllerDelegate {
*/ */
@Override @Override
@NonNull @NonNull
public Fragment getPermissionsSubpageFragmentForUrl(String url) { public SiteSettingsClient getSiteSettingsClient() {
Bundle fragmentArgs = SingleWebsiteSettings.createFragmentArgsForSite(url); return new WebLayerSiteSettingsClient(getBrowserContext());
SingleWebsiteSettings fragment = (SingleWebsiteSettings) Fragment.instantiate(
mContext, SingleWebsiteSettings.class.getName(), fragmentArgs);
fragment.setSiteSettingsClient(new WebLayerSiteSettingsClient(getBrowserContext()));
fragment.setHideNonPermissionPreferences(true);
fragment.setRefreshAfterReset(true);
return fragment;
} }
private static boolean isHttpOrHttps(GURL url) { private static boolean isHttpOrHttps(GURL url) {
......
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