Merge branch 'bromite:master' into master
This commit is contained in:
@@ -57,12 +57,13 @@ Yes/No
|
||||
|
||||
### Is the bug a crash?
|
||||
|
||||
<!--
|
||||
If yes then individuate and post the 'adb logcat | grep chromium' dump, otherwise remove this section.
|
||||
-->
|
||||
No
|
||||
|
||||
-- or --
|
||||
|
||||
Yes, this is the crash dump:
|
||||
```
|
||||
<paste here logcat dump>
|
||||
<paste here logcat dump individuated with 'adb logcat | grep chromium'>
|
||||
```
|
||||
|
||||
### Describe the bug
|
||||
|
||||
@@ -1,3 +1,24 @@
|
||||
# 91.0.4472.146
|
||||
* removed flags for device motion/orientation (fixes https://github.com/bromite/bromite/issues/1204)
|
||||
* prevent crash on download on API level 21 (fixes https://github.com/bromite/bromite/issues/1184)
|
||||
* fix crash reporting garbled UI for small screens (thanks to @uazo, https://github.com/bromite/bromite/pull/1236)
|
||||
* add flag to enable/disable vibration API (fixes https://github.com/bromite/bromite/issues/1045)
|
||||
|
||||
# 91.0.4472.143
|
||||
* add support for ISupportHelpAndFeedback
|
||||
* JIT-less toggle (fixes https://github.com/bromite/bromite/issues/1235)
|
||||
* enable crash reporting UI (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/944)
|
||||
|
||||
# 91.0.4472.102
|
||||
* fix opening new tabs from links in always-incognito mode (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1154)
|
||||
* allow saving pages in incognito mode (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1182)
|
||||
|
||||
# 91.0.4472.97
|
||||
* add flag for omnibox autocomplete filtering (fixes https://github.com/bromite/bromite/issues/1152)
|
||||
* enable IntentBlockExternalFormRedirectsNoGesture by default
|
||||
* add flag to disable external intent requests
|
||||
* fix for tab collection temporary/non-exportable (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1138)
|
||||
|
||||
# 91.0.4472.50
|
||||
* unexpire tab group flags `#enable-tab-groups` and `#enable-tab-groups-ui-improvements`
|
||||
* replace known good hostname used for DoH test (fixes https://github.com/bromite/bromite/issues/1148)
|
||||
|
||||
@@ -85,7 +85,6 @@ ETH donations address: `0xf47ff39223d828f99fec5ab53bd068c5c0522042`
|
||||
* disable video autoplay by default, reintroduce site settings
|
||||
* mobile/desktop user agent customization
|
||||
* accessibility preference to force tablet UI
|
||||
* use Alt+D to focus address bar
|
||||
|
||||
You can inspect all functionality/privacy changes by reading the [patches](https://github.com/bromite/bromite/tree/master/build/patches) and/or the [CHANGELOG](./CHANGELOG.md).
|
||||
|
||||
@@ -116,6 +115,8 @@ New flags:
|
||||
* `#export-bookmarks-use-saf`, disabled by default
|
||||
* `#allow-user-certificates`, disabled by default
|
||||
* `#cleartext-permitted`, enabled by default
|
||||
* `#omnibox-autocomplete-filtering`, can be used to restrict omnibox autocomplete results
|
||||
* `#disable-external-intent-requests`
|
||||
|
||||
# Privacy limitations
|
||||
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
91.0.4472.50
|
||||
91.0.4472.146
|
||||
|
||||
@@ -48,7 +48,6 @@ Add-exit-menu-item.patch
|
||||
Remove-help-menu-item.patch
|
||||
AudioBuffer-AnalyserNode-fp-mitigations.patch
|
||||
Multiple-fingerprinting-mitigations.patch
|
||||
Add-flags-to-disable-device-motion-orientation-APIs.patch
|
||||
Disable-metrics-on-all-I-O-threads.patch
|
||||
Always-respect-async-dns-flag-regardless-of-SDK-version.patch
|
||||
Add-flag-to-configure-maximum-connections-per-host.patch
|
||||
@@ -148,4 +147,12 @@ Add-IsCleartextPermitted-flag.patch
|
||||
Disable-RTCGetCurrentBrowsingContextMedia-by-default.patch
|
||||
Disable-FLoC-by-default.patch
|
||||
Unexpire-tab-groups-flags.patch
|
||||
Add-flag-for-omnibox-autocomplete-filtering.patch
|
||||
Enable-IntentBlockExternalFormRedirectsNoGesture-by-default.patch
|
||||
Add-flag-to-disable-external-intent-requests.patch
|
||||
Logcat-crash-reports-UI.patch
|
||||
Add-support-for-ISupportHelpAndFeedback.patch
|
||||
JIT-less-toggle.patch
|
||||
API-level-21-prevent-crash-on-download.patch
|
||||
Add-vibration-flag.patch
|
||||
Automated-domain-substitution.patch
|
||||
|
||||
@@ -82,7 +82,7 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -1935,7 +1935,7 @@
|
||||
@@ -1940,7 +1940,7 @@
|
||||
{
|
||||
"name": "enable-image-reader",
|
||||
"owners": [ "vikassoni", "liberato" ],
|
||||
@@ -225,7 +225,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
|
||||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -619,6 +619,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
|
||||
@@ -627,6 +627,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
|
||||
const base::Feature kMediaDrmPreprovisioningAtStartup{
|
||||
"MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 27 Jun 2021 16:53:48 +0200
|
||||
Subject: API level 21: prevent crash on download
|
||||
|
||||
On Lollipop 5.0.x it is not possible to use the system persistent bundle.
|
||||
This patch ignores boolean settings for them and prevents the crash.
|
||||
|
||||
See also: https://github.com/bromite/bromite/issues/1184
|
||||
---
|
||||
.../internal/BundleToPersistableBundleConverter.java | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
|
||||
--- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
|
||||
+++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
|
||||
@@ -85,9 +85,17 @@ class BundleToPersistableBundleConverter {
|
||||
if (obj == null) {
|
||||
persistableBundle.putString(key, null);
|
||||
} else if (obj instanceof Boolean) {
|
||||
- persistableBundle.putBoolean(key, (Boolean) obj);
|
||||
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
|
||||
+ failedKeys.add(key);
|
||||
+ } else {
|
||||
+ persistableBundle.putBoolean(key, (Boolean) obj);
|
||||
+ }
|
||||
} else if (obj instanceof boolean[]) {
|
||||
- persistableBundle.putBooleanArray(key, (boolean[]) obj);
|
||||
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
|
||||
+ failedKeys.add(key);
|
||||
+ } else {
|
||||
+ persistableBundle.putBooleanArray(key, (boolean[]) obj);
|
||||
+ }
|
||||
} else if (obj instanceof Double) {
|
||||
persistableBundle.putDouble(key, (Double) obj);
|
||||
} else if (obj instanceof double[]) {
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -99,7 +99,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
&kAddToHomescreenIPH,
|
||||
&kAllowNewIncognitoTabIntents,
|
||||
&kAllowRemoteContextForNotifications,
|
||||
@@ -333,6 +334,9 @@ const base::Feature* FindFeatureExposedToJava(const std::string& feature_name) {
|
||||
@@ -334,6 +335,9 @@ const base::Feature* FindFeatureExposedToJava(const std::string& feature_name) {
|
||||
|
||||
// Alphabetical:
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ Subject: Add IsCleartextPermitted flag
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -7359,6 +7359,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -7358,6 +7358,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(
|
||||
chrome::android::kBookmarksExportUseSaf)},
|
||||
|
||||
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1386,6 +1386,10 @@ const char kHostedAppShimCreationName[] =
|
||||
@@ -1384,6 +1384,10 @@ const char kHostedAppShimCreationName[] =
|
||||
const char kHostedAppShimCreationDescription[] =
|
||||
"Create app shims on Mac when creating a hosted app.";
|
||||
|
||||
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -817,6 +817,9 @@ extern const char kHostedAppQuitNotificationDescription[];
|
||||
@@ -814,6 +814,9 @@ extern const char kHostedAppQuitNotificationDescription[];
|
||||
extern const char kHostedAppShimCreationName[];
|
||||
extern const char kHostedAppShimCreationDescription[];
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ See also:
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3105,6 +3105,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3099,6 +3099,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kDeprecateLowUsageCodecsName,
|
||||
flag_descriptions::kDeprecateLowUsageCodecsDescription, kOsCrOS | kOsLinux,
|
||||
FEATURE_VALUE_TYPE(media::kDeprecateLowUsageCodecs)},
|
||||
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -605,6 +605,11 @@ const char kEnableAutofillCreditCardAuthenticationDescription[] =
|
||||
@@ -611,6 +611,11 @@ const char kEnableAutofillCreditCardAuthenticationDescription[] =
|
||||
"authenticator (if available) to verify card ownership when retrieving "
|
||||
"credit cards from Google Payments.";
|
||||
|
||||
@@ -48,7 +48,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -369,6 +369,9 @@ extern const char kEnableAutofillAddressSavePromptDescription[];
|
||||
@@ -372,6 +372,9 @@ extern const char kEnableAutofillAddressSavePromptDescription[];
|
||||
|
||||
extern const char kEnableAutofillCreditCardAblationExperimentDisplayName[];
|
||||
extern const char kEnableAutofillCreditCardAblationExperimentDescription[];
|
||||
@@ -62,7 +62,7 @@ diff --git a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmp
|
||||
--- a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl
|
||||
+++ b/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl
|
||||
@@ -147,10 +147,6 @@ public abstract class ChromeSwitches {{
|
||||
/** Switch for enabling the Chrome Survey. */
|
||||
/** Switch for enabling the Chrome Survey. Only works when UMA is accepted. */
|
||||
public static final String CHROME_FORCE_ENABLE_SURVEY = "force-enable-chrome-survey";
|
||||
|
||||
- /** Switch to enable incognito tabs to be seen in Android Recents. */
|
||||
|
||||
@@ -81,15 +81,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
@@ -342,6 +342,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
|
||||
std::vector<std::u16string>
|
||||
ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
std::vector<std::u16string> builtins_to_provide;
|
||||
@@ -350,6 +350,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
builtins_to_provide.push_back(
|
||||
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
|
||||
#endif
|
||||
+ builtins_to_provide.push_back(
|
||||
+ base::ASCIIToUTF16(chrome::kChromeUIProxyConfigURL));
|
||||
builtins_to_provide.push_back(
|
||||
base::ASCIIToUTF16(chrome::kChromeUIChromeURLsURL));
|
||||
#if !defined(OS_ANDROID)
|
||||
base::ASCIIToUTF16(chrome::kChromeUIVersionURL));
|
||||
return builtins_to_provide;
|
||||
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
|
||||
--- a/chrome/browser/browser_resources.grd
|
||||
+++ b/chrome/browser/browser_resources.grd
|
||||
|
||||
@@ -140,15 +140,15 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -58,6 +58,7 @@ import org.chromium.base.task.PostTask;
|
||||
import org.chromium.base.task.TaskTraits;
|
||||
@@ -57,6 +57,7 @@ import org.chromium.base.supplier.UnownedUserDataSupplier;
|
||||
import org.chromium.base.task.PostTask;
|
||||
import org.chromium.cc.input.BrowserControlsState;
|
||||
import org.chromium.chrome.R;
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
|
||||
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
|
||||
import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout;
|
||||
@@ -1696,8 +1697,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1695,8 +1696,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
Bundle savedInstanceState = getSavedInstanceState();
|
||||
|
||||
// We determine the model as soon as possible so every systems get initialized coherently.
|
||||
@@ -210,7 +210,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
|
||||
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
|
||||
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuPopulator.ContextMenuUma.Action;
|
||||
@@ -337,6 +339,10 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -336,6 +338,10 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
boolean hasSaveImage = false;
|
||||
mShowEphemeralTabNewLabel = null;
|
||||
|
||||
@@ -221,7 +221,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
List<Pair<Integer, ModelList>> groupedItems = new ArrayList<>();
|
||||
|
||||
if (mParams.isAnchor()) {
|
||||
@@ -355,6 +361,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -354,6 +360,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP));
|
||||
}
|
||||
}
|
||||
@@ -229,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
if (!mItemDelegate.isIncognito() && mItemDelegate.isIncognitoSupported()) {
|
||||
linkGroup.add(createListItem(Item.OPEN_IN_INCOGNITO_TAB));
|
||||
}
|
||||
@@ -377,7 +384,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -376,7 +383,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
}
|
||||
}
|
||||
if (FirstRunStatus.getFirstRunFlowComplete()) {
|
||||
|
||||
@@ -738,7 +738,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -7309,6 +7309,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -7308,6 +7308,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kDesktopPWAsAppIconShortcutsMenuUI)},
|
||||
#endif
|
||||
|
||||
@@ -1257,7 +1257,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -5224,6 +5224,11 @@ const char kWebrtcPipeWireCapturerDescription[] =
|
||||
@@ -5222,6 +5222,11 @@ const char kWebrtcPipeWireCapturerDescription[] =
|
||||
"capturing the desktop content on the Wayland display server.";
|
||||
#endif // #if defined(WEBRTC_USE_PIPEWIRE)
|
||||
|
||||
@@ -1272,7 +1272,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -3066,6 +3066,9 @@ extern const char kWebrtcPipeWireCapturerName[];
|
||||
@@ -3063,6 +3063,9 @@ extern const char kWebrtcPipeWireCapturerName[];
|
||||
extern const char kWebrtcPipeWireCapturerDescription[];
|
||||
#endif // #if defined(WEBRTC_USE_PIPEWIRE)
|
||||
|
||||
@@ -1396,14 +1396,14 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
|
||||
/**
|
||||
* Whether Chrome is set as the default browser.
|
||||
@@ -973,6 +975,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -976,6 +978,7 @@ public final class ChromePreferenceKeys {
|
||||
AUTOFILL_ASSISTANT_PROACTIVE_HELP,
|
||||
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
|
||||
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
|
||||
+ BOOKMARKS_LAST_EXPORT_URI,
|
||||
APPLICATION_OVERRIDE_LANGUAGE,
|
||||
CHROME_SURVEY_DOWNLOAD_ATTEMPTS.pattern(),
|
||||
CHROME_SURVEY_PROMPT_DISPLAYED_TIMESTAMP.pattern(),
|
||||
CLIPBOARD_SHARED_URI,
|
||||
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
|
||||
|
||||
@@ -37,7 +37,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -196,6 +196,8 @@ import java.lang.annotation.RetentionPolicy;
|
||||
@@ -195,6 +195,8 @@ import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
@@ -46,7 +46,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
/**
|
||||
* This is the main activity for ChromeMobile when not running in document mode. All the tabs
|
||||
* are accessible via a chrome specific tab switching UI.
|
||||
@@ -1901,6 +1903,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1900,6 +1902,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
} else if (id == R.id.close_tab) {
|
||||
getCurrentTabModel().closeTab(currentTab, true, false, true);
|
||||
RecordUserAction.record("MobileTabClosed");
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
From: Blaise <BlaiseD@GMail.com>
|
||||
Date: Sat, 22 Aug 2020 08:52:40 -0500
|
||||
Subject: Add flag for omnibox autocomplete filtering
|
||||
|
||||
Adds a flag that restricts whether search history, clipboard, bookmarks
|
||||
and internal chrome:// pages will be used for the autocomplete results.
|
||||
---
|
||||
chrome/browser/about_flags.cc | 21 +++++++++++++++++++
|
||||
.../browser/autocomplete_controller.cc | 10 +++++++++
|
||||
.../omnibox/browser/history_url_provider.cc | 3 +++
|
||||
components/omnibox/browser/search_provider.cc | 4 ++++
|
||||
components/url_formatter/url_fixer.cc | 3 +++
|
||||
5 files changed, 41 insertions(+)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -503,6 +503,22 @@ const FeatureEntry::FeatureVariation kAdaptiveButtonInTopToolbarVariations[] = {
|
||||
};
|
||||
#endif // OS_ANDROID
|
||||
|
||||
+const FeatureEntry::Choice kOmniboxAutocompleteFiltering[] = {
|
||||
+ {flags_ui::kGenericExperimentChoiceDefault, "", ""},
|
||||
+ {"Search suggestions only",
|
||||
+ "omnibox-autocomplete-filtering",
|
||||
+ "search"},
|
||||
+ {"Search suggestions and bookmarks",
|
||||
+ "omnibox-autocomplete-filtering",
|
||||
+ "search-bookmarks"},
|
||||
+ {"Search suggestions and internal chrome pages",
|
||||
+ "omnibox-autocomplete-filtering",
|
||||
+ "search-chrome"},
|
||||
+ {"Search suggestions, bookmarks, and internal chrome pages",
|
||||
+ "omnibox-autocomplete-filtering",
|
||||
+ "search-bookmarks-chrome"},
|
||||
+};
|
||||
+
|
||||
#if defined(OS_ANDROID)
|
||||
const FeatureEntry::FeatureParam kHideDismissButton[] = {
|
||||
{"dismiss_button", "hide"}};
|
||||
@@ -4769,6 +4785,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
|
||||
#endif // !defined(OS_ANDROID)
|
||||
|
||||
+ {"omnibox-autocomplete-filtering",
|
||||
+ "Omnibox Autocomplete Filtering",
|
||||
+ "Restrict omnibox autocomplete results to a combination of search suggestions (if enabled), bookmarks, and internal chrome pages. ungoogled-chromium flag.",
|
||||
+ kOsAll, MULTI_VALUE_TYPE(kOmniboxAutocompleteFiltering)},
|
||||
+
|
||||
#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
|
||||
defined(OS_CHROMEOS)
|
||||
{"direct-manipulation-stylus",
|
||||
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
||||
--- a/components/omnibox/browser/autocomplete_controller.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#include "base/bind.h"
|
||||
#include "base/check_op.h"
|
||||
+#include "base/command_line.h"
|
||||
#include "base/feature_list.h"
|
||||
#include "base/format_macros.h"
|
||||
#include "base/metrics/histogram.h"
|
||||
@@ -275,6 +276,15 @@ AutocompleteController::AutocompleteController(
|
||||
search_service_worker_signal_sent_(false),
|
||||
template_url_service_(provider_client_->GetTemplateURLService()) {
|
||||
provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
|
||||
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) {
|
||||
+ const std::string flag_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering");
|
||||
+ provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH |
|
||||
+ AutocompleteProvider::TYPE_HISTORY_URL | AutocompleteProvider::TYPE_BOOKMARK | AutocompleteProvider::TYPE_BUILTIN;
|
||||
+ if (!base::Contains(flag_value, "bookmarks"))
|
||||
+ provider_types &= ~AutocompleteProvider::TYPE_BOOKMARK;
|
||||
+ if (!base::Contains(flag_value, "chrome"))
|
||||
+ provider_types &= ~AutocompleteProvider::TYPE_BUILTIN;
|
||||
+ }
|
||||
if (provider_types & AutocompleteProvider::TYPE_BOOKMARK)
|
||||
providers_.push_back(new BookmarkProvider(provider_client_.get()));
|
||||
if (provider_types & AutocompleteProvider::TYPE_BUILTIN)
|
||||
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
|
||||
--- a/components/omnibox/browser/history_url_provider.cc
|
||||
+++ b/components/omnibox/browser/history_url_provider.cc
|
||||
@@ -553,6 +553,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
|
||||
if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
|
||||
matches_.push_back(what_you_typed_match);
|
||||
|
||||
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering"))
|
||||
+ return;
|
||||
+
|
||||
// We'll need the history service to run both passes, so try to obtain it.
|
||||
history::HistoryService* const history_service =
|
||||
client()->GetHistoryService();
|
||||
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
|
||||
--- a/components/omnibox/browser/search_provider.cc
|
||||
+++ b/components/omnibox/browser/search_provider.cc
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "base/base64.h"
|
||||
#include "base/bind.h"
|
||||
#include "base/callback.h"
|
||||
+#include "base/command_line.h"
|
||||
#include "base/feature_list.h"
|
||||
#include "base/i18n/break_iterator.h"
|
||||
#include "base/i18n/case_conversion.h"
|
||||
@@ -643,6 +644,9 @@ void SearchProvider::Run(bool query_is_private) {
|
||||
}
|
||||
|
||||
void SearchProvider::DoHistoryQuery(bool minimal_changes) {
|
||||
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering"))
|
||||
+ return;
|
||||
+
|
||||
// The history query results are synchronous, so if minimal_changes is true,
|
||||
// we still have the last results and don't need to do anything.
|
||||
if (minimal_changes)
|
||||
diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc
|
||||
--- a/components/url_formatter/url_fixer.cc
|
||||
+++ b/components/url_formatter/url_fixer.cc
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <algorithm>
|
||||
|
||||
#include "base/check_op.h"
|
||||
+#include "base/command_line.h"
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/files/file_util.h"
|
||||
#include "base/ranges/algorithm.h"
|
||||
@@ -607,6 +608,8 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
|
||||
|
||||
FixupHost(trimmed, parts.host, parts.scheme.is_valid(), desired_tld, &url);
|
||||
if (chrome_url && !parts.host.is_valid())
|
||||
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering") ||
|
||||
+ base::Contains(base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering"), "chrome"))
|
||||
url.append(kChromeUIDefaultHost);
|
||||
FixupPort(trimmed, parts.port, &url);
|
||||
FixupPath(trimmed, parts.path, &url);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -14,7 +14,7 @@ Subject: Add flag for save-data-header
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -4488,6 +4488,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -4482,6 +4482,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
@@ -27,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1000,6 +1000,10 @@ const char kDisableKeepaliveFetchDescription[] =
|
||||
@@ -998,6 +998,10 @@ const char kDisableKeepaliveFetchDescription[] =
|
||||
"Disable fetch with keepalive set "
|
||||
"(https://fetch.spec.whatwg.org/#request-keepalive-flag).";
|
||||
|
||||
@@ -41,7 +41,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -568,6 +568,9 @@ extern const char kDiagnosticsAppDescription[];
|
||||
@@ -565,6 +565,9 @@ extern const char kDiagnosticsAppDescription[];
|
||||
extern const char kDisableKeepaliveFetchName[];
|
||||
extern const char kDisableKeepaliveFetchDescription[];
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
// Ensure that all effective connection types returned by Network Quality
|
||||
// Estimator (NQE) are also exposed via flags.
|
||||
static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
|
||||
@@ -3742,6 +3747,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3736,6 +3741,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kAndroidPictureInPictureAPIName,
|
||||
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
|
||||
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1484,6 +1484,10 @@ const char kMediaHistoryDescription[] =
|
||||
@@ -1482,6 +1482,10 @@ const char kMediaHistoryDescription[] =
|
||||
"Enables Media History which records data around media playbacks on "
|
||||
"websites.";
|
||||
|
||||
@@ -58,7 +58,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -872,6 +872,9 @@ extern const char kLogJsConsoleMessagesDescription[];
|
||||
@@ -869,6 +869,9 @@ extern const char kLogJsConsoleMessagesDescription[];
|
||||
extern const char kMediaHistoryName[];
|
||||
extern const char kMediaHistoryDescription[];
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1063,6 +1063,11 @@ const char kEnablePciguardUiDescription[] =
|
||||
@@ -1069,6 +1069,11 @@ const char kEnablePciguardUiDescription[] =
|
||||
"Enable toggling Pciguard settings through the Settings App. By default, "
|
||||
"this flag is enabled.";
|
||||
|
||||
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -608,6 +608,9 @@ extern const char kEnablePortalsDescription[];
|
||||
@@ -611,6 +611,9 @@ extern const char kEnablePortalsDescription[];
|
||||
extern const char kEnablePortalsCrossOriginName[];
|
||||
extern const char kEnablePortalsCrossOriginDescription[];
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Subject: Add flag to disable IPv6 probes
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -4747,6 +4747,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -4741,6 +4741,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
|
||||
// defined(OS_CHROMEOS)
|
||||
|
||||
@@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -2979,6 +2979,10 @@ const char kContextualSearchRankerQueryDescription[] =
|
||||
@@ -2977,6 +2977,10 @@ const char kContextualSearchRankerQueryDescription[] =
|
||||
|
||||
const char kContextualSearchSecondTapName[] =
|
||||
"Contextual Search second tap triggering";
|
||||
@@ -45,7 +45,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -677,6 +677,9 @@ extern const char kEnableWasmThreadsName[];
|
||||
@@ -674,6 +674,9 @@ extern const char kEnableWasmThreadsName[];
|
||||
extern const char kEnableWasmThreadsDescription[];
|
||||
|
||||
extern const char kEnableWasmTieringName[];
|
||||
|
||||
@@ -24,7 +24,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -578,6 +578,10 @@ const char kEnableAudioFocusEnforcementName[] = "Audio Focus Enforcement";
|
||||
@@ -584,6 +584,10 @@ const char kEnableAudioFocusEnforcementName[] = "Audio Focus Enforcement";
|
||||
const char kEnableAudioFocusEnforcementDescription[] =
|
||||
"Enables enforcement of a single media session having audio focus at "
|
||||
"any one time. Requires #enable-media-session-service to be enabled too.";
|
||||
@@ -38,7 +38,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -354,6 +354,9 @@ extern const char kDocumentTransitionDescription[];
|
||||
@@ -357,6 +357,9 @@ extern const char kDocumentTransitionDescription[];
|
||||
|
||||
extern const char kEnableAccessibilityObjectModelName[];
|
||||
extern const char kEnableAccessibilityObjectModelDescription[];
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Tue, 25 May 2021 19:46:14 +0200
|
||||
Subject: Add flag to disable external intent requests
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 3 +++
|
||||
chrome/browser/flag_descriptions.cc | 6 ++++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
3 files changed, 12 insertions(+)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -2652,6 +2652,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebrtcCaptureMultiChannelApmName,
|
||||
flag_descriptions::kWebrtcCaptureMultiChannelApmDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(features::kWebRtcEnableCaptureMultiChannelApm)},
|
||||
+ {"disable-external-intent-requests", flag_descriptions::kDisableExternalIntentRequestsName,
|
||||
+ flag_descriptions::kDisableExternalIntentRequestsDescription, kOsAll,
|
||||
+ SINGLE_DISABLE_VALUE_TYPE("disable-external-intent-requests")},
|
||||
{"disable-webrtc-hw-decoding", flag_descriptions::kWebrtcHwDecodingName,
|
||||
flag_descriptions::kWebrtcHwDecodingDescription, kOsAndroid | kOsCrOS,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebRtcHWDecoding)},
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -3099,6 +3099,12 @@ const char kIntentBlockExternalFormRedirectsNoGestureDescription[] =
|
||||
"Require a user gesture that triggered a form submission in order to "
|
||||
"allow for redirecting to an external intent.";
|
||||
|
||||
+const char kDisableExternalIntentRequestsName[] =
|
||||
+ "Never forward URL requests to external intents";
|
||||
+const char kDisableExternalIntentRequestsDescription[] =
|
||||
+ "URL requests will never"
|
||||
+ "allow for redirecting to an external intent.";
|
||||
+
|
||||
const char kInterestFeedContentSuggestionsDescription[] =
|
||||
"Use the interest feed to render content suggestions. Currently "
|
||||
"content "
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1804,6 +1804,9 @@ extern const char kInstantStartDescription[];
|
||||
extern const char kIntentBlockExternalFormRedirectsNoGestureName[];
|
||||
extern const char kIntentBlockExternalFormRedirectsNoGestureDescription[];
|
||||
|
||||
+extern const char kDisableExternalIntentRequestsName[];
|
||||
+extern const char kDisableExternalIntentRequestsDescription[];
|
||||
+
|
||||
extern const char kInterestFeedContentSuggestionsName[];
|
||||
extern const char kInterestFeedContentSuggestionsDescription[];
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,185 +0,0 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Mon, 22 Oct 2018 21:29:53 +0200
|
||||
Subject: Add flags to disable device motion/orientation APIs
|
||||
|
||||
Both flags will be disabled by default and prevent usage of gyroscope and
|
||||
legacy acceleration events.
|
||||
---
|
||||
chrome/browser/about_flags.cc | 6 ++++++
|
||||
chrome/browser/flag_descriptions.cc | 8 ++++++++
|
||||
chrome/browser/flag_descriptions.h | 6 ++++++
|
||||
content/child/runtime_features.cc | 3 +++
|
||||
content/public/common/content_features.cc | 10 ++++++++++
|
||||
content/public/common/content_features.h | 2 ++
|
||||
.../blink/public/platform/web_runtime_features.h | 2 ++
|
||||
.../blink/renderer/modules/modules_initializer.cc | 10 +++++++---
|
||||
.../renderer/platform/exported/web_runtime_features.cc | 8 ++++++++
|
||||
.../renderer/platform/runtime_enabled_features.json5 | 8 ++++++++
|
||||
10 files changed, 60 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -2848,6 +2848,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-gpu-rasterization", flag_descriptions::kGpuRasterizationName,
|
||||
flag_descriptions::kGpuRasterizationDescription, kOsAll,
|
||||
MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices)},
|
||||
+ {"enable-device-motion", flag_descriptions::kEnableDeviceMotionName,
|
||||
+ flag_descriptions::kEnableDeviceMotionDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(features::kDeviceMotion)},
|
||||
+ {"enable-device-orientation", flag_descriptions::kEnableDeviceOrientationName,
|
||||
+ flag_descriptions::kEnableDeviceOrientationDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(features::kDeviceOrientation)},
|
||||
{"enable-oop-rasterization", flag_descriptions::kOopRasterizationName,
|
||||
flag_descriptions::kOopRasterizationDescription, kOsAll,
|
||||
MULTI_VALUE_TYPE(kEnableOopRasterizationChoices)},
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -838,6 +838,14 @@ const char kWinrtGeolocationImplementationDescription[] =
|
||||
"Enables usage of the Windows.Devices.Geolocation WinRT APIs on Windows "
|
||||
"for geolocation";
|
||||
|
||||
+const char kEnableDeviceMotionName[] = "Enable device motion";
|
||||
+const char kEnableDeviceMotionDescription[] =
|
||||
+ "Enable device motion API which is used to detect changes in acceleration";
|
||||
+
|
||||
+const char kEnableDeviceOrientationName[] = "Enable device orientation";
|
||||
+const char kEnableDeviceOrientationDescription[] =
|
||||
+ "Enable device orientation API which is used to detect changes in orientation";
|
||||
+
|
||||
const char kEnableGenericSensorExtraClassesName[] =
|
||||
"Generic Sensor Extra Classes";
|
||||
const char kEnableGenericSensorExtraClassesDescription[] =
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -502,6 +502,12 @@ extern const char kNotificationsViaHelperAppDescription[];
|
||||
extern const char kWinrtGeolocationImplementationName[];
|
||||
extern const char kWinrtGeolocationImplementationDescription[];
|
||||
|
||||
+extern const char kEnableDeviceMotionName[];
|
||||
+extern const char kEnableDeviceMotionDescription[];
|
||||
+
|
||||
+extern const char kEnableDeviceOrientationName[];
|
||||
+extern const char kEnableDeviceOrientationDescription[];
|
||||
+
|
||||
extern const char kEnableGenericSensorExtraClassesName[];
|
||||
extern const char kEnableGenericSensorExtraClassesDescription[];
|
||||
|
||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||
--- a/content/child/runtime_features.cc
|
||||
+++ b/content/child/runtime_features.cc
|
||||
@@ -89,6 +89,9 @@ void SetRuntimeFeatureDefaultsForPlatform(
|
||||
command_line.HasSwitch(
|
||||
blink::switches::kEnableGpuMemoryBufferCompositorResources) &&
|
||||
!command_line.HasSwitch(switches::kDisableWebGLImageChromium) &&
|
||||
+ WebRuntimeFeatures::EnableDeviceMotion(base::FeatureList::IsEnabled(features::kDeviceMotion));
|
||||
+ WebRuntimeFeatures::EnableDeviceOrientation(base::FeatureList::IsEnabled(features::kDeviceOrientation));
|
||||
+
|
||||
!command_line.HasSwitch(switches::kDisableGpu) &&
|
||||
base::FeatureList::IsEnabled(features::kWebGLImageChromium);
|
||||
#else
|
||||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -890,6 +890,16 @@ const base::Feature kWebOtpBackendAuto{"WebOtpBackendAuto",
|
||||
// The JavaScript API for payments on the web.
|
||||
const base::Feature kWebPayments{"WebPayments",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+// Enables the device motion API used to track device acceleration;
|
||||
+// no user authorization or notifications happens when in use.
|
||||
+const base::Feature kDeviceMotion{"DeviceMotion",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+
|
||||
+// Enables the device orientation API used to track device orientation;
|
||||
+// no user authorization or notifications happens when in use.
|
||||
+const base::Feature kDeviceOrientation{"DeviceOrientation",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+
|
||||
|
||||
// Minimal user interface experience for payments on the web.
|
||||
const base::Feature kWebPaymentsMinimalUI{"WebPaymentsMinimalUI",
|
||||
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
|
||||
--- a/content/public/common/content_features.h
|
||||
+++ b/content/public/common/content_features.h
|
||||
@@ -212,6 +212,8 @@ CONTENT_EXPORT extern const base::Feature kWebXrHandInput;
|
||||
CONTENT_EXPORT extern const base::Feature kWebXrHitTest;
|
||||
CONTENT_EXPORT extern const base::Feature kWebXrIncubations;
|
||||
|
||||
+CONTENT_EXPORT extern const base::Feature kDeviceMotion, kDeviceOrientation;
|
||||
+
|
||||
#if defined(OS_ANDROID)
|
||||
CONTENT_EXPORT extern const base::Feature kAndroidAutofillAccessibility;
|
||||
CONTENT_EXPORT extern const base::Feature
|
||||
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
|
||||
--- a/third_party/blink/public/platform/web_runtime_features.h
|
||||
+++ b/third_party/blink/public/platform/web_runtime_features.h
|
||||
@@ -97,6 +97,8 @@ class WebRuntimeFeatures {
|
||||
BLINK_PLATFORM_EXPORT static void EnableCookiesWithoutSameSiteMustBeSecure(
|
||||
bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableCanvas2dImageChromium(bool);
|
||||
+ BLINK_PLATFORM_EXPORT static void EnableDeviceMotion(bool);
|
||||
+ BLINK_PLATFORM_EXPORT static void EnableDeviceOrientation(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableCooperativeScheduling(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableCSSHexAlphaColor(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableSameSiteByDefaultCookies(bool);
|
||||
diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_party/blink/renderer/modules/modules_initializer.cc
|
||||
--- a/third_party/blink/renderer/modules/modules_initializer.cc
|
||||
+++ b/third_party/blink/renderer/modules/modules_initializer.cc
|
||||
@@ -231,9 +231,13 @@ void ModulesInitializer::OnClearWindowObjectInMainWorld(
|
||||
Document& document,
|
||||
const Settings& settings) const {
|
||||
LocalDOMWindow& window = *document.domWindow();
|
||||
- DeviceMotionController::From(window);
|
||||
- DeviceOrientationController::From(window);
|
||||
- DeviceOrientationAbsoluteController::From(window);
|
||||
+ if (RuntimeEnabledFeatures::DeviceMotionEnabled())
|
||||
+ DeviceMotionController::From(window);
|
||||
+ if (RuntimeEnabledFeatures::DeviceOrientationEnabled()) {
|
||||
+ DeviceOrientationController::From(window);
|
||||
+ DeviceOrientationAbsoluteController::From(window);
|
||||
+ }
|
||||
+
|
||||
NavigatorGamepad::From(*window.navigator());
|
||||
|
||||
// TODO(nhiroki): Figure out why ServiceWorkerContainer needs to be eagerly
|
||||
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
@@ -187,6 +187,14 @@ void WebRuntimeFeatures::EnableKeyboardAccessibleTooltip(bool enable) {
|
||||
RuntimeEnabledFeatures::SetKeyboardAccessibleTooltipEnabled(enable);
|
||||
}
|
||||
|
||||
+void WebRuntimeFeatures::EnableDeviceMotion(bool enable) {
|
||||
+ RuntimeEnabledFeatures::SetDeviceMotionEnabled(enable);
|
||||
+}
|
||||
+
|
||||
+void WebRuntimeFeatures::EnableDeviceOrientation(bool enable) {
|
||||
+ RuntimeEnabledFeatures::SetDeviceOrientationEnabled(enable);
|
||||
+}
|
||||
+
|
||||
void WebRuntimeFeatures::EnableKeyboardFocusableScrollers(bool enable) {
|
||||
RuntimeEnabledFeatures::SetKeyboardFocusableScrollersEnabled(enable);
|
||||
}
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -1420,6 +1420,14 @@
|
||||
name: "OffscreenCanvasCommit",
|
||||
status: "experimental",
|
||||
},
|
||||
+ {
|
||||
+ name: "DeviceMotion",
|
||||
+ status: "stable",
|
||||
+ },
|
||||
+ {
|
||||
+ name: "DeviceOrientation",
|
||||
+ status: "stable",
|
||||
+ },
|
||||
{
|
||||
name: "OnDeviceChange",
|
||||
// Android does not yet support SystemMonitor.
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -9,6 +9,7 @@ Subject: Add menu item to bookmark all tabs
|
||||
.../browser/bookmarks/BookmarkUtils.java | 4 ++
|
||||
.../android/bookmarks/bookmark_bridge.cc | 17 ++++++
|
||||
.../android/bookmarks/bookmark_bridge.h | 4 ++
|
||||
.../browser/bookmarks/bookmark_html_writer.cc | 10 +++
|
||||
.../bookmarks/chrome_bookmark_client.cc | 2 +
|
||||
.../strings/android_chrome_strings.grd | 3 +
|
||||
components/bookmark_bar_strings.grdp | 6 ++
|
||||
@@ -21,7 +22,7 @@ Subject: Add menu item to bookmark all tabs
|
||||
components/bookmarks/browser/bookmark_node.cc | 13 ++++
|
||||
components/bookmarks/browser/bookmark_node.h | 5 ++
|
||||
components/bookmarks/browser/model_loader.cc | 3 +-
|
||||
18 files changed, 191 insertions(+), 7 deletions(-)
|
||||
19 files changed, 201 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
||||
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||
@@ -50,7 +51,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -70,6 +70,8 @@ import org.chromium.chrome.browser.app.tabmodel.ChromeNextTabPolicySupplier;
|
||||
@@ -69,6 +69,8 @@ import org.chromium.chrome.browser.app.tabmodel.ChromeNextTabPolicySupplier;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabModelOrchestrator;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabbedModeTabModelOrchestrator;
|
||||
@@ -59,7 +60,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
|
||||
@@ -1913,6 +1915,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1912,6 +1914,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
// Close both incognito and normal tabs
|
||||
getTabModelSelector().closeAllTabs();
|
||||
RecordUserAction.record("MobileMenuCloseAllTabs");
|
||||
@@ -68,7 +69,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
||||
// Close only incognito tabs
|
||||
getTabModelSelector().getModel(true).closeAllTabs();
|
||||
@@ -1962,6 +1966,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1961,6 +1965,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
|
||||
}
|
||||
|
||||
@@ -286,6 +287,33 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
|
||||
base::android::ScopedJavaLocalRef<jobject> GetOtherFolderId(
|
||||
JNIEnv* env,
|
||||
const base::android::JavaParamRef<jobject>& obj);
|
||||
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
@@ -212,6 +212,14 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
return;
|
||||
}
|
||||
|
||||
+ base::Value* tabs_collection_value = nullptr;
|
||||
+ if (roots_d_value->Get(BookmarkCodec::kTabsBookmarkFolderNameKey,
|
||||
+ &tabs_collection_value) &&
|
||||
+ tabs_collection_value->type() == base::Value::Type::DICTIONARY) {
|
||||
+ WriteNode(*static_cast<base::DictionaryValue*>(tabs_collection_value),
|
||||
+ BookmarkNode::TABS_COLLECTION);
|
||||
+ }
|
||||
+
|
||||
DecrementIndent();
|
||||
|
||||
Write(kFolderChildrenEnd);
|
||||
@@ -484,6 +492,8 @@ void BookmarkFaviconFetcher::ExportBookmarks() {
|
||||
BookmarkModelFactory::GetForBrowserContext(profile_)->other_node());
|
||||
ExtractUrls(
|
||||
BookmarkModelFactory::GetForBrowserContext(profile_)->mobile_node());
|
||||
+ ExtractUrls(
|
||||
+ BookmarkModelFactory::GetForBrowserContext(profile_)->tabs_collection_node());
|
||||
if (!bookmark_urls_.empty())
|
||||
FetchNextFavicon();
|
||||
else
|
||||
diff --git a/chrome/browser/bookmarks/chrome_bookmark_client.cc b/chrome/browser/bookmarks/chrome_bookmark_client.cc
|
||||
--- a/chrome/browser/bookmarks/chrome_bookmark_client.cc
|
||||
+++ b/chrome/browser/bookmarks/chrome_bookmark_client.cc
|
||||
|
||||
@@ -41,7 +41,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -1936,6 +1936,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1935,6 +1935,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
|
||||
}
|
||||
RecordUserAction.record("MobileMenuDownloadManager");
|
||||
|
||||
@@ -10,9 +10,9 @@ Subject: Add option to force tablet UI
|
||||
.../preferences/LegacyChromePreferenceKeys.java | 1 +
|
||||
.../ui/android/strings/android_chrome_strings.grd | 6 ++++++
|
||||
components/BUILD.gn | 4 ++--
|
||||
ui/android/BUILD.gn | 1 +
|
||||
ui/android/BUILD.gn | 2 ++
|
||||
.../src/org/chromium/ui/base/DeviceFormFactor.java | 5 +++++
|
||||
9 files changed, 32 insertions(+), 3 deletions(-)
|
||||
9 files changed, 33 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/chrome/android/java/res/xml/accessibility_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/accessibility_preferences.xml
|
||||
@@ -78,7 +78,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/Too
|
||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
@@ -490,6 +490,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -493,6 +493,7 @@ public final class ChromePreferenceKeys {
|
||||
public static final String FONT_USER_SET_FORCE_ENABLE_ZOOM = "user_set_force_enable_zoom";
|
||||
|
||||
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
|
||||
@@ -137,14 +137,15 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
|
||||
--- a/ui/android/BUILD.gn
|
||||
+++ b/ui/android/BUILD.gn
|
||||
@@ -364,6 +364,7 @@ android_library("ui_no_recycler_view_java") {
|
||||
@@ -364,6 +364,8 @@ android_library("ui_no_recycler_view_java") {
|
||||
":ui_java_resources",
|
||||
":ui_utils_java",
|
||||
"//base:base_java",
|
||||
+ # dependency for ui_no_recycler_view_java
|
||||
+ "//chrome/browser/preferences:java",
|
||||
"//components/url_formatter/android:url_formatter_java",
|
||||
"//third_party/androidx:androidx_annotation_annotation_java",
|
||||
"//third_party/androidx:androidx_appcompat_appcompat_java",
|
||||
"//third_party/androidx:androidx_appcompat_appcompat_resources_java",
|
||||
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||
--- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||
|
||||
@@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -1145,8 +1145,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1144,8 +1144,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
boolean hadCipherData =
|
||||
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Mon, 17 May 2021 12:30:12 +0000
|
||||
Subject: Add support for ISupportHelpAndFeedback
|
||||
|
||||
---
|
||||
.../chrome/browser/settings/SettingsActivity.java | 10 +++++++---
|
||||
.../components/browser_ui/settings/SettingsUtils.java | 4 ++++
|
||||
2 files changed, 11 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
@@ -281,9 +281,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
finish();
|
||||
return true;
|
||||
} else if (item.getItemId() == R.id.menu_id_general_help) {
|
||||
- HelpAndFeedbackLauncherImpl.getInstance().show(this,
|
||||
- getString(R.string.help_context_settings), Profile.getLastUsedRegularProfile(),
|
||||
- null);
|
||||
+ if (mainFragment instanceof SettingsUtils.ISupportHelpAndFeedback) {
|
||||
+ ((SettingsUtils.ISupportHelpAndFeedback)mainFragment).onHelpAndFeebackPressed();
|
||||
+ } else {
|
||||
+ HelpAndFeedbackLauncherImpl.getInstance().show(this,
|
||||
+ getString(R.string.help_context_settings), Profile.getLastUsedRegularProfile(),
|
||||
+ null);
|
||||
+ }
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
diff --git a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
||||
--- a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
||||
+++ b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
||||
@@ -126,4 +126,8 @@ public class SettingsUtils {
|
||||
ImageView imageButton = (ImageView) button;
|
||||
return imageButton.getDrawable() == parentMenu.getOverflowIcon();
|
||||
}
|
||||
+
|
||||
+ public interface ISupportHelpAndFeedback {
|
||||
+ void onHelpAndFeebackPressed();
|
||||
+ }
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 27 Jun 2021 17:35:39 +0200
|
||||
Subject: Add vibration flag
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 3 +++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
content/child/runtime_features.cc | 1 +
|
||||
content/public/common/content_features.cc | 3 +++
|
||||
content/public/common/content_features.h | 2 ++
|
||||
third_party/blink/public/platform/web_runtime_features.h | 1 +
|
||||
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
|
||||
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
|
||||
10 files changed, 28 insertions(+)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -6296,6 +6296,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kNotificationsViaHelperApp)},
|
||||
#endif
|
||||
|
||||
+ {"enable-vibration", flag_descriptions::kEnableVibrationName,
|
||||
+ flag_descriptions::kEnableVibrationDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(features::kVibration)},
|
||||
+
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
{"exo-gamepad-vibration", flag_descriptions::kExoGamepadVibrationName,
|
||||
flag_descriptions::kExoGamepadVibrationDescription, kOsCrOS,
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -5004,6 +5004,9 @@ const char kWifiSyncAndroidDescription[] =
|
||||
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
+const char kEnableVibrationName[] = "Vibration";
|
||||
+const char kEnableVibrationDescription[] = "Enable vibration API; an user gesture will still be needed.";
|
||||
+
|
||||
#if defined(OS_CHROMEOS)
|
||||
const char kDeprecateLowUsageCodecsName[] = "Deprecates low usage media codecs";
|
||||
const char kDeprecateLowUsageCodecsDescription[] =
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -2921,6 +2921,9 @@ extern const char kWifiSyncAndroidDescription[];
|
||||
|
||||
#endif // #if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
+extern const char kEnableVibrationName[];
|
||||
+extern const char kEnableVibrationDescription[];
|
||||
+
|
||||
#if defined(OS_CHROMEOS)
|
||||
extern const char kDeprecateLowUsageCodecsName[];
|
||||
extern const char kDeprecateLowUsageCodecsDescription[];
|
||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||
--- a/content/child/runtime_features.cc
|
||||
+++ b/content/child/runtime_features.cc
|
||||
@@ -100,6 +100,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
|
||||
#if defined(OS_ANDROID)
|
||||
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI))
|
||||
WebRuntimeFeatures::EnableMediaSession(false);
|
||||
+ WebRuntimeFeatures::EnableVibration(base::FeatureList::IsEnabled(features::kVibration));
|
||||
#endif
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -87,6 +87,9 @@ const base::Feature kBackForwardCache{"BackForwardCache",
|
||||
// BackForwardCacheMemoryControls is enabled only on Android to disable
|
||||
// BackForwardCache for lower memory devices due to memory limiations.
|
||||
#if defined(OS_ANDROID)
|
||||
+// Enables vibration; an user gesture will still be required if enabled.
|
||||
+const base::Feature kVibration{"Vibration",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
const base::Feature kBackForwardCacheMemoryControls{
|
||||
"BackForwardCacheMemoryControls", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
#else
|
||||
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
|
||||
--- a/content/public/common/content_features.h
|
||||
+++ b/content/public/common/content_features.h
|
||||
@@ -222,6 +222,8 @@ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess;
|
||||
CONTENT_EXPORT extern const base::Feature kWebNfc;
|
||||
#endif // defined(OS_ANDROID)
|
||||
|
||||
+CONTENT_EXPORT extern const base::Feature kVibration;
|
||||
+
|
||||
#if defined(OS_MAC)
|
||||
CONTENT_EXPORT extern const base::Feature kDesktopCaptureMacV2;
|
||||
CONTENT_EXPORT extern const base::Feature kWindowCaptureMacV2;
|
||||
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
|
||||
--- a/third_party/blink/public/platform/web_runtime_features.h
|
||||
+++ b/third_party/blink/public/platform/web_runtime_features.h
|
||||
@@ -89,6 +89,7 @@ class WebRuntimeFeatures {
|
||||
BLINK_PLATFORM_EXPORT static void EnableBlockingFocusWithoutUserActivation(
|
||||
bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableCacheInlineScriptCode(bool);
|
||||
+ BLINK_PLATFORM_EXPORT static void EnableVibration(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableCapabilityDelegationPaymentRequest(
|
||||
bool enable);
|
||||
BLINK_PLATFORM_EXPORT static void EnableClickPointerEvent(bool enable);
|
||||
diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||
--- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||
+++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "third_party/blink/renderer/core/frame/navigator.h"
|
||||
#include "third_party/blink/renderer/core/page/page.h"
|
||||
#include "third_party/blink/renderer/platform/mojo/mojo_helper.h"
|
||||
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
|
||||
|
||||
// Maximum number of entries in a vibration pattern.
|
||||
const unsigned kVibrationPatternLengthMax = 99;
|
||||
@@ -142,6 +143,8 @@ bool VibrationController::vibrate(Navigator& navigator,
|
||||
// reference to |window| or |navigator| was retained in another window.
|
||||
if (!navigator.DomWindow())
|
||||
return false;
|
||||
+ if (!RuntimeEnabledFeatures::VibrationEnabled())
|
||||
+ return false;
|
||||
return From(navigator).Vibrate(pattern);
|
||||
}
|
||||
|
||||
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
@@ -183,6 +183,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
|
||||
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
|
||||
}
|
||||
|
||||
+void WebRuntimeFeatures::EnableVibration(bool enable) {
|
||||
+ RuntimeEnabledFeatures::SetVibrationEnabled(enable);
|
||||
+}
|
||||
+
|
||||
void WebRuntimeFeatures::EnableKeyboardAccessibleTooltip(bool enable) {
|
||||
RuntimeEnabledFeatures::SetKeyboardAccessibleTooltipEnabled(enable);
|
||||
}
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -1432,6 +1432,10 @@
|
||||
name: "OrientationEvent",
|
||||
status: {"Android": "stable"},
|
||||
},
|
||||
+ {
|
||||
+ name: "Vibration",
|
||||
+ status: "stable",
|
||||
+ },
|
||||
{
|
||||
name: "OriginIsolationHeader",
|
||||
status: "stable",
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -4147,7 +4147,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
|
||||
const FeatureEntry::Choice kPassiveListenersChoices[] = {
|
||||
{flags_ui::kGenericExperimentChoiceDefault, "", ""},
|
||||
@@ -3601,7 +3601,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3614,7 +3614,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kSyncSandboxDescription, kOsAll,
|
||||
SINGLE_VALUE_TYPE_AND_VALUE(
|
||||
switches::kSyncServiceURL,
|
||||
@@ -4156,7 +4156,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
#if !defined(OS_ANDROID)
|
||||
{"load-media-router-component-extension",
|
||||
flag_descriptions::kLoadMediaRouterComponentExtensionName,
|
||||
@@ -3857,7 +3857,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3870,7 +3870,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kSetMarketUrlForTestingName,
|
||||
flag_descriptions::kSetMarketUrlForTestingDescription, kOsAndroid,
|
||||
SINGLE_VALUE_TYPE_AND_VALUE(switches::kMarketUrlForTesting,
|
||||
@@ -5156,7 +5156,7 @@ diff --git a/chrome/browser/feedback/feedback_uploader_chrome.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -556,7 +556,7 @@ const char kDetectTargetEmbeddingLookalikesName[] =
|
||||
@@ -562,7 +562,7 @@ const char kDetectTargetEmbeddingLookalikesName[] =
|
||||
"Detect target embedding domains as lookalikes.";
|
||||
const char kDetectTargetEmbeddingLookalikesDescription[] =
|
||||
"Shows a lookalike interstitial when navigating to target embedding domains"
|
||||
@@ -5165,7 +5165,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
|
||||
const char kDeviceDiscoveryNotificationsName[] =
|
||||
"Device Discovery Notifications";
|
||||
@@ -2157,7 +2157,7 @@ const char kIntensiveWakeUpThrottlingName[] =
|
||||
@@ -2155,7 +2155,7 @@ const char kIntensiveWakeUpThrottlingName[] =
|
||||
const char kIntensiveWakeUpThrottlingDescription[] =
|
||||
"When enabled, wake ups from DOM Timers are limited to 1 per minute in a "
|
||||
"page that has been hidden for 5 minutes. For additional details, see "
|
||||
@@ -7714,7 +7714,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_SETTINGS_SECURE_DNS_DISABLED_FOR_MANAGED_ENVIRONMENT" desc="Substring of the secure DNS setting when secure DNS is disabled due to detection of a managed environment">
|
||||
This setting is disabled on managed browsers
|
||||
@@ -922,7 +922,7 @@ Privacy Sandbox is still in active development and is available in selected regi
|
||||
@@ -929,7 +929,7 @@ Privacy Sandbox is still in active development and is available in selected regi
|
||||
<message name="IDS_CLEAR_BROWSING_DATA_HISTORY_DIALOG_DATA_TEXT" desc="Text of the dialog that is shown after the deletion of browsing history items finished, indicating that the selected data has been removed, but there may be other forms of browsing history still present in user's Google account.">
|
||||
The selected data has been removed from Chrome and your synced devices.
|
||||
|
||||
@@ -7723,7 +7723,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_CLEAR_CACHE_TITLE" desc="Title for Clear Cache in Clear Browsing Data dialog">
|
||||
Cached images and files
|
||||
@@ -959,10 +959,10 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -966,10 +966,10 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
Record history even in incognito mode
|
||||
</message>
|
||||
<message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY_SIGNED_IN" desc="A text explaining other forms of activity for signed in users.">
|
||||
@@ -7736,7 +7736,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_CLEAR_SEARCH_HISTORY_LINK" desc="Text informing the user that they can clear search history and other data using MyActivity.">
|
||||
To clear <ph name="BEGIN_LINK1"><link1></ph>search<ph name="END_LINK1"></link1></ph> or other forms of history, visit <ph name="BEGIN_LINK2"><link2></ph>My Google Activity<ph name="END_LINK2"></link2></ph>
|
||||
@@ -1025,7 +1025,7 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1032,7 +1032,7 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
Basic
|
||||
</message>
|
||||
<message name="IDS_ANDROID_HISTORY_OTHER_FORMS_OF_HISTORY" desc="The notification at the top of the history page indicating that deleting Chrome browsing history will not delete other forms of history stored at Google My Activity.">
|
||||
@@ -7745,7 +7745,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_ANDROID_HISTORY_BLOCKED_SITE" desc="The text displayed in the history page indicating that a visit to a web site was blocked due to an administrator policy.">
|
||||
Blocked site
|
||||
@@ -1435,7 +1435,7 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1442,7 +1442,7 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
In Lite mode, Chrome loads pages faster and uses up to 60 percent less data. To optimize the pages that you visit, Chrome sends your web traffic to Google. <ph name="BEGIN_LINK"><link></ph>Learn more<ph name="END_LINK"></link></ph>
|
||||
</message>
|
||||
<message name="IDS_DATA_REDUCTION_PROMO_LEARN_MORE_URL" desc="URL for Lite mode help center article" translateable="false">
|
||||
@@ -7754,7 +7754,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_DATA_REDUCTION_ENABLE_BUTTON_LITE_MODE" desc="Button the user presses if they want to enable Lite mode" >
|
||||
Turn on Lite mode
|
||||
@@ -1622,10 +1622,10 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1629,10 +1629,10 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
Waiting for details of parents.
|
||||
</message>
|
||||
<message name="IDS_ACCOUNT_MANAGEMENT_ONE_PARENT_NAME" desc="String for name of single parent for child account.">
|
||||
@@ -7767,7 +7767,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_ACCOUNT_MANAGEMENT_CHILD_CONTENT_TITLE" desc="Title of the Content setting, which controls which websites a child is allowed to visit.">
|
||||
Content
|
||||
@@ -1684,22 +1684,22 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1691,22 +1691,22 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
Google Terms of Service
|
||||
</message>
|
||||
<message name="IDS_GOOGLE_TERMS_OF_SERVICE_URL" desc="URL for Google terms of service" translateable="false">
|
||||
@@ -7794,7 +7794,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
|
||||
<!-- Sign-in strings -->
|
||||
@@ -1716,7 +1716,7 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1723,7 +1723,7 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
Also clear your Chrome data from this device
|
||||
</message>
|
||||
<message name="IDS_SIGNOUT_MANAGED_ACCOUNT_MESSAGE" desc="Message to display for sign out of Chrome dialog when the account has enterprise management, and all user data will be erased">
|
||||
@@ -7803,7 +7803,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_SIGN_IN_GETTING_ACCOUNT_MANAGEMENT_POLICY" desc="Title of progress bar dialog for getting management policy">
|
||||
Contacting Google. This may take a minute…
|
||||
@@ -1861,7 +1861,7 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -1868,7 +1868,7 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
|
||||
<!-- Bluetooth Picker UI strings -->
|
||||
<message name="IDS_BLUETOOTH_DIALOG_TITLE" desc="The header message shown on top of the dialog that lets the user pick a Bluetooth device for the site to pair with. Shown above a list of Bluetooth devices discovered. ">
|
||||
@@ -7812,7 +7812,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
<message name="IDS_BLUETOOTH_SEARCHING" desc="The message shown in the Bluetooth picker dialog while scanning for devices.">
|
||||
<ph name="BEGIN_LINK"><link></ph>Get help<ph name="END_LINK"></link></ph> while scanning for devices…
|
||||
</message>
|
||||
@@ -1906,7 +1906,7 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -1913,7 +1913,7 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
|
||||
<!-- Bluetooth Scanning Prompt strings -->
|
||||
<message name="IDS_BLUETOOTH_SCANNING_PROMPT_ORIGIN" desc="The label that is used to introduce Bluetooth scanning prompt details to the user when it is from a website.">
|
||||
@@ -7821,7 +7821,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_BLUETOOTH_SCANNING_DEVICE_UNKNOWN" desc="Text to identify Bluetooth devices of unknown or unsupported class.">
|
||||
Unknown or unsupported device (<ph name="DEVICE_ID">%1$s<ex>A1:B2:C3:D4:E5:F6</ex></ph>)
|
||||
@@ -3751,7 +3751,7 @@ Data from your Incognito session will only be cleared from Chrome when you <ph n
|
||||
@@ -3758,7 +3758,7 @@ Data from your Incognito session will only be cleared from Chrome when you <ph n
|
||||
|
||||
<!-- WebUsb Picker UI strings -->
|
||||
<message name="IDS_USB_CHOOSER_DIALOG_PROMPT" desc="The text that is used to introduce the USB chooser dialog to the user.">
|
||||
@@ -7830,7 +7830,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_USB_CHOOSER_DIALOG_NO_DEVICES_FOUND_PROMPT" desc="The label shown to the user to inform them that no USB devices were found matching the requirements that the application provided.">
|
||||
No compatible devices found
|
||||
@@ -3790,7 +3790,7 @@ Data from your Incognito session will only be cleared from Chrome when you <ph n
|
||||
@@ -3797,7 +3797,7 @@ Data from your Incognito session will only be cleared from Chrome when you <ph n
|
||||
Running in Chrome
|
||||
</message>
|
||||
<message name="IDS_TWA_RUNNING_IN_CHROME_V2" desc="Updated message on a snackbar indicating that the current Activity may use Chrome data (the rest of the app may not be).">
|
||||
@@ -7839,7 +7839,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message">
|
||||
Got it
|
||||
@@ -4054,7 +4054,7 @@ Data from your Incognito session will only be cleared from Chrome when you <ph n
|
||||
@@ -4061,7 +4061,7 @@ Data from your Incognito session will only be cleared from Chrome when you <ph n
|
||||
Sending to <ph name="device_name">%1$s<ex>Tanya's Pixel 2</ex></ph>...
|
||||
</message>
|
||||
<message name="IDS_SEND_TAB_TO_SELF_NOTIFICATION_CONTEXT_TEXT" desc="Text displayed as the second line of a notification indicating the domain and the device the tab is shared from.">
|
||||
@@ -8571,14 +8571,14 @@ diff --git a/chrome/browser/web_applications/preinstalled_web_apps/gmail.cc b/ch
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
/*user_display_mode=*/DisplayMode::kStandalone,
|
||||
#else
|
||||
@@ -33,8 +33,8 @@ ExternalInstallOptions GetConfigForGmail() {
|
||||
options.app_info_factory = base::BindRepeating([]() {
|
||||
@@ -34,8 +34,8 @@ ExternalInstallOptions GetConfigForGmail() {
|
||||
auto info = std::make_unique<WebApplicationInfo>();
|
||||
info->title = u"Gmail";
|
||||
- info->start_url = GURL("https://mail.google.com/?usp=installed_webapp");
|
||||
- info->scope = GURL("https://mail.google.com/");
|
||||
+ info->start_url = GURL("https://mail.9oo91e.qjz9zk/?usp=installed_webapp");
|
||||
+ info->scope = GURL("https://mail.9oo91e.qjz9zk/");
|
||||
info->start_url =
|
||||
- GURL("https://mail.google.com/mail/?usp=installed_webapp");
|
||||
- info->scope = GURL("https://mail.google.com/mail/");
|
||||
+ GURL("https://mail.9oo91e.qjz9zk/mail/?usp=installed_webapp");
|
||||
+ info->scope = GURL("https://mail.9oo91e.qjz9zk/mail/");
|
||||
info->display_mode = DisplayMode::kBrowser;
|
||||
info->icon_bitmaps.any =
|
||||
LoadBundledIcons({IDR_PREINSTALLED_WEB_APPS_GMAIL_ICON_192_PNG});
|
||||
@@ -11708,7 +11708,7 @@ diff --git a/components/crash/core/app/crash_reporter_client.cc b/components/cra
|
||||
diff --git a/components/crash/core/browser/resources/crashes.js b/components/crash/core/browser/resources/crashes.js
|
||||
--- a/components/crash/core/browser/resources/crashes.js
|
||||
+++ b/components/crash/core/browser/resources/crashes.js
|
||||
@@ -105,7 +105,7 @@ function updateCrashList({
|
||||
@@ -106,7 +106,7 @@ function updateCrashList({
|
||||
const uploadIdValue = uploadId.querySelector('.value');
|
||||
if (isGoogleAccount) {
|
||||
const crashLink = document.createElement('a');
|
||||
@@ -11717,7 +11717,7 @@ diff --git a/components/crash/core/browser/resources/crashes.js b/components/cra
|
||||
crashLink.target = '_blank';
|
||||
crashLink.textContent = crash.id;
|
||||
uploadIdValue.appendChild(crashLink);
|
||||
@@ -180,7 +180,7 @@ function fileBug(crashId, os, version) {
|
||||
@@ -175,7 +175,7 @@ function fileBug(crashId, os, version) {
|
||||
// https://bugs.chromium.org/p/monorail/issues/detail?id=1488 is done.
|
||||
labels: 'Restrict-View-EditIssue,Stability-Crash,User-Submitted',
|
||||
};
|
||||
@@ -15697,7 +15697,7 @@ diff --git a/components/policy/resources/policy_templates.json b/components/poli
|
||||
+ 'owners': [ 'yusuyoutube@9oo91e.qjz9zk', 'benwgold@9oo91e.qjz9zk', 'wylieb@ch40m1um.qjz9zk', 'fgorski@ch40m1um.qjz9zk', 'lens-chrome@9oo91e.qjz9zk'],
|
||||
'type': 'main',
|
||||
'schema': { 'type': 'boolean' },
|
||||
'future_on': ['android'],
|
||||
'supported_on': ['android:91-'],
|
||||
@@ -7162,9 +7162,9 @@
|
||||
{
|
||||
'name': 'InsecurePrivateNetworkRequestsAllowed',
|
||||
@@ -19425,7 +19425,7 @@ diff --git a/components/policy/resources/policy_templates.json b/components/poli
|
||||
+ 'owners': ['vecore@9oo91e.qjz9zk', 'hansberry@ch40m1um.qjz9zk', 'better-together-dev@9oo91e.qjz9zk'],
|
||||
'type': 'main',
|
||||
'schema': { 'type': 'boolean' },
|
||||
'future_on': ['chrome_os'],
|
||||
'supported_on': ['chrome_os:91-'],
|
||||
@@ -17289,7 +17289,7 @@
|
||||
},
|
||||
{
|
||||
@@ -27930,7 +27930,7 @@ diff --git a/testing/scripts/run_performance_tests.py b/testing/scripts/run_perf
|
||||
diff --git a/testing/test_env.py b/testing/test_env.py
|
||||
--- a/testing/test_env.py
|
||||
+++ b/testing/test_env.py
|
||||
@@ -181,7 +181,7 @@ def run_command_with_output(argv, stdoutfile, env=None, cwd=None):
|
||||
@@ -185,7 +185,7 @@ def run_command_with_output(argv, stdoutfile, env=None, cwd=None):
|
||||
"""Run command and stream its stdout/stderr to the console & |stdoutfile|.
|
||||
|
||||
Also forward_signals to obey
|
||||
@@ -27939,7 +27939,7 @@ diff --git a/testing/test_env.py b/testing/test_env.py
|
||||
|
||||
Returns:
|
||||
integer returncode of the subprocess.
|
||||
@@ -208,7 +208,7 @@ def run_command(argv, env=None, cwd=None, log=True):
|
||||
@@ -212,7 +212,7 @@ def run_command(argv, env=None, cwd=None, log=True):
|
||||
"""Run command and stream its stdout/stderr both to stdout.
|
||||
|
||||
Also forward_signals to obey
|
||||
@@ -27948,7 +27948,7 @@ diff --git a/testing/test_env.py b/testing/test_env.py
|
||||
|
||||
Returns:
|
||||
integer returncode of the subprocess.
|
||||
@@ -224,7 +224,7 @@ def run_command_output_to_handle(argv, file_handle, env=None, cwd=None):
|
||||
@@ -228,7 +228,7 @@ def run_command_output_to_handle(argv, file_handle, env=None, cwd=None):
|
||||
"""Run command and stream its stdout/stderr both to |file_handle|.
|
||||
|
||||
Also forward_signals to obey
|
||||
@@ -27957,7 +27957,7 @@ diff --git a/testing/test_env.py b/testing/test_env.py
|
||||
|
||||
Returns:
|
||||
integer returncode of the subprocess.
|
||||
@@ -264,7 +264,7 @@ def forward_signals(procs):
|
||||
@@ -268,7 +268,7 @@ def forward_signals(procs):
|
||||
"""Forwards unix's SIGTERM or win's CTRL_BREAK_EVENT to the given processes.
|
||||
|
||||
This plays nicely with swarming's timeout handling. See also
|
||||
@@ -28014,7 +28014,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
|
||||
},
|
||||
"enable_features": [
|
||||
"AutofillServerCommunication",
|
||||
@@ -2704,7 +2704,7 @@
|
||||
@@ -2719,7 +2719,7 @@
|
||||
"params": {
|
||||
"DnsHttpssvcControlDomainWildcard": "true",
|
||||
"DnsHttpssvcEnableQueryOverInsecure": "true",
|
||||
@@ -28023,7 +28023,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
|
||||
"DnsHttpssvcExtraTimeMs": "50",
|
||||
"DnsHttpssvcExtraTimePercent": "20",
|
||||
"DnsHttpssvcUseHttpssvc": "true",
|
||||
@@ -3675,7 +3675,7 @@
|
||||
@@ -3690,7 +3690,7 @@
|
||||
{
|
||||
"name": "Enabled",
|
||||
"params": {
|
||||
@@ -28032,7 +28032,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
|
||||
},
|
||||
"enable_features": [
|
||||
"IncompatibleApplicationsWarning"
|
||||
@@ -5405,12 +5405,12 @@
|
||||
@@ -5420,12 +5420,12 @@
|
||||
{
|
||||
"name": "Enabled_Prefetch_Prefetch1_NSP6_Small_20210301",
|
||||
"params": {
|
||||
@@ -28047,7 +28047,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
|
||||
},
|
||||
"enable_features": [
|
||||
"IsolatePrerenders",
|
||||
@@ -5572,7 +5572,7 @@
|
||||
@@ -5587,7 +5587,7 @@
|
||||
{
|
||||
"name": "EnabledNTPWithExploreAndTrending",
|
||||
"params": {
|
||||
@@ -28056,7 +28056,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
|
||||
"experiment_tag": "{maxLevels : 1, enableTrending : true, maxTrendingQueries : 8}",
|
||||
"image_prefetch_mode": "top",
|
||||
"is_unmetered_network_required": "false",
|
||||
@@ -5595,7 +5595,7 @@
|
||||
@@ -5610,7 +5610,7 @@
|
||||
{
|
||||
"name": "EnabledStitchAndTrending",
|
||||
"params": {
|
||||
@@ -28065,7 +28065,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
|
||||
"experiment_tag": "{enableTrending: true, maxTrendingQueries: 8}",
|
||||
"image_prefetch_mode": "top",
|
||||
"is_unmetered_network_required": "false",
|
||||
@@ -6839,7 +6839,7 @@
|
||||
@@ -6854,7 +6854,7 @@
|
||||
{
|
||||
"name": "launch_20180628_model_20170329_with_blacklist_override_default",
|
||||
"params": {
|
||||
@@ -28074,7 +28074,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
|
||||
},
|
||||
"enable_features": [
|
||||
"TranslateRankerAutoBlacklistOverride",
|
||||
@@ -6858,7 +6858,7 @@
|
||||
@@ -6873,7 +6873,7 @@
|
||||
{
|
||||
"name": "20180123_launch",
|
||||
"params": {
|
||||
@@ -28083,7 +28083,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
|
||||
},
|
||||
"enable_features": [
|
||||
"TranslateRankerAutoBlacklistOverride",
|
||||
@@ -6879,7 +6879,7 @@
|
||||
@@ -6894,7 +6894,7 @@
|
||||
{
|
||||
"name": "Enforcement20170918",
|
||||
"params": {
|
||||
@@ -28092,7 +28092,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
|
||||
},
|
||||
"enable_features": [
|
||||
"TranslateRankerEnforcement",
|
||||
@@ -7345,7 +7345,7 @@
|
||||
@@ -7360,7 +7360,7 @@
|
||||
{
|
||||
"name": "Enabled",
|
||||
"params": {
|
||||
@@ -30381,7 +30381,7 @@ diff --git a/third_party/blink/renderer/modules/payments/skip_to_gpay_utils.cc b
|
||||
diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||
--- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||
+++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||
@@ -176,12 +176,12 @@ bool VibrationController::Vibrate(const VibrationPattern& pattern) {
|
||||
@@ -179,12 +179,12 @@ bool VibrationController::Vibrate(const VibrationPattern& pattern) {
|
||||
message =
|
||||
"Blocked call to navigator.vibrate inside a cross-origin "
|
||||
"iframe because the frame has never been activated by the user: "
|
||||
|
||||
@@ -68,7 +68,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
"java/res/layout/assistant_voice_search_consent_ui.xml",
|
||||
"java/res/layout/auto_sign_in_first_run_dialog.xml",
|
||||
"java/res/layout/autofill_billing_address_dropdown.xml",
|
||||
@@ -896,6 +897,7 @@ chrome_java_resources = [
|
||||
@@ -897,6 +898,7 @@ chrome_java_resources = [
|
||||
"java/res/xml/about_chrome_preferences.xml",
|
||||
"java/res/xml/accessibility_preferences.xml",
|
||||
"java/res/xml/account_management_preferences.xml",
|
||||
@@ -163,7 +163,7 @@ new file mode 100644
|
||||
diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml
|
||||
--- a/chrome/android/java/res/values/styles.xml
|
||||
+++ b/chrome/android/java/res/values/styles.xml
|
||||
@@ -206,6 +206,23 @@
|
||||
@@ -208,6 +208,23 @@
|
||||
<item name="android:layout_height">0dp</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
</style>
|
||||
@@ -552,7 +552,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
|
||||
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
||||
--- a/chrome/browser/chrome_browser_main.cc
|
||||
+++ b/chrome/browser/chrome_browser_main.cc
|
||||
@@ -1604,6 +1604,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
@@ -1622,6 +1622,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
speech::SodaInstaller::GetInstance()->Init(profile_->GetPrefs(),
|
||||
browser_process_->local_state());
|
||||
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Disable DRM media origin IDs preprovisioning
|
||||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -610,7 +610,7 @@ const base::Feature kMediaDrmPersistentLicense{
|
||||
@@ -618,7 +618,7 @@ const base::Feature kMediaDrmPersistentLicense{
|
||||
// MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs
|
||||
// which will trigger provisioning process after MediaDrmBridge is created.
|
||||
const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Disable RTCGetCurrentBrowsingContextMedia by default
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -215,7 +215,7 @@ const base::Feature kRawClipboard{"RawClipboard",
|
||||
@@ -233,7 +233,7 @@ const base::Feature kRawClipboard{"RawClipboard",
|
||||
// Kill switch for getCurrentBrowsingContextMedia(), which allows capturing of
|
||||
// web content from the tab from which it is called. (crbug.com/1136940)
|
||||
const base::Feature kRTCGetCurrentBrowsingContextMedia{
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Disable all promo dialogs
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -611,7 +611,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -609,7 +609,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
* displayed.
|
||||
*/
|
||||
private boolean triggerPromo(boolean intentWithEffect) {
|
||||
@@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_STARTUP_PROMOS)) {
|
||||
return false;
|
||||
}
|
||||
@@ -646,8 +646,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -644,8 +644,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
preferenceManager.writeBoolean(
|
||||
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
|
||||
}
|
||||
|
||||
@@ -5,25 +5,84 @@ Subject: Disable smart selection by default
|
||||
Allow web search in incognito mode (reverts
|
||||
commit 48d4ae54f7565c429bf29cd63806aee5d7e93e69)
|
||||
|
||||
Partial revert of da1d809c003749846cb4ade8c11b6d038e44416b to restore
|
||||
the ChromeSmartSelection feature flag.
|
||||
|
||||
Notice that re-enabling smart selection would make incognito mode potentially
|
||||
leak information through the TextClassifier set by OEM, if any
|
||||
---
|
||||
chrome/browser/flags/android/chrome_feature_list.cc | 2 +-
|
||||
.../content/browser/selection/SelectionPopupControllerImpl.java | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
.../contextualsearch/SelectionClientManager.java | 4 +++-
|
||||
.../browser/flags/android/chrome_feature_list.cc | 4 ++++
|
||||
.../browser/flags/android/chrome_feature_list.h | 1 +
|
||||
.../chrome/browser/flags/ChromeFeatureList.java | 1 +
|
||||
.../selection/SelectionPopupControllerImpl.java | 2 +-
|
||||
testing/variations/fieldtrial_testing_config.json | 15 +++++++++++++++
|
||||
6 files changed, 25 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
|
||||
@@ -10,6 +10,7 @@ import android.view.textclassifier.TextClassifier;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.content_public.browser.SelectionClient;
|
||||
import org.chromium.content_public.browser.SelectionMetricsLogger;
|
||||
import org.chromium.content_public.browser.SelectionPopupController;
|
||||
@@ -44,7 +45,8 @@ public class SelectionClientManager {
|
||||
* @param webContents The {@link WebContents} that will show popups for this client.
|
||||
*/
|
||||
SelectionClientManager(WebContents webContents) {
|
||||
- if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
|
||||
+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.CHROME_SMART_SELECTION)
|
||||
+ && Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
|
||||
assert webContents != null;
|
||||
mOptionalSelectionClient = SelectionClient.createSmartSelectionClient(webContents);
|
||||
SelectionPopupController controller =
|
||||
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
|
||||
@@ -532,7 +532,7 @@ const base::Feature kDownloadProgressInfoBar{"DownloadProgressInfoBar",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
@@ -164,6 +164,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
|
||||
&kChromeShareScreenshot,
|
||||
&kChromeSharingHub,
|
||||
&kChromeSharingHubV15,
|
||||
+ &kChromeSmartSelection,
|
||||
&kChromeStartupDelegate,
|
||||
&kChromeSurveyNextAndroid,
|
||||
&kCommandLineOnNonRooted,
|
||||
@@ -453,6 +454,9 @@ const base::Feature kChromeStartupDelegate{"ChromeStartupDelegate",
|
||||
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kDownloadFileProvider{"DownloadFileProvider",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+const base::Feature kChromeSmartSelection{"ChromeSmartSelection",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+
|
||||
const base::Feature kCommandLineOnNonRooted{"CommandLineOnNonRooted",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kDownloadNotificationBadge{
|
||||
"DownloadNotificationBadge", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
@@ -50,6 +50,7 @@ extern const base::Feature kChromeShareQRCode;
|
||||
extern const base::Feature kChromeShareScreenshot;
|
||||
extern const base::Feature kChromeSharingHub;
|
||||
extern const base::Feature kChromeSharingHubV15;
|
||||
+extern const base::Feature kChromeSmartSelection;
|
||||
extern const base::Feature kChromeStartupDelegate;
|
||||
extern const base::Feature kChromeSurveyNextAndroid;
|
||||
extern const base::Feature kCommandLineOnNonRooted;
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -275,6 +275,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String CHROME_SHARE_SCREENSHOT = "ChromeShareScreenshot";
|
||||
public static final String CHROME_SHARING_HUB = "ChromeSharingHub";
|
||||
public static final String CHROME_SHARING_HUB_V15 = "ChromeSharingHubV15";
|
||||
+ public static final String CHROME_SMART_SELECTION = "ChromeSmartSelection";
|
||||
public static final String CHROME_STARTUP_DELEGATE = "ChromeStartupDelegate";
|
||||
public static final String CLEAR_OLD_BROWSING_DATA = "ClearOldBrowsingData";
|
||||
public static final String COMMAND_LINE_ON_NON_ROOTED = "CommandLineOnNonRooted";
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
||||
@@ -36,6 +95,31 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
|
||||
|| !isSelectActionModeAllowed(MENU_ITEM_WEB_SEARCH)) {
|
||||
menu.removeItem(R.id.select_action_menu_web_search);
|
||||
}
|
||||
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
|
||||
--- a/testing/variations/fieldtrial_testing_config.json
|
||||
+++ b/testing/variations/fieldtrial_testing_config.json
|
||||
@@ -1587,6 +1587,21 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
+ "ChromeSmartSelection": [
|
||||
+ {
|
||||
+ "platforms": [
|
||||
+ "android"
|
||||
+ ],
|
||||
+ "experiments": [
|
||||
+ {
|
||||
+ "name": "Enabled_Launch",
|
||||
+ "enable_features": [
|
||||
+ "ChromeSmartSelection"
|
||||
+ ]
|
||||
+ }
|
||||
+ ]
|
||||
+ }
|
||||
+ ],
|
||||
"ChromeStart": [
|
||||
{
|
||||
"platforms": [
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ Revert "[Text Fragment] Unflag fragment directive removal."
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -5296,6 +5296,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -5295,6 +5295,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
|
||||
{"use-multilogin-endpoint", flag_descriptions::kUseMultiloginEndpointName,
|
||||
flag_descriptions::kUseMultiloginEndpointDescription,
|
||||
@@ -28,7 +28,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -2796,7 +2796,7 @@
|
||||
@@ -2801,7 +2801,7 @@
|
||||
{
|
||||
"name": "ev-details-in-page-info",
|
||||
"owners": [ "cthomp" ],
|
||||
@@ -52,7 +52,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
|
||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||
--- a/content/child/runtime_features.cc
|
||||
+++ b/content/child/runtime_features.cc
|
||||
@@ -271,6 +271,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
||||
@@ -268,6 +268,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
||||
{wf::EnableMouseSubframeNoImplicitCapture,
|
||||
features::kMouseSubframeNoImplicitCapture},
|
||||
{wf::EnableNeverSlowMode, features::kNeverSlowMode},
|
||||
@@ -63,7 +63,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -332,7 +332,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI",
|
||||
@@ -350,7 +350,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI",
|
||||
|
||||
// Enable text snippets in URL fragments. https://crbug.com/919204.
|
||||
const base::Feature kTextFragmentAnchor{"TextFragmentAnchor",
|
||||
@@ -75,7 +75,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
|
||||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -4333,6 +4333,10 @@ void Document::SetURL(const KURL& url) {
|
||||
@@ -4330,6 +4330,10 @@ void Document::SetURL(const KURL& url) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
// Strip the fragment directive from the URL fragment. E.g. "#id:~:text=a"
|
||||
// --> "#id". See https://github.com/WICG/scroll-to-text-fragment.
|
||||
String fragment = new_url.FragmentIdentifier();
|
||||
@@ -4346,6 +4350,7 @@ void Document::SetURL(const KURL& url) {
|
||||
@@ -4343,6 +4347,7 @@ void Document::SetURL(const KURL& url) {
|
||||
else
|
||||
new_url.SetFragmentIdentifier(fragment.Substring(0, start_pos));
|
||||
}
|
||||
@@ -145,7 +145,7 @@ diff --git a/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -2010,8 +2010,7 @@
|
||||
@@ -2005,8 +2005,7 @@
|
||||
},
|
||||
{
|
||||
name: "TextFragmentIdentifiers",
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Tue, 25 May 2021 19:33:41 +0200
|
||||
Subject: Enable IntentBlockExternalFormRedirectsNoGesture by default
|
||||
|
||||
---
|
||||
.../external_intents/android/external_intents_feature_list.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/components/external_intents/android/external_intents_feature_list.cc b/components/external_intents/android/external_intents_feature_list.cc
|
||||
--- a/components/external_intents/android/external_intents_feature_list.cc
|
||||
+++ b/components/external_intents/android/external_intents_feature_list.cc
|
||||
@@ -37,7 +37,7 @@ const base::Feature* FindFeatureExposedToJava(const std::string& feature_name) {
|
||||
// Alphabetical:
|
||||
const base::Feature kIntentBlockExternalFormRedirectsNoGesture{
|
||||
"IntentBlockExternalFormRedirectsNoGesture",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
static jboolean JNI_ExternalIntentsFeatureList_IsEnabled(
|
||||
JNIEnv* env,
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -11,7 +11,7 @@ Unexpire #darken-websites-checkbox-in-themes-setting
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -1110,7 +1110,7 @@
|
||||
@@ -1115,7 +1115,7 @@
|
||||
{
|
||||
"name": "disable-keepalive-fetch",
|
||||
"owners": [ "yhirano" ],
|
||||
@@ -23,7 +23,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
||||
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
|
||||
@@ -520,7 +520,7 @@ const base::Feature kContextualSearchTranslations{
|
||||
@@ -524,7 +524,7 @@ const base::Feature kContextualSearchTranslations{
|
||||
"ContextualSearchTranslations", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kDarkenWebsitesCheckboxInThemesSetting{
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Enable prefetch-privacy-changes by default
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -357,7 +357,7 @@ const base::Feature kComputePressure{"ComputePressure",
|
||||
@@ -375,7 +375,7 @@ const base::Feature kComputePressure{"ComputePressure",
|
||||
// Prefetch request properties are updated to be privacy-preserving. See
|
||||
// crbug.com/988956.
|
||||
const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Enable user-agent freeze by default
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -63,7 +63,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
|
||||
@@ -81,7 +81,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
|
||||
|
||||
// Freezes the user-agent as part of https://github.com/WICG/ua-client-hints.
|
||||
const base::Feature kFreezeUserAgent{"FreezeUserAgent",
|
||||
|
||||
@@ -50,7 +50,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
#ifndef NDEBUG
|
||||
using WeakDocumentSet = blink::HeapHashSet<blink::WeakMember<blink::Document>>;
|
||||
static WeakDocumentSet& liveDocumentSet();
|
||||
@@ -6864,6 +6867,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) {
|
||||
@@ -6859,6 +6862,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) {
|
||||
val ? AllowState::kAllow : AllowState::kDeny;
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
void Document::FinishedParsing() {
|
||||
DCHECK(!GetScriptableDocumentParser() || !parser_->IsParsing());
|
||||
DCHECK(!GetScriptableDocumentParser() || ready_state_ != kLoading);
|
||||
@@ -6916,6 +6974,10 @@ void Document::FinishedParsing() {
|
||||
@@ -6911,6 +6969,10 @@ void Document::FinishedParsing() {
|
||||
|
||||
frame->Loader().FinishedParsing();
|
||||
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
From: hardenedfuchsiaoswhen <hardenedfuchsiaoswhen@protonmail.com>
|
||||
Date: Fri, 18 Jun 2021 03:34:20 +0000
|
||||
Subject: JIT-less toggle
|
||||
|
||||
---
|
||||
chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
|
||||
.../browser/privacy/settings/PrivacySettings.java | 12 ++++++++++++
|
||||
.../ui/android/strings/android_chrome_strings.grd | 7 +++++++
|
||||
.../browser/BrowserStartupControllerImpl.java | 1 +
|
||||
.../chromium/content/browser/DeviceUtilsImpl.java | 6 ++++++
|
||||
5 files changed, 31 insertions(+)
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -24,6 +24,11 @@
|
||||
android:title="@string/preload_pages_title"
|
||||
android:summary="@string/preload_pages_summary"
|
||||
android:persistent="false"/>
|
||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||
+ android:key="force_no_jit"
|
||||
+ android:title="@string/force_no_jit_title"
|
||||
+ android:summary="@string/force_no_jit_summary"
|
||||
+ android:defaultValue="false" />
|
||||
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
||||
android:key="secure_dns"
|
||||
android:title="@string/settings_secure_dns_title"
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
package org.chromium.chrome.browser.privacy.settings;
|
||||
|
||||
+import android.content.SharedPreferences;
|
||||
import android.os.Build;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
@@ -65,6 +66,7 @@ public class PrivacySettings
|
||||
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
||||
private static final String PREF_PROXY_OPTIONS = "proxy";
|
||||
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||
+ private static final String PREF_FORCE_NO_JIT = "force_no_jit";
|
||||
|
||||
// moved from SyncAndServicesSettings.java
|
||||
private static final String PREF_SERVICES_CATEGORY = "services_category";
|
||||
@@ -165,6 +167,10 @@ public class PrivacySettings
|
||||
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
||||
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
|
||||
prefService.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
|
||||
+ } else if (PREF_FORCE_NO_JIT.equals(key)) {
|
||||
+ SharedPreferences.Editor sharedPreferenceEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
+ sharedPreferenceEditor.putBoolean(PREF_FORCE_NO_JIT, (boolean) newValue);
|
||||
+ sharedPreferenceEditor.apply();
|
||||
} else if (PREF_AUTOFILL_ASSISTANT.equals(key)) {
|
||||
mSharedPreferencesManager.writeBoolean(
|
||||
ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
|
||||
@@ -245,6 +251,12 @@ public class PrivacySettings
|
||||
historyInIncognitoPref.setChecked(
|
||||
prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED));
|
||||
}
|
||||
+
|
||||
+ ChromeSwitchPreference forceNoJit =
|
||||
+ (ChromeSwitchPreference) findPreference(PREF_FORCE_NO_JIT);
|
||||
+ forceNoJit.setOnPreferenceChangeListener(this);
|
||||
+ forceNoJit.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
|
||||
+
|
||||
}
|
||||
|
||||
private ChromeManagedPreferenceDelegate createManagedPreferenceDelegate() {
|
||||
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
|
||||
@@ -910,6 +910,13 @@ Privacy Sandbox is still in active development and is available in selected regi
|
||||
Please verify that this is a valid provider or try again later
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_FORCE_NO_JIT_TITLE" desc="Title for disable JIT settings. [CHAR-LIMIT=32]">
|
||||
+ Disable JIT
|
||||
+ </message>
|
||||
+ <message name="IDS_FORCE_NO_JIT_SUMMARY" desc="Summary for Disable JIT settings">
|
||||
+ Improve security at the expense of performance by not compiling JavaScript to native code (requires browser restart)
|
||||
+ </message>
|
||||
+
|
||||
<message name="IDS_CLEAR_BROWSING_DATA_TITLE" desc="Title of the Clear Browsing Data screen. [CHAR-LIMIT=32]">
|
||||
Clear browsing data
|
||||
</message>
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/BrowserStartupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/BrowserStartupControllerImpl.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/BrowserStartupControllerImpl.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/BrowserStartupControllerImpl.java
|
||||
@@ -445,6 +445,7 @@ public class BrowserStartupControllerImpl implements BrowserStartupController {
|
||||
}
|
||||
|
||||
// TODO(yfriedman): Remove dependency on a command line flag for this.
|
||||
+ DeviceUtilsImpl.addJitlessSwitch();
|
||||
DeviceUtilsImpl.addDeviceSpecificUserAgentSwitch();
|
||||
BrowserStartupControllerImplJni.get().setCommandLineFlags(singleProcess);
|
||||
}
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/DeviceUtilsImpl.java b/content/public/android/java/src/org/chromium/content/browser/DeviceUtilsImpl.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/DeviceUtilsImpl.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/DeviceUtilsImpl.java
|
||||
@@ -5,6 +5,7 @@
|
||||
package org.chromium.content.browser;
|
||||
|
||||
import org.chromium.base.CommandLine;
|
||||
+import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.StrictModeContext;
|
||||
import org.chromium.content_public.common.ContentSwitches;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
@@ -22,4 +23,9 @@ public class DeviceUtilsImpl {
|
||||
}
|
||||
}
|
||||
}
|
||||
+ public static void addJitlessSwitch() {
|
||||
+ if (ContextUtils.getAppSharedPreferences().getBoolean("force_no_jit", false)) {
|
||||
+ CommandLine.getInstance().appendSwitchWithValue("js-flags", "--jitless");
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -0,0 +1,867 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Tue, 15 Jun 2021 11:49:43 +0000
|
||||
Subject: Logcat crash reports UI
|
||||
|
||||
---
|
||||
.../crash/MinidumpUploadServiceImpl.java | 22 +++
|
||||
.../crash_upload_list_android.cc | 22 ++-
|
||||
.../crash_upload_list_android.h | 1 +
|
||||
chrome/browser/net/chrome_network_delegate.cc | 7 +
|
||||
chrome/browser/ui/BUILD.gn | 1 +
|
||||
chrome/browser/ui/webui/crashes_ui.cc | 165 ++++++++++++++++--
|
||||
.../crash/core/browser/crashes_ui_util.cc | 4 +
|
||||
.../crash/core/browser/crashes_ui_util.h | 2 +
|
||||
.../crash/core/browser/resources/crashes.css | 67 ++++++-
|
||||
.../crash/core/browser/resources/crashes.html | 17 ++
|
||||
.../crash/core/browser/resources/crashes.js | 40 +++--
|
||||
components/crash_strings.grdp | 22 ++-
|
||||
.../minidump_uploader/CrashFileManager.java | 7 +-
|
||||
.../MinidumpUploadCallable.java | 20 +--
|
||||
.../minidump_uploader/MinidumpUploader.java | 29 +--
|
||||
.../upload_list/text_log_upload_list.cc | 1 +
|
||||
components/upload_list/upload_list.cc | 17 +-
|
||||
components/upload_list/upload_list.h | 9 +
|
||||
18 files changed, 374 insertions(+), 79 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java
|
||||
@@ -42,6 +42,11 @@ import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
+import org.chromium.base.task.AsyncTask;
|
||||
+import org.chromium.base.task.PostTask;
|
||||
+import org.chromium.base.task.TaskTraits;
|
||||
+import org.chromium.chrome.browser.crash.LogcatExtractionRunnable;
|
||||
+
|
||||
/**
|
||||
* Service that is responsible for uploading crash minidumps to the Google crash server.
|
||||
*/
|
||||
@@ -445,4 +450,21 @@ public class MinidumpUploadServiceImpl extends MinidumpUploadService.Impl {
|
||||
tryUploadCrashDump(renamedMinidumpFile);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ @CalledByNative
|
||||
+ public static void requestNewExtraction() {
|
||||
+ CrashFileManager crashFileManager =
|
||||
+ new CrashFileManager(ContextUtils.getApplicationContext().getCacheDir());
|
||||
+
|
||||
+ // Append logcat output to minidumps where are missing
|
||||
+ // getMinidumpsSansLogcat() also extract new files from crashpad
|
||||
+ File[] minidumpsSansLogcat = crashFileManager.getMinidumpsSansLogcat();
|
||||
+ if (minidumpsSansLogcat.length >= 1) {
|
||||
+ for (int i = 0; i < minidumpsSansLogcat.length; ++i) {
|
||||
+ File minidump = minidumpsSansLogcat[i];
|
||||
+ AsyncTask.THREAD_POOL_EXECUTOR.execute(
|
||||
+ new LogcatExtractionRunnable(minidump));
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
diff --git a/chrome/browser/crash_upload_list/crash_upload_list_android.cc b/chrome/browser/crash_upload_list/crash_upload_list_android.cc
|
||||
--- a/chrome/browser/crash_upload_list/crash_upload_list_android.cc
|
||||
+++ b/chrome/browser/crash_upload_list/crash_upload_list_android.cc
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "base/metrics/histogram_macros_local.h"
|
||||
#include "chrome/android/chrome_jni_headers/MinidumpUploadServiceImpl_jni.h"
|
||||
#include "ui/base/text/bytes_formatting.h"
|
||||
+#include "base/strings/string_util.h"
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -76,16 +77,26 @@ void CrashUploadListAndroid::RequestSingleUpload(const std::string& local_id) {
|
||||
Java_MinidumpUploadServiceImpl_tryUploadCrashDumpWithLocalId(env, j_local_id);
|
||||
}
|
||||
|
||||
+void CrashUploadListAndroid::RequestNewExtraction() {
|
||||
+ JNIEnv* env = base::android::AttachCurrentThread();
|
||||
+ Java_MinidumpUploadServiceImpl_requestNewExtraction(env);
|
||||
+}
|
||||
+
|
||||
void CrashUploadListAndroid::LoadUnsuccessfulUploadList(
|
||||
std::vector<UploadInfo>* uploads) {
|
||||
const char pending_uploads[] = ".dmp";
|
||||
const char skipped_uploads[] = ".skipped";
|
||||
const char manually_forced_uploads[] = ".forced";
|
||||
+ const char zipped_uploads[] = ".zip";
|
||||
|
||||
base::FileEnumerator files(upload_log_path().DirName(), false,
|
||||
base::FileEnumerator::FILES);
|
||||
for (base::FilePath file = files.Next(); !file.empty(); file = files.Next()) {
|
||||
UploadList::UploadInfo::State upload_state;
|
||||
+ if (base::EndsWith(file.value(), zipped_uploads, base::CompareCase::INSENSITIVE_ASCII)) {
|
||||
+ // skip zip files
|
||||
+ continue;
|
||||
+ }
|
||||
if (file.value().find(manually_forced_uploads) != std::string::npos) {
|
||||
RecordUnsuccessfulUploadListState(UnsuccessfulUploadListState::FORCED);
|
||||
upload_state = UploadList::UploadInfo::State::Pending_UserRequested;
|
||||
@@ -117,6 +128,8 @@ void CrashUploadListAndroid::LoadUnsuccessfulUploadList(
|
||||
continue;
|
||||
}
|
||||
|
||||
+ std::string file_path = file.value();
|
||||
+
|
||||
// Crash reports can have multiple extensions (e.g. foo.dmp, foo.dmp.try1,
|
||||
// foo.skipped.try0).
|
||||
file = file.BaseName();
|
||||
@@ -136,8 +149,15 @@ void CrashUploadListAndroid::LoadUnsuccessfulUploadList(
|
||||
RecordUnsuccessfulUploadListState(
|
||||
UnsuccessfulUploadListState::ADDING_AN_UPLOAD_ENTRY);
|
||||
id = id.substr(pos + 1);
|
||||
+ // Since current thread is an IO thread
|
||||
+ // to avoid failed DCHECK ThreadRestrictions::AssertSingletonAllowed()
|
||||
+ // remove ui::FormatBytes(): dcheck fail because it use base::FormatDouble()
|
||||
+ // and LazyInstance<NumberFormatWrapper>::DestructorAtExit().
|
||||
+ // also "upload.file_size" is unused.
|
||||
+ std::u16string file_size_string;
|
||||
UploadList::UploadInfo upload(id, info.creation_time, upload_state,
|
||||
- ui::FormatBytes(file_size));
|
||||
+ file_size_string);
|
||||
+ upload.file_path = file_path;
|
||||
uploads->push_back(upload);
|
||||
}
|
||||
}
|
||||
diff --git a/chrome/browser/crash_upload_list/crash_upload_list_android.h b/chrome/browser/crash_upload_list/crash_upload_list_android.h
|
||||
--- a/chrome/browser/crash_upload_list/crash_upload_list_android.h
|
||||
+++ b/chrome/browser/crash_upload_list/crash_upload_list_android.h
|
||||
@@ -32,6 +32,7 @@ class CrashUploadListAndroid : public TextLogUploadList {
|
||||
|
||||
std::vector<UploadInfo> LoadUploadList() override;
|
||||
void RequestSingleUpload(const std::string& local_id) override;
|
||||
+ void RequestNewExtraction() override;
|
||||
|
||||
private:
|
||||
void LoadUnsuccessfulUploadList(std::vector<UploadInfo>* uploads);
|
||||
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
|
||||
--- a/chrome/browser/net/chrome_network_delegate.cc
|
||||
+++ b/chrome/browser/net/chrome_network_delegate.cc
|
||||
@@ -129,6 +129,13 @@ bool IsAccessAllowedAndroid(const base::FilePath& path) {
|
||||
if (external_storage_path.IsParent(path))
|
||||
return true;
|
||||
|
||||
+ // access to the crash folder is allowed for the download by the user
|
||||
+ base::FilePath cache_dir;
|
||||
+ base::android::GetCacheDirectory(&cache_dir);
|
||||
+ base::FilePath upload_log_path = cache_dir.Append("Crash Reports");
|
||||
+ if (upload_log_path.IsParent(path))
|
||||
+ return true;
|
||||
+
|
||||
std::vector<base::FilePath> allowlist;
|
||||
std::vector<base::FilePath> all_download_dirs =
|
||||
base::android::GetAllPrivateDownloadsDirectories();
|
||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -577,6 +577,7 @@ static_library("ui") {
|
||||
"//third_party/re2",
|
||||
"//third_party/webrtc_overrides:webrtc_component",
|
||||
"//third_party/zlib",
|
||||
+ "//third_party/zlib/google:zip",
|
||||
"//ui/accessibility",
|
||||
"//ui/base",
|
||||
"//ui/base:data_exchange",
|
||||
diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/crashes_ui.cc
|
||||
--- a/chrome/browser/ui/webui/crashes_ui.cc
|
||||
+++ b/chrome/browser/ui/webui/crashes_ui.cc
|
||||
@@ -38,6 +38,17 @@
|
||||
#include "google_apis/gaia/gaia_auth_util.h"
|
||||
#include "ui/base/resource/resource_bundle.h"
|
||||
|
||||
+#include "base/logging.h"
|
||||
+#include "base/debug/dump_without_crashing.h"
|
||||
+#include "base/files/file_util.h"
|
||||
+#include "base/files/file_enumerator.h"
|
||||
+#include "base/files/scoped_temp_dir.h"
|
||||
+#include "base/task/task_traits.h"
|
||||
+#include "base/task/thread_pool.h"
|
||||
+#include "base/android/path_utils.h"
|
||||
+#include "net/base/filename_util.h"
|
||||
+#include "third_party/zlib/google/zip.h"
|
||||
+
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
@@ -75,6 +86,10 @@ content::WebUIDataSource* CreateCrashesUIHTMLSource() {
|
||||
return source;
|
||||
}
|
||||
|
||||
+constexpr base::TaskTraits kLoadingTaskTraits = {
|
||||
+ base::MayBlock(), base::TaskPriority::USER_BLOCKING,
|
||||
+ base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN};
|
||||
+
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// CrashesDOMHandler
|
||||
@@ -84,7 +99,7 @@ content::WebUIDataSource* CreateCrashesUIHTMLSource() {
|
||||
// The handler for Javascript messages for the chrome://crashes/ page.
|
||||
class CrashesDOMHandler : public WebUIMessageHandler {
|
||||
public:
|
||||
- CrashesDOMHandler();
|
||||
+ CrashesDOMHandler(content::WebContents* web_contents);
|
||||
~CrashesDOMHandler() override;
|
||||
|
||||
// WebUIMessageHandler implementation.
|
||||
@@ -96,6 +111,8 @@ class CrashesDOMHandler : public WebUIMessageHandler {
|
||||
// Asynchronously fetches the list of crashes. Called from JS.
|
||||
void HandleRequestCrashes(const base::ListValue* args);
|
||||
|
||||
+ void RequestCrashesList();
|
||||
+
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
// Asynchronously triggers crash uploading. Called from JS.
|
||||
void HandleRequestUploads(const base::ListValue* args);
|
||||
@@ -107,15 +124,28 @@ class CrashesDOMHandler : public WebUIMessageHandler {
|
||||
// Asynchronously requests a user triggered upload. Called from JS.
|
||||
void HandleRequestSingleCrashUpload(const base::ListValue* args);
|
||||
|
||||
+ std::string RequestSingleUpload(const std::string& local_id) const;
|
||||
+ void RequestSingleUploadCallback(const std::string& local_id, const std::string& filename);
|
||||
+
|
||||
+ // Asynchronously requests a user log extraction. Called from JS.
|
||||
+ void HandleRequestNewExtraction(const base::ListValue* args);
|
||||
+ void RequestNewExtraction();
|
||||
+
|
||||
+ // Requests remove all crash files. Called from JS.
|
||||
+ void HandleRequestClearAll(const base::ListValue* args);
|
||||
+ void ClearAll();
|
||||
+
|
||||
scoped_refptr<UploadList> upload_list_;
|
||||
bool list_available_;
|
||||
bool first_load_;
|
||||
+ content::WebContents* web_contents_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CrashesDOMHandler);
|
||||
};
|
||||
|
||||
-CrashesDOMHandler::CrashesDOMHandler()
|
||||
- : list_available_(false), first_load_(true) {
|
||||
+CrashesDOMHandler::CrashesDOMHandler(content::WebContents* web_contents)
|
||||
+ : list_available_(false), first_load_(true),
|
||||
+ web_contents_(web_contents) {
|
||||
upload_list_ = CreateCrashUploadList();
|
||||
}
|
||||
|
||||
@@ -142,10 +172,24 @@ void CrashesDOMHandler::RegisterMessages() {
|
||||
crash_reporter::kCrashesUIRequestSingleCrashUpload,
|
||||
base::BindRepeating(&CrashesDOMHandler::HandleRequestSingleCrashUpload,
|
||||
base::Unretained(this)));
|
||||
+
|
||||
+ web_ui()->RegisterMessageCallback(
|
||||
+ crash_reporter::kCrashesUIHandleClearAll,
|
||||
+ base::BindRepeating(&CrashesDOMHandler::HandleRequestClearAll,
|
||||
+ base::Unretained(this)));
|
||||
+
|
||||
+ web_ui()->RegisterMessageCallback(
|
||||
+ crash_reporter::kCrashesUIHandleRequestNewExtraction,
|
||||
+ base::BindRepeating(&CrashesDOMHandler::HandleRequestNewExtraction,
|
||||
+ base::Unretained(this)));
|
||||
}
|
||||
|
||||
void CrashesDOMHandler::HandleRequestCrashes(const base::ListValue* args) {
|
||||
AllowJavascript();
|
||||
+ RequestCrashesList();
|
||||
+}
|
||||
+
|
||||
+void CrashesDOMHandler::RequestCrashesList() {
|
||||
if (first_load_) {
|
||||
first_load_ = false;
|
||||
if (list_available_)
|
||||
@@ -178,8 +222,7 @@ void CrashesDOMHandler::OnUploadListAvailable() {
|
||||
}
|
||||
|
||||
void CrashesDOMHandler::UpdateUI() {
|
||||
- bool crash_reporting_enabled =
|
||||
- ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled();
|
||||
+ bool crash_reporting_enabled = true;
|
||||
|
||||
bool system_crash_reporter = false;
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
@@ -241,12 +284,111 @@ void CrashesDOMHandler::HandleRequestSingleCrashUpload(
|
||||
bool success = args->GetString(0, &local_id);
|
||||
DCHECK(success);
|
||||
|
||||
- // Only allow manual uploads if crash uploads aren’t disabled by policy.
|
||||
- if (!ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled() &&
|
||||
- IsMetricsReportingPolicyManaged()) {
|
||||
- return;
|
||||
+ base::ThreadPool::PostTaskAndReplyWithResult(
|
||||
+ FROM_HERE, kLoadingTaskTraits,
|
||||
+ base::BindOnce(&CrashesDOMHandler::RequestSingleUpload, base::Unretained(this), local_id),
|
||||
+ base::BindOnce(&CrashesDOMHandler::RequestSingleUploadCallback, base::Unretained(this), local_id));
|
||||
+}
|
||||
+
|
||||
+std::string CrashesDOMHandler::RequestSingleUpload(const std::string& local_id) const {
|
||||
+ // get crash file path
|
||||
+ std::string info_file_path = upload_list_->GetFilePathByLocalId(local_id);
|
||||
+ if (info_file_path.empty()) {
|
||||
+ LOG(ERROR) << "Crash report: file path is not set for " << local_id;
|
||||
+ return std::string();
|
||||
+ }
|
||||
+ base::FilePath crash_file_path(info_file_path);
|
||||
+
|
||||
+ // get android crash report dir
|
||||
+ base::FilePath cache_dir;
|
||||
+ base::android::GetCacheDirectory(&cache_dir);
|
||||
+ base::FilePath upload_log_path = cache_dir.Append("Crash Reports");
|
||||
+
|
||||
+ // crash reports can have multiple extensions (e.g. foo.dmp, foo.dmp.try1,
|
||||
+ // foo.skipped.try0), remove it
|
||||
+ base::FilePath zip_file_name = crash_file_path;
|
||||
+ while (zip_file_name != zip_file_name.RemoveExtension())
|
||||
+ zip_file_name = zip_file_name.RemoveExtension();
|
||||
+
|
||||
+ // make zip file name, like "ec708a7b-cb17-44e7-8dae-e32f6c45cb8c.zip"
|
||||
+ zip_file_name = upload_log_path.Append(zip_file_name.BaseName())
|
||||
+ .AddExtensionASCII(".zip");
|
||||
+ // since the download is always allowed, the generation takes place only
|
||||
+ // at the first request, so if exists return it
|
||||
+ if (base::PathExists(zip_file_name))
|
||||
+ return zip_file_name.value();
|
||||
+
|
||||
+ // original code remove the file immediately after upload.
|
||||
+ // we changed this behavior but it is still possible that the file no longer exists
|
||||
+ // because in uploads.log it could be indicated but the file was deleted by self-cleaning
|
||||
+ if (!base::PathExists(crash_file_path)) {
|
||||
+ LOG(ERROR) << "Crash report: file " << crash_file_path
|
||||
+ << " no more available";
|
||||
+ return std::string();
|
||||
+ }
|
||||
+
|
||||
+ std::vector<base::FilePath> files_list;
|
||||
+ files_list.push_back(crash_file_path.BaseName());
|
||||
+
|
||||
+ // open zip file
|
||||
+ base::File zip_f(zip_file_name,
|
||||
+ base::File::FLAG_CREATE | base::File::FLAG_WRITE);
|
||||
+ auto result = zip::ZipFiles(crash_file_path.DirName(), files_list, zip_f.GetPlatformFile());
|
||||
+ zip_f.Close();
|
||||
+ if (result) {
|
||||
+ return zip_file_name.value();
|
||||
+ }
|
||||
+
|
||||
+ LOG(ERROR) << "Crash report: cannot create zip content";
|
||||
+ return std::string();
|
||||
+}
|
||||
+
|
||||
+void CrashesDOMHandler::RequestSingleUploadCallback(const std::string& local_id,
|
||||
+ const std::string& file_name) {
|
||||
+ if (!file_name.empty()) {
|
||||
+ upload_list_->RequestSingleUploadAsync(local_id);
|
||||
+
|
||||
+ base::FilePath file_path(file_name);
|
||||
+ web_contents_->GetController().LoadURL(
|
||||
+ net::FilePathToFileURL(file_path), {}, {}, {});
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void CrashesDOMHandler::HandleRequestNewExtraction(
|
||||
+ const base::ListValue* args) {
|
||||
+ base::ThreadPool::PostTask(
|
||||
+ FROM_HERE, kLoadingTaskTraits,
|
||||
+ base::BindOnce(&CrashesDOMHandler::RequestNewExtraction, base::Unretained(this)));
|
||||
+}
|
||||
+
|
||||
+void CrashesDOMHandler::RequestNewExtraction() {
|
||||
+ base::debug::DumpWithoutCrashing();
|
||||
+ // ask java to get file from crashpad and to add logcat
|
||||
+ upload_list_->RequestNewExtraction();
|
||||
+}
|
||||
+
|
||||
+void CrashesDOMHandler::HandleRequestClearAll(
|
||||
+ const base::ListValue* args) {
|
||||
+ base::ThreadPool::PostTaskAndReply(
|
||||
+ FROM_HERE, kLoadingTaskTraits,
|
||||
+ base::BindOnce(&CrashesDOMHandler::ClearAll, base::Unretained(this)),
|
||||
+ base::BindOnce(&CrashesDOMHandler::RequestCrashesList, base::Unretained(this)));
|
||||
+}
|
||||
+
|
||||
+void CrashesDOMHandler::ClearAll() {
|
||||
+ // get android crash report dir
|
||||
+ base::FilePath cache_dir;
|
||||
+ base::android::GetCacheDirectory(&cache_dir);
|
||||
+ base::FilePath upload_log_path = cache_dir.Append("Crash Reports");
|
||||
+
|
||||
+ base::FileEnumerator dir_enum(
|
||||
+ upload_log_path,
|
||||
+ /*recursive=*/false, base::FileEnumerator::FILES);
|
||||
+ base::FilePath full_name;
|
||||
+ while (full_name = dir_enum.Next(), !full_name.empty()) {
|
||||
+ // remove all files, don't care for result
|
||||
+ base::DeleteFile(full_name);
|
||||
}
|
||||
- upload_list_->RequestSingleUploadAsync(local_id);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
@@ -258,7 +400,8 @@ void CrashesDOMHandler::HandleRequestSingleCrashUpload(
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
CrashesUI::CrashesUI(content::WebUI* web_ui) : WebUIController(web_ui) {
|
||||
- web_ui->AddMessageHandler(std::make_unique<CrashesDOMHandler>());
|
||||
+ web_ui->AddMessageHandler(std::make_unique<CrashesDOMHandler>(
|
||||
+ web_ui->GetWebContents()));
|
||||
|
||||
// Set up the chrome://crashes/ source.
|
||||
Profile* profile = Profile::FromWebUI(web_ui);
|
||||
diff --git a/components/crash/core/browser/crashes_ui_util.cc b/components/crash/core/browser/crashes_ui_util.cc
|
||||
--- a/components/crash/core/browser/crashes_ui_util.cc
|
||||
+++ b/components/crash/core/browser/crashes_ui_util.cc
|
||||
@@ -39,6 +39,8 @@ const CrashesUILocalizedString kCrashesUILocalizedStrings[] = {
|
||||
{"uploadId", IDS_CRASH_REPORT_UPLOADED_ID},
|
||||
{"uploadNowLinkText", IDS_CRASH_UPLOAD_NOW_LINK_TEXT},
|
||||
{"uploadTime", IDS_CRASH_REPORT_UPLOADED_TIME},
|
||||
+ {"clearAll", IDS_CRASH_CLEAR_ALL_TEXT},
|
||||
+ {"extractNow", IDS_CRASH_EXTRACT_NOW_TEXT},
|
||||
};
|
||||
|
||||
const size_t kCrashesUILocalizedStringsCount =
|
||||
@@ -52,6 +54,8 @@ const char kCrashesUIRequestCrashUpload[] = "requestCrashUpload";
|
||||
const char kCrashesUIShortProductName[] = "shortProductName";
|
||||
const char kCrashesUIUpdateCrashList[] = "update-crash-list";
|
||||
const char kCrashesUIRequestSingleCrashUpload[] = "requestSingleCrashUpload";
|
||||
+const char kCrashesUIHandleClearAll[] = "requestClearAll";
|
||||
+const char kCrashesUIHandleRequestNewExtraction[] = "requestNewExtraction";
|
||||
|
||||
std::string UploadInfoStateAsString(UploadList::UploadInfo::State state) {
|
||||
switch (state) {
|
||||
diff --git a/components/crash/core/browser/crashes_ui_util.h b/components/crash/core/browser/crashes_ui_util.h
|
||||
--- a/components/crash/core/browser/crashes_ui_util.h
|
||||
+++ b/components/crash/core/browser/crashes_ui_util.h
|
||||
@@ -36,6 +36,8 @@ extern const char kCrashesUIRequestCrashUpload[];
|
||||
extern const char kCrashesUIShortProductName[];
|
||||
extern const char kCrashesUIUpdateCrashList[];
|
||||
extern const char kCrashesUIRequestSingleCrashUpload[];
|
||||
+extern const char kCrashesUIHandleClearAll[];
|
||||
+extern const char kCrashesUIHandleRequestNewExtraction[];
|
||||
|
||||
// Converts and appends the most recent uploads to |out_value|.
|
||||
void UploadListToValue(UploadList* upload_list, base::ListValue* out_value);
|
||||
diff --git a/components/crash/core/browser/resources/crashes.css b/components/crash/core/browser/resources/crashes.css
|
||||
--- a/components/crash/core/browser/resources/crashes.css
|
||||
+++ b/components/crash/core/browser/resources/crashes.css
|
||||
@@ -3,7 +3,9 @@
|
||||
* found in the LICENSE file. */
|
||||
|
||||
body {
|
||||
- margin: 20px;
|
||||
+ margin: 0;
|
||||
+ padding: 1em;
|
||||
+ font-size: 100%;
|
||||
}
|
||||
|
||||
h1 {
|
||||
@@ -27,7 +29,6 @@ html[dir=rtl] h1 {
|
||||
background-color: rgb(235, 239, 250);
|
||||
border: 1px solid #bbb;
|
||||
border-radius: 2px;
|
||||
- display: flex;
|
||||
font-size: 100%;
|
||||
padding: 4px;
|
||||
}
|
||||
@@ -80,3 +81,65 @@ html[dir=rtl] h1 {
|
||||
.not-uploaded {
|
||||
color: #a0a0a0;
|
||||
}
|
||||
+
|
||||
+label {
|
||||
+ float: right;
|
||||
+}
|
||||
+
|
||||
+#countBanner > div {
|
||||
+ display: flex;
|
||||
+ justify-content: flex-end;
|
||||
+ margin-top: 10px;
|
||||
+}
|
||||
+
|
||||
+.spinner {
|
||||
+ width: 50px;
|
||||
+ height: 40px;
|
||||
+ text-align: center;
|
||||
+ font-size: 10px;
|
||||
+}
|
||||
+
|
||||
+.spinner > div {
|
||||
+ background-color: #333;
|
||||
+ height: 100%;
|
||||
+ width: 6px;
|
||||
+ display: inline-block;
|
||||
+
|
||||
+ -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
|
||||
+ animation: sk-stretchdelay 1.2s infinite ease-in-out;
|
||||
+}
|
||||
+
|
||||
+.spinner .rect2 {
|
||||
+ -webkit-animation-delay: -1.1s;
|
||||
+ animation-delay: -1.1s;
|
||||
+}
|
||||
+
|
||||
+.spinner .rect3 {
|
||||
+ -webkit-animation-delay: -1.0s;
|
||||
+ animation-delay: -1.0s;
|
||||
+}
|
||||
+
|
||||
+.spinner .rect4 {
|
||||
+ -webkit-animation-delay: -0.9s;
|
||||
+ animation-delay: -0.9s;
|
||||
+}
|
||||
+
|
||||
+.spinner .rect5 {
|
||||
+ -webkit-animation-delay: -0.8s;
|
||||
+ animation-delay: -0.8s;
|
||||
+}
|
||||
+
|
||||
+@-webkit-keyframes sk-stretchdelay {
|
||||
+ 0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
|
||||
+ 20% { -webkit-transform: scaleY(1.0) }
|
||||
+}
|
||||
+
|
||||
+@keyframes sk-stretchdelay {
|
||||
+ 0%, 40%, 100% {
|
||||
+ transform: scaleY(0.4);
|
||||
+ -webkit-transform: scaleY(0.4);
|
||||
+ } 20% {
|
||||
+ transform: scaleY(1.0);
|
||||
+ -webkit-transform: scaleY(1.0);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/components/crash/core/browser/resources/crashes.html b/components/crash/core/browser/resources/crashes.html
|
||||
--- a/components/crash/core/browser/resources/crashes.html
|
||||
+++ b/components/crash/core/browser/resources/crashes.html
|
||||
@@ -1,6 +1,7 @@
|
||||
<!doctype html>
|
||||
<html dir="$i18n{textdirection}" lang="$i18n{language}">
|
||||
<head>
|
||||
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta charset="utf-8">
|
||||
|
||||
<if expr="is_ios">
|
||||
@@ -39,6 +40,22 @@
|
||||
<input type="checkbox" id="showDevDetails">
|
||||
$i18n{showDeveloperDetails}
|
||||
</label>
|
||||
+ <div style="clear: both"></div>
|
||||
+ <div>
|
||||
+ <button class="button" id="clearAll">
|
||||
+ $i18n{clearAll}
|
||||
+ </button>
|
||||
+ <button class="button" id="newExtraction">
|
||||
+ $i18n{extractNow}
|
||||
+ </button>
|
||||
+ <div class="spinner" id="spinner" hidden>
|
||||
+ <div class="rect1"></div>
|
||||
+ <div class="rect2"></div>
|
||||
+ <div class="rect3"></div>
|
||||
+ <div class="rect4"></div>
|
||||
+ <div class="rect5"></div>
|
||||
+ </div>
|
||||
+ </div>
|
||||
</h2>
|
||||
|
||||
<div id="crashList">
|
||||
diff --git a/components/crash/core/browser/resources/crashes.js b/components/crash/core/browser/resources/crashes.js
|
||||
--- a/components/crash/core/browser/resources/crashes.js
|
||||
+++ b/components/crash/core/browser/resources/crashes.js
|
||||
@@ -49,6 +49,7 @@ function updateCrashList({
|
||||
|
||||
$('disabledMode').hidden = enabled;
|
||||
$('crashUploadStatus').hidden = !enabled || !dynamicBackend;
|
||||
+ $('spinner').hidden = true;
|
||||
|
||||
const template = crashList.getElementsByTagName('template')[0];
|
||||
|
||||
@@ -115,22 +116,16 @@ function updateCrashList({
|
||||
|
||||
uploadTime.querySelector('.value').textContent = crash.upload_time;
|
||||
|
||||
- sendNowButton.remove();
|
||||
- fileBugButton.onclick = () => fileBug(crash.id, os, version);
|
||||
+ fileBugButton.remove();
|
||||
} else {
|
||||
uploadId.remove();
|
||||
uploadTime.remove();
|
||||
fileBugButton.remove();
|
||||
- // Do not allow crash submission if the Chromium build does not support
|
||||
- // it, or if the user already requested it.
|
||||
- if (!manualUploads || crash.state === 'pending_user_requested') {
|
||||
- sendNowButton.remove();
|
||||
- }
|
||||
- sendNowButton.onclick = (e) => {
|
||||
- e.target.disabled = true;
|
||||
- chrome.send('requestSingleCrashUpload', [crash.local_id]);
|
||||
- };
|
||||
}
|
||||
+ sendNowButton.onclick = (e) => {
|
||||
+ e.target.disabled = true;
|
||||
+ chrome.send('requestSingleCrashUpload', [crash.local_id]);
|
||||
+ };
|
||||
|
||||
const fileSize = crashRow.querySelector('.file-size');
|
||||
if (crash.file_size === '') {
|
||||
@@ -201,6 +196,27 @@ function requestCrashUpload() {
|
||||
refreshCrashListId = setTimeout(requestCrashes, 5000);
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * Request new log extraction.
|
||||
+ */
|
||||
+ function requestNewExtraction() {
|
||||
+ chrome.send('requestNewExtraction');
|
||||
+
|
||||
+ // show spinner
|
||||
+ $('spinner').hidden = false;
|
||||
+
|
||||
+ // Trigger a refresh in 3 seconds. Clear any previous requests.
|
||||
+ clearTimeout(refreshCrashListId);
|
||||
+ refreshCrashListId = setTimeout(requestCrashes, 3000);
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * Request remove all crash files.
|
||||
+ */
|
||||
+ function requestClearAll() {
|
||||
+ chrome.send('requestClearAll');
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* Toggles hiding/showing the developer details of a crash report, depending
|
||||
* on the value of the check box.
|
||||
@@ -214,5 +230,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
addWebUIListener('update-crash-list', updateCrashList);
|
||||
$('uploadCrashes').onclick = requestCrashUpload;
|
||||
$('showDevDetails').onclick = toggleDevDetails;
|
||||
+ $('clearAll').onclick = requestClearAll;
|
||||
+ $('newExtraction').onclick = requestNewExtraction;
|
||||
requestCrashes();
|
||||
});
|
||||
diff --git a/components/crash_strings.grdp b/components/crash_strings.grdp
|
||||
--- a/components/crash_strings.grdp
|
||||
+++ b/components/crash_strings.grdp
|
||||
@@ -19,22 +19,22 @@
|
||||
Status:
|
||||
</message>
|
||||
<message name="IDS_CRASH_REPORT_STATUS_NOT_UPLOADED" desc="Value on chrome://crashes for the 'not uploaded' status of a crash report.">
|
||||
- Not uploaded
|
||||
+ Not saved
|
||||
</message>
|
||||
<message name="IDS_CRASH_REPORT_STATUS_PENDING" desc="Value on chrome://crashes for the 'pending' status of a crash report.">
|
||||
- Not yet uploaded, or ignored
|
||||
+ Not yet saved, or ignored
|
||||
</message>
|
||||
<message name="IDS_CRASH_REPORT_STATUS_PENDING_USER_REQUESTED" desc="Value on chrome://crashes for the 'pending user requested' status of a crash report.">
|
||||
- Upload requested by user
|
||||
+ Save requested by user
|
||||
</message>
|
||||
<message name="IDS_CRASH_REPORT_STATUS_UPLOADED" desc="Value on chrome://crashes for the 'uploaded' status of a crash report.">
|
||||
- Uploaded
|
||||
+ Saved
|
||||
</message>
|
||||
<message name="IDS_CRASH_REPORT_UPLOADED_ID" desc="Label on chrome://crashes for the identifier for an uploaded crash report on chrome://crashes">
|
||||
- Uploaded Crash Report ID:
|
||||
+ Saved Crash Report File:
|
||||
</message>
|
||||
<message name="IDS_CRASH_REPORT_UPLOADED_TIME" desc="Label on chrome://crashes for the time at which the crash report was uploaded.">
|
||||
- Upload Time:
|
||||
+ Saved Time:
|
||||
</message>
|
||||
<message name="IDS_CRASH_REPORT_LOCAL_ID" desc="Label on chrome://crashes for the identifier of a crash report on the user's machine">
|
||||
Local Crash Context:
|
||||
@@ -53,9 +53,15 @@
|
||||
Crash reporting is disabled.
|
||||
</message>
|
||||
<message name="IDS_CRASH_UPLOAD_MESSAGE" desc="Link text for triggering crash uploading on chrome://crashes">
|
||||
- Start uploading crashes
|
||||
+ Start saving crashes
|
||||
</message>
|
||||
<message name="IDS_CRASH_UPLOAD_NOW_LINK_TEXT" desc="Link text for manual uploads of a crash report">
|
||||
- Send now
|
||||
+ Save now
|
||||
+ </message>
|
||||
+ <message name="IDS_CRASH_CLEAR_ALL_TEXT" desc="Link text for clear all crash files">
|
||||
+ Clear all
|
||||
+ </message>
|
||||
+ <message name="IDS_CRASH_EXTRACT_NOW_TEXT" desc="Link text for manual generation of a crash report">
|
||||
+ Generate report
|
||||
</message>
|
||||
</grit-part>
|
||||
diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java
|
||||
--- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java
|
||||
+++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java
|
||||
@@ -107,6 +107,8 @@ public class CrashFileManager {
|
||||
|
||||
private static final Pattern TMP_PATTERN = Pattern.compile("\\.tmp\\z");
|
||||
|
||||
+ private static final String SAVED_MINIDUMP_ZIP_SUFFIX = ".zip";
|
||||
+
|
||||
// The maximum number of non-uploaded crashes that may be kept in the crash reports directory.
|
||||
// Chosen to attempt to balance between keeping a generous number of crashes, and not using up
|
||||
// too much filesystem storage space for obsolete crash reports.
|
||||
@@ -116,7 +118,7 @@ public class CrashFileManager {
|
||||
// The maximum age, in days, considered acceptable for a crash report. Reports older than this
|
||||
// age will be removed. The constant is chosen to be quite conservative, while still allowing
|
||||
// users to eventually reclaim filesystem storage space from obsolete crash reports.
|
||||
- private static final int MAX_CRASH_REPORT_AGE_IN_DAYS = 30;
|
||||
+ private static final int MAX_CRASH_REPORT_AGE_IN_DAYS = 5;
|
||||
|
||||
// The maximum number of non-uploaded crashes to copy to the crash reports directory. The
|
||||
// difference between this value and MAX_CRASH_REPORTS_TO_KEEP is that TO_KEEP is only checked
|
||||
@@ -586,6 +588,9 @@ public class CrashFileManager {
|
||||
&& !f.getName().contains(UPLOAD_FORCED_MINIDUMP_SUFFIX)) {
|
||||
continue;
|
||||
}
|
||||
+ // as above, zip files must also be excluded
|
||||
+ if (f.getName().endsWith(SAVED_MINIDUMP_ZIP_SUFFIX))
|
||||
+ continue;
|
||||
|
||||
String filenameSansExtension = f.getName().split("\\.")[0];
|
||||
if (filenameSansExtension.endsWith(localId)) {
|
||||
diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java
|
||||
--- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java
|
||||
+++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java
|
||||
@@ -63,26 +63,8 @@ public class MinidumpUploadCallable implements Callable<Integer> {
|
||||
if (mPermManager.isUploadEnabledForTests()) {
|
||||
Log.i(TAG, "Minidump upload enabled for tests, skipping other checks.");
|
||||
} else if (!CrashFileManager.isForcedUpload(mFileToUpload)) {
|
||||
- if (!mPermManager.isUsageAndCrashReportingPermittedByUser()) {
|
||||
- Log.i(TAG, "Minidump upload is not permitted by user. Marking file as skipped for "
|
||||
- + "cleanup to prevent future uploads.");
|
||||
- CrashFileManager.markUploadSkipped(mFileToUpload);
|
||||
- return MinidumpUploadStatus.USER_DISABLED;
|
||||
- }
|
||||
-
|
||||
- if (!mPermManager.isClientInMetricsSample()) {
|
||||
- Log.i(TAG, "Minidump upload skipped due to sampling. Marking file as skipped for "
|
||||
- + "cleanup to prevent future uploads.");
|
||||
- CrashFileManager.markUploadSkipped(mFileToUpload);
|
||||
- return MinidumpUploadStatus.DISABLED_BY_SAMPLING;
|
||||
- }
|
||||
-
|
||||
- if (!mPermManager.isNetworkAvailableForCrashUploads()) {
|
||||
- Log.i(TAG, "Minidump cannot currently be uploaded due to network constraints.");
|
||||
- return MinidumpUploadStatus.FAILURE;
|
||||
- }
|
||||
+ return MinidumpUploadStatus.USER_DISABLED;
|
||||
}
|
||||
-
|
||||
MinidumpUploader.Result result = mMinidumpUploader.upload(mFileToUpload);
|
||||
if (result.isSuccess()) {
|
||||
String uploadId = result.message();
|
||||
diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploader.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploader.java
|
||||
--- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploader.java
|
||||
+++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploader.java
|
||||
@@ -120,31 +120,10 @@ public class MinidumpUploader {
|
||||
if (fileToUpload == null || !fileToUpload.exists()) {
|
||||
return Result.failure("Crash report does not exist");
|
||||
}
|
||||
- HttpURLConnection connection =
|
||||
- mHttpURLConnectionFactory.createHttpURLConnection(CRASH_URL_STRING);
|
||||
- if (connection == null) {
|
||||
- return Result.failure("Failed to create connection");
|
||||
- }
|
||||
- configureConnectionForHttpPost(connection, readBoundary(fileToUpload));
|
||||
-
|
||||
- try (InputStream minidumpInputStream = new FileInputStream(fileToUpload);
|
||||
- OutputStream requestBodyStream =
|
||||
- new GZIPOutputStream(connection.getOutputStream())) {
|
||||
- streamCopy(minidumpInputStream, requestBodyStream);
|
||||
- int responseCode = connection.getResponseCode();
|
||||
- if (isSuccessful(responseCode)) {
|
||||
- // The crash server returns the crash ID in the response body.
|
||||
- String responseContent = getResponseContentAsString(connection);
|
||||
- String uploadId = responseContent != null ? responseContent : "unknown";
|
||||
- return Result.success(uploadId);
|
||||
- } else {
|
||||
- // Return the remote error code and message.
|
||||
- return Result.uploadError(responseCode, connection.getResponseMessage());
|
||||
- }
|
||||
- } finally {
|
||||
- connection.disconnect();
|
||||
- }
|
||||
- } catch (IOException | RuntimeException e) {
|
||||
+ // for us, it's always good
|
||||
+ // returns the file name without path, which will be registered as local_id
|
||||
+ return Result.success(fileToUpload.getName());
|
||||
+ } catch (RuntimeException e) {
|
||||
return Result.failure(e.toString());
|
||||
}
|
||||
}
|
||||
diff --git a/components/upload_list/text_log_upload_list.cc b/components/upload_list/text_log_upload_list.cc
|
||||
--- a/components/upload_list/text_log_upload_list.cc
|
||||
+++ b/components/upload_list/text_log_upload_list.cc
|
||||
@@ -108,6 +108,7 @@ std::unique_ptr<TextLogUploadList::UploadInfo> TryParseCsvLogEntry(
|
||||
}
|
||||
auto info = std::make_unique<TextLogUploadList::UploadInfo>(components[1],
|
||||
upload_time);
|
||||
+ info->file_path = components[1];
|
||||
|
||||
// Add local ID if present.
|
||||
if (components.size() > 2)
|
||||
diff --git a/components/upload_list/upload_list.cc b/components/upload_list/upload_list.cc
|
||||
--- a/components/upload_list/upload_list.cc
|
||||
+++ b/components/upload_list/upload_list.cc
|
||||
@@ -55,7 +55,8 @@ UploadList::UploadInfo::UploadInfo(const UploadInfo& upload_info)
|
||||
capture_time(upload_info.capture_time),
|
||||
state(upload_info.state),
|
||||
source(upload_info.source),
|
||||
- file_size(upload_info.file_size) {}
|
||||
+ file_size(upload_info.file_size),
|
||||
+ file_path(upload_info.file_path) {}
|
||||
|
||||
UploadList::UploadInfo::~UploadInfo() = default;
|
||||
|
||||
@@ -108,6 +109,11 @@ void UploadList::RequestSingleUpload(const std::string& local_id) {
|
||||
NOTREACHED();
|
||||
}
|
||||
|
||||
+void UploadList::RequestNewExtraction() {
|
||||
+ // only available for Android. overrided in crash_upload_list_android.cc
|
||||
+ NOTREACHED();
|
||||
+}
|
||||
+
|
||||
void UploadList::OnLoadComplete(const std::vector<UploadInfo>& uploads) {
|
||||
uploads_ = uploads;
|
||||
if (!load_callback_.is_null())
|
||||
@@ -118,3 +124,12 @@ void UploadList::OnClearComplete() {
|
||||
if (!clear_callback_.is_null())
|
||||
std::move(clear_callback_).Run();
|
||||
}
|
||||
+
|
||||
+std::string UploadList::GetFilePathByLocalId(const std::string& local_id) {
|
||||
+ for (auto info : uploads_) {
|
||||
+ if (info.local_id == local_id) {
|
||||
+ return info.file_path;
|
||||
+ }
|
||||
+ }
|
||||
+ return std::string();
|
||||
+}
|
||||
diff --git a/components/upload_list/upload_list.h b/components/upload_list/upload_list.h
|
||||
--- a/components/upload_list/upload_list.h
|
||||
+++ b/components/upload_list/upload_list.h
|
||||
@@ -66,6 +66,9 @@ class UploadList : public base::RefCountedThreadSafe<UploadList> {
|
||||
|
||||
// Formatted file size for locally stored data.
|
||||
std::u16string file_size;
|
||||
+
|
||||
+ // path of crash file
|
||||
+ std::string file_path;
|
||||
};
|
||||
|
||||
UploadList();
|
||||
@@ -92,6 +95,12 @@ class UploadList : public base::RefCountedThreadSafe<UploadList> {
|
||||
// Must be called only after a Load() callback has been received.
|
||||
void GetUploads(size_t max_count, std::vector<UploadInfo>* uploads);
|
||||
|
||||
+ // Get full path of crash file for local_id
|
||||
+ std::string GetFilePathByLocalId(const std::string& local_id);
|
||||
+
|
||||
+ // Request new log extraction
|
||||
+ virtual void RequestNewExtraction();
|
||||
+
|
||||
protected:
|
||||
virtual ~UploadList();
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -121,7 +121,7 @@ diff --git a/chrome/service/cloud_print/connector_settings.cc b/chrome/service/c
|
||||
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
|
||||
--- a/components/autofill/core/browser/autofill_manager.cc
|
||||
+++ b/components/autofill/core/browser/autofill_manager.cc
|
||||
@@ -974,10 +974,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
|
||||
@@ -973,10 +973,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
|
||||
// suggestions available.
|
||||
// TODO(mathp): Differentiate between number of suggestions available
|
||||
// (current metric) and number shown to the user.
|
||||
@@ -133,7 +133,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1552,8 +1549,8 @@ void AutofillManager::Reset() {
|
||||
@@ -1551,8 +1548,8 @@ void AutofillManager::Reset() {
|
||||
credit_card_access_manager_ = std::make_unique<CreditCardAccessManager>(
|
||||
driver(), client(), personal_data_, credit_card_form_event_logger_.get());
|
||||
|
||||
|
||||
@@ -9,15 +9,15 @@ Subject: Offer builtin autocomplete for chrome://flags
|
||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
@@ -350,6 +350,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
#endif
|
||||
builtins_to_provide.push_back(
|
||||
base::ASCIIToUTF16(chrome::kChromeUIVersionURL));
|
||||
@@ -342,6 +342,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
|
||||
std::vector<std::u16string>
|
||||
ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
std::vector<std::u16string> builtins_to_provide;
|
||||
+ builtins_to_provide.push_back(
|
||||
+ base::ASCIIToUTF16(chrome::kChromeUIFlagsURL));
|
||||
return builtins_to_provide;
|
||||
}
|
||||
|
||||
builtins_to_provide.push_back(
|
||||
base::ASCIIToUTF16(chrome::kChromeUIChromeURLsURL));
|
||||
#if !defined(OS_ANDROID)
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
||||
@@ -532,7 +532,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -88,7 +88,6 @@ import org.chromium.chrome.browser.download.DownloadUtils;
|
||||
@@ -87,7 +87,6 @@ import org.chromium.chrome.browser.download.DownloadUtils;
|
||||
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
|
||||
import org.chromium.chrome.browser.feed.v2.FeedStreamSurface;
|
||||
import org.chromium.chrome.browser.feed.webfeed.WebFeedBridge;
|
||||
@@ -540,7 +540,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.flags.ActivityType;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.flags.ChromeSwitches;
|
||||
@@ -102,7 +101,6 @@ import org.chromium.chrome.browser.incognito.IncognitoTabLauncher;
|
||||
@@ -101,7 +100,6 @@ import org.chromium.chrome.browser.incognito.IncognitoTabLauncher;
|
||||
import org.chromium.chrome.browser.incognito.IncognitoTabSnapshotController;
|
||||
import org.chromium.chrome.browser.incognito.IncognitoUtils;
|
||||
import org.chromium.chrome.browser.infobar.DataReductionPromoInfoBar;
|
||||
@@ -548,7 +548,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
|
||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
||||
import org.chromium.chrome.browser.locale.LocaleManager;
|
||||
@@ -603,7 +601,6 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -602,7 +600,6 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
Toast.LENGTH_SHORT)
|
||||
.show();
|
||||
}
|
||||
@@ -556,7 +556,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -618,9 +615,6 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -617,9 +614,6 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
}
|
||||
|
||||
private void refreshSignIn() {
|
||||
@@ -2342,7 +2342,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
import org.chromium.chrome.browser.signin.ui.SigninPromoUtil;
|
||||
import org.chromium.chrome.browser.status_indicator.StatusIndicatorCoordinator;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
@@ -651,21 +649,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -649,21 +647,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
}
|
||||
|
||||
private boolean maybeShowPromo() {
|
||||
|
||||
@@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggest
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3250,6 +3250,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3244,6 +3244,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kAndroidAutofillAccessibilityName,
|
||||
flag_descriptions::kAndroidAutofillAccessibilityDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(features::kAndroidAutofillAccessibility)},
|
||||
@@ -67,7 +67,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -2202,6 +2202,11 @@
|
||||
@@ -2207,6 +2207,11 @@
|
||||
// with neural net palm detection.
|
||||
"expiry_milestone": 90
|
||||
},
|
||||
@@ -82,7 +82,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -3368,6 +3368,11 @@ const char kSafeBrowsingUseLocalBlacklistsV2Description[] =
|
||||
@@ -3366,6 +3366,11 @@ const char kSafeBrowsingUseLocalBlacklistsV2Description[] =
|
||||
"process to check the Safe Browsing reputation of URLs without calling "
|
||||
"into GmsCore for every URL.";
|
||||
|
||||
@@ -97,7 +97,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1946,6 +1946,9 @@ extern const char kEnhancedProtectionPromoAndroidDescription[];
|
||||
@@ -1943,6 +1943,9 @@ extern const char kEnhancedProtectionPromoAndroidDescription[];
|
||||
extern const char kSafeBrowsingUseLocalBlacklistsV2Name[];
|
||||
extern const char kSafeBrowsingUseLocalBlacklistsV2Description[];
|
||||
|
||||
|
||||
@@ -207,14 +207,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
@@ -36,6 +36,7 @@ import org.chromium.chrome.browser.cryptids.ProbabilisticCryptidRenderer;
|
||||
@@ -35,6 +35,7 @@ import org.chromium.chrome.browser.cryptids.ProbabilisticCryptidRenderer;
|
||||
import org.chromium.chrome.browser.explore_sites.ExperimentalExploreSitesSection;
|
||||
import org.chromium.chrome.browser.explore_sites.ExploreSitesBridge;
|
||||
import org.chromium.chrome.browser.lens.LensEntryPoint;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.lens.LensMetrics;
|
||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
||||
import org.chromium.chrome.browser.native_page.ContextMenuManager;
|
||||
import org.chromium.chrome.browser.ntp.LogoBridge.Logo;
|
||||
@@ -107,6 +108,8 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
|
||||
private UiConfig mUiConfig;
|
||||
private CallbackController mCallbackController = new CallbackController();
|
||||
@@ -251,7 +251,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
mSiteSectionViewHolder.itemView.setPadding(
|
||||
0, paddingTop, 0, mSiteSectionViewHolder.itemView.getPaddingBottom());
|
||||
}
|
||||
@@ -946,6 +956,22 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
|
||||
@@ -950,6 +960,22 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
|
||||
return iphCommandBuilder;
|
||||
}
|
||||
|
||||
@@ -325,7 +325,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3831,6 +3831,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3825,6 +3825,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
SINGLE_VALUE_TYPE_AND_VALUE(
|
||||
switches::kForceShowUpdateMenuItemCustomSummary,
|
||||
"Custom Summary")},
|
||||
@@ -338,7 +338,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -3407,6 +3407,9 @@ const char kStartSurfaceAndroidDescription[] =
|
||||
@@ -3405,6 +3405,9 @@ const char kStartSurfaceAndroidDescription[] =
|
||||
"Enable showing the start surface when launching Chrome via the "
|
||||
"launcher.";
|
||||
|
||||
@@ -351,7 +351,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1967,6 +1967,9 @@ extern const char kSiteIsolationForPasswordSitesDescription[];
|
||||
@@ -1964,6 +1964,9 @@ extern const char kSiteIsolationForPasswordSitesDescription[];
|
||||
extern const char kSmartSuggestionForLargeDownloadsName[];
|
||||
extern const char kSmartSuggestionForLargeDownloadsDescription[];
|
||||
|
||||
@@ -364,7 +364,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
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
|
||||
@@ -196,6 +196,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
|
||||
@@ -197,6 +197,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
|
||||
&kEphemeralTabUsingBottomSheet,
|
||||
&kExperimentsForAgsa,
|
||||
&kExploreSites,
|
||||
@@ -372,7 +372,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
&kFocusOmniboxInIncognitoTabIntents,
|
||||
&kGoogleLensSdkIntent,
|
||||
&kHandleMediaIntents,
|
||||
@@ -593,6 +594,9 @@ const base::Feature kOfflineIndicatorV2{"OfflineIndicatorV2",
|
||||
@@ -597,6 +598,9 @@ const base::Feature kOfflineIndicatorV2{"OfflineIndicatorV2",
|
||||
const base::Feature kOfflineMeasurementsBackgroundTask{
|
||||
"OfflineMeasurementsBackgroundTask", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
@@ -385,7 +385,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
@@ -102,6 +102,7 @@ extern const base::Feature kNotificationSuspender;
|
||||
@@ -103,6 +103,7 @@ extern const base::Feature kNotificationSuspender;
|
||||
extern const base::Feature kOfflineIndicatorV2;
|
||||
extern const base::Feature kOfflineMeasurementsBackgroundTask;
|
||||
extern const base::Feature kOmniboxSpareRenderer;
|
||||
@@ -396,7 +396,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -367,6 +367,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -368,6 +368,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String LOOKALIKE_NAVIGATION_URL_SUGGESTIONS_UI =
|
||||
"LookalikeUrlNavigationSuggestionsUI";
|
||||
public static final String MARK_HTTP_AS = "MarkHttpAs";
|
||||
@@ -429,7 +429,7 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu
|
||||
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
|
||||
--- a/testing/variations/fieldtrial_testing_config.json
|
||||
+++ b/testing/variations/fieldtrial_testing_config.json
|
||||
@@ -6626,6 +6626,24 @@
|
||||
@@ -6641,6 +6641,24 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
@@ -13,7 +13,7 @@ This reverts commit 4e598f38a0e6dd3dbede009c6a99b2a520a94e1f.
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3275,6 +3275,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3269,6 +3269,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
SINGLE_VALUE_TYPE(switches::kHostedAppQuitNotification)},
|
||||
#endif // OS_MAC
|
||||
#if defined(OS_ANDROID)
|
||||
@@ -27,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -1102,6 +1102,11 @@
|
||||
@@ -1107,6 +1107,11 @@
|
||||
// enable-javascript-harmony.
|
||||
"expiry_milestone": -1
|
||||
},
|
||||
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -3304,6 +3304,10 @@ const char kReadLaterDescription[] =
|
||||
@@ -3302,6 +3302,10 @@ const char kReadLaterDescription[] =
|
||||
"Allow users to save tabs for later. Enables a new button and menu for "
|
||||
"accessing tabs saved for later.";
|
||||
|
||||
@@ -56,7 +56,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1911,6 +1911,9 @@ extern const char kQueryTilesMoreTrendingDescription[];
|
||||
@@ -1908,6 +1908,9 @@ extern const char kQueryTilesMoreTrendingDescription[];
|
||||
extern const char kQueryTilesSwapTrendingName[];
|
||||
extern const char kQueryTilesSwapTrendingDescription[];
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
const FeatureEntry::Choice kTouchTextSelectionStrategyChoices[] = {
|
||||
{flags_ui::kGenericExperimentChoiceDefault, "", ""},
|
||||
{flag_descriptions::kTouchSelectionStrategyCharacter,
|
||||
@@ -3370,6 +3379,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3364,6 +3373,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
feature_engagement::kIPHDemoMode,
|
||||
feature_engagement::kIPHDemoModeChoiceVariations,
|
||||
"IPH_DemoMode")},
|
||||
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -3624,6 +3624,11 @@
|
||||
@@ -3629,6 +3629,11 @@
|
||||
],
|
||||
"expiry_milestone": 95
|
||||
},
|
||||
@@ -57,7 +57,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1631,6 +1631,14 @@ const char kUseMultiloginEndpointName[] = "Use Multilogin endpoint.";
|
||||
@@ -1629,6 +1629,14 @@ const char kUseMultiloginEndpointName[] = "Use Multilogin endpoint.";
|
||||
const char kUseMultiloginEndpointDescription[] =
|
||||
"Use Gaia OAuth multilogin for identity consistency.";
|
||||
|
||||
@@ -75,7 +75,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -969,6 +969,13 @@ extern const char kNotificationsSystemFlagDescription[];
|
||||
@@ -966,6 +966,13 @@ extern const char kNotificationsSystemFlagDescription[];
|
||||
extern const char kUseMultiloginEndpointName[];
|
||||
extern const char kUseMultiloginEndpointDescription[];
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Unexpire tab groups flags
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -2509,7 +2509,7 @@
|
||||
@@ -2514,7 +2514,7 @@
|
||||
{
|
||||
"name": "enable-tab-groups",
|
||||
"owners": [ "memex-team@google.com" ],
|
||||
@@ -18,7 +18,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
||||
},
|
||||
{
|
||||
"name": "enable-tab-groups-continuation",
|
||||
@@ -2519,7 +2519,7 @@
|
||||
@@ -2524,7 +2524,7 @@
|
||||
{
|
||||
"name": "enable-tab-groups-ui-improvements",
|
||||
"owners": [ "memex-team@google.com" ],
|
||||
|
||||
@@ -12,7 +12,7 @@ Subject: Update i18n zh_CN support
|
||||
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
|
||||
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
|
||||
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
|
||||
@@ -7437,4 +7437,6 @@
|
||||
@@ -7434,4 +7434,6 @@
|
||||
<translation id="996250603853062861">正在建立安全连接...</translation>
|
||||
<translation id="99731366405731005">您需要开启 <ph name="LINK1_BEGIN" />Chrome 同步<ph name="LINK1_END" />才能使用 Wi-Fi 同步功能。<ph name="LINK2_BEGIN" />了解详情<ph name="LINK2_END" /></translation>
|
||||
<translation id="998747458861718449">检查(&N)</translation>
|
||||
|
||||
@@ -70,7 +70,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h
|
||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
@@ -919,4 +919,6 @@ chrome_java_resources = [
|
||||
@@ -920,4 +920,6 @@ chrome_java_resources = [
|
||||
"java/res/xml/search_widget_info.xml",
|
||||
"java/res/xml/sync_and_services_preferences.xml",
|
||||
"java/res/xml/tracing_preferences.xml",
|
||||
@@ -866,7 +866,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
|
||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
@@ -957,6 +957,9 @@ public final class ChromePreferenceKeys {
|
||||
@@ -960,6 +960,9 @@ public final class ChromePreferenceKeys {
|
||||
public static final KeyPrefix KEY_ZERO_SUGGEST_HEADER_GROUP_COLLAPSED_BY_DEFAULT_PREFIX =
|
||||
new KeyPrefix("zero_suggest_header_group_collapsed_by_default*");
|
||||
|
||||
@@ -876,7 +876,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
/**
|
||||
* These values are currently used as SharedPreferences keys, along with the keys in
|
||||
* {@link LegacyChromePreferenceKeys#getKeysInUse()}. Add new SharedPreferences keys
|
||||
@@ -1045,7 +1048,9 @@ public final class ChromePreferenceKeys {
|
||||
@@ -1049,7 +1052,9 @@ public final class ChromePreferenceKeys {
|
||||
SETTINGS_SAFETY_CHECK_RUN_COUNTER,
|
||||
SIGNIN_PROMO_IMPRESSIONS_COUNT_NTP,
|
||||
TWA_DISCLOSURE_SEEN_PACKAGES,
|
||||
|
||||
@@ -11,7 +11,7 @@ sysroot.
|
||||
diff --git a/DEPS b/DEPS
|
||||
--- a/DEPS
|
||||
+++ b/DEPS
|
||||
@@ -99,7 +99,7 @@ vars = {
|
||||
@@ -100,7 +100,7 @@ vars = {
|
||||
|
||||
# Check out and download nacl by default, unless on an arm mac.
|
||||
# This can be disabled e.g. with custom_vars.
|
||||
@@ -20,7 +20,7 @@ diff --git a/DEPS b/DEPS
|
||||
|
||||
# By default, do not check out src-internal. This can be overridden e.g. with
|
||||
# custom_vars.
|
||||
@@ -130,8 +130,8 @@ vars = {
|
||||
@@ -131,8 +131,8 @@ vars = {
|
||||
# support for other platforms may be added in the future.
|
||||
'checkout_openxr' : 'checkout_win',
|
||||
|
||||
@@ -31,7 +31,7 @@ diff --git a/DEPS b/DEPS
|
||||
|
||||
# By default bot checkouts the WPR archive files only when this
|
||||
# flag is set True.
|
||||
@@ -3636,49 +3636,6 @@ hooks = [
|
||||
@@ -3644,49 +3644,6 @@ hooks = [
|
||||
'sync', '--extract',
|
||||
],
|
||||
},
|
||||
@@ -81,7 +81,7 @@ diff --git a/DEPS b/DEPS
|
||||
{
|
||||
# Case-insensitivity for the Win SDK. Must run before win_toolchain below.
|
||||
'name': 'ciopfs_linux',
|
||||
@@ -3821,18 +3778,6 @@ hooks = [
|
||||
@@ -3829,18 +3786,6 @@ hooks = [
|
||||
'-s', 'src/buildtools/mac/clang-format.sha1',
|
||||
],
|
||||
},
|
||||
@@ -100,7 +100,7 @@ diff --git a/DEPS b/DEPS
|
||||
# Pull rc binaries using checked-in hashes.
|
||||
{
|
||||
'name': 'rc_win',
|
||||
@@ -3858,29 +3803,6 @@ hooks = [
|
||||
@@ -3866,29 +3811,6 @@ hooks = [
|
||||
'-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
|
||||
],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user