force incognito profile when mStartIncognito is true

This commit is contained in:
Carmelo Messina 2020-08-17 16:02:25 +02:00 committed by csagan5
parent c65e5bbda4
commit 67dc28859d

View file

@ -17,10 +17,11 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
.../CustomTabIntentDataProvider.java | 6 ++
.../browser/init/StartupTabPreloader.java | 11 ++-
.../browser/tabmodel/ChromeTabCreator.java | 16 +++-
.../tabmodel/TabModelSelectorBase.java | 9 +++
.../browser/tabmodel/TabPersistentStore.java | 9 +++
.../flags/android/chrome_feature_list.cc | 2 +-
.../strings/android_chrome_strings.grd | 7 ++
13 files changed, 147 insertions(+), 8 deletions(-)
14 files changed, 156 insertions(+), 8 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
@ -341,6 +342,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
mTabModel.addTab(tab, index, launchType, creationState);
return tab;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
@@ -246,6 +246,15 @@ public abstract class TabModelSelectorBase implements TabModelSelector {
if (mTabStateInitialized) return;
mTabStateInitialized = true;
for (TabModelSelectorObserver listener : mObservers) listener.onTabStateInitialized();
+
+ if (mStartIncognito) {
+ // @uazo
+ // in TabModelSelectorProfileSupplier
+ // when in always incognito,
+ // profile is not set, so force it
+ selectModel(false); // restore model so next call always set incognito mode
+ selectModel(true);
+ }
}
@Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@ -396,6 +416,3 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY_SIGNED_IN" desc="A text explaining other forms of activity for signed in users.">
Clears history and autocompletions in the address bar. Your Google Account may have other forms of browsing history at <ph name="BEGIN_LINK">&lt;link&gt;</ph>myactivity.google.com<ph name="END_LINK">&lt;/link&gt;</ph>.
</message>
--
2.17.1