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;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.Fragment;
import org.chromium.base.Consumer;
import org.chromium.base.supplier.Supplier;
......@@ -32,7 +30,7 @@ import org.chromium.chrome.browser.previews.PreviewsUma;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsClient;
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.CookieControlsObserver;
import org.chromium.components.embedder_support.browser_context.BrowserContextHandle;
......@@ -272,14 +270,8 @@ public class ChromePageInfoControllerDelegate extends PageInfoControllerDelegate
*/
@Override
@NonNull
public Fragment getPermissionsSubpageFragmentForUrl(String url) {
Bundle fragmentArgs = SingleWebsiteSettings.createFragmentArgsForSite(url);
SingleWebsiteSettings fragment = (SingleWebsiteSettings) Fragment.instantiate(
mContext, SingleWebsiteSettings.class.getName(), fragmentArgs);
fragment.setSiteSettingsClient(new ChromeSiteSettingsClient(mContext, getBrowserContext()));
fragment.setHideNonPermissionPreferences(true);
fragment.setRefreshAfterReset(true);
return fragment;
public SiteSettingsClient getSiteSettingsClient() {
return new ChromeSiteSettingsClient(mContext, getBrowserContext());
}
@VisibleForTesting
......
......@@ -9,10 +9,10 @@ import android.content.Intent;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import org.chromium.base.Consumer;
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.CookieControlsObserver;
import org.chromium.components.embedder_support.browser_context.BrowserContextHandle;
......@@ -215,8 +215,8 @@ public abstract class PageInfoControllerDelegate {
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
public abstract Fragment getPermissionsSubpageFragmentForUrl(String url);
public abstract SiteSettingsClient getSiteSettingsClient();
}
......@@ -4,12 +4,15 @@
package org.chromium.components.page_info;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import org.chromium.components.browser_ui.site_settings.SingleWebsiteSettings;
/**
* Class for controlling the page info permissions section.
*/
......@@ -19,7 +22,7 @@ public class PageInfoPermissionsController implements PageInfoSubpageController
private PageInfoControllerDelegate mDelegate;
private String mTitle;
private String mPageUrl;
private Fragment mSubpageFragment;
private SingleWebsiteSettings mSubpageFragment;
public PageInfoPermissionsController(PageInfoMainPageController mainController,
PageInfoRowView view, PageInfoControllerDelegate delegate, String pageUrl) {
......@@ -41,7 +44,12 @@ public class PageInfoPermissionsController implements PageInfoSubpageController
@Override
public View createViewForSubpage(ViewGroup parent) {
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();
host.getSupportFragmentManager().beginTransaction().add(mSubpageFragment, null).commitNow();
return mSubpageFragment.getView();
......
......@@ -6,14 +6,12 @@ package org.chromium.weblayer_private;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import org.chromium.base.StrictModeContext;
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.CookieControlsObserver;
import org.chromium.components.embedder_support.browser_context.BrowserContextHandle;
......@@ -89,14 +87,8 @@ public class PageInfoControllerDelegateImpl extends PageInfoControllerDelegate {
*/
@Override
@NonNull
public Fragment getPermissionsSubpageFragmentForUrl(String url) {
Bundle fragmentArgs = SingleWebsiteSettings.createFragmentArgsForSite(url);
SingleWebsiteSettings fragment = (SingleWebsiteSettings) Fragment.instantiate(
mContext, SingleWebsiteSettings.class.getName(), fragmentArgs);
fragment.setSiteSettingsClient(new WebLayerSiteSettingsClient(getBrowserContext()));
fragment.setHideNonPermissionPreferences(true);
fragment.setRefreshAfterReset(true);
return fragment;
public SiteSettingsClient getSiteSettingsClient() {
return new WebLayerSiteSettingsClient(getBrowserContext());
}
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