Release 81.0.4044.127

This commit is contained in:
csagan5 2020-04-26 21:21:06 +02:00
parent 0170036187
commit 15f047e484
12 changed files with 130 additions and 150 deletions

View file

@ -1,3 +1,7 @@
# 81.0.4044.127
* fix always-incognito crashes (https://github.com/bromite/bromite/issues/132 and https://github.com/bromite/bromite/pull/529)
* improved crash uploader mock by calling done callback
# 81.0.4044.106
* remove option to add NTP as homepage (fixes https://github.com/bromite/bromite/issues/517)

View file

@ -137,8 +137,6 @@ Enable-user-agent-freeze-by-default.patch
Disable-AImageReader-for-ARM64-P-and-ARM64-Q.patch
Upstream-internal-DownloadCollectionBridge-code.patch
Add-missing-android_provider.patch
Automated-domain-substitution.patch
show-download-prompt-again-by-default.patch
disable-browser-autologin-by-default.patch
Always-incognito-crashes-fix.patch
Enable-incognito-custom-tabs.patch
Automated-domain-substitution.patch

View file

@ -5,6 +5,7 @@ Subject: Add an always-incognito mode
More specifically, add a preference that causes all new tabs and all
clicked links to launch as incognito.
Make sure initial incognito status is correctly recognized.
Enable incognito custom tabs and fix crashes for incognito/custom tab intents (credits to @uazo)
---
chrome/android/chrome_java_sources.gni | 1 +
.../java/res/xml/privacy_preferences.xml | 5 ++
@ -13,9 +14,13 @@ Make sure initial incognito status is correctly recognized.
.../chrome/browser/ChromeTabbedActivity.java | 6 +-
.../AppMenuPropertiesDelegateImpl.java | 6 ++
.../ChromeContextMenuPopulator.java | 9 ++-
.../CustomTabIntentDataProvider.java | 6 ++
.../browser/init/StartupTabPreloader.java | 11 ++-
.../browser/tabmodel/ChromeTabCreator.java | 20 ++++-
.../browser/tabmodel/TabPersistentStore.java | 9 +++
.../flags/android/chrome_feature_list.cc | 2 +-
.../strings/android_chrome_strings.grd | 7 ++
9 files changed, 128 insertions(+), 4 deletions(-)
13 files changed, 152 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
@ -210,6 +215,65 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (!mDelegate.isIncognito() && mDelegate.isIncognitoSupported()) {
linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_INCOGNITO_TAB));
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
@@ -54,6 +54,9 @@ import org.chromium.components.browser_ui.styles.ChromeColors;
import org.chromium.components.browser_ui.widget.TintedDrawable;
import org.chromium.ui.util.ColorUtils;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -456,6 +459,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
// TODO(https://crbug.com/1023759): Remove this function and enable
// incognito CCT request for all apps.
private boolean isValidIncognitoIntent(Intent intent) {
+ if (ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)) {
+ return true;
+ }
if (!isIncognitoRequested(intent)) return false;
// Incognito requests for payments flow are supported without
// INCOGNITO_CCT flag as an exceptional case that can use Chrome
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
@@ -35,6 +35,9 @@ import org.chromium.network.mojom.ReferrerPolicy;
import org.chromium.ui.base.PageTransition;
import org.chromium.ui.base.WindowAndroid;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+
/**
* This class attempts to preload the tab if the url is known from the intent when the profile
* is created. This is done to improve startup latency.
@@ -173,9 +176,11 @@ public class StartupTabPreloader implements ProfileManager.Observer, Destroyable
Intent intent = mIntentSupplier.get();
String url = UrlFormatter.fixupUrl(getUrlFromIntent(intent));
+ boolean isIncognito = ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false);
+
ChromeTabCreator chromeTabCreator =
- (ChromeTabCreator) mTabCreatorManager.getTabCreator(false);
- WebContents webContents = WebContentsFactory.createWebContents(false, false);
+ (ChromeTabCreator) mTabCreatorManager.getTabCreator(isIncognito);
+ WebContents webContents = WebContentsFactory.createWebContents(isIncognito, false);
mLoadUrlParams = new LoadUrlParams(url);
String referrer = IntentHandler.getReferrerUrlIncludingExtraHeaders(intent);
@@ -189,7 +194,7 @@ public class StartupTabPreloader implements ProfileManager.Observer, Destroyable
// Create a detached tab, but don't add it to the tab model yet. We'll do that
// later if the loadUrlParams etc... match.
mTab = TabBuilder.createLiveTab(false)
- .setIncognito(false)
+ .setIncognito(isIncognito)
.setLaunchType(TabLaunchType.FROM_EXTERNAL_APP)
.setWindow(mWindowAndroid)
.setWebContents(webContents)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@ -291,6 +355,44 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
mTabModel.addTab(tab, index, TabLaunchType.FROM_RESTORE);
return tab;
}
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
@@ -45,6 +45,8 @@ import org.chromium.chrome.browser.util.UrlConstants;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.UiThreadTaskTraits;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -598,6 +600,13 @@ public class TabPersistentStore extends TabPersister {
}
}
+ if (ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)) {
+ if (!isIncognito) {
+ Log.w(TAG, "Failed to restore tab: not in incognito mode.");
+ return;
+ }
+ }
+
TabModel model = mTabModelSelector.getModel(isIncognito);
SparseIntArray restoredTabs = isIncognito ? mIncognitoTabsRestored : mNormalTabsRestored;
int restoredIndex = 0;
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -336,7 +336,7 @@ const base::Feature kCCTExternalLinkHandling{"CCTExternalLinkHandling",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCCTIncognito{"CCTIncognito",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCCTModule{"CCTModule", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd

View file

@ -1,76 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 19 Apr 2020 16:16:43 +0200
Subject: Always-incognito crashes fix
Credits to @uazo
---
.../chrome/browser/init/StartupTabPreloader.java | 11 ++++++++---
.../chrome/browser/tabmodel/TabPersistentStore.java | 9 +++++++++
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
@@ -35,6 +35,9 @@ import org.chromium.network.mojom.ReferrerPolicy;
import org.chromium.ui.base.PageTransition;
import org.chromium.ui.base.WindowAndroid;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+
/**
* This class attempts to preload the tab if the url is known from the intent when the profile
* is created. This is done to improve startup latency.
@@ -173,9 +176,11 @@ public class StartupTabPreloader implements ProfileManager.Observer, Destroyable
Intent intent = mIntentSupplier.get();
String url = UrlFormatter.fixupUrl(getUrlFromIntent(intent));
+ boolean isIncognito = ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false);
+
ChromeTabCreator chromeTabCreator =
- (ChromeTabCreator) mTabCreatorManager.getTabCreator(false);
- WebContents webContents = WebContentsFactory.createWebContents(false, false);
+ (ChromeTabCreator) mTabCreatorManager.getTabCreator(isIncognito);
+ WebContents webContents = WebContentsFactory.createWebContents(isIncognito, false);
mLoadUrlParams = new LoadUrlParams(url);
String referrer = IntentHandler.getReferrerUrlIncludingExtraHeaders(intent);
@@ -189,7 +194,7 @@ public class StartupTabPreloader implements ProfileManager.Observer, Destroyable
// Create a detached tab, but don't add it to the tab model yet. We'll do that
// later if the loadUrlParams etc... match.
mTab = TabBuilder.createLiveTab(false)
- .setIncognito(false)
+ .setIncognito(isIncognito)
.setLaunchType(TabLaunchType.FROM_EXTERNAL_APP)
.setWindow(mWindowAndroid)
.setWebContents(webContents)
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
@@ -45,6 +45,8 @@ import org.chromium.chrome.browser.util.UrlConstants;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.UiThreadTaskTraits;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -598,6 +600,13 @@ public class TabPersistentStore extends TabPersister {
}
}
+ if (ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)) {
+ if (!isIncognito) {
+ Log.w(TAG, "Failed to restore tab: not in incognito mode.");
+ return;
+ }
+ }
+
TabModel model = mTabModelSelector.getModel(isIncognito);
SparseIntArray restoredTabs = isIncognito ? mIncognitoTabsRestored : mNormalTabsRestored;
int restoredIndex = 0;
--
2.17.1

View file

@ -5809,7 +5809,7 @@ diff --git a/base/system/sys_info.h b/base/system/sys_info.h
diff --git a/base/task/sequence_manager/sequence_manager_impl.cc b/base/task/sequence_manager/sequence_manager_impl.cc
--- a/base/task/sequence_manager/sequence_manager_impl.cc
+++ b/base/task/sequence_manager/sequence_manager_impl.cc
@@ -1170,7 +1170,7 @@ void SequenceManagerImpl::RecordCrashKeys(const PendingTask& pending_task) {
@@ -1162,7 +1162,7 @@ void SequenceManagerImpl::RecordCrashKeys(const PendingTask& pending_task) {
// this.
//
// See
@ -10734,7 +10734,7 @@ diff --git a/chrome/browser/chrome_browser_application_mac.mm b/chrome/browser/c
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -3803,7 +3803,7 @@ std::string ChromeContentBrowserClient::GetMetricSuffixForURL(const GURL& url) {
@@ -3805,7 +3805,7 @@ std::string ChromeContentBrowserClient::GetMetricSuffixForURL(const GURL& url) {
// function could be removed.
if (page_load_metrics::IsGoogleSearchResultUrl(url))
return "search";
@ -25353,7 +25353,7 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base.cc b/chrome/
constexpr int kHttpTimeout = 3000; // in milliseconds
// Names of keys used to fetch the custom attributes from google admin sdk
@@ -157,7 +157,7 @@ HRESULT GetExistingAccountMappingFromCD(
@@ -146,7 +146,7 @@ HRESULT GetExistingAccountMappingFromCD(
std::string escape_url_encoded_email =
net::EscapeUrlEncodedData(base::UTF16ToUTF8(email), true);
std::string get_cd_user_url = base::StringPrintf(
@ -25362,7 +25362,7 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base.cc b/chrome/
"%s?projection=full&viewType=domain_public",
escape_url_encoded_email.c_str());
LOGFN(VERBOSE) << "Encoded URL : " << get_cd_user_url;
@@ -463,12 +463,12 @@ HRESULT MakeUsernameForAccount(const base::Value& result,
@@ -452,12 +452,12 @@ HRESULT MakeUsernameForAccount(const base::Value& result,
DCHECK(is_consumer_account);
DCHECK(error_text);
@ -25378,7 +25378,7 @@ diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base.cc b/chrome/
*is_consumer_account = consumer_domain_pos != base::string16::npos;
@@ -537,7 +537,7 @@ HRESULT MakeUsernameForAccount(const base::Value& result,
@@ -526,7 +526,7 @@ HRESULT MakeUsernameForAccount(const base::Value& result,
// restrictive than emails, so some transformations are needed. This tries
// to preserve the email as much as possible in the username while respecting
// Windows username rules. See remarks in
@ -38464,7 +38464,7 @@ diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatte
// See http://http://unicode.org/reports/tr46/ and references therein/ for more
// details.
struct UIDNAWrapper {
@@ -548,7 +548,7 @@ base::string16 FormatUrlWithAdjustments(
@@ -550,7 +550,7 @@ base::string16 FormatUrlWithAdjustments(
((format_types & kFormatUrlTrimAfterHost) != 0)) {
// Remove the username and password fields. We don't want to display those
// to the user since they can be used for attacks,

View file

@ -180,7 +180,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "components/page_load_metrics/browser/metrics_web_contents_observer.h"
#include "components/page_load_metrics/browser/page_load_metrics_util.h"
#include "components/payments/content/payment_request_display_manager.h"
@@ -3815,16 +3813,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -3817,16 +3815,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
@ -197,7 +197,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(ENABLE_PLUGINS)
MaybeAddThrottle(&throttles,
FlashDownloadInterception::MaybeCreateThrottleFor(handle));
@@ -3939,10 +3927,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -3941,10 +3929,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
safe_browsing::MaybeCreateNavigationThrottle(handle));
#endif

View file

@ -100,7 +100,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
@@ -820,20 +819,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -826,20 +825,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
// even receive the extras for using the feature.
if (componentName == null) return false;

View file

@ -11,7 +11,7 @@ a corresponding user option to individually disable their usage.
diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc
--- a/components/url_formatter/url_formatter.cc
+++ b/components/url_formatter/url_formatter.cc
@@ -460,13 +460,13 @@ bool IDNToUnicodeOneComponent(const base::char16* comp,
@@ -462,13 +462,13 @@ bool IDNToUnicodeOneComponent(const base::char16* comp,
} // namespace
const FormatUrlType kFormatUrlOmitNothing = 0;

View file

@ -718,7 +718,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
command_line->AppendSwitch(
switches::kDisableClientSidePhishingDetection);
}
@@ -3965,6 +3951,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -3967,6 +3953,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
throttles.push_back(std::make_unique<PolicyBlacklistNavigationThrottle>(
handle, handle->GetWebContents()->GetBrowserContext()));
@ -726,7 +726,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
// Before setting up SSL error detection, configure SSLErrorHandler to invoke
// the relevant extension API whenever an SSL interstitial is shown.
SSLErrorHandler::SetClientCallbackOnInterstitialsShown(
@@ -3973,6 +3960,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -3975,6 +3962,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
handle,
std::make_unique<CertificateReportingServiceCertReporter>(web_contents),
base::BindOnce(&HandleSSLErrorWrapper), base::BindOnce(&IsInHostedApp)));
@ -734,7 +734,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
throttles.push_back(std::make_unique<LoginNavigationThrottle>(handle));
@@ -3992,11 +3980,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -3994,11 +3982,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
GooglePasswordManagerNavigationThrottle::MaybeCreateThrottleFor(handle));
#endif
@ -746,7 +746,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if defined(OS_WIN) || defined(OS_MACOSX) || \
(defined(OS_LINUX) && !defined(OS_CHROMEOS))
@@ -4995,6 +4978,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
@@ -4997,6 +4980,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
bool safe_browsing_enabled_for_profile) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
@ -754,7 +754,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
if (!safe_browsing_enabled_for_profile)
return nullptr;
@@ -5007,6 +4991,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
@@ -5009,6 +4993,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
}
return safe_browsing_url_checker_delegate_;

View file

@ -1,48 +0,0 @@
From: uazo <uazo@users.noreply.github.com>
Date: Wed, 22 Apr 2020 18:57:01 +0200
Subject: Enable incognito custom tabs
Fixes https://github.com/bromite/bromite/issues/132 and crashes introduced for the fix of https://github.com/bromite/bromite/issues/453
---
.../browser/customtabs/CustomTabIntentDataProvider.java | 6 ++++++
chrome/browser/flags/android/chrome_feature_list.cc | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
@@ -53,6 +53,9 @@ import org.chromium.components.browser_ui.styles.ChromeColors;
import org.chromium.components.browser_ui.widget.TintedDrawable;
import org.chromium.ui.util.ColorUtils;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -455,6 +458,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
// TODO(https://crbug.com/1023759): Remove this function and enable
// incognito CCT request for all apps.
private boolean isValidIncognitoIntent(Intent intent) {
+ if (ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)) {
+ return true;
+ }
if (!isIncognitoRequested(intent)) return false;
// Incognito requests for payments flow are supported without
// INCOGNITO_CCT flag as an exceptional case that can use Chrome
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -337,7 +337,7 @@ const base::Feature kCCTExternalLinkHandling{"CCTExternalLinkHandling",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCCTIncognito{"CCTIncognito",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCCTModule{"CCTModule", base::FEATURE_DISABLED_BY_DEFAULT};
--
2.17.1

View file

@ -9,16 +9,16 @@ Subject: Never send any crash upload data
diff --git a/chrome/browser/tracing/crash_service_uploader.cc b/chrome/browser/tracing/crash_service_uploader.cc
--- a/chrome/browser/tracing/crash_service_uploader.cc
+++ b/chrome/browser/tracing/crash_service_uploader.cc
@@ -124,6 +124,9 @@ void TraceCrashServiceUploader::DoUpload(
std::unique_ptr<const base::DictionaryValue> metadata,
const UploadProgressCallback& progress_callback,
@@ -126,6 +126,9 @@ void TraceCrashServiceUploader::DoUpload(
UploadDoneCallback done_callback) {
+
+ return;
+
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+ std::move(done_callback).Run(false, "crash uploads are disabled");
+ return;
+
progress_callback_ = progress_callback;
done_callback_ = std::move(done_callback);
--
2.17.1

View file

@ -1459,7 +1459,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<!-- This activity is used to restart the main Chrome process. Should never be exported. -->
<activity android:name="org.chromium.chrome.browser.BrowserRestartActivity"
android:launchMode="singleInstance"
@@ -1204,18 +1188,6 @@ android:value="true" />
@@ -1200,18 +1184,6 @@ android:value="true" />
{% endif %}
{% block extra_application_definitions %}