Commit 798c8880 authored by Natalie Chouinard's avatar Natalie Chouinard Committed by Commit Bot

Move PrefServiceBridge's Incognito methods to IcognitoUtils

Move Incognito-related methods from PrefServiceBridge to IncognitoUtils.

This is part of a larger change to limit PrefServiceBridge to only
feature-agnostic logic related to the native PrefService.

Bug: 1016957
Change-Id: I82622c38daa7ada27c648a978ad76dbfe7a9ecb4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1909957Reviewed-by: default avatarDavid Roger <droger@chromium.org>
Reviewed-by: default avatarBrandon Wylie <wylieb@chromium.org>
Reviewed-by: default avatarYaron Friedman <yfriedman@chromium.org>
Commit-Queue: Natalie Chouinard <chouinard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#715331}
parent 367f2231
...@@ -2621,6 +2621,7 @@ generate_jni("chrome_jni_headers") { ...@@ -2621,6 +2621,7 @@ generate_jni("chrome_jni_headers") {
"java/src/org/chromium/chrome/browser/history/HistoryDeletionBridge.java", "java/src/org/chromium/chrome/browser/history/HistoryDeletionBridge.java",
"java/src/org/chromium/chrome/browser/history/HistoryDeletionInfo.java", "java/src/org/chromium/chrome/browser/history/HistoryDeletionInfo.java",
"java/src/org/chromium/chrome/browser/historyreport/HistoryReportJniBridge.java", "java/src/org/chromium/chrome/browser/historyreport/HistoryReportJniBridge.java",
"java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java",
"java/src/org/chromium/chrome/browser/infobar/AdsBlockedInfoBar.java", "java/src/org/chromium/chrome/browser/infobar/AdsBlockedInfoBar.java",
"java/src/org/chromium/chrome/browser/infobar/AutofillCreditCardFillingInfoBar.java", "java/src/org/chromium/chrome/browser/infobar/AutofillCreditCardFillingInfoBar.java",
"java/src/org/chromium/chrome/browser/infobar/AutofillSaveCardInfoBar.java", "java/src/org/chromium/chrome/browser/infobar/AutofillSaveCardInfoBar.java",
......
...@@ -105,7 +105,6 @@ import org.chromium.chrome.browser.omaha.OmahaBase; ...@@ -105,7 +105,6 @@ import org.chromium.chrome.browser.omaha.OmahaBase;
import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.omnibox.LocationBar;
import org.chromium.chrome.browser.partnercustomizations.HomepageManager; import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.search_engines.SearchEngineChoiceNotification; import org.chromium.chrome.browser.search_engines.SearchEngineChoiceNotification;
import org.chromium.chrome.browser.snackbar.undo.UndoBarController; import org.chromium.chrome.browser.snackbar.undo.UndoBarController;
...@@ -1438,7 +1437,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo ...@@ -1438,7 +1437,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
return; return;
} }
if (!PrefServiceBridge.getInstance().isIncognitoModeEnabled()) { if (!IncognitoUtils.isIncognitoModeEnabled()) {
// The incognito launcher shortcut is manipulated in #onDeferredStartup(), // The incognito launcher shortcut is manipulated in #onDeferredStartup(),
// so it's possible for a user to invoke the shortcut before it's disabled. // so it's possible for a user to invoke the shortcut before it's disabled.
// Opening an incognito tab while incognito mode is disabled from somewhere // Opening an incognito tab while incognito mode is disabled from somewhere
...@@ -1733,7 +1732,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo ...@@ -1733,7 +1732,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
mLocaleManager.showSearchEnginePromoIfNeeded(this, null); mLocaleManager.showSearchEnginePromoIfNeeded(this, null);
} else if (id == R.id.new_incognito_tab_menu_id) { } else if (id == R.id.new_incognito_tab_menu_id) {
if (PrefServiceBridge.getInstance().isIncognitoModeEnabled()) { if (IncognitoUtils.isIncognitoModeEnabled()) {
getTabModelSelector().getModel(false).commitAllTabClosures(); getTabModelSelector().getModel(false).commitAllTabClosures();
// This action must be recorded before opening the incognito tab since UMA actions // This action must be recorded before opening the incognito tab since UMA actions
// are dropped when an incognito tab is open. // are dropped when an incognito tab is open.
......
...@@ -20,7 +20,7 @@ import androidx.annotation.VisibleForTesting; ...@@ -20,7 +20,7 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.incognito.IncognitoUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
...@@ -72,7 +72,7 @@ public class LauncherShortcutActivity extends Activity { ...@@ -72,7 +72,7 @@ public class LauncherShortcutActivity extends Activity {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) return; if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) return;
SharedPreferences preferences = ContextUtils.getAppSharedPreferences(); SharedPreferences preferences = ContextUtils.getAppSharedPreferences();
if (PrefServiceBridge.getInstance().isIncognitoModeEnabled()) { if (IncognitoUtils.isIncognitoModeEnabled()) {
boolean success = LauncherShortcutActivity.addIncognitoLauncherShortcut(context); boolean success = LauncherShortcutActivity.addIncognitoLauncherShortcut(context);
// Save a shared preference indicating the incognito shortcut has been added. // Save a shared preference indicating the incognito shortcut has been added.
...@@ -80,7 +80,7 @@ public class LauncherShortcutActivity extends Activity { ...@@ -80,7 +80,7 @@ public class LauncherShortcutActivity extends Activity {
preferences.edit().putBoolean(INCOGNITO_SHORTCUT_ADDED_PREF, true).apply(); preferences.edit().putBoolean(INCOGNITO_SHORTCUT_ADDED_PREF, true).apply();
} }
} else if (preferences.getBoolean(INCOGNITO_SHORTCUT_ADDED_PREF, false) } else if (preferences.getBoolean(INCOGNITO_SHORTCUT_ADDED_PREF, false)
&& !PrefServiceBridge.getInstance().isIncognitoModeEnabled()) { && !IncognitoUtils.isIncognitoModeEnabled()) {
LauncherShortcutActivity.removeIncognitoLauncherShortcut(context); LauncherShortcutActivity.removeIncognitoLauncherShortcut(context);
preferences.edit().putBoolean(INCOGNITO_SHORTCUT_ADDED_PREF, false).apply(); preferences.edit().putBoolean(INCOGNITO_SHORTCUT_ADDED_PREF, false).apply();
} }
......
...@@ -34,10 +34,10 @@ import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior; ...@@ -34,10 +34,10 @@ import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.device.DeviceClassManager; import org.chromium.chrome.browser.device.DeviceClassManager;
import org.chromium.chrome.browser.download.DownloadUtils; import org.chromium.chrome.browser.download.DownloadUtils;
import org.chromium.chrome.browser.flags.FeatureUtilities; import org.chromium.chrome.browser.flags.FeatureUtilities;
import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.browser.multiwindow.MultiWindowModeStateDispatcher; import org.chromium.chrome.browser.multiwindow.MultiWindowModeStateDispatcher;
import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper;
import org.chromium.chrome.browser.preferences.ManagedPreferencesUtils; import org.chromium.chrome.browser.preferences.ManagedPreferencesUtils;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.share.ShareHelper; import org.chromium.chrome.browser.share.ShareHelper;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.TabModelSelector;
...@@ -324,8 +324,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate ...@@ -324,8 +324,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
// main_menu.xml contains multiple items with the same id in different groups // main_menu.xml contains multiple items with the same id in different groups
// e.g.: new_incognito_tab_menu_id. // e.g.: new_incognito_tab_menu_id.
disableEnableMenuItem(menu, R.id.new_incognito_tab_menu_id, true, disableEnableMenuItem(menu, R.id.new_incognito_tab_menu_id, true,
PrefServiceBridge.getInstance().isIncognitoModeEnabled(), IncognitoUtils.isIncognitoModeEnabled(), IncognitoUtils.isIncognitoModeManaged());
PrefServiceBridge.getInstance().isIncognitoModeManaged());
} }
/** /**
......
...@@ -15,7 +15,7 @@ import org.chromium.base.metrics.RecordHistogram; ...@@ -15,7 +15,7 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction; import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge.BookmarkItem; import org.chromium.chrome.browser.bookmarks.BookmarkBridge.BookmarkItem;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.browser.tabmodel.TabLaunchType; import org.chromium.chrome.browser.tabmodel.TabLaunchType;
import org.chromium.chrome.browser.tabmodel.document.TabDelegate; import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
import org.chromium.chrome.browser.ui.widget.dragreorder.DragReorderableListAdapter; import org.chromium.chrome.browser.ui.widget.dragreorder.DragReorderableListAdapter;
...@@ -207,8 +207,9 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId> ...@@ -207,8 +207,9 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
// Editing a bookmark action on multiple selected items doesn't make sense. So disable. // Editing a bookmark action on multiple selected items doesn't make sense. So disable.
getMenu().findItem(R.id.selection_mode_edit_menu_id).setVisible( getMenu().findItem(R.id.selection_mode_edit_menu_id).setVisible(
selectedBookmarks.size() == 1); selectedBookmarks.size() == 1);
getMenu().findItem(R.id.selection_open_in_incognito_tab_id) getMenu()
.setVisible(PrefServiceBridge.getInstance().isIncognitoModeEnabled()); .findItem(R.id.selection_open_in_incognito_tab_id)
.setVisible(IncognitoUtils.isIncognitoModeEnabled());
// It does not make sense to open a folder in new tab. // It does not make sense to open a folder in new tab.
for (BookmarkId bookmark : selectedBookmarks) { for (BookmarkId bookmark : selectedBookmarks) {
BookmarkItem item = mDelegate.getModel().getBookmarkById(bookmark); BookmarkItem item = mDelegate.getModel().getBookmarkById(bookmark);
......
...@@ -13,6 +13,7 @@ import android.view.View; ...@@ -13,6 +13,7 @@ import android.view.View;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.widget.selection.SelectableListToolbar; import org.chromium.chrome.browser.widget.selection.SelectableListToolbar;
...@@ -104,7 +105,7 @@ public class HistoryManagerToolbar extends SelectableListToolbar<HistoryItem> { ...@@ -104,7 +105,7 @@ public class HistoryManagerToolbar extends SelectableListToolbar<HistoryItem> {
if (!PrefServiceBridge.getInstance().getBoolean(Pref.ALLOW_DELETING_BROWSER_HISTORY)) { if (!PrefServiceBridge.getInstance().getBoolean(Pref.ALLOW_DELETING_BROWSER_HISTORY)) {
getMenu().removeItem(R.id.selection_mode_delete_menu_id); getMenu().removeItem(R.id.selection_mode_delete_menu_id);
} }
if (!PrefServiceBridge.getInstance().isIncognitoModeEnabled()) { if (!IncognitoUtils.isIncognitoModeEnabled()) {
getMenu().removeItem(R.id.selection_mode_open_in_incognito); getMenu().removeItem(R.id.selection_mode_open_in_incognito);
} }
} }
......
...@@ -23,7 +23,6 @@ import org.chromium.base.task.TaskTraits; ...@@ -23,7 +23,6 @@ import org.chromium.base.task.TaskTraits;
import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.ChromeVersionInfo; import org.chromium.chrome.browser.ChromeVersionInfo;
import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.util.IntentUtils; import org.chromium.chrome.browser.util.IntentUtils;
/** /**
...@@ -88,9 +87,9 @@ public class IncognitoTabLauncher extends Activity { ...@@ -88,9 +87,9 @@ public class IncognitoTabLauncher extends Activity {
*/ */
public static void updateComponentEnabledState() { public static void updateComponentEnabledState() {
// TODO(peconn): Update state in a few more places (eg CustomTabsConnection#warmup). // TODO(peconn): Update state in a few more places (eg CustomTabsConnection#warmup).
boolean enable = ChromeFeatureList.isEnabled( boolean enable =
ChromeFeatureList.ALLOW_NEW_INCOGNITO_TAB_INTENTS) ChromeFeatureList.isEnabled(ChromeFeatureList.ALLOW_NEW_INCOGNITO_TAB_INTENTS)
&& PrefServiceBridge.getInstance().isIncognitoModeEnabled(); && IncognitoUtils.isIncognitoModeEnabled();
PostTask.postTask(TaskTraits.USER_VISIBLE, () -> setComponentEnabled(enable)); PostTask.postTask(TaskTraits.USER_VISIBLE, () -> setComponentEnabled(enable));
} }
......
...@@ -13,6 +13,7 @@ import android.util.Pair; ...@@ -13,6 +13,7 @@ import android.util.Pair;
import org.chromium.base.ApplicationStatus; import org.chromium.base.ApplicationStatus;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.NativeMethods;
import org.chromium.chrome.browser.ChromeTabbedActivity; import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.tab.TabState; import org.chromium.chrome.browser.tab.TabState;
...@@ -121,4 +122,24 @@ public class IncognitoUtils { ...@@ -121,4 +122,24 @@ public class IncognitoUtils {
} }
return deletionSuccessful; return deletionSuccessful;
} }
/**
* @return true if incognito mode is enabled.
*/
public static boolean isIncognitoModeEnabled() {
return IncognitoUtilsJni.get().getIncognitoModeEnabled();
}
/**
* @return true if incognito mode is managed by policy.
*/
public static boolean isIncognitoModeManaged() {
return IncognitoUtilsJni.get().getIncognitoModeManaged();
}
@NativeMethods
interface Natives {
boolean getIncognitoModeEnabled();
boolean getIncognitoModeManaged();
}
} }
...@@ -6,7 +6,7 @@ package org.chromium.chrome.browser.native_page; ...@@ -6,7 +6,7 @@ package org.chromium.chrome.browser.native_page;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.content_public.browser.LoadUrlParams;
...@@ -16,7 +16,7 @@ import org.chromium.content_public.browser.LoadUrlParams; ...@@ -16,7 +16,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
public interface NativePageNavigationDelegate { public interface NativePageNavigationDelegate {
/** @return Whether context menus should allow the option to open a link in incognito. */ /** @return Whether context menus should allow the option to open a link in incognito. */
default boolean isOpenInIncognitoEnabled() { default boolean isOpenInIncognitoEnabled() {
return PrefServiceBridge.getInstance().isIncognitoModeEnabled(); return IncognitoUtils.isIncognitoModeEnabled();
} }
/** @return Whether context menus should allow the option to open a link in a new window. */ /** @return Whether context menus should allow the option to open a link in a new window. */
......
...@@ -159,20 +159,6 @@ public class PrefServiceBridge { ...@@ -159,20 +159,6 @@ public class PrefServiceBridge {
return PrefServiceBridgeJni.get().canPrefetchAndPrerender(); return PrefServiceBridgeJni.get().canPrefetchAndPrerender();
} }
/**
* @return true if incognito mode is enabled.
*/
public boolean isIncognitoModeEnabled() {
return PrefServiceBridgeJni.get().getIncognitoModeEnabled();
}
/**
* @return true if incognito mode is managed by policy.
*/
public boolean isIncognitoModeManaged() {
return PrefServiceBridgeJni.get().getIncognitoModeManaged();
}
/** /**
* @return Whether usage and crash reporting pref is enabled. * @return Whether usage and crash reporting pref is enabled.
*/ */
...@@ -209,8 +195,6 @@ public class PrefServiceBridge { ...@@ -209,8 +195,6 @@ public class PrefServiceBridge {
void setString(int preference, String value); void setString(int preference, String value);
boolean isManagedPreference(int preference); boolean isManagedPreference(int preference);
boolean getFirstRunEulaAccepted(); boolean getFirstRunEulaAccepted();
boolean getIncognitoModeEnabled();
boolean getIncognitoModeManaged();
boolean canPrefetchAndPrerender(); boolean canPrefetchAndPrerender();
boolean getNetworkPredictionManaged(); boolean getNetworkPredictionManaged();
boolean obsoleteNetworkPredictionOptionsHasUserSetting(); boolean obsoleteNetworkPredictionOptionsHasUserSetting();
......
...@@ -2,6 +2,7 @@ include_rules = [ ...@@ -2,6 +2,7 @@ include_rules = [
"-chrome", "-chrome",
"+chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java", "+chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java",
"+chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java", "+chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java",
"+chrome/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java",
"+chrome/android/java/src/org/chromium/chrome/browser/webapps/WebDisplayMode.java", "+chrome/android/java/src/org/chromium/chrome/browser/webapps/WebDisplayMode.java",
"+chrome/browser/ui/android/styles", "+chrome/browser/ui/android/styles",
"+chrome/browser/ui/android/widget", "+chrome/browser/ui/android/widget",
......
...@@ -22,9 +22,9 @@ import org.chromium.chrome.browser.IntentHandler; ...@@ -22,9 +22,9 @@ import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.contextmenu.ContextMenuItemDelegate; import org.chromium.chrome.browser.contextmenu.ContextMenuItemDelegate;
import org.chromium.chrome.browser.document.ChromeLauncherActivity; import org.chromium.chrome.browser.document.ChromeLauncherActivity;
import org.chromium.chrome.browser.download.ChromeDownloadDelegate; import org.chromium.chrome.browser.download.ChromeDownloadDelegate;
import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.tabmodel.TabLaunchType; import org.chromium.chrome.browser.tabmodel.TabLaunchType;
import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.tabmodel.document.TabDelegate; import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
...@@ -73,7 +73,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { ...@@ -73,7 +73,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@Override @Override
public boolean isIncognitoSupported() { public boolean isIncognitoSupported() {
return PrefServiceBridge.getInstance().isIncognitoModeEnabled(); return IncognitoUtils.isIncognitoModeEnabled();
} }
@Override @Override
......
...@@ -21,7 +21,7 @@ import org.chromium.chrome.R; ...@@ -21,7 +21,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.device.DeviceClassManager; import org.chromium.chrome.browser.device.DeviceClassManager;
import org.chromium.chrome.browser.flags.FeatureUtilities; import org.chromium.chrome.browser.flags.FeatureUtilities;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.browser.tab.TabFeatureUtilities; import org.chromium.chrome.browser.tab.TabFeatureUtilities;
import org.chromium.chrome.browser.tabmodel.TabModel; import org.chromium.chrome.browser.tabmodel.TabModel;
import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.TabModelSelector;
...@@ -107,7 +107,7 @@ public class TabSwitcherModeTTPhone extends OptimizedFrameLayout ...@@ -107,7 +107,7 @@ public class TabSwitcherModeTTPhone extends OptimizedFrameLayout
} }
if ((usingHorizontalTabSwitcher() || FeatureUtilities.isGridTabSwitcherEnabled()) if ((usingHorizontalTabSwitcher() || FeatureUtilities.isGridTabSwitcherEnabled())
&& PrefServiceBridge.getInstance().isIncognitoModeEnabled()) { && IncognitoUtils.isIncognitoModeEnabled()) {
updateTabSwitchingElements(true); updateTabSwitchingElements(true);
} }
} }
...@@ -280,7 +280,7 @@ public class TabSwitcherModeTTPhone extends OptimizedFrameLayout ...@@ -280,7 +280,7 @@ public class TabSwitcherModeTTPhone extends OptimizedFrameLayout
if (mNewTabImageButton != null) mNewTabImageButton.onAccessibilityStatusChanged(); if (mNewTabImageButton != null) mNewTabImageButton.onAccessibilityStatusChanged();
if (ChromeFeatureList.isEnabled(ChromeFeatureList.HORIZONTAL_TAB_SWITCHER_ANDROID) if (ChromeFeatureList.isEnabled(ChromeFeatureList.HORIZONTAL_TAB_SWITCHER_ANDROID)
&& PrefServiceBridge.getInstance().isIncognitoModeEnabled()) { && IncognitoUtils.isIncognitoModeEnabled()) {
updateTabSwitchingElements(!enabled); updateTabSwitchingElements(!enabled);
} }
......
...@@ -41,6 +41,7 @@ import org.chromium.chrome.R; ...@@ -41,6 +41,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeSwitches; import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.history.HistoryTestUtils.TestObserver; import org.chromium.chrome.browser.history.HistoryTestUtils.TestObserver;
import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.PrefChangeRegistrar; import org.chromium.chrome.browser.preferences.PrefChangeRegistrar;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.preferences.PrefServiceBridge;
...@@ -579,7 +580,7 @@ public class HistoryActivityTest { ...@@ -579,7 +580,7 @@ public class HistoryActivityTest {
return Profile.getLastUsedProfile().isChild() return Profile.getLastUsedProfile().isChild()
&& !PrefServiceBridge.getInstance().getBoolean( && !PrefServiceBridge.getInstance().getBoolean(
Pref.ALLOW_DELETING_BROWSER_HISTORY) Pref.ALLOW_DELETING_BROWSER_HISTORY)
&& !PrefServiceBridge.getInstance().isIncognitoModeEnabled(); && !IncognitoUtils.isIncognitoModeEnabled();
})); }));
// Wait for preference change callbacks. One for ALLOW_DELETING_BROWSER_HISTORY and one for // Wait for preference change callbacks. One for ALLOW_DELETING_BROWSER_HISTORY and one for
......
...@@ -23,7 +23,7 @@ import org.chromium.base.test.util.Feature; ...@@ -23,7 +23,7 @@ import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.RetryOnFailure; import org.chromium.base.test.util.RetryOnFailure;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeSwitches; import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.partnercustomizations.TestPartnerBrowserCustomizationsProvider; import org.chromium.chrome.test.partnercustomizations.TestPartnerBrowserCustomizationsProvider;
import org.chromium.content_public.browser.test.util.Criteria; import org.chromium.content_public.browser.test.util.Criteria;
...@@ -85,8 +85,7 @@ public class PartnerDisableIncognitoModeIntegrationTest { ...@@ -85,8 +85,7 @@ public class PartnerDisableIncognitoModeIntegrationTest {
// UI thread have also triggered. // UI thread have also triggered.
boolean retVal = parentalControlsEnabled boolean retVal = parentalControlsEnabled
== PartnerBrowserCustomizations.isIncognitoDisabled(); == PartnerBrowserCustomizations.isIncognitoDisabled();
retVal &= parentalControlsEnabled retVal &= parentalControlsEnabled != IncognitoUtils.isIncognitoModeEnabled();
!= PrefServiceBridge.getInstance().isIncognitoModeEnabled();
return retVal; return retVal;
} }
}); });
......
...@@ -2867,6 +2867,7 @@ jumbo_static_library("browser") { ...@@ -2867,6 +2867,7 @@ jumbo_static_library("browser") {
"prerender/external_prerender_handler_android.h", "prerender/external_prerender_handler_android.h",
"previews/android/previews_android_bridge.cc", "previews/android/previews_android_bridge.cc",
"previews/android/previews_android_bridge.h", "previews/android/previews_android_bridge.h",
"profiles/incognito_utils_android.cc",
"profiles/profile_android.cc", "profiles/profile_android.cc",
"profiles/profile_android.h", "profiles/profile_android.h",
"profiles/profile_key_android.cc", "profiles/profile_key_android.cc",
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
#include "chrome/browser/android/preferences/prefs.h" #include "chrome/browser/android/preferences/prefs.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/net/prediction_options.h" #include "chrome/browser/net/prediction_options.h"
#include "chrome/browser/prefs/incognito_mode_prefs.h"
#include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/chrome_features.h" #include "chrome/common/chrome_features.h"
#include "chrome/common/pref_names.h" #include "chrome/common/pref_names.h"
...@@ -119,21 +118,6 @@ static jboolean JNI_PrefServiceBridge_GetNetworkPredictionManaged(JNIEnv* env) { ...@@ -119,21 +118,6 @@ static jboolean JNI_PrefServiceBridge_GetNetworkPredictionManaged(JNIEnv* env) {
prefs::kNetworkPredictionOptions); prefs::kNetworkPredictionOptions);
} }
static jboolean JNI_PrefServiceBridge_GetIncognitoModeEnabled(JNIEnv* env) {
PrefService* prefs = GetPrefService();
IncognitoModePrefs::Availability incognito_pref =
IncognitoModePrefs::GetAvailability(prefs);
DCHECK(incognito_pref == IncognitoModePrefs::ENABLED ||
incognito_pref == IncognitoModePrefs::DISABLED) <<
"Unsupported incognito mode preference: " << incognito_pref;
return incognito_pref != IncognitoModePrefs::DISABLED;
}
static jboolean JNI_PrefServiceBridge_GetIncognitoModeManaged(JNIEnv* env) {
return GetPrefService()->IsManagedPreference(
prefs::kIncognitoModeAvailability);
}
static jboolean JNI_PrefServiceBridge_IsMetricsReportingEnabled(JNIEnv* env) { static jboolean JNI_PrefServiceBridge_IsMetricsReportingEnabled(JNIEnv* env) {
PrefService* local_state = g_browser_process->local_state(); PrefService* local_state = g_browser_process->local_state();
return local_state->GetBoolean(metrics::prefs::kMetricsReportingEnabled); return local_state->GetBoolean(metrics::prefs::kMetricsReportingEnabled);
......
// Copyright 2019 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.
#include <jni.h>
#include "chrome/android/chrome_jni_headers/IncognitoUtils_jni.h"
#include "chrome/browser/prefs/incognito_mode_prefs.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/pref_names.h"
#include "components/prefs/pref_service.h"
static jboolean JNI_IncognitoUtils_GetIncognitoModeEnabled(JNIEnv* env) {
PrefService* prefs =
ProfileManager::GetActiveUserProfile()->GetOriginalProfile()->GetPrefs();
IncognitoModePrefs::Availability incognito_pref =
IncognitoModePrefs::GetAvailability(prefs);
DCHECK(incognito_pref == IncognitoModePrefs::ENABLED ||
incognito_pref == IncognitoModePrefs::DISABLED)
<< "Unsupported incognito mode preference: " << incognito_pref;
return incognito_pref != IncognitoModePrefs::DISABLED;
}
static jboolean JNI_IncognitoUtils_GetIncognitoModeManaged(JNIEnv* env) {
PrefService* prefs =
ProfileManager::GetActiveUserProfile()->GetOriginalProfile()->GetPrefs();
return prefs->IsManagedPreference(prefs::kIncognitoModeAvailability);
}
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