Commit 42ebb3dc authored by Mugdha Lakhani's avatar Mugdha Lakhani Committed by Commit Bot

[WebLayer] Remove PageInfoController deps on Profile, ChromeActivity.

PageInfoControllerDelegate has been introduced to allow customization of
PageInfoController java code, currently focussing on everything that
requires Profile or ChromeActivity.

The end goal is to have no chrome dependencies in PageInfoController so
it can be moved to //components.

Bug: 1052375
Change-Id: I8adf97cb400b99f964b86779c2a3116d1e3b458a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2142261
Commit-Queue: Mugdha Lakhani <nator@chromium.org>
Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#758917}
parent d5722091
...@@ -1222,6 +1222,7 @@ chrome_java_sources = [ ...@@ -1222,6 +1222,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewProperties.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewProperties.java",
"java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java", "java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java",
"java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandler.java", "java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandler.java",
"java/src/org/chromium/chrome/browser/page_info/ChromePageInfoControllerDelegate.java",
"java/src/org/chromium/chrome/browser/page_info/PageInfoController.java", "java/src/org/chromium/chrome/browser/page_info/PageInfoController.java",
"java/src/org/chromium/chrome/browser/page_info/PermissionParamsListBuilder.java", "java/src/org/chromium/chrome/browser/page_info/PermissionParamsListBuilder.java",
"java/src/org/chromium/chrome/browser/page_info/SiteSettingsHelper.java", "java/src/org/chromium/chrome/browser/page_info/SiteSettingsHelper.java",
......
...@@ -40,6 +40,7 @@ import org.chromium.chrome.browser.ChromeActivity; ...@@ -40,6 +40,7 @@ import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ChromeTabbedActivity; import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.compositor.CompositorView; import org.chromium.chrome.browser.compositor.CompositorView;
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.page_info.ChromePageInfoControllerDelegate;
import org.chromium.chrome.browser.page_info.PageInfoController; import org.chromium.chrome.browser.page_info.PageInfoController;
import org.chromium.chrome.browser.tab.EmptyTabObserver; import org.chromium.chrome.browser.tab.EmptyTabObserver;
import org.chromium.chrome.browser.tab.RedirectHandlerTabHelper; import org.chromium.chrome.browser.tab.RedirectHandlerTabHelper;
...@@ -565,11 +566,12 @@ public class VrShell extends GvrLayout ...@@ -565,11 +566,12 @@ public class VrShell extends GvrLayout
public void showPageInfo() { public void showPageInfo() {
Tab tab = mActivity.getActivityTab(); Tab tab = mActivity.getActivityTab();
if (tab == null) return; if (tab == null) return;
WebContents webContents = tab.getWebContents();
PageInfoController.show(mActivity, tab.getWebContents(), null, PageInfoController.show(mActivity, webContents, null,
PageInfoController.OpenedFromSource.VR, PageInfoController.OpenedFromSource.VR,
/*offlinePageLoadUrlDelegate=*/ /*offlinePageLoadUrlDelegate=*/
new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(tab)); new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(tab),
new ChromePageInfoControllerDelegate(mActivity, webContents));
} }
// Called because showing audio permission dialog isn't supported in VR. This happens when // Called because showing audio permission dialog isn't supported in VR. This happens when
......
...@@ -110,6 +110,7 @@ import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; ...@@ -110,6 +110,7 @@ import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper;
import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper.MenuButtonState; import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper.MenuButtonState;
import org.chromium.chrome.browser.omaha.notification.UpdateNotificationController; import org.chromium.chrome.browser.omaha.notification.UpdateNotificationController;
import org.chromium.chrome.browser.omaha.notification.UpdateNotificationControllerFactory; import org.chromium.chrome.browser.omaha.notification.UpdateNotificationControllerFactory;
import org.chromium.chrome.browser.page_info.ChromePageInfoControllerDelegate;
import org.chromium.chrome.browser.page_info.PageInfoController; import org.chromium.chrome.browser.page_info.PageInfoController;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.Pref;
...@@ -1965,10 +1966,12 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent> ...@@ -1965,10 +1966,12 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
RecordUserAction.record("MobileMenuReload"); RecordUserAction.record("MobileMenuReload");
} }
} else if (id == R.id.info_menu_id) { } else if (id == R.id.info_menu_id) {
PageInfoController.show(this, currentTab.getWebContents(), null, WebContents webContents = currentTab.getWebContents();
PageInfoController.show(this, webContents, null,
PageInfoController.OpenedFromSource.MENU, PageInfoController.OpenedFromSource.MENU,
/*offlinePageLoadUrlDelegate=*/ /*offlinePageLoadUrlDelegate=*/
new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(currentTab)); new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(currentTab),
new ChromePageInfoControllerDelegate(this, webContents));
} else if (id == R.id.translate_id) { } else if (id == R.id.translate_id) {
RecordUserAction.record("MobileMenuTranslate"); RecordUserAction.record("MobileMenuTranslate");
Tracker tracker = TrackerFactory.getTrackerForProfile( Tracker tracker = TrackerFactory.getTrackerForProfile(
......
...@@ -49,6 +49,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList; ...@@ -49,6 +49,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.infobar.InfoBarContainer; import org.chromium.chrome.browser.infobar.InfoBarContainer;
import org.chromium.chrome.browser.night_mode.NightModeUtils; import org.chromium.chrome.browser.night_mode.NightModeUtils;
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.page_info.ChromePageInfoControllerDelegate;
import org.chromium.chrome.browser.page_info.PageInfoController; import org.chromium.chrome.browser.page_info.PageInfoController;
import org.chromium.chrome.browser.previews.Previews; import org.chromium.chrome.browser.previews.Previews;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
...@@ -246,11 +247,12 @@ public class CustomTabActivity extends BaseCustomTabActivity<CustomTabActivityCo ...@@ -246,11 +247,12 @@ public class CustomTabActivity extends BaseCustomTabActivity<CustomTabActivityCo
} else if (id == R.id.info_menu_id) { } else if (id == R.id.info_menu_id) {
Tab tab = getTabModelSelector().getCurrentTab(); Tab tab = getTabModelSelector().getCurrentTab();
if (tab == null) return false; if (tab == null) return false;
PageInfoController.show(this, tab.getWebContents(), WebContents webContents = tab.getWebContents();
getToolbarManager().getContentPublisher(), PageInfoController.show(this, webContents, getToolbarManager().getContentPublisher(),
PageInfoController.OpenedFromSource.MENU, PageInfoController.OpenedFromSource.MENU,
/*offlinePageLoadUrlDelegate=*/ /*offlinePageLoadUrlDelegate=*/
new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(tab)); new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(tab),
new ChromePageInfoControllerDelegate(this, webContents));
return true; return true;
} }
return super.onMenuOrKeyboardAction(id, fromMenu); return super.onMenuOrKeyboardAction(id, fromMenu);
......
...@@ -20,6 +20,7 @@ public class ChromeAutocompleteSchemeClassifier extends AutocompleteSchemeClassi ...@@ -20,6 +20,7 @@ public class ChromeAutocompleteSchemeClassifier extends AutocompleteSchemeClassi
super(ChromeAutocompleteSchemeClassifierJni.get().createAutocompleteClassifier(profile)); super(ChromeAutocompleteSchemeClassifierJni.get().createAutocompleteClassifier(profile));
} }
@Override
public void destroy() { public void destroy() {
ChromeAutocompleteSchemeClassifierJni.get().deleteAutocompleteClassifier( ChromeAutocompleteSchemeClassifierJni.get().deleteAutocompleteClassifier(
super.getNativePtr()); super.getNativePtr());
......
...@@ -11,14 +11,17 @@ import androidx.annotation.DrawableRes; ...@@ -11,14 +11,17 @@ import androidx.annotation.DrawableRes;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.omnibox.SearchEngineLogoUtils; import org.chromium.chrome.browser.omnibox.SearchEngineLogoUtils;
import org.chromium.chrome.browser.omnibox.UrlBar.UrlTextChangeListener; import org.chromium.chrome.browser.omnibox.UrlBar.UrlTextChangeListener;
import org.chromium.chrome.browser.omnibox.UrlBarEditingTextStateProvider; import org.chromium.chrome.browser.omnibox.UrlBarEditingTextStateProvider;
import org.chromium.chrome.browser.page_info.ChromePageInfoControllerDelegate;
import org.chromium.chrome.browser.page_info.PageInfoController; import org.chromium.chrome.browser.page_info.PageInfoController;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabImpl; import org.chromium.chrome.browser.tab.TabImpl;
import org.chromium.chrome.browser.toolbar.ToolbarDataProvider; import org.chromium.chrome.browser.toolbar.ToolbarDataProvider;
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.modelutil.PropertyModel; import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.modelutil.PropertyModelChangeProcessor; import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
...@@ -195,10 +198,13 @@ public class StatusViewCoordinator implements View.OnClickListener, UrlTextChang ...@@ -195,10 +198,13 @@ public class StatusViewCoordinator implements View.OnClickListener, UrlTextChang
} }
Tab tab = mToolbarDataProvider.getTab(); Tab tab = mToolbarDataProvider.getTab();
PageInfoController.show(((TabImpl) tab).getActivity(), tab.getWebContents(), null, ChromeActivity activity = ((TabImpl) tab).getActivity();
WebContents webContents = tab.getWebContents();
PageInfoController.show(activity, webContents, null,
PageInfoController.OpenedFromSource.TOOLBAR, PageInfoController.OpenedFromSource.TOOLBAR,
/*offlinePageLoadUrlDelegate=*/ /*offlinePageLoadUrlDelegate=*/
new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(tab)); new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(tab),
new ChromePageInfoControllerDelegate(activity, webContents));
} }
/** /**
......
// 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.page_info;
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
import org.chromium.chrome.browser.omnibox.ChromeAutocompleteSchemeClassifier;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.site_settings.CookieControlsBridge;
import org.chromium.components.feature_engagement.Tracker;
import org.chromium.components.omnibox.AutocompleteSchemeClassifier;
import org.chromium.components.page_info.PageInfoControllerDelegate;
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.modaldialog.ModalDialogManager;
/**
* Chrome's implementation of PageInfoControllerDelegate, that provides
* Chrome-specific info to PageInfoController.
*/
public class ChromePageInfoControllerDelegate implements PageInfoControllerDelegate {
private final WebContents mWebContents;
private final ChromeActivity mActivity;
public ChromePageInfoControllerDelegate(ChromeActivity activity, WebContents webContents) {
mWebContents = webContents;
mActivity = activity;
}
private Profile profile() {
return Profile.fromWebContents(mWebContents);
}
@Override
public Tracker getTracker() {
return TrackerFactory.getTrackerForProfile(profile());
}
@Override
public AutocompleteSchemeClassifier createAutocompleteSchemeClassifier() {
return new ChromeAutocompleteSchemeClassifier(profile());
}
@Override
public boolean cookieControlsShown() {
return CookieControlsBridge.isCookieControlsEnabled(profile());
}
@Override
public ModalDialogManager getModalDialogManager() {
return mActivity.getModalDialogManager();
}
@Override
public boolean useDarkColors() {
return !mActivity.getNightModeStateProvider().isInNightMode();
}
}
\ No newline at end of file
...@@ -11,6 +11,7 @@ import androidx.annotation.DrawableRes; ...@@ -11,6 +11,7 @@ import androidx.annotation.DrawableRes;
import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.page_info.ChromePageInfoControllerDelegate;
import org.chromium.chrome.browser.page_info.PageInfoController; import org.chromium.chrome.browser.page_info.PageInfoController;
import org.chromium.components.omnibox.SecurityStatusIcon; import org.chromium.components.omnibox.SecurityStatusIcon;
import org.chromium.components.security_state.ConnectionSecurityLevel; import org.chromium.components.security_state.ConnectionSecurityLevel;
...@@ -134,6 +135,7 @@ import org.chromium.ui.modelutil.PropertyModel; ...@@ -134,6 +135,7 @@ import org.chromium.ui.modelutil.PropertyModel;
PageInfoController.show(mChromeActivity, mWebContentsRef, null, PageInfoController.show(mChromeActivity, mWebContentsRef, null,
PageInfoController.OpenedFromSource.TOOLBAR, PageInfoController.OpenedFromSource.TOOLBAR,
/*offlinePageLoadUrlDelegate=*/ /*offlinePageLoadUrlDelegate=*/
new OfflinePageUtils.WebContentsOfflinePageLoadUrlDelegate(mWebContentsRef)); new OfflinePageUtils.WebContentsOfflinePageLoadUrlDelegate(mWebContentsRef),
new ChromePageInfoControllerDelegate(mChromeActivity, mWebContentsRef));
}; };
} }
...@@ -8,7 +8,6 @@ import android.animation.Animator; ...@@ -8,7 +8,6 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;
import android.animation.ValueAnimator.AnimatorUpdateListener; import android.animation.ValueAnimator.AnimatorUpdateListener;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
import android.content.res.Configuration; import android.content.res.Configuration;
...@@ -56,6 +55,7 @@ import org.chromium.chrome.browser.omnibox.UrlBarCoordinator; ...@@ -56,6 +55,7 @@ import org.chromium.chrome.browser.omnibox.UrlBarCoordinator;
import org.chromium.chrome.browser.omnibox.UrlBarCoordinator.SelectionState; import org.chromium.chrome.browser.omnibox.UrlBarCoordinator.SelectionState;
import org.chromium.chrome.browser.omnibox.UrlBarData; import org.chromium.chrome.browser.omnibox.UrlBarData;
import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.chrome.browser.page_info.ChromePageInfoControllerDelegate;
import org.chromium.chrome.browser.page_info.PageInfoController; import org.chromium.chrome.browser.page_info.PageInfoController;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
...@@ -68,6 +68,7 @@ import org.chromium.components.browser_ui.styles.ChromeColors; ...@@ -68,6 +68,7 @@ import org.chromium.components.browser_ui.styles.ChromeColors;
import org.chromium.components.browser_ui.widget.TintedDrawable; import org.chromium.components.browser_ui.widget.TintedDrawable;
import org.chromium.components.url_formatter.UrlFormatter; import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.content_public.browser.UiThreadTaskTraits; import org.chromium.content_public.browser.UiThreadTaskTraits;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.ContentUrlConstants; import org.chromium.content_public.common.ContentUrlConstants;
import org.chromium.net.GURLUtils; import org.chromium.net.GURLUtils;
import org.chromium.ui.base.Clipboard; import org.chromium.ui.base.Clipboard;
...@@ -594,13 +595,16 @@ public class CustomTabToolbar extends ToolbarLayout implements View.OnLongClickL ...@@ -594,13 +595,16 @@ public class CustomTabToolbar extends ToolbarLayout implements View.OnLongClickL
public void onNativeLibraryReady() { public void onNativeLibraryReady() {
mSecurityButton.setOnClickListener(v -> { mSecurityButton.setOnClickListener(v -> {
Tab currentTab = getToolbarDataProvider().getTab(); Tab currentTab = getToolbarDataProvider().getTab();
if (currentTab == null || currentTab.getWebContents() == null) return; WebContents webContents = currentTab.getWebContents();
Activity activity = currentTab.getWindowAndroid().getActivity().get(); if (currentTab == null || webContents == null) return;
ChromeActivity activity =
(ChromeActivity) currentTab.getWindowAndroid().getActivity().get();
if (activity == null) return; if (activity == null) return;
PageInfoController.show((ChromeActivity) activity, currentTab.getWebContents(), PageInfoController.show(activity, webContents, getContentPublisher(),
getContentPublisher(), PageInfoController.OpenedFromSource.TOOLBAR, PageInfoController.OpenedFromSource.TOOLBAR,
/*offlinePageLoadUrlDelegate=*/ /*offlinePageLoadUrlDelegate=*/
new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(currentTab)); new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(currentTab),
new ChromePageInfoControllerDelegate(activity, webContents));
}); });
} }
......
...@@ -67,7 +67,9 @@ public class PageInfoControllerTest { ...@@ -67,7 +67,9 @@ public class PageInfoControllerTest {
PageInfoController.show(mActivityTestRule.getActivity(), tab.getWebContents(), null, PageInfoController.show(mActivityTestRule.getActivity(), tab.getWebContents(), null,
PageInfoController.OpenedFromSource.MENU, PageInfoController.OpenedFromSource.MENU,
/*offlinePageLoadUrlDelegate=*/ /*offlinePageLoadUrlDelegate=*/
new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(tab)); new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(tab),
new ChromePageInfoControllerDelegate(
mActivityTestRule.getActivity(), tab.getWebContents()));
}); });
} }
...@@ -90,7 +92,9 @@ public class PageInfoControllerTest { ...@@ -90,7 +92,9 @@ public class PageInfoControllerTest {
PageInfoController.OfflinePageState.NOT_OFFLINE_PAGE, PageInfoController.OfflinePageState.NOT_OFFLINE_PAGE,
PageInfoController.PreviewPageState.NOT_PREVIEW, /*publisher=*/null, PageInfoController.PreviewPageState.NOT_PREVIEW, /*publisher=*/null,
/*offlinePageLoadUrlDelegate=*/ /*offlinePageLoadUrlDelegate=*/
new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(tab)); new OfflinePageUtils.TabOfflinePageLoadUrlDelegate(tab),
new ChromePageInfoControllerDelegate(
mActivityTestRule.getActivity(), tab.getWebContents()));
PageInfoView pageInfoView = pageInfo.getPageInfoViewForTesting(); PageInfoView pageInfoView = pageInfo.getPageInfoViewForTesting();
// Test that the title contains the Unicode hostname rather than strict equality, as // Test that the title contains the Unicode hostname rather than strict equality, as
// the test server will be bound to a random port. // the test server will be bound to a random port.
......
...@@ -16,6 +16,8 @@ public class AutocompleteSchemeClassifier { ...@@ -16,6 +16,8 @@ public class AutocompleteSchemeClassifier {
this.mNativePtr = nativePtr; this.mNativePtr = nativePtr;
} }
public void destroy() {}
@CalledByNative @CalledByNative
protected long getNativePtr() { protected long getNativePtr() {
return mNativePtr; return mNativePtr;
......
...@@ -68,6 +68,7 @@ android_library("java") { ...@@ -68,6 +68,7 @@ android_library("java") {
"java/src/org/chromium/components/page_info/CertificateViewer.java", "java/src/org/chromium/components/page_info/CertificateViewer.java",
"java/src/org/chromium/components/page_info/ConnectionInfoPopup.java", "java/src/org/chromium/components/page_info/ConnectionInfoPopup.java",
"java/src/org/chromium/components/page_info/CookieControlsView.java", "java/src/org/chromium/components/page_info/CookieControlsView.java",
"java/src/org/chromium/components/page_info/PageInfoControllerDelegate.java",
"java/src/org/chromium/components/page_info/PageInfoDialog.java", "java/src/org/chromium/components/page_info/PageInfoDialog.java",
"java/src/org/chromium/components/page_info/PageInfoView.java", "java/src/org/chromium/components/page_info/PageInfoView.java",
"java/src/org/chromium/components/page_info/SystemSettingsActivityRequiredListener.java", "java/src/org/chromium/components/page_info/SystemSettingsActivityRequiredListener.java",
...@@ -78,6 +79,8 @@ android_library("java") { ...@@ -78,6 +79,8 @@ android_library("java") {
":java_resources", ":java_resources",
"//base:base_java", "//base:base_java",
"//base:jni_java", "//base:jni_java",
"//components/feature_engagement/public:public_java",
"//components/omnibox/browser:browser_java",
"//content/public/android:content_java", "//content/public/android:content_java",
"//third_party/android_deps:android_support_v7_appcompat_java", "//third_party/android_deps:android_support_v7_appcompat_java",
"//third_party/android_deps:androidx_annotation_annotation_java", "//third_party/android_deps:androidx_annotation_annotation_java",
......
include_rules = [ include_rules = [
"+components/feature_engagement/public/android/java",
"+components/omnibox/browser/android/java",
"+components/strings/grit/components_strings.h", "+components/strings/grit/components_strings.h",
"-content/public/android", "-content/public/android",
"+content/public/android/java/src/org/chromium/content_public", "+content/public/android/java/src/org/chromium/content_public",
......
// 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.page_info;
import org.chromium.components.feature_engagement.Tracker;
import org.chromium.components.omnibox.AutocompleteSchemeClassifier;
import org.chromium.ui.modaldialog.ModalDialogManager;
/**
* Interface that provides embedder-level information to PageInfoController.
*/
public interface PageInfoControllerDelegate {
// Returns the tracker.
Tracker getTracker();
// Create an AutoCompleteClassifier.
AutocompleteSchemeClassifier createAutocompleteSchemeClassifier();
// Whether cookie controls should be shown in Page Info UI.
boolean cookieControlsShown();
// Return the ModalDialogManager to be used.
ModalDialogManager getModalDialogManager();
// Whether Page Info UI should use dark colors.
boolean useDarkColors();
}
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