#475 from uazo/next-v119

Patches for v119
This commit is contained in:
uazo
2023-11-01 11:47:12 +03:00
committed by GitHub
216 changed files with 33553 additions and 29721 deletions
+1 -2
View File
@@ -96,8 +96,7 @@ jobs:
git commit -m $VERSION
git tag -a $VERSION -m $VERSION
git add -f v8
git commit -m ":NOEXPORT: v8"
git add -f v8 && git commit -m ":NOEXPORT: v8" || true
- name: Apply patches ${{ github.event.inputs.rtag }}
run: |
+1 -1
View File
@@ -1 +1 @@
118.0.5993.118
119.0.6045.53
+9 -9
View File
@@ -1,9 +1,8 @@
eyeo-117.0.5938.0-base.patch
eyeo-117.0.5938.0-chrome_integration.patch
eyeo-117.0.5938.0-android_api.patch
eyeo-117.0.5938.0-android_settings.patch
eyeo-117.0.5938.0-extension_api.patch
00Fix-eyeo-Browser-Ad-filtering-patches.patch
eyeo-beta-118.0.5993.48-base.patch
eyeo-beta-118.0.5993.48-chrome_integration.patch
eyeo-beta-118.0.5993.48-android_api.patch
eyeo-beta-118.0.5993.48-android_settings.patch
eyeo-beta-118.0.5993.48-extension_api.patch
00Eyeo-Adblock-Remove-Privacy-Issues.patch
00AdblockPlus-add-blocking-in-service-workers.patch
@@ -48,8 +47,7 @@ ungoogled-chromium-Disable-Gaia.patch
ungoogled-chromium-Disable-Network-Time-Tracker.patch
Disable-all-promo-dialogs.patch
Disable-update-scheduler.patch
Add-English-only-search-engine.patch
Add-DuckDuckGo-Lite-search-engine.patch
Add-search-engine.patch
openH264-enable-ARM-ARM64-optimizations.patch
build-remove-calling-untrusted-hooks.patch
Inject-scripts-for-AMP-tracking-ads-and-video.patch
@@ -268,7 +266,6 @@ Timezone-customization.patch
00Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch
00allow-the-download-of-clang-for-windows-crossbuild.patch
00Add-option-to-disable-snapshots.patch
00Disable-PartnerCustomizations.patch
00Enable-Android-Dynamic-Performance-Framework.patch
00Remove-GoogleAccountsPrivateApiHost.patch
00Fix-crash-on-customize-profile-ui.patch
@@ -280,6 +277,8 @@ Timezone-customization.patch
00Disable-prefers-reduced-transparency-media-query.patch
00libjxl-0-8-2.patch
00Add-support-to-jxl.patch
00Block-Intents-While-Locked.patch
00Keep-Manta-Service-Disabled.patch
00Temp-PerformanceNavigationTiming-privacy-fix.patch
00Temp-remove-support-for-shared-workers.patch
@@ -287,4 +286,5 @@ Timezone-customization.patch
00Temp-Disable-kAutomaticLazyFrameLoadingToEmbeds.patch
00Temp-disable-predictive-back-gesture.patch
00TEMP-Add-a-log-to-track-strange-behavior.patch
00Temp-guard-FileSystemAccessPersistentPermissions.patch
00Fix-chromium-build-bugs.patch
@@ -22,7 +22,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/browser/adblock/adblock_content_browser_client.cc
--- a/chrome/browser/adblock/adblock_content_browser_client.cc
+++ b/chrome/browser/adblock/adblock_content_browser_client.cc
@@ -45,6 +45,7 @@
@@ -43,6 +43,7 @@
#include "content/public/browser/web_contents.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "services/network/public/mojom/websocket.mojom.h"
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
#include "services/service_manager/public/cpp/binder_registry.h"
#include "third_party/blink/public/common/loader/url_loader_throttle.h"
@@ -58,6 +59,29 @@
@@ -56,6 +57,29 @@
namespace {
@@ -60,7 +60,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
bool IsFilteringNeeded(content::RenderFrameHost* frame) {
if (frame) {
auto* profile =
@@ -65,17 +89,7 @@ bool IsFilteringNeeded(content::RenderFrameHost* frame) {
@@ -63,17 +87,7 @@ bool IsFilteringNeeded(content::RenderFrameHost* frame) {
if (profile) {
content::RenderFrameHost* embedder = frame->GetOutermostMainFrameOrEmbedder();
const auto& embedder_url = embedder->GetLastCommittedURL();
@@ -79,7 +79,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
}
}
return false;
@@ -90,6 +104,8 @@ class AdblockContextData : public base::SupportsUserData::Data {
@@ -88,6 +102,8 @@ class AdblockContextData : public base::SupportsUserData::Data {
static void StartProxying(
Profile* profile,
@@ -88,7 +88,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
content::RenderFrameHost* frame,
int render_process_id,
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
@@ -102,8 +118,6 @@ class AdblockContextData : public base::SupportsUserData::Data {
@@ -100,8 +116,6 @@ class AdblockContextData : public base::SupportsUserData::Data {
self = new AdblockContextData();
profile->SetUserData(kAdblockContextUserDataKey, base::WrapUnique(self));
}
@@ -97,7 +97,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
adblock::AdblockURLLoaderFactoryConfig config{
adblock::SubscriptionServiceFactory::GetForBrowserContext(
browser_context),
@@ -115,8 +129,9 @@ class AdblockContextData : public base::SupportsUserData::Data {
@@ -113,8 +127,9 @@ class AdblockContextData : public base::SupportsUserData::Data {
browser_context)};
auto proxy = std::make_unique<adblock::AdblockURLLoaderFactory>(
std::move(config),
@@ -108,7 +108,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
std::move(receiver), std::move(target_factory),
embedder_support::GetUserAgent(),
base::BindOnce(&AdblockContextData::RemoveProxy,
@@ -157,47 +172,50 @@ void AdblockContentBrowserClient::ForceAdblockProxyForTesting() {
@@ -155,47 +170,50 @@ void AdblockContentBrowserClient::ForceAdblockProxyForTesting() {
#endif
bool AdblockContentBrowserClient::WillInterceptWebSocket(
@@ -176,7 +176,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
auto* subscription_service =
adblock::SubscriptionServiceFactory::GetForBrowserContext(
browser_context);
@@ -205,33 +223,33 @@ void AdblockContentBrowserClient::CreateWebSocketInternal(
@@ -203,33 +221,33 @@ void AdblockContentBrowserClient::CreateWebSocketInternal(
adblock::ResourceClassificationRunnerFactory::GetForBrowserContext(
browser_context);
classification_runner->CheckRequestFilterMatchForWebSocket(
@@ -218,7 +218,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
std::move(handshake_client));
return;
}
@@ -248,6 +266,72 @@ void AdblockContentBrowserClient::OnWebSocketFilterCheckCompleted(
@@ -246,6 +264,72 @@ void AdblockContentBrowserClient::OnWebSocketFilterCheckCompleted(
VLOG(1) << "[eyeo] Web socket blocked for " << url;
}
@@ -291,7 +291,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
bool AdblockContentBrowserClient::WillCreateURLLoaderFactory(
content::BrowserContext* browser_context,
content::RenderFrameHost* frame,
@@ -271,24 +355,12 @@ bool AdblockContentBrowserClient::WillCreateURLLoaderFactory(
@@ -269,24 +353,12 @@ bool AdblockContentBrowserClient::WillCreateURLLoaderFactory(
navigation_id, ukm_source_id, factory_receiver, header_client,
bypass_redirect_checks, disable_secure_dns, factory_override,
navigation_response_task_runner);
@@ -320,7 +320,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.cc b/chrome/b
bool use_test_loader = false;
#ifdef EYEO_INTERCEPT_DEBUG_URL
@@ -307,7 +379,7 @@ bool AdblockContentBrowserClient::WillCreateURLLoaderFactory(
@@ -305,7 +377,7 @@ bool AdblockContentBrowserClient::WillCreateURLLoaderFactory(
mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory_remote;
*factory_receiver = target_factory_remote.InitWithNewPipeAndPassReceiver();
AdblockContextData::StartProxying(
@@ -401,7 +401,7 @@ diff --git a/chrome/browser/adblock/adblock_content_browser_client.h b/chrome/br
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -6300,7 +6300,9 @@ ChromeContentBrowserClient::
@@ -6330,7 +6330,9 @@ ChromeContentBrowserClient::
}
bool ChromeContentBrowserClient::WillInterceptWebSocket(
@@ -412,7 +412,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(ENABLE_EXTENSIONS)
if (!frame) {
return false;
@@ -6321,9 +6323,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
@@ -6351,9 +6353,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
}
void ChromeContentBrowserClient::CreateWebSocket(
@@ -427,7 +427,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
--- a/chrome/browser/chrome_content_browser_client.h
+++ b/chrome/browser/chrome_content_browser_client.h
@@ -617,11 +617,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -624,11 +624,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
int frame_tree_node_id,
const network::ResourceRequest& resource_request) override;
@@ -495,7 +495,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.h b/c
namespace adblock {
@@ -49,6 +50,7 @@ class AdblockURLLoaderFactory : public network::mojom::URLLoaderFactory {
@@ -57,6 +58,7 @@ class AdblockURLLoaderFactory : public network::mojom::URLLoaderFactory {
AdblockURLLoaderFactory(
AdblockURLLoaderFactoryConfig config,
@@ -503,7 +503,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.h b/c
content::GlobalRenderFrameHostId host_id,
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver,
mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory,
@@ -78,6 +80,7 @@ class AdblockURLLoaderFactory : public network::mojom::URLLoaderFactory {
@@ -86,6 +88,7 @@ class AdblockURLLoaderFactory : public network::mojom::URLLoaderFactory {
void MaybeDestroySelf();
AdblockURLLoaderFactoryConfig config_;
@@ -683,7 +683,7 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -985,7 +985,7 @@ bool ContentBrowserClient::WillCreateURLLoaderFactory(
@@ -998,7 +998,7 @@ bool ContentBrowserClient::WillCreateURLLoaderFactory(
return false;
}
@@ -692,7 +692,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
return false;
}
@@ -994,9 +994,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
@@ -1007,9 +1007,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
}
void ContentBrowserClient::CreateWebSocket(
@@ -707,7 +707,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -1764,7 +1764,7 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1791,7 +1791,7 @@ class CONTENT_EXPORT ContentBrowserClient {
scoped_refptr<base::SequencedTaskRunner> navigation_response_task_runner);
// Returns true when the embedder wants to intercept a websocket connection.
@@ -716,7 +716,7 @@ diff --git a/content/public/browser/content_browser_client.h b/content/public/br
// Returns the WebSocket creation options.
virtual uint32_t GetWebSocketOptions(RenderFrameHost* frame);
@@ -1786,9 +1786,11 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1813,9 +1813,11 @@ class CONTENT_EXPORT ContentBrowserClient {
// Always called on the UI thread and only when the Network Service is
// enabled.
virtual void CreateWebSocket(
@@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -7205,9 +7205,9 @@
@@ -7331,9 +7331,9 @@
"expiry_milestone": 121
},
{
@@ -29,7 +29,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
@@ -3051,7 +3051,7 @@ const char kReduceAcceptLanguageDescription[] =
@@ -3071,7 +3071,7 @@ const char kReduceAcceptLanguageDescription[] =
const char kRestrictGamepadAccessName[] = "Restrict gamepad access";
const char kRestrictGamepadAccessDescription[] =
@@ -66,7 +66,7 @@ diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/t
if (!navigator.DomWindow()) {
// Using an existing NavigatorGamepad if one exists, but don't create one
// for a detached window, as its subclasses depend on a non-null window.
@@ -430,6 +434,8 @@ void NavigatorGamepad::SampleAndCompareGamepadState() {
@@ -435,6 +439,8 @@ void NavigatorGamepad::SampleAndCompareGamepadState() {
void NavigatorGamepad::DispatchGamepadEvent(const AtomicString& event_name,
Gamepad* gamepad) {
@@ -16,9 +16,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
@@ -294,8 +294,12 @@ class TabGridViewBinder {
updateThumbnailMatrix(thumbnail, result, thumbnailSize);
thumbnail.setImageBitmap(result);
@@ -288,8 +288,12 @@ class TabGridViewBinder {
// Adjust bitmap to thumbnail.
TabUtils.setBitmapAndUpdateImageMatrix(thumbnail, result, thumbnailSize);
} else if (isMostRecentRequest) {
- // If the most recent request is a null bitmap ensure a placeholder is visible.
- thumbnail.setImageDrawable(null);
@@ -31,7 +31,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
};
if (sThumbnailFetcherForTesting != null) {
@@ -370,6 +374,7 @@ class TabGridViewBinder {
@@ -325,6 +329,7 @@ class TabGridViewBinder {
*/
private static void setFavicon(ViewLookupCachingFrameLayout rootView, PropertyModel model,
TabListFaviconProvider.TabFavicon favicon) {
@@ -67,7 +67,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
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
@@ -88,6 +88,11 @@ found in the LICENSE file.
@@ -94,6 +94,11 @@ found in the LICENSE file.
android:title="@string/open_external_links_incognito_title"
android:summary="@string/open_external_links_incognito_summary"
android:defaultValue="false" />
@@ -82,7 +82,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/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -147,6 +147,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
@@ -142,6 +142,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.printing.TabPrinter;
@@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.readaloud.ReadAloudController;
import org.chromium.chrome.browser.selection.SelectionPopupBackPressHandler;
@@ -657,7 +658,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -658,7 +659,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
TabModelSelector tabModelSelector = mTabModelOrchestrator.getTabModelSelector();
setTabContentManager(new TabContentManager(this, mBrowserControlsManagerSupplier.get(),
@@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
@@ -324,9 +324,12 @@ public class TabContentManager {
@@ -344,9 +344,12 @@ public class TabContentManager {
* @param forceUpdate Whether to obtain the thumbnail from the live content.
* @param writeBack When {@code forceUpdate}, whether to write the thumbnail to cache.
*/
@@ -115,12 +115,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
+ return;
+ }
// TODO(crbug/1444782): Remove forceUpdate and writeBack params from here and don't
// trigger a captureThumbnail. This should be feasible once the
// TODO(crbug/1444782): Remove forceUpdate and writeBack params once the following features
// launch:
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
@@ -69,6 +69,11 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
@@ -65,6 +65,11 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
@@ -132,12 +132,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import java.util.ArrayList;
import java.util.List;
@@ -77,7 +82,15 @@ import java.util.List;
@@ -72,7 +77,15 @@ import java.util.List;
* Fragment to keep track of the all the privacy related preferences.
*/
public class PrivacySettings extends PreferenceFragmentCompat
implements Preference.OnPreferenceChangeListener, FragmentHelpAndFeedbackLauncher,
- ProfileDependentSetting {
+ ProfileDependentSetting, INeedSnackbarManager {
public class PrivacySettings
- extends ChromeBaseSettingsFragment implements Preference.OnPreferenceChangeListener {
+ extends ChromeBaseSettingsFragment implements Preference.OnPreferenceChangeListener, INeedSnackbarManager {
+ private SnackbarManager mSnackbarManager;
+ private Snackbar mSnackbar;
+
@@ -149,7 +149,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_PRELOAD_PAGES = "preload_pages";
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
@@ -145,6 +158,21 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -139,6 +152,21 @@ public class PrivacySettings
}
}
@@ -171,7 +171,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
// Record the launch of PG from the S&P link-row entry point
privacyGuidePreference.setOnPreferenceClickListener(preference -> {
@@ -293,6 +321,7 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -294,6 +322,7 @@ public class PrivacySettings
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
@@ -179,7 +179,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
@@ -316,6 +345,13 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -319,6 +348,13 @@ public class PrivacySettings
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
sharedPreferencesEditor.apply();
@@ -193,7 +193,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -356,6 +392,10 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -361,6 +397,10 @@ public class PrivacySettings
: R.string.text_off);
}
@@ -207,7 +207,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
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
@@ -5407,6 +5407,14 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -5463,6 +5463,14 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
</message>
@@ -22,19 +22,20 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../clear_browsing_data_dialog.ts | 1 +
.../strings/android_chrome_strings.grd | 3 +
.../settings_localized_strings_provider.cc | 1 +
.../core/browsing_data_policies_utils.cc | 16 ++--
.../core/browsing_data_policies_utils.cc | 20 ++---
.../core/browsing_data_policies_utils.h | 11 +++
.../browsing_data/core/browsing_data_utils.cc | 34 +++++++++
.../core/clear_browsing_data_tab.h | 2 +-
components/browsing_data/core/pref_names.cc | 27 +++++++
components/browsing_data/core/pref_names.h | 9 +++
24 files changed, 316 insertions(+), 14 deletions(-)
content/browser/storage_partition_impl.cc | 1 +
25 files changed, 319 insertions(+), 16 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -302,6 +302,7 @@ chrome_java_sources = [
@@ -303,6 +303,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAdvanced.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java",
@@ -45,7 +46,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
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
@@ -141,6 +141,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager;
@@ -146,6 +146,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate;
@@ -53,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler;
import org.chromium.chrome.browser.read_later.ReadingListUtils;
import org.chromium.chrome.browser.reengagement.ReengagementNotificationController;
@@ -1257,7 +1258,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1307,7 +1308,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Intent intent = getIntent();
boolean hadCipherData =
@@ -69,7 +70,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
@@ -404,6 +404,10 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
@@ -412,6 +412,10 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
*/
protected abstract @ClearBrowsingDataTab int getClearBrowsingDataTabType();
@@ -80,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
/**
* Decides whether a given dialog option should be selected when the dialog is initialized.
*
@@ -481,6 +485,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
@@ -489,6 +493,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
* options.
*/
private void onClearButtonClicked() {
@@ -88,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
if (shouldShowImportantSitesDialog()) {
showImportantDialogThenClear();
return;
@@ -514,6 +519,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
@@ -522,6 +527,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
Button clearButton = (Button) getView().findViewById(R.id.clear_button);
boolean isEnabled = !getSelectedOptions().isEmpty();
clearButton.setEnabled(isEnabled);
@@ -178,16 +179,16 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
@@ -34,7 +34,7 @@ import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat;
@@ -27,7 +27,7 @@ import org.chromium.chrome.browser.settings.SettingsActivity;
* Fragment with a {@link TabLayout} containing a basic and an advanced version of the CBD dialog.
*/
public class ClearBrowsingDataTabsFragment
extends Fragment implements FragmentHelpAndFeedbackLauncher {
public class ClearBrowsingDataTabsFragment extends Fragment {
- public static final int CBD_TAB_COUNT = 2;
+ public static final int CBD_TAB_COUNT = 3;
private ClearBrowsingDataFetcher mFetcher;
private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher;
@@ -93,6 +93,8 @@ public class ClearBrowsingDataTabsFragment
@@ -84,6 +84,8 @@ public class ClearBrowsingDataTabsFragment extends Fragment {
return getActivity().getString(R.string.clear_browsing_data_basic_tab_title);
case 1:
return getActivity().getString(R.string.prefs_section_advanced);
@@ -196,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
default:
throw new RuntimeException("invalid position: " + position);
}
@@ -130,6 +132,9 @@ public class ClearBrowsingDataTabsFragment
@@ -121,6 +123,9 @@ public class ClearBrowsingDataTabsFragment extends Fragment {
case 1:
fragment = new ClearBrowsingDataFragmentAdvanced();
break;
@@ -209,7 +210,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -2334,6 +2334,16 @@
@@ -2333,6 +2333,16 @@
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for clear browsing data button in Privacy options">
Clear browsing data
</message>
@@ -484,7 +485,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
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
@@ -1609,6 +1609,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1635,6 +1635,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_DATA_BASIC_TAB_TITLE" desc="The title of the tab showing the basic clear browsing data options.">
Basic
</message>
@@ -497,7 +498,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1568,6 +1568,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
@@ -1584,6 +1584,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
@@ -508,30 +509,38 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
diff --git a/components/browsing_data/core/browsing_data_policies_utils.cc b/components/browsing_data/core/browsing_data_policies_utils.cc
--- a/components/browsing_data/core/browsing_data_policies_utils.cc
+++ b/components/browsing_data/core/browsing_data_policies_utils.cc
@@ -19,15 +19,15 @@ namespace browsing_data {
@@ -17,21 +17,21 @@
namespace browsing_data {
-namespace {
-
namespace policy_data_types {
// Data retention policy types that require sync to be disabled.
-const char kBrowsingHistoryName[] = "browsing_history";
-const char kPasswordSigninName[] = "password_signin";
-const char kAutofillName[] = "autofill";
-const char kSiteSettingsName[] = "site_settings";
+extern const char kBrowsingHistoryName[] = "browsing_history";
+extern const char kPasswordSigninName[] = "password_signin";
+extern const char kAutofillName[] = "autofill";
+extern const char kSiteSettingsName[] = "site_settings";
-constexpr char kBrowsingHistoryName[] = "browsing_history";
-constexpr char kPasswordSigninName[] = "password_signin";
-constexpr char kAutofillName[] = "autofill";
-constexpr char kSiteSettingsName[] = "site_settings";
+extern constexpr char kBrowsingHistoryName[] = "browsing_history";
+extern constexpr char kPasswordSigninName[] = "password_signin";
+extern constexpr char kAutofillName[] = "autofill";
+extern constexpr char kSiteSettingsName[] = "site_settings";
// Data retention policy types that do not require sync to be disabled.
-const char kHostedAppDataName[] = "hosted_app_data";
-const char kDownloadHistoryName[] = "download_history";
-const char kCookiesAndOtherSiteDataName[] = "cookies_and_other_site_data";
-const char kCachedImagesAndFilesName[] = "cached_images_and_files";
+extern const char kHostedAppDataName[] = "hosted_app_data";
+extern const char kDownloadHistoryName[] = "download_history";
+extern const char kCookiesAndOtherSiteDataName[] = "cookies_and_other_site_data";
+extern const char kCachedImagesAndFilesName[] = "cached_images_and_files";
-constexpr char kHostedAppDataName[] = "hosted_app_data";
-constexpr char kDownloadHistoryName[] = "download_history";
-constexpr char kCookiesAndOtherSiteDataName[] = "cookies_and_other_site_data";
-constexpr char kCachedImagesAndFilesName[] = "cached_images_and_files";
+extern constexpr char kHostedAppDataName[] = "hosted_app_data";
+extern constexpr char kDownloadHistoryName[] = "download_history";
+extern constexpr char kCookiesAndOtherSiteDataName[] = "cookies_and_other_site_data";
+extern constexpr char kCachedImagesAndFilesName[] = "cached_images_and_files";
} // namespace policy_data_types
namespace {
+namespace {
+
// The format of the log message shown in chrome://policy/logs when sync types
// are automatically disabled.
constexpr char kDisabledSyncTypesLogFormat[] =
diff --git a/components/browsing_data/core/browsing_data_policies_utils.h b/components/browsing_data/core/browsing_data_policies_utils.h
--- a/components/browsing_data/core/browsing_data_policies_utils.h
+++ b/components/browsing_data/core/browsing_data_policies_utils.h
@@ -672,5 +681,16 @@ diff --git a/components/browsing_data/core/pref_names.h b/components/browsing_da
extern const char kDeleteTimePeriod[];
extern const char kDeleteTimePeriodBasic[];
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
--- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc
@@ -1542,6 +1542,7 @@ void StoragePartitionImpl::Initialize(
.AppendASCII("Code Cache");
}
DCHECK_GE(settings.size_in_bytes(), 0);
+ base::DeletePathRecursively(code_cache_path);
GetGeneratedCodeCacheContext()->Initialize(code_cache_path,
settings.size_in_bytes());
}
--
2.25.1
@@ -47,7 +47,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
@@ -130,6 +130,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
@@ -163,6 +163,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
mSnackbarManager.showSnackbar(mSnackbar);
}
@@ -127,7 +127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
@@ -249,6 +249,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -247,6 +247,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
mTab.loadUrl(loadUrlParams);
}
@@ -145,7 +145,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
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
@@ -8144,6 +8144,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8404,6 +8404,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kElasticOverscroll)},
#endif
@@ -172,7 +172,7 @@ diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/con
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
@@ -2019,6 +2019,10 @@ const char kMoveTopToolbarToBottomName[] = "Move top toolbar to bottom";
@@ -2051,6 +2051,10 @@ const char kMoveTopToolbarToBottomName[] = "Move top toolbar to bottom";
const char kMoveTopToolbarToBottomDescription[] =
"Move the top toolbar to the bottom.";
@@ -186,7 +186,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
@@ -1143,6 +1143,9 @@ extern const char kImprovedKeyboardShortcutsDescription[];
@@ -1162,6 +1162,9 @@ extern const char kImprovedKeyboardShortcutsDescription[];
extern const char kMoveTopToolbarToBottomName[];
extern const char kMoveTopToolbarToBottomDescription[];
@@ -199,7 +199,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
@@ -326,6 +326,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -331,6 +331,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kTabDragDropAndroid,
&kTabAndLinkDragDropAndroid,
&kTabEngagementReportingAndroid,
@@ -210,7 +210,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
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
@@ -329,6 +329,8 @@ public abstract class ChromeFeatureList {
@@ -330,6 +330,8 @@ public abstract class ChromeFeatureList {
public static final String NEW_TAB_SEARCH_ENGINE_URL_ANDROID = "NewTabSearchEngineUrlAndroid";
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
"MoveTopToolbarToBottom";
@@ -219,16 +219,16 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant";
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
"NotificationPermissionBottomSheet";
@@ -594,6 +596,8 @@ public abstract class ChromeFeatureList {
@@ -600,6 +602,8 @@ public abstract class ChromeFeatureList {
new CachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false);
public static final CachedFlag sMoveTopToolbarToBottom =
new CachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
+ public static final CachedFlag sShowAlwaysContextMenuOnLinks =
+ new CachedFlag(SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS, false);
public static final CachedFlag sOmniboxModernizeVisualUpdate =
new CachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, false);
new CachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, true);
public static final CachedFlag sOptimizationGuidePushNotifications =
@@ -704,6 +708,7 @@ public abstract class ChromeFeatureList {
@@ -723,6 +727,7 @@ public abstract class ChromeFeatureList {
sTabStripRedesign,
sTabStripStartupRefactoring,
sTabletToolbarReordering,
@@ -239,7 +239,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
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
@@ -1804,6 +1804,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1839,6 +1839,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_MOVE_TOOLBAR_BOTTOM_SUMMARY" desc="Summary of the preference that allows the user to move toolbar on bottom.">
Move toolbar to bottom
</message>
@@ -252,7 +252,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Safety check -->
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
@@ -2853,6 +2859,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -2891,6 +2897,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
Open in new Chrome tab
</message>
@@ -265,7 +265,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -26,6 +26,11 @@ found in the LICENSE file.
@@ -30,6 +30,11 @@ found in the LICENSE file.
android:summary="@string/page_zoom_always_show_preference_summary"
android:title="@string/page_zoom_always_show_preference_title" />
@@ -296,7 +296,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
private FontSizePrefs mFontSizePrefs;
private FontSizePrefsObserver mFontSizePrefsObserver = new FontSizePrefsObserver() {
@@ -144,6 +146,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
@@ -140,6 +142,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
mMoveToolbarToBottomPref.setChecked(mMoveTopToolbarToBottomDelegate.isEnabled());
mMoveToolbarToBottomPref.setOnPreferenceChangeListener(this);
@@ -309,7 +309,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
Preference captions = findPreference(PREF_CAPTIONS);
captions.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(Settings.ACTION_CAPTIONING_SETTINGS);
@@ -206,6 +214,9 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
@@ -213,6 +221,9 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
} else if (PREF_MOVE_TOOLBAR_TO_BOTTOM.equals(preference.getKey())) {
mMoveTopToolbarToBottomDelegate.setEnabled((Boolean) newValue);
mDelegate.requestRestart(getActivity());
@@ -322,7 +322,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
@@ -33,6 +33,8 @@ public interface AccessibilitySettingsDelegate {
@@ -49,6 +49,8 @@ public interface AccessibilitySettingsDelegate {
BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate();
@@ -334,7 +334,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
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
@@ -235,6 +235,10 @@ BASE_FEATURE(kBackgroundResourceFetch,
@@ -241,6 +241,10 @@ BASE_FEATURE(kBackgroundResourceFetch,
"BackgroundResourceFetch",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -348,7 +348,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -140,6 +140,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackForwardCacheWithKeepaliveRequest);
@@ -143,6 +143,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackForwardCacheWithKeepaliveRequest);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackgroundResourceFetch);
@@ -386,7 +386,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
LocalDOMWindow* window = GetDocument().domWindow();
if (!window) {
return;
@@ -509,6 +521,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
@@ -510,6 +522,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
/*element=*/this, request.HasUserGesture()));
}
@@ -402,7 +402,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
Frame* target_frame =
frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame;
@@ -552,7 +573,7 @@ void HTMLAnchorElement::SetHovered(bool hovered) {
@@ -553,7 +574,7 @@ void HTMLAnchorElement::SetHovered(bool hovered) {
}
}
@@ -411,7 +411,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
event.SetDefaultHandled();
LocalDOMWindow* window = GetDocument().domWindow();
@@ -651,12 +672,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
@@ -652,12 +673,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
}
NavigationPolicy navigation_policy = NavigationPolicyFromEvent(&event);
@@ -428,7 +428,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
// If Alt is held down it will force a download, however, wait to see if
// this is an alt-double-click which should instead select the text of the
// link.
@@ -668,7 +689,9 @@ void HTMLAnchorElement::HandleClick(Event& event) {
@@ -669,7 +690,9 @@ void HTMLAnchorElement::HandleClick(Event& event) {
frame->GetEventHandler().SetDownloadModifierTaskHandle(
std::move(task_handle));
} else {
@@ -488,7 +488,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
#include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/core/style/content_data.h"
@@ -757,6 +759,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
@@ -753,6 +755,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
}
}
@@ -525,7 +525,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_p
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
@@ -228,14 +228,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
@@ -236,14 +236,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
}
}
@@ -545,7 +545,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
mouse_event->SetDefaultHandled();
}
@@ -453,7 +455,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
@@ -461,7 +463,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
const PhysicalOffset& point,
WebMenuSourceType source_type,
@@ -555,7 +555,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
// Displaying the context menu in this function is a big hack as we don't
// have context, i.e. whether this is being invoked via a script or in
// response to user input (Mouse event WM_RBUTTONDOWN,
@@ -476,6 +479,15 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
@@ -484,6 +487,15 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
if (!result.InnerNodeOrImageMapImage())
return false;
@@ -571,7 +571,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
// Clear any previously set cached results if we are resetting the hit test
// result.
image_selection_cached_result_ = nullptr;
@@ -829,11 +841,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
@@ -837,11 +849,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
data.form_renderer_id = GetFormRendererId(result);
data.field_renderer_id = GetFieldRendererId(result);
+83 -215
View File
@@ -8,7 +8,7 @@ Enabled by default
DEPS | 7 +
build/linux/unbundle/libjxl.gn | 34 +
build/linux/unbundle/replace_gn_files.py | 1 +
cc/base/devtools_instrumentation.cc | 6 +
cc/base/devtools_instrumentation.cc | 3 +
cc/base/devtools_instrumentation.h | 2 +-
cc/paint/paint_image.h | 2 +-
cc/tiles/image_decode_cache.h | 2 +
@@ -16,12 +16,11 @@ Enabled by default
chrome/browser/flag-metadata.json | 5 +
chrome/browser/flag_descriptions.cc | 7 +
chrome/browser/flag_descriptions.h | 5 +
.../chrome_accept_header_browsertest.cc.rej | 48 ++
.../network/accept_header_browsertest.cc | 1 +
.../network/accept_header_browsertest.cc.rej | 51 ++
content/common/content_constants_internal.cc | 11 +-
content/common/content_constants_internal.h | 3 +-
content/public/browser/frame_accept_header.cc | 13 +-
media/BUILD.gn | 1 +
media/media_options.gni | 3 +
net/base/mime_util.cc | 2 +
net/base/mime_util_unittest.cc | 3 +
third_party/.gitignore | 1 +
@@ -29,17 +28,16 @@ Enabled by default
.../blink/common/loader/network_utils.cc | 16 +-
.../blink/common/mime_util/mime_util.cc | 7 +
.../common/mime_util/mime_util_unittest.cc | 6 +
third_party/blink/public/common/BUILD.gn | 1 +
third_party/blink/public/common/features.h | 2 +
.../devtools_protocol/browser_protocol.pdl | 1 +
third_party/blink/public/public_features.gni | 5 +
.../inspector/inspector_emulation_agent.cc | 7 +-
.../inspector_emulation_agent_test.cc | 37 +
.../generate_image_corpus.py | 1 +
.../modules/webcodecs/image_decoder_fuzzer.cc | 5 +
third_party/blink/renderer/platform/BUILD.gn | 14 +
third_party/blink/renderer/platform/BUILD.gn | 5 +
.../platform/graphics/bitmap_image_metrics.cc | 9 +-
.../platform/graphics/bitmap_image_metrics.h | 4 +-
.../renderer/platform/image-decoders/BUILD.gn | 9 +
.../platform/image-decoders/image_decoder.cc | 23 +
.../image-decoders/jxl/jxl_image_decoder.cc | 683 ++++++++++++++++++
.../image-decoders/jxl/jxl_image_decoder.h | 123 ++++
@@ -62,10 +60,8 @@ Enabled by default
third_party/libjxl/README.chromium | 15 +
.../libjxl/gen_headers/jxl/jxl_export.h | 11 +
tools/metrics/histograms/enums.xml | 3 +-
57 files changed, 2110 insertions(+), 17 deletions(-)
55 files changed, 2005 insertions(+), 17 deletions(-)
create mode 100644 build/linux/unbundle/libjxl.gn
create mode 100644 chrome/browser/net/chrome_accept_header_browsertest.cc.rej
create mode 100644 content/browser/network/accept_header_browsertest.cc.rej
create mode 100644 third_party/blink/renderer/platform/image-decoders/jxl/jxl_image_decoder.cc
create mode 100644 third_party/blink/renderer/platform/image-decoders/jxl/jxl_image_decoder.h
create mode 100644 third_party/blink/renderer/platform/image-decoders/jxl/jxl_image_decoder_test.cc
@@ -87,7 +83,7 @@ Enabled by default
diff --git a/DEPS b/DEPS
--- a/DEPS
+++ b/DEPS
@@ -519,6 +519,10 @@ vars = {
@@ -515,6 +515,10 @@ vars = {
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling feed
# and whatever else without interference from each other.
@@ -98,7 +94,7 @@ diff --git a/DEPS b/DEPS
'highway_revision': '8f20644eca693cfb74aa795b0006b6779c370e7a',
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling ffmpeg
@@ -1209,6 +1213,9 @@ deps = {
@@ -1205,6 +1209,9 @@ deps = {
'src/third_party/dawn':
Var('dawn_git') + '/dawn.git' + '@' + Var('dawn_revision'),
@@ -161,17 +157,7 @@ diff --git a/build/linux/unbundle/replace_gn_files.py b/build/linux/unbundle/rep
diff --git a/cc/base/devtools_instrumentation.cc b/cc/base/devtools_instrumentation.cc
--- a/cc/base/devtools_instrumentation.cc
+++ b/cc/base/devtools_instrumentation.cc
@@ -73,6 +73,9 @@ ScopedImageUploadTask::~ScopedImageUploadTask() {
auto duration = base::TimeTicks::Now() - start_time_;
const char* histogram_name = nullptr;
switch (image_type_) {
+ case ImageType::kJxl:
+ histogram_name = "Renderer4.ImageUploadTaskDurationUs.Jxl";
+ break;
case ImageType::kAvif:
histogram_name = "Renderer4.ImageUploadTaskDurationUs.Avif";
break;
@@ -122,6 +125,9 @@ ScopedImageDecodeTask::~ScopedImageDecodeTask() {
@@ -90,6 +90,9 @@ ScopedImageDecodeTask::~ScopedImageDecodeTask() {
auto duration = base::TimeTicks::Now() - start_time_;
const char* histogram_name = nullptr;
switch (image_type_) {
@@ -220,7 +206,7 @@ diff --git a/cc/tiles/image_decode_cache.h b/cc/tiles/image_decode_cache.h
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
@@ -8656,6 +8656,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8918,6 +8918,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(download::features::kSmartSuggestionForLargeDownloads)},
#endif // BUILDFLAG(IS_ANDROID)
@@ -236,7 +222,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
@@ -3043,6 +3043,11 @@
@@ -3090,6 +3090,11 @@
// This flag is used by web developers to test upcoming javascript features.
"expiry_milestone": -1
},
@@ -251,7 +237,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
@@ -7605,6 +7605,13 @@ const char kDcheckIsFatalDescription[] =
@@ -7709,6 +7709,13 @@ const char kDcheckIsFatalDescription[] =
"rather than crashing. If enabled, DCHECKs will crash the calling process.";
#endif // BUILDFLAG(DCHECK_IS_CONFIGURABLE)
@@ -268,7 +254,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
@@ -4393,6 +4393,11 @@ extern const char kDcheckIsFatalName[];
@@ -4456,6 +4456,11 @@ extern const char kDcheckIsFatalName[];
extern const char kDcheckIsFatalDescription[];
#endif // BUILDFLAG(DCHECK_IS_CONFIGURABLE)
@@ -280,126 +266,6 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
#if BUILDFLAG(ENABLE_CARDBOARD)
extern const char kEnableCardboardName[];
extern const char kEnableCardboardDescription[];
diff --git a/chrome/browser/net/chrome_accept_header_browsertest.cc.rej b/chrome/browser/net/chrome_accept_header_browsertest.cc.rej
new file mode 100644
--- /dev/null
+++ b/chrome/browser/net/chrome_accept_header_browsertest.cc.rej
@@ -0,0 +1,48 @@
+diff a/chrome/browser/net/chrome_accept_header_browsertest.cc b/chrome/browser/net/chrome_accept_header_browsertest.cc (rejected hunks)
+@@ -11,18 +11,26 @@
+ #include "media/media_buildflags.h"
+ #include "net/test/embedded_test_server/http_request.h"
+ #include "third_party/blink/public/common/buildflags.h"
++#include "third_party/blink/public/common/features.h"
+
+ using ChromeAcceptHeaderTest = InProcessBrowserTest;
+
+-#if BUILDFLAG(ENABLE_AV1_DECODER)
++#if BUILDFLAG(ENABLE_AV1_DECODER) || BUILDFLAG(ENABLE_JXL_DECODER)
+ namespace {
+ std::string GetOptionalImageCodecs() {
+ std::string result;
++#if BUILDFLAG(ENABLE_JXL_DECODER)
++ if (base::FeatureList::IsEnabled(blink::features::kJXL)) {
++ result.append("image/jxl,");
++ }
++#endif
++#if BUILDFLAG(ENABLE_AV1_DECODER)
+ result.append("image/avif,");
++#endif
+ return result;
+ }
+ } // namespace
+-#endif // BUILDFLAG(ENABLE_AV1_DECODER)
++#endif // BUILDFLAG(ENABLE_AV1_DECODER) || BUILDFLAG(ENABLE_JXL_DECODER)
+
+ IN_PROC_BROWSER_TEST_F(ChromeAcceptHeaderTest, Check) {
+ net::EmbeddedTestServer server(net::EmbeddedTestServer::TYPE_HTTP);
+@@ -55,7 +63,7 @@
+ std::string expected_plugin_accept_header =
+ "text/html,application/xhtml+xml,application/xml;q=0.9,image/"
+ "webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9";
+-#if BUILDFLAG(ENABLE_AV1_DECODER)
++#if BUILDFLAG(ENABLE_AV1_DECODER) || BUILDFLAG(ENABLE_JXL_DECODER)
+ expected_plugin_accept_header =
+ "text/html,application/xhtml+xml,application/xml;q=0.9," +
+ GetOptionalImageCodecs() +
+@@ -66,7 +74,7 @@
+
+ std::string expected_favicon_accept_header =
+ "image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8";
+-#if BUILDFLAG(ENABLE_AV1_DECODER)
++#if BUILDFLAG(ENABLE_AV1_DECODER) || BUILDFLAG(ENABLE_JXL_DECODER)
+ expected_favicon_accept_header =
+ GetOptionalImageCodecs() +
+ "image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8";
diff --git a/content/browser/network/accept_header_browsertest.cc b/content/browser/network/accept_header_browsertest.cc
--- a/content/browser/network/accept_header_browsertest.cc
+++ b/content/browser/network/accept_header_browsertest.cc
@@ -22,6 +22,7 @@
#include "net/test/embedded_test_server/http_request.h"
#include "ppapi/buildflags/buildflags.h"
#include "third_party/blink/public/common/buildflags.h"
+#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/mojom/manifest/manifest.mojom.h"
#if BUILDFLAG(ENABLE_PPAPI)
diff --git a/content/browser/network/accept_header_browsertest.cc.rej b/content/browser/network/accept_header_browsertest.cc.rej
new file mode 100644
--- /dev/null
+++ b/content/browser/network/accept_header_browsertest.cc.rej
@@ -0,0 +1,51 @@
+diff a/content/browser/network/accept_header_browsertest.cc b/content/browser/network/accept_header_browsertest.cc (rejected hunks)
+@@ -71,13 +72,20 @@
+ return it->second;
+ }
+
+-#if BUILDFLAG(ENABLE_AV1_DECODER)
++#if BUILDFLAG(ENABLE_AV1_DECODER) || BUILDFLAG(ENABLE_JXL_DECODER)
+ std::string GetOptionalImageCodecs() const {
+ std::string result;
++#if BUILDFLAG(ENABLE_JXL_DECODER)
++ if (base::FeatureList::IsEnabled(blink::features::kJXL)) {
++ result.append("image/jxl,");
++ }
++#endif
++#if BUILDFLAG(ENABLE_AV1_DECODER)
+ result.append("image/avif,");
++#endif
+ return result;
+ }
+-#endif // BUILDFLAG(ENABLE_AV1_DECODER)
++#endif // BUILDFLAG(ENABLE_AV1_DECODER) || BUILDFLAG(ENABLE_JXL_DECODER)
+
+ private:
+ void Monitor(const net::test_server::HttpRequest& request) {
+@@ -113,7 +121,7 @@
+ std::string expected_main_frame_accept_header =
+ "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,"
+ "image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9";
+-#if BUILDFLAG(ENABLE_AV1_DECODER)
++#if BUILDFLAG(ENABLE_AV1_DECODER) || BUILDFLAG(ENABLE_JXL_DECODER)
+ expected_main_frame_accept_header =
+ "text/html,application/xhtml+xml,application/xml;q=0.9," +
+ GetOptionalImageCodecs() +
+@@ -126,7 +134,7 @@
+ std::string expected_sub_frame_accept_header =
+ "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,"
+ "image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9";
+-#if BUILDFLAG(ENABLE_AV1_DECODER)
++#if BUILDFLAG(ENABLE_AV1_DECODER) || BUILDFLAG(ENABLE_JXL_DECODER)
+ expected_sub_frame_accept_header =
+ "text/html,application/xhtml+xml,application/xml;q=0.9," +
+ GetOptionalImageCodecs() +
+@@ -144,7 +152,7 @@
+ // ResourceType::kImage
+ std::string expected_image_accept_header =
+ "image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8";
+-#if BUILDFLAG(ENABLE_AV1_DECODER)
++#if BUILDFLAG(ENABLE_AV1_DECODER) || BUILDFLAG(ENABLE_JXL_DECODER)
+ expected_image_accept_header =
+ GetOptionalImageCodecs() +
+ "image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8";
diff --git a/content/common/content_constants_internal.cc b/content/common/content_constants_internal.cc
--- a/content/common/content_constants_internal.cc
+++ b/content/common/content_constants_internal.cc
@@ -465,6 +331,30 @@ diff --git a/content/public/browser/frame_accept_header.cc b/content/public/brow
if (allow_sxg_responses &&
content::signed_exchange_utils::IsSignedExchangeHandlingEnabled(
browser_context)) {
diff --git a/media/BUILD.gn b/media/BUILD.gn
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -37,6 +37,7 @@ buildflag_header("media_buildflags") {
"ENABLE_CAST_AUDIO_RENDERER=$enable_cast_audio_renderer",
"ENABLE_DAV1D_DECODER=$enable_dav1d_decoder",
"ENABLE_AV1_DECODER=$enable_av1_decoder",
+ "ENABLE_JXL_DECODER=$enable_jxl_decoder",
"ENABLE_PLATFORM_DOLBY_VISION=$enable_platform_dolby_vision",
"ENABLE_PLATFORM_ENCRYPTED_DOLBY_VISION=$enable_platform_encrypted_dolby_vision",
"ENABLE_FFMPEG=$media_use_ffmpeg",
diff --git a/media/media_options.gni b/media/media_options.gni
--- a/media/media_options.gni
+++ b/media/media_options.gni
@@ -125,6 +125,9 @@ declare_args() {
# `enable_libaom` should likely also be overriddent to false.
enable_av1_decoder = enable_dav1d_decoder
+ # If true, adds support for JPEG XL image decoding.
+ enable_jxl_decoder = is_android || is_win
+
# Enable HEVC/H265 demuxing. Actual decoding must be provided by the
# platform. Always enable this for Lacros, it determines support at runtime.
# TODO(crbug.com/1336055): Revisit the default value for this setting as it
diff --git a/net/base/mime_util.cc b/net/base/mime_util.cc
--- a/net/base/mime_util.cc
+++ b/net/base/mime_util.cc
@@ -514,18 +404,18 @@ diff --git a/net/base/mime_util_unittest.cc b/net/base/mime_util_unittest.cc
diff --git a/third_party/.gitignore b/third_party/.gitignore
--- a/third_party/.gitignore
+++ b/third_party/.gitignore
@@ -179,6 +179,7 @@
/libipp/libipp
@@ -97,6 +97,7 @@
/libgifcodec
/libjingle/source
/libjpeg_turbo
/libupnp
+#/libjxl/src
/liblouis/src
/libphonenumber/dist
/libprotobuf-mutator/src
/llvm
/llvm-allocated-type
/llvm-bootstrap
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
@@ -411,6 +411,9 @@ BASE_FEATURE(kCORSErrorsIssueOnly,
@@ -422,6 +422,9 @@ BASE_FEATURE(kCORSErrorsIssueOnly,
"CORSErrorsIssueOnly",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -616,21 +506,10 @@ diff --git a/third_party/blink/common/mime_util/mime_util_unittest.cc b/third_pa
EXPECT_EQ(IsSupportedImageMimeType("image/avif"),
BUILDFLAG(ENABLE_AV1_DECODER));
EXPECT_FALSE(IsSupportedImageMimeType("image/lolcat"));
diff --git a/third_party/blink/public/common/BUILD.gn b/third_party/blink/public/common/BUILD.gn
--- a/third_party/blink/public/common/BUILD.gn
+++ b/third_party/blink/public/common/BUILD.gn
@@ -103,6 +103,7 @@ component("common") {
buildflag_header("buildflags") {
header = "buildflags.h"
flags = [
+ "ENABLE_JXL_DECODER=$enable_jxl_decoder",
"RTC_USE_H264=$rtc_use_h264",
"ENABLE_RUST_CRASH=$enable_rust_crash",
"USE_FONTATIONS_BACKEND=$use_typeface_fontations",
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -142,6 +142,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackgroundResourceFetch);
@@ -145,6 +145,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackgroundResourceFetch);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kShowAlwaysContextMenuOnLinks);
@@ -642,7 +521,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ
diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
--- a/third_party/blink/public/devtools_protocol/browser_protocol.pdl
+++ b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
@@ -4103,6 +4103,7 @@ domain Emulation
@@ -4133,6 +4133,7 @@ domain Emulation
experimental type DisabledImageType extends string
enum
avif
@@ -650,21 +529,6 @@ diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/t
webp
experimental command setDisabledImageTypes
diff --git a/third_party/blink/public/public_features.gni b/third_party/blink/public/public_features.gni
--- a/third_party/blink/public/public_features.gni
+++ b/third_party/blink/public/public_features.gni
@@ -4,6 +4,11 @@
import("//build/config/ui.gni")
+declare_args() {
+ # If true, adds support for JPEG XL image decoding.
+ enable_jxl_decoder = is_android || is_win
+}
+
# Unhandled Tap enable means Contextual Search aka Touch to Search.
# TODO(donnd): remove all unhandled-tap handling after the Long-press experiment
# is fully launched.
diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
--- a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
+++ b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
@@ -682,7 +546,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent
header.Replace(String(type + ","), "");
}
return AtomicString(header);
@@ -837,6 +837,7 @@ protocol::Response InspectorEmulationAgent::setDisabledImageTypes(
@@ -842,6 +842,7 @@ protocol::Response InspectorEmulationAgent::setDisabledImageTypes(
namespace DisabledImageTypeEnum = protocol::Emulation::DisabledImageTypeEnum;
for (protocol::Emulation::DisabledImageType type : *disabled_types) {
if (DisabledImageTypeEnum::Avif == type ||
@@ -785,9 +649,9 @@ diff --git a/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.c
#include "third_party/blink/renderer/bindings/core/v8/to_v8_traits.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_arraybufferallowshared_arraybufferviewallowshared_readablestream.h"
@@ -88,6 +90,9 @@ DEFINE_BINARY_PROTO_FUZZER(
// Request a full GC upon returning.
auto scoped_gc = MakeScopedGarbageCollectionRequest();
@@ -89,6 +91,9 @@ DEFINE_BINARY_PROTO_FUZZER(
auto scoped_gc =
MakeScopedGarbageCollectionRequest(test_support.GetIsolate());
+ base::test::ScopedFeatureList scoped_feature_list;
+ scoped_feature_list.InitAndEnableFeature(features::kJXL);
@@ -798,24 +662,8 @@ diff --git a/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.c
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1827,6 +1827,15 @@ component("platform") {
]
}
+ if (enable_jxl_decoder) {
+ sources += [
+ "image-decoders/jxl/jxl_image_decoder.cc",
+ "image-decoders/jxl/jxl_image_decoder.h",
+ ]
+
+ deps += [ "//third_party/libjxl:libjxl" ]
+ }
+
if (current_cpu == "x86" || current_cpu == "x64") {
deps += [ ":blink_x86_avx" ]
sources += [ "audio/cpu/x86/delay_sse2.cc" ]
@@ -2264,6 +2273,10 @@ source_set("blink_platform_unittests_sources") {
sources += [ "image-decoders/avif/avif_image_decoder_test.cc" ]
@@ -2232,6 +2232,10 @@ source_set("blink_platform_unittests_sources") {
sources += [ "text/locale_icu_test.cc" ]
}
+ if (enable_jxl_decoder) {
@@ -825,7 +673,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
sources += [ "testing/run_all_tests.cc" ]
configs += [
@@ -2306,6 +2319,7 @@ source_set("blink_platform_unittests_sources") {
@@ -2275,6 +2279,7 @@ source_set("blink_platform_unittests_sources") {
"//third_party/blink/renderer/platform/scheduler:unit_tests",
"//third_party/blink/renderer/platform/wtf",
"//third_party/libavif:libavif",
@@ -869,7 +717,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.c
diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h b/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h
--- a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h
+++ b/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h
@@ -30,8 +30,8 @@ class PLATFORM_EXPORT BitmapImageMetrics {
@@ -29,8 +29,8 @@ class PLATFORM_EXPORT BitmapImageMetrics {
kICO = 5,
kBMP = 6,
kAVIF = 7,
@@ -880,17 +728,37 @@ diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.h
};
// Categories for the JPEG color space histogram. Synced with 'JpegColorSpace'
diff --git a/third_party/blink/renderer/platform/image-decoders/BUILD.gn b/third_party/blink/renderer/platform/image-decoders/BUILD.gn
--- a/third_party/blink/renderer/platform/image-decoders/BUILD.gn
+++ b/third_party/blink/renderer/platform/image-decoders/BUILD.gn
@@ -70,6 +70,15 @@ component("image_decoders") {
"//third_party/libyuv",
]
+ if (enable_jxl_decoder) {
+ sources += [
+ "jxl/jxl_image_decoder.cc",
+ "jxl/jxl_image_decoder.h",
+ ]
+
+ deps += [ "//third_party/libjxl:libjxl" ]
+ }
+
if (enable_av1_decoder) {
sources += [
"avif/avif_image_decoder.cc",
diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
--- a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
+++ b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
@@ -23,12 +23,14 @@
@@ -23,6 +23,7 @@
#include <memory>
#include "base/logging.h"
+#include "base/feature_list.h"
#include "base/numerics/safe_conversions.h"
#include "base/sys_byteorder.h"
#include "build/build_config.h"
#include "base/trace_event/trace_event.h"
@@ -30,6 +31,7 @@
#include "media/media_buildflags.h"
#include "skia/ext/cicp.h"
#include "third_party/blink/public/common/buildflags.h"
@@ -920,7 +788,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
#endif
return cc::ImageType::kInvalid;
}
@@ -192,6 +202,12 @@ String SniffMimeTypeInternal(scoped_refptr<SegmentReader> reader) {
@@ -191,6 +201,12 @@ String SniffMimeTypeInternal(scoped_refptr<SegmentReader> reader) {
return "image/avif";
}
#endif
@@ -933,7 +801,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
return String();
}
@@ -297,6 +313,13 @@ std::unique_ptr<ImageDecoder> ImageDecoder::CreateByMimeType(
@@ -296,6 +312,13 @@ std::unique_ptr<ImageDecoder> ImageDecoder::CreateByMimeType(
decoder = std::make_unique<AVIFImageDecoder>(
alpha_option, high_bit_depth_decoding_option, color_behavior,
max_decoded_bytes, animation_option);
@@ -2397,7 +2265,7 @@ new file mode 100644
diff --git a/third_party/blink/tools/commit_stats/git-dirs.txt b/third_party/blink/tools/commit_stats/git-dirs.txt
--- a/third_party/blink/tools/commit_stats/git-dirs.txt
+++ b/third_party/blink/tools/commit_stats/git-dirs.txt
@@ -76,6 +76,7 @@
@@ -75,6 +75,7 @@
./third_party/angle/third_party/glmark2/src,ANGLE
./third_party/openh264/src,OpenH264
./third_party/googletest/src,GoogleTest
@@ -2408,7 +2276,7 @@ diff --git a/third_party/blink/tools/commit_stats/git-dirs.txt b/third_party/bli
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -4744,6 +4744,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai
@@ -4781,6 +4781,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai
# Started failing after rolling new version of check-layout-th.js
css3/flexbox/perpendicular-writing-modes-inside-flex-item.html [ Failure ]
@@ -2424,7 +2292,7 @@ diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/we
diff --git a/third_party/blink/web_tests/VirtualTestSuites b/third_party/blink/web_tests/VirtualTestSuites
--- a/third_party/blink/web_tests/VirtualTestSuites
+++ b/third_party/blink/web_tests/VirtualTestSuites
@@ -450,6 +450,15 @@
@@ -447,6 +447,15 @@
"--disable-threaded-compositing", "--disable-threaded-animation"],
"expires": "Jul 1, 2023"
},
@@ -2839,7 +2707,7 @@ new file mode 100644
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -26394,7 +26394,7 @@ Called by update_debug_scenarios.py.-->
@@ -26495,7 +26495,7 @@ Called by update_debug_scenarios.py.-->
<int value="5" label="kImageICO"/>
<int value="6" label="kImageBMP"/>
<int value="7" label="kImageAVIF"/>
@@ -2848,7 +2716,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
</enum>
<enum name="DecodeSwapChainNotUsedReason">
@@ -64986,6 +64986,7 @@ from previous Chrome versions.
@@ -65578,6 +65578,7 @@ from previous Chrome versions.
<int value="188610022" label="NewMessageListView:enabled"/>
<int value="189728101" label="FasterLocationReload:disabled"/>
<int value="189777537" label="DisableInitialMostVisitedFadeIn:enabled"/>
@@ -22,10 +22,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
import org.chromium.chrome.browser.offlinepages.RequestCoordinatorBridge;
import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.tab.TabBrowserControlsConstraintsHelper;
import org.chromium.chrome.browser.tab.state.CriticalPersistedTabData;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
@@ -204,6 +206,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
@@ -202,6 +204,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@Override
public void onOpenInNewTab(GURL url, Referrer referrer, boolean navigateToTab,
@Nullable AdditionalNavigationParams additionalNavigationParams) {
@@ -33,7 +33,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
RecordUserAction.record("MobileNewTabOpened");
RecordUserAction.record("LinkOpenedInNewTab");
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
@@ -217,6 +220,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -215,6 +218,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@Override
public void onOpenInNewTabInGroup(GURL url, Referrer referrer) {
@@ -0,0 +1,25 @@
From: Your Name <you@example.com>
Date: Tue, 31 Oct 2023 16:16:08 +0000
Subject: Block Intents While Locked
see https://source.chromium.org/chromium/chromium/src/+/c5b50f4c2d42e7b808fd3e6fb3545cdb3f4d82c9
---
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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
@@ -540,8 +540,8 @@ BASE_FEATURE(kBaselineGM3SurfaceColors,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kBlockIntentsWhileLocked,
- "BlockIntentsWhileLocked",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "BlockIntentsWhileLocked", // enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // by default
BASE_FEATURE(kCacheActivityTaskID,
"CacheActivityTaskID",
--
2.25.1
@@ -79,7 +79,7 @@ diff --git a/services/network/cors/preflight_result.cc b/services/network/cors/p
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1129,6 +1129,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
@@ -1126,6 +1126,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
base::BindOnce(&NetworkContext::OnHttpCacheCleared,
base::Unretained(this), std::move(callback))));
@@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
--- a/chrome/android/chrome_public_apk_tmpl.gni
+++ b/chrome/android/chrome_public_apk_tmpl.gni
@@ -640,6 +640,7 @@ template("chrome_common_apk_or_module_tmpl") {
@@ -635,6 +635,7 @@ template("chrome_common_apk_or_module_tmpl") {
[ "//components/crash/core/app:chrome_crashpad_handler_named_as_so" ]
loadable_modules += [ "$root_out_dir/libchrome_crashpad_handler.so" ]
library_always_compress += [ "libchrome_crashpad_handler.so" ]
+34 -11
View File
@@ -25,7 +25,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../mipmap-xxxhdpi/app_icon.png | Bin 9667 -> 20837 bytes
.../mipmap-xxxhdpi/layered_app_icon.png | Bin 3652 -> 29220 bytes
.../layered_app_icon_background.png | Bin 3519 -> 142032 bytes
.../inline/BromiteInlineUpdateController.java | 16 ++++++--
.../chrome/browser/omaha/UpdateConfigs.java | 2 +-
.../inline/BromiteInlineUpdateController.java | 21 ++++++++--
chrome/app/extensions_strings.grdp | 4 +-
chrome/app/settings_strings.grdp | 2 +-
chrome/app/theme/chromium/BRANDING | 8 ++--
@@ -46,7 +47,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../drawable-xxhdpi/fre_product_logo.png | Bin 7720 -> 60959 bytes
.../drawable-xxxhdpi/fre_product_logo.png | Bin 10740 -> 93273 bytes
tools/grit/grit/grd_reader.py | 35 +++++++++++++++++
42 files changed, 102 insertions(+), 56 deletions(-)
43 files changed, 108 insertions(+), 57 deletions(-)
diff --git a/build/BUILD.gn b/build/BUILD.gn
--- a/build/BUILD.gn
@@ -83,7 +84,7 @@ diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -170,7 +170,7 @@ by a child template that "extends" this file.
@@ -171,7 +171,7 @@ by a child template that "extends" this file.
<application android:name="{% block application_name %}org.chromium.chrome.browser.base.SplitChromeApplication{% endblock %}"
android:icon="@drawable/ic_launcher"
android:roundIcon="@drawable/ic_launcher_round"
@@ -9106,6 +9107,18 @@ zk0U>@{Db0uvVi{o$%=-6@&Jp4mhhHYo~{+5O$ZdgIR*B?vJ5$!R3PXBkQ0>lqcPjJ
zG!=nXw2&abs#xr~fFDF!vq@X7`+qtd5cw$r{cp#9R6!ToGG#p=PkT1k)Wlt8^P%Pg
W=g!Ha2?pSwIRxeC=1^|uclqCxqvpf_
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
@@ -37,7 +37,7 @@ public class UpdateConfigs {
private static final String UPDATE_AVAILABLE_SWITCH_VALUE = "update_available";
private static final String UNSUPPORTED_OS_VERSION_SWITCH_VALUE = "unsupported_os_version";
- private static final long DEFAULT_UPDATE_NOTIFICATION_INTERVAL = 3 * DateUtils.DAY_IN_MILLIS;
+ private static final long DEFAULT_UPDATE_NOTIFICATION_INTERVAL = 1 * DateUtils.DAY_IN_MILLIS;
private static final long DEFAULT_UPDATE_ATTRIBUTION_WINDOW_MS = 2 * DateUtils.DAY_IN_MILLIS;
/** Possible update flow configurations. */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
@@ -9124,7 +9137,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/Br
public static String getDownloadUrl() {
return UPDATE_VERSION_URL + BuildConfig.BUILD_TARGET_CPU + "_ChromePublic.apk";
@@ -212,6 +212,13 @@ public class BromiteInlineUpdateController implements InlineUpdateController {
@@ -212,11 +212,20 @@ public class BromiteInlineUpdateController implements InlineUpdateController {
Log.i(TAG, "BromiteUpdater: obtained response '%s' and redirect URL '%s'", endpointResponse.getResponseString(), redirectURL);
if (redirectURL.indexOf(REDIRECT_URL_PREFIX) == 0) {
redirectURL = redirectURL.substring(REDIRECT_URL_PREFIX.length());
@@ -9138,11 +9151,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/Br
String[] parts = redirectURL.split(Pattern.quote("/"));
if (parts.length > 0) {
VersionNumber version = VersionNumber.fromString(parts[0]);
@@ -239,6 +246,7 @@ public class BromiteInlineUpdateController implements InlineUpdateController {
if (version != null) {
versionFound = true;
+ if (UPSTREAM_VERSION_URL.equals(""))
+ OmahaBase.updateLastPushedTimeStamp(System.currentTimeMillis());
OmahaBase.setLatestModifiedVersion(parts[0]);
callback.onResult(version);
return;
@@ -239,6 +248,10 @@ public class BromiteInlineUpdateController implements InlineUpdateController {
}
private void checkLatestUpstreamVersion(final Callback<VersionNumber> callback) {
+ if ((true)) callback.onResult(null);
+ if (UPSTREAM_VERSION_URL.equals("")) {
+ callback.onResult(null);
+ return;
+ }
Log.i(TAG, "BromiteUpdater: fetching with GET '%s'", UPSTREAM_VERSION_URL);
EndpointFetcher.nativeFetchWithNoAuth(
@@ -13124,7 +13147,7 @@ e)fqMZZ`3a)Ds&5H<cfp<0000<MNUMnLSTYHt&Yn8
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2033,6 +2033,7 @@ static_library("browser") {
@@ -2078,6 +2078,7 @@ static_library("browser") {
"//build:chromeos_buildflags",
"//build/config/chromebox_for_meetings:buildflags",
"//build/config/compiler:compiler_buildflags",
@@ -13143,7 +13166,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse
#include "chrome/browser/browser_process.h"
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
#include "chrome/browser/prefs/chrome_command_line_pref_store.h"
@@ -304,10 +305,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
@@ -285,10 +286,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
#endif
std::string seed;
CHECK(ui::ResourceBundle::HasSharedInstance());
@@ -13158,7 +13181,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse
diff --git a/chrome/browser/profiles/profile_shortcut_manager_win.cc b/chrome/browser/profiles/profile_shortcut_manager_win.cc
--- a/chrome/browser/profiles/profile_shortcut_manager_win.cc
+++ b/chrome/browser/profiles/profile_shortcut_manager_win.cc
@@ -75,7 +75,7 @@ const int kMaxProfileShortcutFileNameLength = 64;
@@ -77,7 +77,7 @@ const int kMaxProfileShortcutFileNameLength = 64;
// Incrementing this number will cause profile icons to be regenerated on
// profile startup (it should be incremented whenever the product/avatar icons
// change, etc).
@@ -13186,7 +13209,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
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
@@ -2255,7 +2255,7 @@ Your Google account may have other forms of browsing history like searches and a
@@ -2296,7 +2296,7 @@ Your Google account may have other forms of browsing history like searches and a
About Chrome
</message>
<message name="IDS_LEGAL_INFORMATION_SUMMARY" desc="Summary for legal information" meaning="Android">
@@ -13207,7 +13230,7 @@ diff --git a/chrome/common/url_constants.cc b/chrome/common/url_constants.cc
#if BUILDFLAG(IS_CHROMEOS_ASH)
const char kChromeOsHelpViaWebUIURL[] =
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
@@ -109,7 +109,7 @@ const char kChromeSearchScheme[] = "chrome-search";
@@ -111,7 +111,7 @@ const char kChromeSearchScheme[] = "chrome-search";
const char kChromeUIUntrustedNewTabPageUrl[] =
"chrome-untrusted://new-tab-page/";
@@ -10,8 +10,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -3101,8 +3101,8 @@
base_feature: "none",
@@ -3159,8 +3159,8 @@
status: "stable",
},
{
- name: "RemoveDataUrlInSvgUse",
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -98,9 +98,9 @@ BASE_FEATURE(kBackgroundFetch,
@@ -65,9 +65,9 @@ BASE_FEATURE(kBackgroundFetch,
base::FEATURE_ENABLED_BY_DEFAULT);
// Enable using the BackForwardCache.
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/component_updater/registration.cc
--- a/chrome/browser/component_updater/registration.cc
+++ b/chrome/browser/component_updater/registration.cc
@@ -100,6 +100,7 @@
@@ -98,6 +98,7 @@
namespace component_updater {
void RegisterComponentsForUpdate() {
@@ -10,8 +10,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -691,16 +691,18 @@
}
@@ -685,16 +685,18 @@
status: "stable",
},
{
- name: "CompressionDictionaryTransport",
+6 -14
View File
@@ -4,14 +4,14 @@ Subject: Disable FedCm
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
content/public/common/content_features.cc | 10 +++++-----
.../renderer/platform/runtime_enabled_features.json5 | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
content/public/common/content_features.cc | 6 +++---
.../blink/renderer/platform/runtime_enabled_features.json5 | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
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
@@ -418,7 +418,7 @@ BASE_FEATURE(kExperimentalContentSecurityPolicyFeatures,
@@ -337,7 +337,7 @@ BASE_FEATURE(kEnableServiceWorkersForChromeScheme,
// by the flag in RuntimeEnabledFeatures on the blink side. See also
// the use of kSetOnlyIfOverridden in content/child/runtime_features.cc.
// We enable it here by default to support use in origin trials.
@@ -20,15 +20,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
// Field trial boolean parameter which indicates whether FedCM IDP sign-out
// is enabled.
@@ -467,15 +467,15 @@ BASE_FEATURE(kFedCmSelectiveDisclosure,
// Enables metrics collection for signin status mismatches. Also enables
// parsing the signin status HTTP headers.
// kFedCmIdpSigninStatusEnabled takes precedence over this feature flag.
-BASE_FEATURE(kFedCmIdpSigninStatusMetrics, // disabled
+BASE_FEATURE(kFedCmIdpSigninStatusMetrics, // enabled
"FedCmIdpSigninStatusMetrics", // by default
- base::FEATURE_DISABLED_BY_DEFAULT); // on bromite
+ base::FEATURE_ENABLED_BY_DEFAULT); // on bromite
@@ -385,9 +385,9 @@ BASE_FEATURE(kFedCmSelectiveDisclosure,
// Enables the IDP signin status API for use with FedCM, including avoiding
// network requests when not signed in and mismatch handling.
@@ -43,7 +35,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
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
@@ -1596,7 +1596,7 @@
@@ -1603,7 +1603,7 @@
{
name: "FedCm",
public: true,
@@ -4,32 +4,52 @@ Subject: Disable FirstPartySets and StorageAccessAPI
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
components/privacy_sandbox/privacy_sandbox_prefs.cc | 2 +-
content/public/common/content_features.cc | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
components/privacy_sandbox/privacy_sandbox_prefs.cc | 2 +-
components/privacy_sandbox/tracking_protection_prefs.cc | 4 ++--
content/public/common/content_features.cc | 6 +++---
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc
--- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
+++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
@@ -58,7 +58,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -55,7 +55,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kPrivacySandboxFirstPartySetsDataAccessAllowedInitialized, false);
registry->RegisterBooleanPref(
- prefs::kPrivacySandboxFirstPartySetsEnabled, true,
+ prefs::kPrivacySandboxFirstPartySetsEnabled, false,
- prefs::kPrivacySandboxRelatedWebsiteSetsEnabled, true,
+ prefs::kPrivacySandboxRelatedWebsiteSetsEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kPrivacySandboxTopicsConsentGiven,
diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/components/privacy_sandbox/tracking_protection_prefs.cc
--- a/components/privacy_sandbox/tracking_protection_prefs.cc
+++ b/components/privacy_sandbox/tracking_protection_prefs.cc
@@ -27,13 +27,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
// Tracking Protection Settings Prefs
registry->RegisterBooleanPref(
- prefs::kBlockAll3pcToggleEnabled, false,
+ prefs::kBlockAll3pcToggleEnabled, false, // with true enables FPS
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterIntegerPref(
prefs::kTrackingProtectionLevel,
static_cast<int>(TrackingProtectionLevel::kStandard),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
- registry->RegisterBooleanPref(prefs::kTrackingProtection3pcdEnabled, false);
+ registry->RegisterBooleanPref(prefs::kTrackingProtection3pcdEnabled, false); // with true enables FPS
registry->RegisterBooleanPref(
prefs::kEnableDoNotTrack, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
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
@@ -493,9 +493,9 @@ BASE_FEATURE(kWebIdentityMDocs,
@@ -405,9 +405,9 @@ BASE_FEATURE(kWebIdentityMDocs,
base::FEATURE_DISABLED_BY_DEFAULT);
// Enables usage of First Party Sets to determine cookie availability.
-BASE_FEATURE(kFirstPartySets,
- "FirstPartySets",
- base::FEATURE_DISABLED_BY_DEFAULT);
- base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kFirstPartySets, // always
+ "FirstPartySets", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
+6 -6
View File
@@ -13,15 +13,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
@@ -43,7 +43,6 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity;
@@ -38,7 +38,6 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity;
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler;
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler.RequestMetadata;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteControllerProvider;
import org.chromium.chrome.browser.profiles.Profile;
@@ -270,8 +269,6 @@ public class IntentHandler {
import org.chromium.chrome.browser.renderer_host.ChromeNavigationUIData;
@@ -264,8 +263,6 @@ public class IntentHandler {
private static int sReferrerId;
private static String sPendingIncognitoUrl;
@@ -30,7 +30,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
private static final String PACKAGE_GMAIL = "com.google.android.gm";
private static final String PACKAGE_PLUS = "com.google.android.apps.plus";
private static final String PACKAGE_HANGOUTS = "com.google.android.talk";
@@ -491,8 +488,6 @@ public class IntentHandler {
@@ -456,8 +453,6 @@ public class IntentHandler {
return ExternalAppId.LINE;
} else if (packageName.equals(PACKAGE_WHATSAPP)) {
return ExternalAppId.WHATSAPP;
@@ -79,7 +79,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
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
@@ -713,8 +713,8 @@ BASE_FEATURE(kContextMenuGoogleLensSearchOptimizations,
@@ -725,8 +725,8 @@ BASE_FEATURE(kContextMenuGoogleLensSearchOptimizations,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kContextMenuSearchWithGoogleLens,
@@ -90,7 +90,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
BASE_FEATURE(kContextMenuShopWithGoogleLens,
"ContextMenuShopWithGoogleLens",
@@ -799,8 +799,8 @@ BASE_FEATURE(kOfflineIndicatorV2,
@@ -827,8 +827,8 @@ BASE_FEATURE(kOfflineIndicatorV2,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kExperimentsForAgsa,
@@ -35,8 +35,8 @@ diff --git a/content/browser/installedapp/installed_app_provider_impl_win.cc b/c
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
@@ -587,12 +587,12 @@ BASE_FEATURE(kInnerFrameCompositorSurfaceEviction,
base::FEATURE_ENABLED_BY_DEFAULT); // guard this
@@ -451,12 +451,12 @@ BASE_FEATURE(kGreaseUACH, "GreaseUACH", base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kIdleDetection, "IdleDetection", base::FEATURE_DISABLED_BY_DEFAULT);
// Kill switch for the GetInstalledRelatedApps API.
-BASE_FEATURE(kInstalledApp, "InstalledApp", base::FEATURE_ENABLED_BY_DEFAULT);
@@ -53,7 +53,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
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
@@ -2115,9 +2115,9 @@
@@ -2139,9 +2139,9 @@
status: {"Android": "test", "default": "stable"},
},
{
@@ -1,38 +0,0 @@
From: uazo <uazo@users.noreply.github.com>
Date: Tue, 22 Aug 2023 09:02:50 +0000
Subject: Disable PartnerCustomizations
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++--
.../partnercustomizations/PartnerBrowserCustomizations.java | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
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
@@ -912,8 +912,8 @@ BASE_FEATURE(kOpaqueOriginForIncomingIntents,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kPartnerCustomizationsUma,
- "PartnerCustomizationsUma",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PartnerCustomizationsUma", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
BASE_FEATURE(kProbabilisticCryptidRenderer,
"ProbabilisticCryptidRenderer",
base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java b/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
--- a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
+++ b/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
@@ -214,7 +214,7 @@ public class PartnerBrowserCustomizations {
boolean systemOrPreStable =
(context.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) == 1
|| !VersionInfo.isStableBuild();
- if (!systemOrPreStable) {
+ if ((true)) {
// Only allow partner customization if this browser is a system package, or
// is in pre-stable channels.
return null;
--
2.25.1
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -175,12 +175,12 @@ BASE_FEATURE(kAttributionReportingCrossAppWeb, // in bromite
@@ -168,12 +168,12 @@ BASE_FEATURE(kAttributionReportingCrossAppWeb, // in bromite
// set, and handling their responses, according to the protocol.
// (See https://github.com/WICG/trust-token-api.)
BASE_FEATURE(kPrivateStateTokens,
@@ -15,7 +15,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
BASE_FEATURE(kSHA1ServerSignature,
- "SHA1ServerSignature",
- base::FEATURE_ENABLED_BY_DEFAULT);
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "SHA1ServerSignature", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
+1 -1
View File
@@ -11,7 +11,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@@ -284,7 +284,7 @@ BASE_FEATURE(kEnableDrDcVulkan,
@@ -283,7 +283,7 @@ BASE_FEATURE(kForceGpuMainThreadToNormalPriorityDrDc,
// Enable WebGPU on gpu service side only. This is used with origin trial and
// enabled by default on supported platforms.
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH)
@@ -10,7 +10,7 @@ This feature can be used for fingerprinting as it exposes a user preference
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
@@ -2943,8 +2943,8 @@
@@ -3003,8 +3003,8 @@
base_feature: "none",
},
{
@@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -445,15 +445,6 @@ by a child template that "extends" this file.
@@ -446,15 +446,6 @@ by a child template that "extends" this file.
</intent-filter>
</receiver>
@@ -49,7 +49,7 @@ diff --git a/chrome/browser/password_manager/generated_password_leak_detection_p
diff --git a/components/password_manager/core/browser/affiliation/affiliation_backend.cc b/components/password_manager/core/browser/affiliation/affiliation_backend.cc
--- a/components/password_manager/core/browser/affiliation/affiliation_backend.cc
+++ b/components/password_manager/core/browser/affiliation/affiliation_backend.cc
@@ -405,6 +405,7 @@ void AffiliationBackend::OnMalformedResponse(
@@ -404,6 +404,7 @@ void AffiliationBackend::OnMalformedResponse(
}
bool AffiliationBackend::OnCanSendNetworkRequest() {
@@ -60,7 +60,7 @@ diff --git a/components/password_manager/core/browser/affiliation/affiliation_ba
diff --git a/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc b/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc
--- a/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc
+++ b/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc
@@ -131,6 +131,10 @@ void AffiliationServiceImpl::Shutdown() {
@@ -127,6 +127,10 @@ void AffiliationServiceImpl::Shutdown() {
void AffiliationServiceImpl::PrefetchChangePasswordURLs(
const std::vector<GURL>& urls,
base::OnceClosure callback) {
@@ -114,7 +114,7 @@ diff --git a/components/password_manager/core/browser/affiliation/facet_manager.
diff --git a/components/password_manager/core/browser/features/password_features.cc b/components/password_manager/core/browser/features/password_features.cc
--- a/components/password_manager/core/browser/features/password_features.cc
+++ b/components/password_manager/core/browser/features/password_features.cc
@@ -68,8 +68,8 @@ BASE_FEATURE(kFillingAcrossGroupedSites,
@@ -61,8 +61,8 @@ BASE_FEATURE(kFillingAcrossGroupedSites,
// Enables the experiment for the password manager to only fill on account
// selection, rather than autofilling on page load, with highlighting of fields.
BASE_FEATURE(kFillOnAccountSelect,
@@ -123,9 +123,9 @@ diff --git a/components/password_manager/core/browser/features/password_features
+ "fill-on-account-select", // always enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // by default
#if BUILDFLAG(IS_IOS)
// Enables migration to OSCrypt with a single query to the keychain.
@@ -87,14 +87,14 @@ BASE_FEATURE(kSharedPasswordNotificationUI,
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
// Enables new confirmation bubble flow if generated password was used in a
@@ -88,14 +88,14 @@ BASE_FEATURE(kSharedPasswordNotificationUI,
// Enables password receiving service including incoming password sharing
// invitation sync data type.
BASE_FEATURE(kPasswordManagerEnableReceiverService,
@@ -26,7 +26,7 @@ diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_p
diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stream_factory_job_controller.cc
--- a/net/http/http_stream_factory_job_controller.cc
+++ b/net/http/http_stream_factory_job_controller.cc
@@ -1236,11 +1236,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
@@ -1233,11 +1233,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
// single user on a multi-user system to hijack the alternate protocol.
// These systems also enforce ports <1024 as restricted ports. So don't
// allow protocol upgrades to user-controllable ports.
@@ -39,7 +39,7 @@ diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stre
continue;
if (alternative_service_info.protocol() == kProtoHTTP2) {
@@ -1277,8 +1273,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
@@ -1274,8 +1270,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
GURL destination = CreateAltSvcUrl(
original_url, alternative_service_info.host_port_pair());
@@ -25,7 +25,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -7675,6 +7675,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7944,6 +7944,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kFileSystemObserverDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kFileSystemObserver)},
@@ -90,7 +90,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h
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
@@ -890,7 +890,7 @@ const base::FeatureParam<std::string> kMediaFoundationClearKeyCdmPathForTesting{
@@ -915,7 +915,7 @@ const base::FeatureParam<std::string> kMediaFoundationClearKeyCdmPathForTesting{
#endif // BUILDFLAG(IS_WIN)
// Enables the Live Caption feature on supported devices.
@@ -99,7 +99,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
// Controls whether a "Share this tab instead" button should be shown for
// getDisplayMedia captures. Note: This flag does not control if the "Share this
@@ -937,9 +937,9 @@ BASE_FEATURE(kLiveCaptionRightClick,
@@ -974,9 +974,9 @@ BASE_FEATURE(kLiveCaptionRightClick,
base::FEATURE_DISABLED_BY_DEFAULT);
// Enable or disable Live Caption support for WebAudio.
@@ -115,7 +115,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
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
@@ -659,6 +659,10 @@ BASE_FEATURE(kDirectCompositorThreadIpc,
@@ -653,6 +653,10 @@ BASE_FEATURE(kDirectCompositorThreadIpc,
"DirectCompositorThreadIpc",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -129,7 +129,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -332,6 +332,8 @@ extern const base::FeatureParam<double> kCostReductionOfMultiplexedRequests;
@@ -330,6 +330,8 @@ extern const base::FeatureParam<double> kCostReductionOfMultiplexedRequests;
// hopping through the IO thread first.
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDirectCompositorThreadIpc);
@@ -54,7 +54,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v
diff --git a/components/visitedlink/common/visitedlink_common.cc b/components/visitedlink/common/visitedlink_common.cc
--- a/components/visitedlink/common/visitedlink_common.cc
+++ b/components/visitedlink/common/visitedlink_common.cc
@@ -43,6 +43,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& url) const {
@@ -41,6 +41,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& url) const {
}
bool VisitedLinkCommon::IsVisited(Fingerprint fingerprint) const {
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -164,7 +164,7 @@ BASE_FEATURE(kWindowManagementPermissionAlias,
@@ -169,7 +169,7 @@ BASE_FEATURE(kWindowPlacementPermissionAlias,
// Enables disallowing MIDI permission by default.
BASE_FEATURE(kBlockMidiByDefault,
"BlockMidiByDefault",
@@ -11,10 +11,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/version.gni b/chrome/version.gni
--- a/chrome/version.gni
+++ b/chrome/version.gni
@@ -68,7 +68,7 @@ if (is_mac) {
_version_dictionary_template += "trichrome_auto_64_32_version_code = \"@TRICHROME_AUTO_64_32_VERSION_CODE@\" "
_version_dictionary_template +=
@@ -75,7 +75,7 @@ if (is_mac) {
"trichrome_64_version_code = \"@TRICHROME_64_VERSION_CODE@\" "
_version_dictionary_template +=
"trichrome_auto_64_version_code = \"@TRICHROME_AUTO_64_VERSION_CODE@\" "
- if (target_cpu == "arm64") {
+ if (target_cpu == "arm64" || target_cpu == "x64") {
_version_dictionary_template += "trichrome_64_32_high_version_code = \"@TRICHROME_64_32_HIGH_VERSION_CODE@\" "
@@ -23,7 +23,7 @@ diff --git a/chrome/version.gni b/chrome/version.gni
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
--- a/components/viz/common/features.cc
+++ b/components/viz/common/features.cc
@@ -298,9 +298,10 @@ const base::FeatureParam<double> kADPFMidFrameBoostDurationMultiplier{
@@ -291,9 +291,10 @@ const base::FeatureParam<double> kADPFMidFrameBoostDurationMultiplier{
// If enabled, Chrome includes the Renderer Main thread(s) into the
// ADPF(Android Dynamic Performance Framework) hint session.
@@ -11,7 +11,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -3420,70 +3420,6 @@ void Document::open(LocalDOMWindow* entered_window,
@@ -3425,70 +3425,6 @@ void Document::open(LocalDOMWindow* entered_window,
// https://chromestatus.com/metrics/feature/timeline/popularity/4375
CountUse(WebFeature::kDocumentOpenMutateSandbox);
}
@@ -85,7 +85,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
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
@@ -1438,7 +1438,6 @@
@@ -1441,7 +1441,6 @@
{
name: "DocumentOpenSandboxInheritanceRemoval",
status: "stable",
@@ -60,7 +60,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUiPrefs.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUiPrefs.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUiPrefs.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUiPrefs.java
@@ -18,7 +18,7 @@ import java.lang.annotation.RetentionPolicy;
@@ -21,7 +21,7 @@ import java.lang.annotation.RetentionPolicy;
*/
public class BookmarkUiPrefs {
private static final @BookmarkRowDisplayPref int INITIAL_BOOKMARK_ROW_DISPLAY_PREF =
@@ -92,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
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
@@ -505,7 +505,7 @@ BASE_FEATURE(kAndroidSearchEngineChoiceNotification,
@@ -509,7 +509,7 @@ BASE_FEATURE(kAndroidSearchEngineChoiceNotification,
BASE_FEATURE(kAndroidImprovedBookmarks,
"AndroidImprovedBookmarks",
@@ -4,8 +4,8 @@ Subject: Evict the entire FrameTree like desktop
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
components/viz/common/features.cc | 2 +-
content/public/common/content_features.cc | 4 ++--
components/viz/common/features.cc | 2 +-
content/common/features.cc | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
@@ -20,19 +20,19 @@ diff --git a/components/viz/common/features.cc b/components/viz/common/features.
// If enabled, CompositorFrameSinkClient::OnBeginFrame is also treated as the
// DidReceiveCompositorFrameAck. Both in providing the Ack for the previous
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
@@ -583,8 +583,8 @@ BASE_FEATURE(kInMemoryCodeCache,
diff --git a/content/common/features.cc b/content/common/features.cc
--- a/content/common/features.cc
+++ b/content/common/features.cc
@@ -241,8 +241,8 @@ BASE_FEATURE(kInMemoryCodeCache,
// frames. Otherwise only toplevel frames and OOPIF are handled, and other
// cases, e.g. PDF tiles are ignored. See https://crbug.com/1360351 for details.
BASE_FEATURE(kInnerFrameCompositorSurfaceEviction,
- "InnerFrameCompositorSurfaceEviction",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "InnerFrameCompositorSurfaceEviction", // guard this
+ base::FEATURE_ENABLED_BY_DEFAULT); // guard this
+ "InnerFrameCompositorSurfaceEviction", // guard this
+ base::FEATURE_ENABLED_BY_DEFAULT); // guard this
// Kill switch for the GetInstalledRelatedApps API.
BASE_FEATURE(kInstalledApp, "InstalledApp", base::FEATURE_ENABLED_BY_DEFAULT);
// Enable IOSurface based screen capturer.
#if BUILDFLAG(IS_MAC)
--
2.25.1
File diff suppressed because one or more lines are too long
+164 -99
View File
@@ -2,33 +2,39 @@ From: Your Name <you@example.com>
Date: Wed, 6 Sep 2023 17:55:01 +0000
Subject: Fix chromium build bugs
because of
https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10
---
BUILD.gn | 1 -
.../AutofillSaveCardBottomSheetBridge.java | 2 +-
.../org/chromium/chrome/browser/tab/TabImpl.java | 2 +-
...me_browser_main_extra_parts_nacl_deprecation.cc | 2 ++
chrome/browser/download/download_ui_model.cc | 2 ++
.../api/autofill_private/autofill_util.cc | 2 ++
.../api/reading_list/reading_list_event_router.h | 2 +-
.../navigation_predictor_metrics_document_data.h | 2 ++
chrome/browser/safe_browsing/BUILD.gn | 1 +
..._auction_consented_debugging_infobar_delegate.h | 2 +-
.../read_anything/read_anything_container_view.cc | 12 ++++++------
chrome/browser/ui/views/tabs/tab.cc | 2 +-
chrome/browser/ui/views/tabs/tab_group_header.cc | 2 +-
.../app_management/app_management_page_handler.cc | 2 ++
chrome/browser/usb/chrome_usb_delegate.cc | 2 ++
.../autofill/core/browser/data_model/address.cc | 4 ++--
components/autofill/core/browser/form_structure.cc | 2 ++
.../core/browser/ui/suggestion_selection.cc | 12 +-----------
.../core/browser/webdata/autofill_table.cc | 12 ++++++------
components/omnibox/browser/omnibox_field_trial.cc | 4 ++--
.../phishing_classifier/phishing_image_embedder.cc | 14 +++-----------
content/browser/browser_interface_binders.cc | 1 +
crypto/BUILD.gn | 3 +++
net/BUILD.gn | 1 +
third_party/libevent/BUILD.gn | 2 ++
25 files changed, 48 insertions(+), 45 deletions(-)
BUILD.gn | 1 -
.../AutofillSaveCardBottomSheetBridge.java | 2 +-
.../chromium/chrome/browser/tab/TabImpl.java | 2 +-
.../intent_helper/intent_picker_helpers.cc | 2 ++
...owser_main_extra_parts_nacl_deprecation.cc | 2 ++
.../download/download_ui_safe_browsing_util.h | 2 +-
.../api/autofill_private/autofill_util.cc | 2 ++
.../reading_list/reading_list_event_router.h | 2 +-
...vigation_predictor_metrics_document_data.h | 2 ++
chrome/browser/safe_browsing/BUILD.gn | 1 +
.../tpcd/support/tpcd_support_manager.cc | 2 +-
...ion_consented_debugging_infobar_delegate.h | 2 +-
.../read_anything_container_view.cc | 12 +++----
chrome/browser/ui/views/tabs/tab.cc | 2 +-
.../browser/ui/views/tabs/tab_group_header.cc | 2 +-
.../app_management_page_handler.cc | 2 ++
chrome/browser/usb/chrome_usb_delegate.cc | 2 ++
.../core/browser/data_model/address.cc | 2 +-
.../autofill/core/browser/form_structure.cc | 2 ++
.../core/browser/webdata/autofill_table.cc | 36 +++++++++----------
.../omnibox/browser/autocomplete_controller.h | 2 +-
.../omnibox/browser/omnibox_field_trial.cc | 4 +--
components/omnibox/browser/omnibox_view.cc | 2 ++
.../browser/tailored_word_break_iterator.cc | 2 +-
.../phishing_image_embedder.cc | 14 ++------
content/browser/browser_interface_binders.cc | 1 +
crypto/BUILD.gn | 3 ++
net/BUILD.gn | 1 +
third_party/libevent/BUILD.gn | 2 ++
29 files changed, 64 insertions(+), 49 deletions(-)
diff --git a/BUILD.gn b/BUILD.gn
--- a/BUILD.gn
@@ -56,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/Autofi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
@@ -385,7 +385,7 @@ public class TabImpl implements Tab {
@@ -401,7 +401,7 @@ public class TabImpl implements Tab {
}
@Override
@@ -65,6 +71,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
public int getId() {
return mId;
}
diff --git a/chrome/browser/apps/intent_helper/intent_picker_helpers.cc b/chrome/browser/apps/intent_helper/intent_picker_helpers.cc
--- a/chrome/browser/apps/intent_helper/intent_picker_helpers.cc
+++ b/chrome/browser/apps/intent_helper/intent_picker_helpers.cc
@@ -32,6 +32,7 @@
namespace apps {
namespace {
+#if BUILDFLAG(IS_MAC)
std::vector<apps::IntentPickerAppInfo> CombinePossibleMacAppWithOtherApps(
std::vector<apps::IntentPickerAppInfo> apps,
absl::optional<apps::IntentPickerAppInfo> mac_app) {
@@ -40,6 +41,7 @@ std::vector<apps::IntentPickerAppInfo> CombinePossibleMacAppWithOtherApps(
}
return apps;
}
+#endif
PickerEntryType GetPickerEntryType(AppType app_type) {
PickerEntryType picker_entry_type = PickerEntryType::kUnknown;
diff --git a/chrome/browser/chrome_browser_main_extra_parts_nacl_deprecation.cc b/chrome/browser/chrome_browser_main_extra_parts_nacl_deprecation.cc
--- a/chrome/browser/chrome_browser_main_extra_parts_nacl_deprecation.cc
+++ b/chrome/browser/chrome_browser_main_extra_parts_nacl_deprecation.cc
@@ -84,29 +109,22 @@ diff --git a/chrome/browser/chrome_browser_main_extra_parts_nacl_deprecation.cc
} // namespace
diff --git a/chrome/browser/download/download_ui_model.cc b/chrome/browser/download/download_ui_model.cc
--- a/chrome/browser/download/download_ui_model.cc
+++ b/chrome/browser/download/download_ui_model.cc
@@ -177,6 +177,7 @@ bool ShouldShowWarningForNoSafeBrowsing(Profile* profile) {
#endif
}
diff --git a/chrome/browser/download/download_ui_safe_browsing_util.h b/chrome/browser/download/download_ui_safe_browsing_util.h
--- a/chrome/browser/download/download_ui_safe_browsing_util.h
+++ b/chrome/browser/download/download_ui_safe_browsing_util.h
@@ -9,7 +9,7 @@ class Profile;
+#if !BUILDFLAG(IS_ANDROID)
bool CanUserTurnOnSafeBrowsing(Profile* profile) {
#if BUILDFLAG(FULL_SAFE_BROWSING)
return !safe_browsing::IsSafeBrowsingPolicyManaged(*profile->GetPrefs());
@@ -184,6 +185,7 @@ bool CanUserTurnOnSafeBrowsing(Profile* profile) {
return false;
#endif
}
+#endif
} // namespace
namespace download {
class DownloadItem;
-};
+}
// Utilities for determining how to display a download in the desktop UI based
// on Safe Browsing state and verdict.
diff --git a/chrome/browser/extensions/api/autofill_private/autofill_util.cc b/chrome/browser/extensions/api/autofill_private/autofill_util.cc
--- a/chrome/browser/extensions/api/autofill_private/autofill_util.cc
+++ b/chrome/browser/extensions/api/autofill_private/autofill_util.cc
@@ -42,6 +42,7 @@ namespace {
@@ -43,6 +43,7 @@ namespace {
// Get the multi-valued element for |type| and return it as a |vector|.
// TODO(khorimoto): remove this function since multi-valued types are
// deprecated.
@@ -114,7 +132,7 @@ diff --git a/chrome/browser/extensions/api/autofill_private/autofill_util.cc b/c
std::vector<std::string> GetList(const autofill::AutofillProfile& profile,
autofill::ServerFieldType type) {
std::vector<std::string> list;
@@ -65,6 +66,7 @@ std::vector<std::string> GetList(const autofill::AutofillProfile& profile,
@@ -66,6 +67,7 @@ std::vector<std::string> GetList(const autofill::AutofillProfile& profile,
return list;
}
@@ -149,7 +167,7 @@ diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_do
diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
--- a/chrome/browser/safe_browsing/BUILD.gn
+++ b/chrome/browser/safe_browsing/BUILD.gn
@@ -210,6 +210,7 @@ static_library("safe_browsing") {
@@ -182,6 +182,7 @@ static_library("safe_browsing") {
"//components/version_info",
"//content/public/browser",
"//services/preferences/public/mojom:mojom",
@@ -157,6 +175,18 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
]
if (safe_browsing_mode == 1) {
# "Safe Browsing Full" files in addition to the "basic" ones to use for
diff --git a/chrome/browser/tpcd/support/tpcd_support_manager.cc b/chrome/browser/tpcd/support/tpcd_support_manager.cc
--- a/chrome/browser/tpcd/support/tpcd_support_manager.cc
+++ b/chrome/browser/tpcd/support/tpcd_support_manager.cc
@@ -38,7 +38,7 @@ TpcdSupportManager::TpcdSupportManager(
std::unique_ptr<TpcdSupportDelegate> delegate)
: content::WebContentsObserver(web_contents),
content::WebContentsUserData<TpcdSupportManager>(*web_contents),
- delegate_(std::move(delegate)){};
+ delegate_(std::move(delegate)){}
TpcdSupportManager::~TpcdSupportManager() = default;
diff --git a/chrome/browser/ui/startup/bidding_and_auction_consented_debugging_infobar_delegate.h b/chrome/browser/ui/startup/bidding_and_auction_consented_debugging_infobar_delegate.h
--- a/chrome/browser/ui/startup/bidding_and_auction_consented_debugging_infobar_delegate.h
+++ b/chrome/browser/ui/startup/bidding_and_auction_consented_debugging_infobar_delegate.h
@@ -194,7 +224,7 @@ diff --git a/chrome/browser/ui/views/side_panel/read_anything/read_anything_cont
diff --git a/chrome/browser/ui/views/tabs/tab.cc b/chrome/browser/ui/views/tabs/tab.cc
--- a/chrome/browser/ui/views/tabs/tab.cc
+++ b/chrome/browser/ui/views/tabs/tab.cc
@@ -536,7 +536,7 @@ bool Tab::OnMousePressed(const ui::MouseEvent& event) {
@@ -540,7 +540,7 @@ bool Tab::OnMousePressed(const ui::MouseEvent& event) {
}
bool Tab::OnMouseDragged(const ui::MouseEvent& event) {
@@ -256,17 +286,8 @@ diff --git a/chrome/browser/usb/chrome_usb_delegate.cc b/chrome/browser/usb/chro
diff --git a/components/autofill/core/browser/data_model/address.cc b/components/autofill/core/browser/data_model/address.cc
--- a/components/autofill/core/browser/data_model/address.cc
+++ b/components/autofill/core/browser/data_model/address.cc
@@ -30,7 +30,7 @@
@@ -59,7 +59,7 @@ Address& Address::operator=(const Address& address) {
namespace autofill {
-Address::Address() : structured_address_(std::make_unique<AddressNode>()){};
+Address::Address() : structured_address_(std::make_unique<AddressNode>()){}
Address::Address(const Address& address) {
*this = address;
@@ -44,7 +44,7 @@ Address& Address::operator=(const Address& address) {
}
structured_address_->CopyFrom(address.GetStructuredAddress());
return *this;
-};
@@ -293,54 +314,68 @@ diff --git a/components/autofill/core/browser/form_structure.cc b/components/aut
void PopulateRandomizedFormMetadata(const RandomizedEncoder& encoder,
const FormStructure& form,
diff --git a/components/autofill/core/browser/ui/suggestion_selection.cc b/components/autofill/core/browser/ui/suggestion_selection.cc
--- a/components/autofill/core/browser/ui/suggestion_selection.cc
+++ b/components/autofill/core/browser/ui/suggestion_selection.cc
@@ -152,17 +152,7 @@ Suggestion GetFillFullNameSuggestion(Suggestion::BackendId backend_id) {
// whole form.
// TODO(crbug.com/1459990): Use this once the new popup with submenus
// implementation is complete.
-Suggestion GetFillEverythingFromAddressProfileSuggestion(
- Suggestion::BackendId backend_id) {
- Suggestion suggestion(l10n_util::GetStringUTF16(
- IDS_AUTOFILL_FILL_EVERYTHING_FROM_ADDRESS_PROFILE_POPUP_OPTION_SELECTED));
- suggestion.popup_item_id = PopupItemId::kFillEverythingFromAddressProfile;
- suggestion.icon = "magicIcon";
- suggestion.payload = backend_id;
- suggestion.acceptance_a11y_announcement = l10n_util::GetStringUTF16(
- IDS_AUTOFILL_A11Y_ANNOUNCE_FILL_EVERYTHING_FROM_ADDRESS_PROFILE_POPUP_OPTION_SELECTED);
- return suggestion;
-}
+// (UAZO) removed due error: unused function
// Append new suggestions to `suggestions` based on the `ServerFieldType` list
// provided. Suggestions are not added if their info is not found in the
diff --git a/components/autofill/core/browser/webdata/autofill_table.cc b/components/autofill/core/browser/webdata/autofill_table.cc
--- a/components/autofill/core/browser/webdata/autofill_table.cc
+++ b/components/autofill/core/browser/webdata/autofill_table.cc
@@ -412,12 +412,12 @@ void InsertBuilder(sql::Database* db,
}
// Renames the table `from` into `to` and returns true if successful.
-bool RenameTable(sql::Database* db,
- std::string_view from,
- std::string_view to) {
- return db->Execute(
- base::StrCat({"ALTER TABLE ", from, " RENAME TO ", to}).c_str());
@@ -961,24 +961,24 @@ time_t GetEndTime(const base::Time& end) {
// Returns |s| with |escaper| in front of each of occurrence of a character
// from |special_chars|. Any occurrence of |escaper| in |s| is doubled. For
// example, Substitute("hello_world!", "_%", '!'') returns "hello!_world!!".
-std::u16string Substitute(const std::u16string& s,
- const std::u16string& special_chars,
- const char16_t& escaper) {
- // Prepend |escaper| to the list of |special_chars|.
- std::u16string escape_wildcards(special_chars);
- escape_wildcards.insert(escape_wildcards.begin(), escaper);
-
- // Prepend the |escaper| just before |special_chars| in |s|.
- std::u16string result(s);
- for (char16_t c : escape_wildcards) {
- for (size_t pos = 0; (pos = result.find(c, pos)) != std::u16string::npos;
- pos += 2) {
- result.insert(result.begin() + pos, escaper);
- }
- }
-
- return result;
-}
+// bool RenameTable(sql::Database* db,
+// std::string_view from,
+// std::string_view to) {
+// return db->Execute(
+// base::StrCat({"ALTER TABLE ", from, " RENAME TO ", to}).c_str());
+// std::u16string Substitute(const std::u16string& s,
+// const std::u16string& special_chars,
+// const char16_t& escaper) {
+// // Prepend |escaper| to the list of |special_chars|.
+// std::u16string escape_wildcards(special_chars);
+// escape_wildcards.insert(escape_wildcards.begin(), escaper);
+
+// // Prepend the |escaper| just before |special_chars| in |s|.
+// std::u16string result(s);
+// for (char16_t c : escape_wildcards) {
+// for (size_t pos = 0; (pos = result.find(c, pos)) != std::u16string::npos;
+// pos += 2) {
+// result.insert(result.begin() + pos, escaper);
+// }
+// }
+
+// return result;
+// }
// Wrapper around `sql::Database::DoesColumnExist()`, because that function
// only accepts const char* parameters.
// This helper function binds the `profile`s properties to the placeholders in
// `s`, in the order the columns are defined in the header file.
diff --git a/components/omnibox/browser/autocomplete_controller.h b/components/omnibox/browser/autocomplete_controller.h
--- a/components/omnibox/browser/autocomplete_controller.h
+++ b/components/omnibox/browser/autocomplete_controller.h
@@ -208,7 +208,7 @@ class AutocompleteController : public AutocompleteProviderListener,
OpenTabProvider* open_tab_provider() const { return open_tab_provider_; }
const AutocompleteInput& input() const { return input_; }
- const AutocompleteResult& result() const { return published_result_; };
+ const AutocompleteResult& result() const { return published_result_; }
// Groups `published_result_` by search vs URL.
// See also `AutocompleteResult::GroupSuggestionsBySearchVsURL()`.
void GroupSuggestionsBySearchVsURL(size_t begin, size_t end);
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
--- a/components/omnibox/browser/omnibox_field_trial.cc
+++ b/components/omnibox/browser/omnibox_field_trial.cc
@@ -1091,11 +1091,11 @@ MLConfig::MLConfig(const MLConfig&) = default;
@@ -1090,11 +1090,11 @@ MLConfig::MLConfig(const MLConfig&) = default;
ScopedMLConfigForTesting::ScopedMLConfigForTesting()
: original_config_(std::make_unique<MLConfig>(GetMLConfig())) {
@@ -354,6 +389,36 @@ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omni
}
MLConfig& ScopedMLConfigForTesting::GetMLConfig() {
diff --git a/components/omnibox/browser/omnibox_view.cc b/components/omnibox/browser/omnibox_view.cc
--- a/components/omnibox/browser/omnibox_view.cc
+++ b/components/omnibox/browser/omnibox_view.cc
@@ -56,12 +56,14 @@ bool RichAutocompletionEitherNonPrefixEnabled() {
kRichAutocompletionAutocompleteNonPrefixShortcutProvider.Get();
}
+#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
// Return true if the given match uses a vector icon with a background.
bool HasVectorIconBackground(const AutocompleteMatch& match) {
return OmniboxFieldTrial::IsActionsUISimplificationEnabled() &&
(match.type == AutocompleteMatchType::HISTORY_CLUSTER ||
match.type == AutocompleteMatchType::PEDAL);
}
+#endif
} // namespace
diff --git a/components/omnibox/browser/tailored_word_break_iterator.cc b/components/omnibox/browser/tailored_word_break_iterator.cc
--- a/components/omnibox/browser/tailored_word_break_iterator.cc
+++ b/components/omnibox/browser/tailored_word_break_iterator.cc
@@ -18,7 +18,7 @@ TailoredWordBreakIterator::TailoredWordBreakIterator(
pos_(0),
word_breaks_{u"0123456789"},
non_word_breaks_{u"_"},
- all_breaks_{word_breaks_ + non_word_breaks_} {};
+ all_breaks_{word_breaks_ + non_word_breaks_} {}
TailoredWordBreakIterator::~TailoredWordBreakIterator() {}
diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc b/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
--- a/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
+++ b/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc
@@ -381,7 +446,7 @@ diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phish
diff --git a/content/browser/browser_interface_binders.cc b/content/browser/browser_interface_binders.cc
--- a/content/browser/browser_interface_binders.cc
+++ b/content/browser/browser_interface_binders.cc
@@ -353,6 +353,7 @@ void BindDateTimeChooserForFrame(
@@ -346,6 +346,7 @@ void BindDateTimeChooserForFrame(
void BindTextSuggestionHostForFrame(
RenderFrameHost* host,
mojo::PendingReceiver<blink::mojom::TextSuggestionHost> receiver) {
@@ -405,7 +470,7 @@ diff --git a/crypto/BUILD.gn b/crypto/BUILD.gn
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1659,6 +1659,7 @@ component("net") {
@@ -1651,6 +1651,7 @@ component("net") {
configs -= [ "//build/config/compiler:default_optimization" ]
configs += [ "//build/config/compiler:optimize_max" ]
}
@@ -1,129 +0,0 @@
From: uazo <uazo@users.noreply.github.com>
Date: Wed, 6 Sep 2023 15:25:18 +0000
Subject: Fix eyeo Browser Ad filtering patches
---
chrome/browser/BUILD.gn | 4 ----
chrome/browser/client_hints/client_hints_browsertest.cc | 7 +------
chrome/browser/extensions/BUILD.gn | 4 ----
chrome/browser/preferences/BUILD.gn | 4 ----
chrome/browser/ui/BUILD.gn | 6 ------
chrome/browser/ui/tab_helpers.cc | 4 ----
6 files changed, 1 insertion(+), 28 deletions(-)
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2110,12 +2110,8 @@ static_library("browser") {
"//chrome/common/notifications",
"//chrome/installer/util:with_no_strings",
"//chrome/services/speech/buildflags",
-<<<<<<< HEAD
-=======
- "//chromeos/components/kiosk",
"//components/adblock/content:browser",
"//components/adblock/core/converter",
->>>>>>> 9402d5c48c0e8... Squashed commits
"//components/assist_ranker",
"//components/autofill/content/browser",
"//components/autofill/core/browser",
diff --git a/chrome/browser/client_hints/client_hints_browsertest.cc b/chrome/browser/client_hints/client_hints_browsertest.cc
--- a/chrome/browser/client_hints/client_hints_browsertest.cc
+++ b/chrome/browser/client_hints/client_hints_browsertest.cc
@@ -655,17 +655,12 @@ class ClientHintsBrowserTest : public policy::PolicyTest {
// Force-enable the ClientHintsFormFactor feature, so that the header is
// represented in the various header counts.
feature_list->InitializeFromCommandLine(
-<<<<<<< HEAD
- "UserAgentClientHint,CriticalClientHint,AcceptCHFrame,"
- "ClientHintsFormFactor,ClientHintsPrefersReducedTransparency",
- "");
-=======
"UserAgentClientHint,CriticalClientHint,AcceptCHFrame",
+ "ClientHintsFormFactor,ClientHintsPrefersReducedTransparency",
// Disabling AdblockPlus because the async implementation of
// AdblockURLLoaderThrottle::WillStartRequest confuses
// ThirdPartyURLLoaderInterceptor.
"AdblockPlus");
->>>>>>> 9402d5c48c0e8... Squashed commits
return feature_list;
}
diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn
--- a/chrome/browser/extensions/BUILD.gn
+++ b/chrome/browser/extensions/BUILD.gn
@@ -834,11 +834,7 @@ static_library("extensions") {
"//chrome/browser/safe_browsing:metrics_collector",
"//chrome/browser/ui/tabs:tab_enums",
"//chrome/browser/web_applications",
-<<<<<<< HEAD
-=======
- "//chromeos/components/kiosk",
"//components/adblock/content:browser",
->>>>>>> 9402d5c48c0e8... Squashed commits
"//components/cbor:cbor",
"//components/commerce/core:pref_names",
"//components/device_reauth",
diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BUILD.gn
--- a/chrome/browser/preferences/BUILD.gn
+++ b/chrome/browser/preferences/BUILD.gn
@@ -38,12 +38,8 @@ android_library("java") {
# TODO(chouinard,estade): Consider breaking this target up into a different target for each pref file.
java_cpp_strings("java_pref_names_srcjar") {
sources = [
-<<<<<<< HEAD
"//chrome/common/pref_names.h",
-=======
- "//chrome/common/pref_names.cc",
"//components/adblock/core/common/adblock_prefs.cc",
->>>>>>> 9402d5c48c0e8... Squashed commits
"//components/autofill/core/common/autofill_prefs.cc",
"//components/commerce/core/pref_names.cc",
"//components/dom_distiller/core/pref_names.cc",
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
@@ -449,11 +449,8 @@ static_library("ui") {
"//chrome/browser/storage_access_api",
"//chrome/browser/ui/side_panel:side_panel_enums",
"//chrome/browser/ui/webui:configs",
-<<<<<<< HEAD
"//chrome/browser/ui/webui/location_internals:mojo_bindings",
-=======
"//chrome/browser/ui/webui/adblock_internals:mojo_bindings",
->>>>>>> 9402d5c48c0e8... Squashed commits
"//chrome/browser/ui/webui/omnibox:mojo_bindings",
"//chrome/browser/ui/webui/segmentation_internals:mojo_bindings",
"//chrome/browser/ui/webui/suggest_internals:mojo_bindings",
@@ -469,11 +466,8 @@ static_library("ui") {
"//components/about_ui",
"//components/access_code_cast/common:metrics",
"//components/account_id",
-<<<<<<< HEAD
"//components/autofill/content/browser",
-=======
"//components/adblock/content:browser",
->>>>>>> 9402d5c48c0e8... Squashed commits
"//components/autofill/content/browser:risk_proto",
"//components/autofill/core/browser",
"//components/blocked_content",
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -17,14 +17,10 @@
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
-<<<<<<< HEAD
#include "chrome/browser/3pcd/heuristics/opener_heuristic_tab_helper.h"
-=======
-#include "chrome/browser/3pcd_heuristics/opener_heuristic_tab_helper.h"
#include "chrome/browser/adblock/element_hider_factory.h"
#include "chrome/browser/adblock/sitekey_storage_factory.h"
#include "chrome/browser/adblock/subscription_service_factory.h"
->>>>>>> 9402d5c48c0e8... Squashed commits
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/breadcrumbs/breadcrumb_manager_tab_helper.h"
#include "chrome/browser/browser_process.h"
--
2.25.1
@@ -18,7 +18,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/browser/about_flags.cc | 5 +
chrome/browser/flag_descriptions.cc | 5 +
chrome/browser/flag_descriptions.h | 3 +
content/public/common/content_features.cc | 4 +-
content/common/features.cc | 8 +-
skia/ext/skia_utils_win.cc | 20 ++
skia/ext/skia_utils_win.h | 3 +
third_party/blink/common/features.cc | 6 +-
@@ -28,13 +28,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../fonts/skia/bromite_allowed_fonts.h | 270 ++++++++++++++++++
.../platform/fonts/skia/font_cache_skia.cc | 44 ++-
.../platform/fonts/win/font_cache_skia_win.cc | 7 +-
13 files changed, 361 insertions(+), 12 deletions(-)
13 files changed, 363 insertions(+), 14 deletions(-)
create mode 100644 third_party/blink/renderer/platform/fonts/skia/bromite_allowed_fonts.h
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
@@ -10130,6 +10130,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -10403,6 +10403,11 @@ const FeatureEntry kFeatureEntries[] = {
kClipboardMaximumAgeVariations,
"ClipboardMaximumAge")},
@@ -49,7 +49,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
@@ -157,6 +157,11 @@ const char kClipboardUnsanitizedContentDescription[] =
@@ -159,6 +159,11 @@ const char kClipboardUnsanitizedContentDescription[] =
"Allows reading/writing unsanitized content from/to the clipboard. "
"Currently, it is only applicable to HTML format. See crbug.com/1268679.";
@@ -64,7 +64,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
@@ -127,6 +127,9 @@ extern const char kClickToCallDescription[];
@@ -131,6 +131,9 @@ extern const char kClickToCallDescription[];
extern const char kClipboardUnsanitizedContentName[];
extern const char kClipboardUnsanitizedContentDescription[];
@@ -74,27 +74,31 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
extern const char kClipboardMaximumAgeName[];
extern const char kClipboardMaximumAgeDescription[];
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
@@ -28,7 +28,7 @@ BASE_FEATURE(kAllowContentInitiatedDataUrlNavigations,
diff --git a/content/common/features.cc b/content/common/features.cc
--- a/content/common/features.cc
+++ b/content/common/features.cc
@@ -21,8 +21,8 @@ BASE_FEATURE(kAllowContentInitiatedDataUrlNavigations,
// Allows Blink to request fonts from the Android Downloadable Fonts API through
// the service implemented on the Java side.
BASE_FEATURE(kAndroidDownloadableFontsMatching,
"AndroidDownloadableFontsMatching",
- "AndroidDownloadableFontsMatching",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ "AndroidDownloadableFontsMatching", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
#if BUILDFLAG(IS_ANDROID)
// Use chromim's implementation of selection magnifier built using surface
@@ -520,7 +520,7 @@ const base::FeatureParam<base::TimeDelta>
// The following two features, when enabled, result in the browser process only
// asking the renderer process to run beforeunload handlers if it knows such
@@ -195,8 +195,8 @@ const base::FeatureParam<int> kFledgeLimitNumAuctionsParam{
// font name or postscript name. Rolling out behind a flag, as enabling this
// enables a font indexer on Android which we need to test in the field first.
BASE_FEATURE(kFontSrcLocalMatching,
"FontSrcLocalMatching",
- "FontSrcLocalMatching",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ "FontSrcLocalMatching", // disable
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
#if !BUILDFLAG(IS_ANDROID)
// Feature controlling whether or not memory pressure signals will be forwarded
// to the GPU process.
diff --git a/skia/ext/skia_utils_win.cc b/skia/ext/skia_utils_win.cc
--- a/skia/ext/skia_utils_win.cc
+++ b/skia/ext/skia_utils_win.cc
@@ -157,7 +161,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
BASE_FEATURE(kGainmapHdrImages,
"GainmapHdrImages",
@@ -1973,6 +1973,10 @@ BASE_FEATURE(kWebRtcH264WithOpenH264FFmpeg,
@@ -2036,6 +2036,10 @@ BASE_FEATURE(kWebRtcH264WithOpenH264FFmpeg,
base::FEATURE_ENABLED_BY_DEFAULT);
#endif // BUILDFLAG(RTC_USE_H264) && BUILDFLAG(ENABLE_FFMPEG_VIDEO_DECODERS)
@@ -165,13 +169,13 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
+ "FontsFingerprintMitigation",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
BASE_FEATURE(kWebRtcEncoderAsyncEncode,
"WebRtcEncoderAsyncEncode",
base::FEATURE_ENABLED_BY_DEFAULT);
// Exposes non-standard stats in the WebRTC getStats() API.
BASE_FEATURE(kWebRtcExposeNonStandardStats,
"WebRtc-ExposeNonStandardStats",
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -246,6 +246,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCompressParkableStrings);
@@ -249,6 +249,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCompressParkableStrings);
BLINK_COMMON_EXPORT extern const base::FeatureParam<int>
kMaxDiskDataAllocatorCapacityMB;
@@ -184,7 +188,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -731,6 +731,7 @@ component("platform") {
@@ -755,6 +755,7 @@ component("platform") {
"fonts/simple_font_data.cc",
"fonts/simple_font_data.h",
"fonts/skia/font_cache_skia.cc",
+209 -111
View File
@@ -24,9 +24,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
services/firewall/public/firewall_service.cc | 46 ++
services/firewall/public/firewall_service.h | 57 +++
services/firewall/tools/annotation_model.py | 49 ++
services/firewall/tools/annotations.xml | 448 ++++++++++++++++++
services/firewall/tools/annotations.xml | 466 ++++++++++++++++++
services/firewall/tools/builders_template.py | 72 +++
services/firewall/tools/codegen.py | 82 ++++
services/firewall/tools/codegen.py | 82 +++
services/firewall/tools/decode_template.py | 85 ++++
services/firewall/tools/gen_builders.py | 65 +++
services/firewall/tools/rules.xml | 83 ++++
@@ -34,10 +34,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
services/network/network_context.cc | 73 +++
.../network/public/cpp/simple_url_loader.cc | 18 +
.../network/public/cpp/simple_url_loader.h | 3 +
.../loader/fetch/url_loader/url_loader.cc | 145 +++++-
.../platform/loader/fetch/fetch_utils.cc | 191 ++++++-
.../loader/fetch/url_loader/url_loader.cc | 4 +-
.../scripts/auditor/auditor.py | 1 +
.../scripts/auditor/util.py | 1 +
28 files changed, 1502 insertions(+), 16 deletions(-)
29 files changed, 1566 insertions(+), 20 deletions(-)
create mode 100644 services/firewall/public/BUILD.gn
create mode 100644 services/firewall/public/firewall_features.cc
create mode 100644 services/firewall/public/firewall_features.h
@@ -55,7 +56,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2495,6 +2495,7 @@ static_library("browser") {
@@ -2552,6 +2552,7 @@ static_library("browser") {
"//third_party/ungoogled:switches",
"//services/device/public/mojom",
"//services/device/public/mojom:usb",
@@ -66,7 +67,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
@@ -202,6 +202,7 @@
@@ -203,6 +203,7 @@
#include "sandbox/policy/features.h"
#include "sandbox/policy/switches.h"
#include "services/device/public/cpp/device_features.h"
@@ -74,7 +75,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "services/media_session/public/cpp/features.h"
#include "services/network/public/cpp/features.h"
#include "services/network/public/cpp/network_switches.h"
@@ -8329,6 +8330,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8592,6 +8593,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(page_info::kPageInfoHideSiteSettings)},
#endif // !BUILDFLAG(IS_ANDROID)
@@ -235,7 +236,7 @@ diff --git a/components/webapps/browser/android/webapk/webapk_icon_hasher.cc b/c
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1098,6 +1098,7 @@ component("net") {
@@ -1096,6 +1096,7 @@ component("net") {
"//build:chromeos_buildflags",
"//net/data/ssl/chrome_root_store:gen_root_store_inc",
"//net/http:transport_security_state_generated_files",
@@ -270,7 +271,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
}
URLRequestHttpJob::~URLRequestHttpJob() {
@@ -574,6 +577,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
@@ -555,6 +558,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) {
void URLRequestHttpJob::StartTransactionInternal() {
DCHECK(!override_response_headers_);
@@ -624,7 +625,7 @@ diff --git a/services/firewall/tools/annotations.xml b/services/firewall/tools/a
new file mode 100644
--- /dev/null
+++ b/services/firewall/tools/annotations.xml
@@ -0,0 +1,448 @@
@@ -0,0 +1,466 @@
+<?xml version="1.0"?>
+<!--
+ This file is part of Bromite.
@@ -652,22 +653,22 @@ new file mode 100644
+ <item id="accounts_image_fetcher" added_in_milestone="66" hash_code="98658519" content_hash_code="02b53da6" os_list="linux,windows,chromeos,android" file_path="components/signin/internal/identity_manager/account_fetcher_service.cc" />
+ <item id="adb_client_socket" added_in_milestone="65" hash_code="87775794" content_hash_code="03607bec" os_list="linux,windows,chromeos" file_path="chrome/browser/devtools/device/adb/adb_client_socket.cc" />
+ <item id="affiliation_lookup_by_hash" added_in_milestone="87" hash_code="57748571" content_hash_code="04e2a551" os_list="windows,chromeos,android,linux" file_path="components/password_manager/core/browser/affiliation/hash_affiliation_fetcher.cc" />
+ <item id="aggregation_service_helper_keys" added_in_milestone="96" hash_code="49783589" content_hash_code="006e2ea0" os_list="linux,windows,chromeos,android" file_path="content/browser/aggregation_service/aggregation_service_network_fetcher_impl.cc" />
+ <item id="aggregation_service_report" added_in_milestone="95" hash_code="95942194" content_hash_code="037768da" os_list="linux,windows,chromeos,android" file_path="content/browser/aggregation_service/aggregatable_report_sender.cc" />
+ <item id="aggregation_service_helper_keys" added_in_milestone="96" hash_code="49783589" content_hash_code="05a1f344" os_list="linux,windows,chromeos,android" file_path="content/browser/aggregation_service/aggregation_service_network_fetcher_impl.cc" />
+ <item id="aggregation_service_report" added_in_milestone="95" hash_code="95942194" content_hash_code="08063b85" os_list="linux,windows,chromeos,android" file_path="content/browser/aggregation_service/aggregatable_report_sender.cc" />
+ <item id="android_device_manager_socket" added_in_milestone="65" hash_code="37249086" content_hash_code="00623801" os_list="linux,windows,chromeos" file_path="chrome/browser/devtools/device/android_device_manager.cc" />
+ <item id="android_web_socket" added_in_milestone="65" hash_code="39356976" content_hash_code="00bbd661" os_list="linux,windows,chromeos" file_path="chrome/browser/devtools/device/android_web_socket.cc" />
+ <item id="auction_downloader" added_in_milestone="92" hash_code="27833508" content_hash_code="0713f212" os_list="linux,windows,chromeos,android" file_path="content/services/auction_worklet/auction_downloader.cc" />
+ <item id="auction_downloader" added_in_milestone="92" hash_code="27833508" content_hash_code="01f53427" os_list="linux,windows,chromeos,android" file_path="content/services/auction_worklet/public/cpp/auction_downloader.cc" />
+ <item id="auction_report_sender" added_in_milestone="92" hash_code="96136865" content_hash_code="029b766e" os_list="linux,windows,chromeos,android" file_path="content/browser/interest_group/interest_group_manager_impl.cc" />
+ <item id="autofill_image_fetcher_card_art_image" added_in_milestone="93" hash_code="90561372" content_hash_code="0177b54c" os_list="linux,windows,chromeos,android" file_path="chrome/browser/autofill/autofill_image_fetcher_impl.cc" />
+ <item id="autofill_query" added_in_milestone="62" hash_code="88863520" content_hash_code="00ed7a4b" os_list="linux,windows,chromeos,android" file_path="components/autofill/core/browser/autofill_download_manager.cc" />
+ <item id="autofill_upload" added_in_milestone="62" hash_code="104798869" content_hash_code="0698270b" os_list="linux,windows,chromeos,android" file_path="components/autofill/core/browser/autofill_download_manager.cc" />
+ <item id="backdrop_collection_images_download" added_in_milestone="68" hash_code="34767164" content_hash_code="03c0de0e" os_list="linux,windows,chromeos" file_path="chrome/browser/search/background/ntp_background_service.cc" />
+ <item id="backdrop_collection_names_download" added_in_milestone="68" hash_code="49246286" content_hash_code="0592b787" os_list="linux,windows,chromeos" file_path="chrome/browser/search/background/ntp_background_service.cc" />
+ <item id="backdrop_next_image_download" added_in_milestone="77" hash_code="7754485" content_hash_code="05df91f2" os_list="linux,windows,chromeos" file_path="chrome/browser/search/background/ntp_background_service.cc" />
+ <item id="autofill_image_fetcher_card_art_image" added_in_milestone="93" hash_code="90561372" content_hash_code="038b8696" os_list="linux,windows,chromeos" file_path="components/autofill/core/browser/ui/autofill_image_fetcher.cc" />
+ <item id="autofill_query" added_in_milestone="62" hash_code="88863520" content_hash_code="006ccff5" os_list="linux,windows,chromeos,android" file_path="components/autofill/core/browser/autofill_download_manager.cc" />
+ <item id="autofill_upload" added_in_milestone="62" hash_code="104798869" content_hash_code="04a7eb65" os_list="linux,windows,chromeos,android" file_path="components/autofill/core/browser/autofill_download_manager.cc" />
+ <item id="backdrop_collection_images_download" added_in_milestone="68" hash_code="34767164" content_hash_code="009770fb" os_list="linux,windows,chromeos" file_path="chrome/browser/search/background/ntp_background_service.cc" />
+ <item id="backdrop_collection_names_download" added_in_milestone="68" hash_code="49246286" content_hash_code="048c7a89" os_list="linux,windows,chromeos" file_path="chrome/browser/search/background/ntp_background_service.cc" />
+ <item id="backdrop_next_image_download" added_in_milestone="77" hash_code="7754485" content_hash_code="003626bf" os_list="linux,windows,chromeos" file_path="chrome/browser/search/background/ntp_background_service.cc" />
+ <item id="background_fetch_context" added_in_milestone="62" hash_code="16469669" content_hash_code="031d0caa" os_list="linux,windows,chromeos,android" file_path="content/browser/background_fetch/background_fetch_delegate_proxy.cc" />
+ <item id="bidirectional_stream" added_in_milestone="67" hash_code="108665132" content_hash_code="07c03a44" os_list="linux,windows,chromeos,android" file_path="net/http/bidirectional_stream.cc" />
+ <item id="blink_extension_resource_loader" added_in_milestone="63" hash_code="84165821" content_hash_code="03c97c39" os_list="linux,windows,chromeos,android" file_path="third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc" />
+ <item id="blink_resource_loader" added_in_milestone="62" hash_code="101845102" content_hash_code="047d7664" os_list="linux,windows,chromeos,android" file_path="third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc" />
+ <item id="blink_extension_resource_loader" added_in_milestone="63" hash_code="84165821" content_hash_code="03c97c39" os_list="linux,windows,chromeos" file_path="third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc" />
+ <item id="blink_resource_loader" added_in_milestone="62" hash_code="101845102" content_hash_code="047d7664" os_list="linux,windows,chromeos,android" file_path="third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc" />
+ <item id="bluetooth_socket" added_in_milestone="65" hash_code="94099818" content_hash_code="01d7fd7d" os_list="linux,windows,chromeos,android" file_path="device/bluetooth/bluetooth_socket_net.cc" />
+ <item id="brandcode_config" added_in_milestone="62" hash_code="109679553" content_hash_code="07ae0010" os_list="linux,windows,chromeos" file_path="chrome/browser/profile_resetter/brandcode_config_fetcher.cc" />
+ <item id="browser_switcher_ieem_sitelist" added_in_milestone="72" hash_code="97159948" content_hash_code="07b15836" os_list="linux,windows" file_path="chrome/browser/browser_switcher/browser_switcher_service.cc" />
@@ -682,13 +683,11 @@ new file mode 100644
+ <item id="chrome_apps_socket_api" added_in_milestone="65" hash_code="8591273" content_hash_code="07ca7795" os_list="linux,windows,chromeos" file_path="extensions/browser/api/socket/socket.cc" />
+ <item id="chrome_cart_discounts_lookup" added_in_milestone="92" hash_code="44551896" content_hash_code="05b3e421" os_list="linux,windows,chromeos" file_path="chrome/browser/cart/cart_discount_fetcher.cc" />
+ <item id="chrome_cart_get_discounted_link" added_in_milestone="92" hash_code="58596544" content_hash_code="052260e0" os_list="linux,windows,chromeos" file_path="chrome/browser/cart/cart_discount_link_fetcher.cc" />
+ <item id="chrome_cleaner" added_in_milestone="63" hash_code="27071967" content_hash_code="06a16464" os_list="windows" file_path="chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_fetcher_win.cc" />
+ <item id="chrome_cleanup_report" added_in_milestone="70" hash_code="71102679" content_hash_code="07c84618" os_list="windows" file_path="chrome/chrome_cleaner/logging/cleaner_logging_service.cc" />
+ <item id="chrome_feedback_report_app" added_in_milestone="62" hash_code="134729048" content_hash_code="04bf864a" os_list="linux,windows,chromeos,android" file_path="components/feedback/feedback_uploader.cc" />
+ <item id="chrome_feedback_report_app" added_in_milestone="62" hash_code="134729048" content_hash_code="050db812" os_list="linux,windows,chromeos,android" file_path="components/feedback/feedback_uploader.cc" />
+ <item id="chrome_variations_service" added_in_milestone="62" hash_code="115188287" content_hash_code="00f59481" os_list="linux,windows,chromeos,android" file_path="components/variations/service/variations_service.cc" />
+ <item id="client_download_request" added_in_milestone="62" hash_code="125522256" content_hash_code="01da15dc" os_list="linux,windows,chromeos" file_path="chrome/browser/safe_browsing/download_protection/check_client_download_request_base.cc" />
+ <item id="content_hash_verification_job" added_in_milestone="62" hash_code="64733114" content_hash_code="079fc9db" os_list="linux,windows,chromeos" file_path="extensions/browser/content_hash_fetcher.cc" />
+ <item id="conversion_measurement_report" added_in_milestone="84" hash_code="113422320" content_hash_code="06a4170c" os_list="linux,windows,android,chromeos" file_path="content/browser/attribution_reporting/attribution_report_network_sender.cc" />
+ <item id="conversion_measurement_report" added_in_milestone="84" hash_code="113422320" content_hash_code="048435e4" os_list="linux,windows,android,chromeos" file_path="content/browser/attribution_reporting/attribution_report_network_sender.cc" />
+ <item id="credenential_avatar" added_in_milestone="62" hash_code="53695122" content_hash_code="06bcc86b" os_list="linux,windows,chromeos,android" file_path="chrome/browser/ui/passwords/account_avatar_fetcher.cc" />
+ <item id="cros_recovery_image_download" added_in_milestone="62" hash_code="101725581" content_hash_code="00a7d792" os_list="linux,windows,chromeos" file_path="chrome/browser/extensions/api/image_writer_private/write_from_url_operation.cc" />
+ <item id="desktop_screenshot_save" added_in_milestone="94" hash_code="18870110" content_hash_code="0431b7d2" os_list="linux,windows,chromeos" file_path="chrome/browser/ui/views/sharing_hub/screenshot/screenshot_captured_bubble.cc" />
@@ -710,7 +709,6 @@ new file mode 100644
+ <item id="domain_security_policy" added_in_milestone="62" hash_code="77597059" content_hash_code="01d7c177" os_list="linux,windows,chromeos,android" file_path="services/network/network_context.cc" />
+ <item id="download_internals_webui_source" added_in_milestone="66" hash_code="38670228" content_hash_code="07b659d0" os_list="linux,windows,chromeos,android" file_path="chrome/browser/ui/webui/download_internals/download_internals_ui_message_handler.cc" />
+ <item id="download_manager_resume" added_in_milestone="62" hash_code="35380758" content_hash_code="0275159a" os_list="linux,windows,chromeos,android" file_path="components/download/internal/common/download_item_impl.cc" />
+ <item id="download_recovery_component" added_in_milestone="71" hash_code="131711536" content_hash_code="00317d2f" os_list="windows" file_path="chrome/chrome_cleaner/components/recovery_component.cc" />
+ <item id="download_web_contents_frame" added_in_milestone="62" hash_code="56351037" content_hash_code="0037d0a1" os_list="linux,windows,chromeos,android" file_path="content/browser/web_contents/web_contents_impl.cc" />
+ <item id="downloads_api_run_async" added_in_milestone="62" hash_code="121068967" content_hash_code="008d9d92" os_list="linux,windows,chromeos" file_path="chrome/browser/extensions/api/downloads/downloads_api.cc" />
+ <item id="downloads_dom_handler" added_in_milestone="73" hash_code="95951029" content_hash_code="082cc10b" os_list="linux,windows,chromeos" file_path="chrome/browser/ui/webui/downloads/downloads_dom_handler.cc" />
@@ -723,17 +721,15 @@ new file mode 100644
+ <item id="extension_install_signer" added_in_milestone="62" hash_code="50464499" content_hash_code="065c4bce" os_list="linux,windows,chromeos" file_path="chrome/browser/extensions/install_signer.cc" />
+ <item id="extension_manifest_fetcher" added_in_milestone="62" hash_code="5151071" content_hash_code="05983aa9" os_list="linux,windows,chromeos" file_path="extensions/browser/updater/extension_downloader.cc" />
+ <item id="external_policy_fetcher" added_in_milestone="62" hash_code="9459438" content_hash_code="03d48984" os_list="linux,windows,chromeos" file_path="components/policy/core/common/cloud/external_policy_data_fetcher.cc" />
+ <item id="favicon_loader" added_in_milestone="63" hash_code="112189210" content_hash_code="0437e97c" os_list="linux,windows,chromeos,android" file_path="third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc" />
+ <item id="ftl_messaging_client_ack_messages" added_in_milestone="86" hash_code="55663676" content_hash_code="013f1ddb" os_list="linux,windows,chromeos,android" file_path="remoting/signaling/ftl_messaging_client.cc" />
+ <item id="ftl_messaging_client_receive_messages" added_in_milestone="86" hash_code="136248372" content_hash_code="022e9c77" os_list="linux,windows,chromeos,android" file_path="remoting/signaling/ftl_messaging_client.cc" />
+ <item id="ftl_messaging_client_send_messages" added_in_milestone="86" hash_code="48924790" content_hash_code="006864f3" os_list="linux,windows,chromeos,android" file_path="remoting/signaling/ftl_messaging_client.cc" />
+ <item id="favicon_loader" added_in_milestone="63" hash_code="112189210" content_hash_code="0437e97c" os_list="linux,windows,chromeos,android" file_path="third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc" />
+ <item id="ftl_messaging_client_ack_messages" added_in_milestone="86" hash_code="55663676" content_hash_code="0567243e" os_list="linux,windows,chromeos,android" file_path="remoting/signaling/ftl_messaging_client.cc" />
+ <item id="ftl_messaging_client_receive_messages" added_in_milestone="86" hash_code="136248372" content_hash_code="079dbc7d" os_list="linux,windows,chromeos,android" file_path="remoting/signaling/ftl_messaging_client.cc" />
+ <item id="ftl_messaging_client_send_messages" added_in_milestone="86" hash_code="48924790" content_hash_code="05bff395" os_list="linux,windows,chromeos,android" file_path="remoting/signaling/ftl_messaging_client.cc" />
+ <item id="ftl_registration_manager" added_in_milestone="86" hash_code="38256901" content_hash_code="00bff9a1" os_list="linux,windows,chromeos,android" file_path="remoting/signaling/ftl_registration_manager.cc" />
+ <item id="gaia_auth_check_connection_info" added_in_milestone="62" hash_code="4598626" content_hash_code="036b0bb8" os_list="linux,windows,chromeos,android" file_path="google_apis/gaia/gaia_auth_fetcher.cc" />
+ <item id="gaia_auth_exchange_device_id" added_in_milestone="62" hash_code="39877119" content_hash_code="02eb801a" os_list="linux,windows,chromeos,android" file_path="google_apis/gaia/gaia_auth_fetcher.cc" />
+ <item id="gaia_auth_fetch_for_uber" added_in_milestone="62" hash_code="97978464" content_hash_code="01ab5779" os_list="linux,windows,chromeos,android" file_path="google_apis/gaia/gaia_auth_fetcher.cc" />
+ <item id="gaia_auth_list_accounts" added_in_milestone="62" hash_code="35565745" content_hash_code="0595471e" os_list="linux,windows,chromeos,android" file_path="google_apis/gaia/gaia_auth_fetcher.cc" />
+ <item id="gaia_auth_log_out" added_in_milestone="62" hash_code="116426676" content_hash_code="056ee739" os_list="linux,windows,chromeos,android" file_path="google_apis/gaia/gaia_auth_fetcher.cc" />
+ <item id="gaia_auth_merge_sessions" added_in_milestone="62" hash_code="26216847" content_hash_code="01d03b23" os_list="linux,windows,chromeos,android" file_path="google_apis/gaia/gaia_auth_fetcher.cc" />
+ <item id="gaia_auth_multilogin" added_in_milestone="70" hash_code="31445884" content_hash_code="04a2142a" os_list="linux,windows,chromeos,android" file_path="google_apis/gaia/gaia_auth_fetcher.cc" />
+ <item id="gaia_auth_revoke_token" added_in_milestone="62" hash_code="133982351" content_hash_code="05c2fef2" os_list="linux,windows,chromeos,android" file_path="google_apis/gaia/gaia_auth_fetcher.cc" />
+ <item id="gaia_cookie_manager_external_cc_result" added_in_milestone="62" hash_code="4300475" content_hash_code="01dbe597" os_list="linux,windows,chromeos,android" file_path="components/signin/internal/identity_manager/gaia_cookie_manager_service.cc" />
@@ -762,11 +758,11 @@ new file mode 100644
+ <item id="interest_feedv2_send" added_in_milestone="83" hash_code="85742023" content_hash_code="02f676af" os_list="linux,windows,chromeos,android" file_path="components/feed/core/v2/feed_network_impl.cc" />
+ <item id="interest_group_update_fetcher" added_in_milestone="94" hash_code="110915076" content_hash_code="06322759" os_list="linux,windows,android,chromeos" file_path="content/browser/interest_group/interest_group_update_manager.cc" />
+ <item id="intranet_redirect_detector" added_in_milestone="62" hash_code="21785164" content_hash_code="03b26f7b" os_list="linux,windows,chromeos" file_path="chrome/browser/intranet_redirect_detector.cc" />
+ <item id="javascript_report_error" added_in_milestone="87" hash_code="109607776" content_hash_code="006e4e54" os_list="linux" file_path="chrome/browser/error_reporting/chrome_js_error_report_processor_nonchromeos.cc" />
+ <item id="javascript_report_error" added_in_milestone="87" hash_code="109607776" content_hash_code="03abb4b9" os_list="linux" file_path="chrome/browser/error_reporting/chrome_js_error_report_processor_nonchromeos.cc" />
+ <item id="lib_address_input" added_in_milestone="62" hash_code="50816767" content_hash_code="0374aae8" os_list="linux,windows,chromeos,android" file_path="third_party/libaddressinput/chromium/chrome_metadata_source.cc" />
+ <item id="load_autofill_gstatic_data" added_in_milestone="78" hash_code="119416099" content_hash_code="07a1e952" os_list="linux,windows,chromeos,android" file_path="chrome/browser/autofill/autofill_gstatic_reader.cc" />
+ <item id="logo_service" added_in_milestone="73" hash_code="35473769" content_hash_code="013550c3" os_list="linux,windows,chromeos,android" file_path="components/search_provider_logos/logo_service_impl.cc" />
+ <item id="lookup_single_password_leak" added_in_milestone="78" hash_code="16927377" content_hash_code="00b98558" os_list="linux,windows,chromeos,android" file_path="components/password_manager/core/browser/leak_detection/leak_detection_request.cc" />
+ <item id="lookup_single_password_leak" added_in_milestone="78" hash_code="16927377" content_hash_code="000d99a9" os_list="linux,windows,chromeos,android" file_path="components/password_manager/core/browser/leak_detection/leak_detection_request.cc" />
+ <item id="managed_configuration_loader" added_in_milestone="89" hash_code="77734467" content_hash_code="060dc999" os_list="linux,windows,chromeos" file_path="chrome/browser/device_api/managed_configuration_api.cc" />
+ <item id="media_router_global_media_controls_image" added_in_milestone="81" hash_code="95983790" content_hash_code="02e96911" os_list="linux,windows,chromeos" file_path="chrome/browser/ui/global_media_controls/cast_media_notification_item.cc" />
+ <item id="metrics_report_ukm" added_in_milestone="62" hash_code="727478" content_hash_code="008577eb" os_list="linux,windows,chromeos,android" file_path="components/metrics/net/net_metrics_log_uploader.cc" />
@@ -829,17 +825,17 @@ new file mode 100644
+ <item id="remoting_directory_delete_host" added_in_milestone="86" hash_code="89093734" content_hash_code="03ed762b" os_list="linux,windows,chromeos,android" file_path="remoting/base/directory_service_client.cc" />
+ <item id="remoting_directory_get_host_list" added_in_milestone="86" hash_code="93434368" content_hash_code="03933aa0" os_list="linux,windows,chromeos,android" file_path="remoting/base/directory_service_client.cc" />
+ <item id="remoting_directory_register_host" added_in_milestone="86" hash_code="117688925" content_hash_code="046c936d" os_list="linux,windows,chromeos,android" file_path="remoting/base/directory_service_client.cc" />
+ <item id="remoting_ice_config_request" added_in_milestone="86" hash_code="88945310" content_hash_code="05a5a715" os_list="linux,windows,chromeos,android" file_path="remoting/protocol/remoting_ice_config_request.cc" />
+ <item id="remoting_log_to_server" added_in_milestone="86" hash_code="99742369" content_hash_code="06fb14d6" os_list="linux,windows,chromeos,android" file_path="remoting/signaling/remoting_log_to_server.cc" />
+ <item id="remoting_register_support_host_request" added_in_milestone="86" hash_code="67117364" content_hash_code="00f37554" os_list="linux,windows,chromeos" file_path="remoting/host/remoting_register_support_host_request.cc" />
+ <item id="remoting_ice_config_request" added_in_milestone="86" hash_code="88945310" content_hash_code="001d0a98" os_list="linux,windows,chromeos,android" file_path="remoting/protocol/remoting_ice_config_request.cc" />
+ <item id="remoting_log_to_server" added_in_milestone="86" hash_code="99742369" content_hash_code="04dfdf0a" os_list="linux,windows,chromeos,android" file_path="remoting/signaling/remoting_log_to_server.cc" />
+ <item id="remoting_register_support_host_request" added_in_milestone="86" hash_code="67117364" content_hash_code="04fd7da8" os_list="linux,windows,chromeos" file_path="remoting/host/remoting_register_support_host_request.cc" />
+ <item id="remoting_telemetry_log_writer" added_in_milestone="86" hash_code="107268760" content_hash_code="04df471b" os_list="linux,windows,chromeos,android" file_path="remoting/base/telemetry_log_writer.cc" />
+ <item id="render_view_context_menu" added_in_milestone="62" hash_code="25844439" content_hash_code="04240bc2" os_list="linux,windows,chromeos" file_path="chrome/browser/renderer_context_menu/render_view_context_menu.cc" />
+ <item id="renderer_initiated_download" added_in_milestone="62" hash_code="116443055" content_hash_code="02417da4" os_list="linux,windows,chromeos,android" file_path="content/browser/renderer_host/render_frame_host_impl.cc" />
+ <item id="reporting" added_in_milestone="62" hash_code="109891200" content_hash_code="077eedd0" os_list="linux,windows,chromeos" file_path="net/reporting/reporting_uploader.cc" />
+ <item id="rlz_ping" added_in_milestone="63" hash_code="99279418" content_hash_code="06160e82" os_list="windows,chromeos" file_path="rlz/lib/financial_ping.cc" />
+ <item id="safe_browsing_binary_upload_app" added_in_milestone="87" hash_code="4306022" content_hash_code="03da20b9" os_list="linux,windows,chromeos" file_path="chrome/browser/safe_browsing/cloud_content_scanning/cloud_binary_upload_service.cc" />
+ <item id="safe_browsing_binary_upload_connector" added_in_milestone="87" hash_code="59568147" content_hash_code="031b9017" os_list="linux,windows,chromeos" file_path="chrome/browser/safe_browsing/cloud_content_scanning/cloud_binary_upload_service.cc" />
+ <item id="safe_browsing_cache_collector" added_in_milestone="62" hash_code="115907811" content_hash_code="03b69135" os_list="linux,windows,chromeos,android" file_path="components/safe_browsing/content/browser/threat_details_cache.cc" />
+ <item id="safe_browsing_binary_upload_app" added_in_milestone="87" hash_code="4306022" content_hash_code="04d2c017" os_list="linux,windows,chromeos" file_path="chrome/browser/safe_browsing/cloud_content_scanning/cloud_binary_upload_service.cc" />
+ <item id="safe_browsing_binary_upload_connector" added_in_milestone="87" hash_code="59568147" content_hash_code="025fdb96" os_list="linux,windows,chromeos" file_path="chrome/browser/safe_browsing/cloud_content_scanning/cloud_binary_upload_service.cc" />
+ <item id="safe_browsing_cache_collector" added_in_milestone="62" hash_code="115907811" content_hash_code="02320d08" os_list="linux,windows,chromeos,android" file_path="components/safe_browsing/content/browser/threat_details_cache.cc" />
+ <item id="safe_browsing_certificate_error_reporting" added_in_milestone="62" hash_code="66590631" content_hash_code="018e6226" os_list="linux,windows,chromeos,android" file_path="chrome/browser/ssl/certificate_error_reporter.cc" />
+ <item id="safe_browsing_client_side_phishing_detector" added_in_milestone="62" hash_code="1313982" content_hash_code="018611e2" os_list="linux,windows,chromeos,android" file_path="components/safe_browsing/content/browser/client_side_detection_service.cc" />
+ <item id="safe_browsing_extended_reporting" added_in_milestone="62" hash_code="42848942" content_hash_code="04d6ea29" os_list="linux,windows,chromeos,android" file_path="components/safe_browsing/core/browser/ping_manager.cc" />
@@ -861,9 +857,8 @@ new file mode 100644
+ <item id="services_http_server_error_response" added_in_milestone="68" hash_code="59302801" content_hash_code="079dad59" os_list="linux,windows,chromeos,android" file_path="services/network/public/cpp/server/http_server.cc" />
+ <item id="shared_storage_worklet_module_script_downloader" added_in_milestone="95" hash_code="79084529" content_hash_code="072bbf71" os_list="linux,windows,chromeos,android" file_path="third_party/blink/common/shared_storage/module_script_downloader.cc" />
+ <item id="sigined_exchange_cert_fetcher" added_in_milestone="66" hash_code="79442849" content_hash_code="007c2dac" os_list="linux,windows,chromeos,android" file_path="content/browser/web_package/signed_exchange_cert_fetcher.cc" />
+ <item id="signed_in_profile_avatar" added_in_milestone="62" hash_code="108903331" content_hash_code="071dd1bf" os_list="linux,windows,chromeos,android" file_path="chrome/browser/profiles/profile_downloader.cc" />
+ <item id="signed_in_profile_avatar" added_in_milestone="62" hash_code="108903331" content_hash_code="064a36f4" os_list="linux,windows,chromeos,android" file_path="chrome/browser/profiles/profile_downloader.cc" />
+ <item id="socket_bio_adapter" added_in_milestone="66" hash_code="516551" content_hash_code="014a4058" os_list="linux,windows,chromeos,android" file_path="net/socket/socket_bio_adapter.cc" />
+ <item id="spdy_push_stream" added_in_milestone="67" hash_code="36915753" content_hash_code="042048b5" os_list="linux,windows,chromeos,android" file_path="net/spdy/spdy_session.cc" />
+ <item id="spdy_session_control" added_in_milestone="66" hash_code="57143548" content_hash_code="01c6f3f0" os_list="linux,windows,chromeos,android" file_path="net/spdy/spdy_session.cc" />
+ <item id="speech_recognition_downstream" added_in_milestone="62" hash_code="26096088" content_hash_code="07323e31" os_list="linux,windows,chromeos" file_path="content/browser/speech/speech_recognition_engine.cc" />
+ <item id="speech_recognition_upstream" added_in_milestone="62" hash_code="66846958" content_hash_code="0075966b" os_list="linux,windows,chromeos" file_path="content/browser/speech/speech_recognition_engine.cc" />
@@ -875,20 +870,18 @@ new file mode 100644
+ <item id="stream_packet_socket" added_in_milestone="84" hash_code="38197513" content_hash_code="034904c2" os_list="linux,windows,chromeos,android" file_path="remoting/protocol/stream_packet_socket.cc" />
+ <item id="sync_file_system" added_in_milestone="62" hash_code="102819690" content_hash_code="031bce6a" os_list="linux,windows,chromeos" file_path="chrome/browser/sync_file_system/drive_backend/sync_engine.cc" />
+ <item id="sync_http_bridge" added_in_milestone="62" hash_code="57144960" content_hash_code="01f587fa" os_list="linux,windows,chromeos,android" file_path="components/sync/engine/net/http_bridge.cc" />
+ <item id="sync_stop_reporter" added_in_milestone="62" hash_code="5021348" content_hash_code="036444c2" os_list="linux,windows,chromeos,android" file_path="components/sync/driver/sync_stopped_reporter.cc" />
+ <item id="sync_stop_reporter" added_in_milestone="62" hash_code="5021348" content_hash_code="036444c2" os_list="linux,windows,chromeos,android" file_path="components/sync/service/sync_stopped_reporter.cc" />
+ <item id="recipes_service" added_in_milestone="88" hash_code="23180772" content_hash_code="0477ff55" os_list="linux,windows,chromeos" file_path="chrome/browser/new_tab_page/modules/recipes/recipes_service.cc" />
+ <item id="test" added_in_milestone="62" reserved="1" hash_code="3556498" os_list="linux,windows" file_path="" />
+ <item id="test_partial" added_in_milestone="62" reserved="1" hash_code="22096011" os_list="linux,windows" file_path="" />
+ <item id="tethering_handler_socket" added_in_milestone="65" hash_code="113065062" content_hash_code="000f0cb8" os_list="linux,windows,chromeos,android" file_path="content/browser/devtools/protocol/tethering_handler.cc" />
+ <item id="translate_url_fetcher" added_in_milestone="62" hash_code="137116619" content_hash_code="06363ba2" os_list="linux,windows,chromeos,android" file_path="components/translate/core/browser/translate_url_fetcher.cc" />
+ <item id="trusted_vault_request" added_in_milestone="88" hash_code="30516662" content_hash_code="0738dfaf" os_list="linux,windows,chromeos" file_path="components/trusted_vault/trusted_vault_request.cc" />
+ <item id="trusted_vault_request" added_in_milestone="88" hash_code="30516662" content_hash_code="0208225e" os_list="linux,windows,chromeos" file_path="components/trusted_vault/trusted_vault_request.cc" />
+ <item id="ui_devtools_server" added_in_milestone="66" hash_code="4986170" content_hash_code="03bc45b7" os_list="linux,windows,chromeos,android" file_path="components/ui_devtools/devtools_server.cc" />
+ <item id="undefined" added_in_milestone="62" reserved="1" hash_code="45578882" os_list="linux,windows" file_path="" />
+ <item id="unwanted_software_report" added_in_milestone="70" hash_code="43759504" content_hash_code="0386a164" os_list="windows" file_path="chrome/chrome_cleaner/logging/reporter_logging_service.cc" />
+ <item id="update_client" added_in_milestone="74" hash_code="54845618" content_hash_code="05223987" os_list="linux,windows,chromeos,android" file_path="components/update_client/net/network_impl.cc" />
+ <item id="url_prevision_fetcher" added_in_milestone="62" hash_code="118389509" content_hash_code="03f14ce9" os_list="linux,windows,chromeos,android" file_path="content/browser/media/url_provision_fetcher.cc" />
+ <item id="user_info_fetcher" added_in_milestone="62" hash_code="22265491" content_hash_code="044ae168" os_list="linux,windows,chromeos,android" file_path="components/policy/core/common/cloud/user_info_fetcher.cc" />
+ <item id="video_tutorial_fetcher" added_in_milestone="87" hash_code="69879956" content_hash_code="074438b7" os_list="linux,windows,chromeos,android" file_path="chrome/browser/video_tutorials/internal/tutorial_fetcher.cc" />
+ <item id="web_app_origin_association_download" added_in_milestone="90" hash_code="128608592" content_hash_code="03a46d77" os_list="linux,windows,chromeos,android" file_path="components/webapps/services/web_app_origin_association/web_app_origin_association_fetcher.cc" />
+ <item id="web_history_counter" added_in_milestone="62" type="partial" second_id="web_history_service" hash_code="137457845" content_hash_code="02f5cd95" os_list="linux,windows,chromeos,android" semantics_fields="2,3,4" policy_fields="4" file_path="components/browsing_data/core/counters/history_counter.cc" />
+ <item id="web_history_delete_url" added_in_milestone="74" type="partial" second_id="web_history_service" hash_code="41749213" content_hash_code="018bdbf2" os_list="linux,windows,chromeos,android" semantics_fields="2,3,4" policy_fields="4" file_path="components/history/core/browser/history_service.cc" />
@@ -906,7 +899,7 @@ new file mode 100644
+ <item id="webstore_install_helper" added_in_milestone="62" hash_code="25921771" content_hash_code="009bbc99" os_list="linux,windows,chromeos" file_path="chrome/browser/extensions/webstore_install_helper.cc" />
+ <item id="webstore_installer" added_in_milestone="62" hash_code="18764319" content_hash_code="04396870" os_list="linux,windows,chromeos" file_path="chrome/browser/extensions/webstore_installer.cc" />
+ <item id="webui_content_scripts_download" added_in_milestone="62" hash_code="100545943" content_hash_code="07257fcb" os_list="linux,windows,chromeos" file_path="extensions/browser/guest_view/web_view/web_ui/web_ui_url_fetcher.cc" />
+ <item id="well_known_path_that_should_not_exist" added_in_milestone="86" hash_code="134618785" content_hash_code="03552acf" os_list="linux,windows,chromeos,android" file_path="components/password_manager/core/browser/well_known_change_password_state.cc" />
+ <item id="well_known_path_that_should_not_exist" added_in_milestone="86" hash_code="134618785" content_hash_code="052bc423" os_list="windows,chromeos,android,linux" file_path="components/password_manager/core/browser/well_known_change_password/well_known_change_password_state.cc" />
+ <item id="whats_new_handler" added_in_milestone="94" hash_code="127739401" content_hash_code="05a798ff" os_list="linux,windows,chromeos" file_path="chrome/browser/ui/webui/whats_new/whats_new_util.cc" />
+ <item id="worker_script_load" added_in_milestone="72" hash_code="72087791" content_hash_code="042a87a3" os_list="linux,windows,chromeos,android" file_path="content/browser/worker_host/worker_script_fetcher.cc" />
+ <item id="tailored_security_service" added_in_milestone="97" hash_code="126267513" content_hash_code="021a7daf" os_list="linux,windows,chromeos,android" file_path="components/safe_browsing/core/browser/tailored_security_service/tailored_security_service.cc" />
@@ -930,7 +923,7 @@ new file mode 100644
+ <item id="tachyon_ice_config_fetcher" added_in_milestone="98" hash_code="6216086" content_hash_code="01e878b0" os_list="chromeos" file_path="chrome/browser/nearby_sharing/tachyon_ice_config_fetcher.cc" />
+ <item id="launcher_item_suggest" added_in_milestone="98" hash_code="102930932" content_hash_code="04a4041e" os_list="chromeos" file_path="chrome/browser/ash/file_suggest/item_suggest_cache.cc" />
+ <item id="ambient_client" added_in_milestone="98" hash_code="46775600" content_hash_code="062d821f" os_list="chromeos" file_path="chrome/browser/ui/ash/ambient/ambient_client_impl.cc" />
+ <item id="calendar_get_events" added_in_milestone="98" hash_code="86429515" content_hash_code="0603f52a" os_list="chromeos" file_path="chrome/browser/ui/ash/calendar/calendar_keyed_service.cc" />
+ <item id="calendar_get_events" added_in_milestone="98" hash_code="86429515" content_hash_code="0298bde5" os_list="chromeos" file_path="chrome/browser/ui/ash/calendar/calendar_keyed_service.cc" />
+ <item id="edu_account_login_profile_image_fetcher" added_in_milestone="98" hash_code="59209756" content_hash_code="0689301c" os_list="chromeos" file_path="chrome/browser/ui/webui/ash/edu_account_login_handler.cc" />
+ <item id="management_ui_customer_logo" added_in_milestone="98" hash_code="25740183" content_hash_code="01a17a58" os_list="chromeos" file_path="chrome/browser/ui/webui/management/management_ui_handler_chromeos.cc" />
+ <item id="gaia_reauth_token_fetcher" added_in_milestone="98" hash_code="61554754" content_hash_code="04ff463d" os_list="chromeos" file_path="chrome/browser/ash/login/gaia_reauth_token_fetcher.cc" />
@@ -938,19 +931,17 @@ new file mode 100644
+ <item id="contextual_search_resolve" added_in_milestone="98" hash_code="91714136" content_hash_code="01a5751f" os_list="linux,windows,chromeos,android" file_path="components/contextual_search/core/browser/contextual_search_delegate_impl.cc" />
+ <item id="contextual_search_thumbnail" added_in_milestone="99" hash_code="72946735" content_hash_code="06c5c621" os_list="android" file_path="chrome/browser/android/compositor/scene_layer/contextual_search_scene_layer.cc" />
+ <item id="customtabs_parallel_request" added_in_milestone="98" hash_code="100314494" content_hash_code="02c6bf11" os_list="android" file_path="chrome/browser/android/customtabs/detached_resource_request.cc" />
+ <item id="explore_sites" added_in_milestone="98" hash_code="32926054" content_hash_code="05256b51" os_list="android" file_path="chrome/browser/android/explore_sites/explore_sites_fetcher.cc" />
+ <item id="rlz" added_in_milestone="98" hash_code="113024" content_hash_code="0839c21d" os_list="android" file_path="chrome/browser/android/rlz/rlz_ping_handler.cc" />
+ <item id="download_manager_service_retry" added_in_milestone="98" hash_code="94349488" content_hash_code="01044c58" os_list="android" file_path="chrome/browser/download/android/download_manager_service.cc" />
+ <item id="download_bitmap" added_in_milestone="98" hash_code="43552293" content_hash_code="0632ef37" os_list="android" file_path="chrome/browser/share/bitmap_download_request.cc" />
+ <item id="family_info" added_in_milestone="98" hash_code="30913825" content_hash_code="01831b1a" os_list="chromeos,linux,windows" file_path="chrome/browser/supervised_user/child_accounts/family_info_fetcher.cc" />
+ <item id="permission_request_creator" added_in_milestone="98" hash_code="43206794" content_hash_code="04629d73" os_list="chromeos,linux,windows" file_path="chrome/browser/supervised_user/child_accounts/permission_request_creator_apiary.cc" />
+ <item id="kids_chrome_management_client_classify_url" added_in_milestone="98" hash_code="109987793" content_hash_code="003a8b30" os_list="android,chromeos,linux,windows" file_path="components/supervised_user/core/browser/kids_chrome_management_client.cc" />
+ <item id="kids_chrome_management_list_family_members" added_in_milestone="106" hash_code="506071" content_hash_code="0709ea52" os_list="android,chromeos,linux,windows" file_path="components/supervised_user/core/browser/kids_external_fetcher.cc" />
+ <item id="supervised_user_classify_url" added_in_milestone="98" hash_code="106097207" content_hash_code="05877932" os_list="android,chromeos,linux,windows" file_path="components/supervised_user/core/browser/fetcher_config.cc" />
+ <item id="supervised_user_list_family_members" added_in_milestone="98" hash_code="80285221" content_hash_code="00627698" os_list="android,chromeos,linux,windows" file_path="components/supervised_user/core/browser/fetcher_config.cc" />
+ <item id="cached_image_fetcher" added_in_milestone="98" hash_code="60854959" content_hash_code="06334a2d" os_list="android" file_path="components/image_fetcher/image_fetcher_bridge.cc" />
+ <item id="chrome_cast_discovery_api" added_in_milestone="98" hash_code="16022422" content_hash_code="0502b792" os_list="linux,windows,chromeos" file_path="chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc" />
+ <item id="fedcm" added_in_milestone="98" hash_code="97307311" content_hash_code="082197eb" os_list="linux,windows,chromeos,android" file_path="content/browser/webid/idp_network_request_manager.cc" />
+ <item id="minidump_uploader_android" added_in_milestone="98" hash_code="9116888" content_hash_code="0327544e" os_list="android" file_path="components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/util/HttpURLConnectionFactoryImpl.java" />
+ <item id="chrome_variations_android" added_in_milestone="98" hash_code="117165163" content_hash_code="047ecc67" os_list="android" file_path="components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java" />
+ <item id="chrome_variations_android" added_in_milestone="98" hash_code="117165163" content_hash_code="002d9b06" os_list="android" file_path="components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java" />
+ <item id="fwupd_firmware_update" added_in_milestone="99" hash_code="115155098" content_hash_code="0002c968" os_list="chromeos" file_path="chromeos/ash/components/fwupd/firmware_update_manager.cc" />
+ <item id="wallpaper_backdrop_collection_names" added_in_milestone="99" hash_code="88516899" content_hash_code="06379fce" os_list="chromeos" file_path="chrome/browser/ash/wallpaper_handlers/wallpaper_handlers.cc" />
+ <item id="wallpaper_backdrop_images_info" added_in_milestone="99" hash_code="43574161" content_hash_code="0010428c" os_list="chromeos" file_path="chrome/browser/ash/wallpaper_handlers/wallpaper_handlers.cc" />
@@ -974,13 +965,10 @@ new file mode 100644
+ <item id="printing_oauth2_http_exchange" added_in_milestone="101" type="completing" hash_code="108707321" content_hash_code="079d0e2f" os_list="chromeos" semantics_fields="1,3,5,6" policy_fields="-1,3,5" file_path="chrome/browser/ash/printing/oauth2/http_exchange.cc" />
+ <item id="printing_oauth2_first_token_request" added_in_milestone="102" type="partial" second_id="printing_oauth2_http_exchange" hash_code="17550172" content_hash_code="00850a77" os_list="chromeos" semantics_fields="2,4" file_path="chrome/browser/ash/printing/oauth2/authorization_server_session.cc" />
+ <item id="printing_oauth2_next_token_request" added_in_milestone="102" type="partial" second_id="printing_oauth2_http_exchange" hash_code="38392330" content_hash_code="002fbbfd" os_list="chromeos" semantics_fields="2,4" file_path="chrome/browser/ash/printing/oauth2/authorization_server_session.cc" />
+ <item id="help_content_provider" added_in_milestone="102" hash_code="92685132" content_hash_code="0839311f" os_list="chromeos" file_path="ash/webui/os_feedback_ui/backend/help_content_provider.cc" />
+ <item id="quick_answers_spellchecker" added_in_milestone="102" hash_code="91066830" content_hash_code="00e3ffb1" os_list="chromeos" file_path="chromeos/components/quick_answers/utils/spell_check_language.cc" />
+ <item id="help_content_provider" added_in_milestone="102" hash_code="92685132" content_hash_code="0667db51" os_list="chromeos" file_path="ash/webui/os_feedback_ui/backend/help_content_provider.cc" />
+ <item id="quick_answers_spellchecker" added_in_milestone="102" hash_code="91066830" content_hash_code="022892f0" os_list="chromeos" file_path="chromeos/components/quick_answers/utils/spell_check_language.cc" />
+ <item id="printing_oauth2_token_exchange_request" added_in_milestone="102" type="partial" second_id="printing_oauth2_http_exchange" hash_code="79913503" content_hash_code="059df373" os_list="chromeos" semantics_fields="2,4" file_path="chrome/browser/ash/printing/oauth2/ipp_endpoint_token_fetcher.cc" />
+ <item id="fedcm_account_profile_image_fetcher" added_in_milestone="102" hash_code="2196880" content_hash_code="07d6a3e2" os_list="linux,windows,chromeos" file_path="chrome/browser/ui/views/webid/account_selection_bubble_view.cc" />
+ <item id="device_activity_client_health_check" added_in_milestone="102" hash_code="5068293" content_hash_code="0506113c" os_list="chromeos" file_path="chromeos/ash/components/device_activity/device_activity_client.cc" />
+ <item id="device_activity_client_check_in" added_in_milestone="102" hash_code="3678722" content_hash_code="0548d084" os_list="chromeos" file_path="chromeos/ash/components/device_activity/device_activity_client.cc" />
+ <item id="device_activity_client_check_membership" added_in_milestone="102" hash_code="70839722" content_hash_code="02827a9f" os_list="chromeos" file_path="chromeos/ash/components/device_activity/device_activity_client.cc" />
+ <item id="interest_group_well_known_fetcher" added_in_milestone="103" hash_code="68561953" content_hash_code="01ea06eb" os_list="linux,windows,android,chromeos" file_path="content/browser/interest_group/interest_group_permissions_checker.cc" />
+ <item id="speculation_rules_prefetch" added_in_milestone="103" hash_code="78769907" content_hash_code="015fd398" os_list="linux,windows,android,chromeos" file_path="content/browser/preloading/prefetch/prefetch_service.cc" />
+ <item id="fast_pair_image_decoder" added_in_milestone="103" hash_code="120532644" content_hash_code="03a98cf1" os_list="chromeos" file_path="ash/quick_pair/repository/fast_pair/fast_pair_image_decoder_impl.cc" />
@@ -1000,8 +988,8 @@ new file mode 100644
+ <item id="k_anonymity_service_get_token" added_in_milestone="106" hash_code="83317579" content_hash_code="02bc56b0" os_list="linux,windows,android,chromeos" file_path="chrome/browser/k_anonymity_service/k_anonymity_trust_token_getter.cc" />
+ <item id="enhanced_network_tts" added_in_milestone="103" hash_code="13093731" content_hash_code="03c12345" os_list="chromeos" file_path="chrome/browser/ash/enhanced_network_tts/enhanced_network_tts_impl.cc" />
+ <item id="shopping_list_ui_image_fetcher" added_in_milestone="107" hash_code="53113303" content_hash_code="0680ae03" os_list="windows,chromeos,linux" file_path="chrome/browser/ui/commerce/price_tracking/shopping_list_ui_tab_helper.cc" />
+ <item id="chrome_commerce_price_email_pref_fetcher" added_in_milestone="107" hash_code="36312281" content_hash_code="00b3dc73" os_list="linux,windows,android,chromeos" file_path="components/commerce/core/account_checker.cc" />
+ <item id="chrome_commerce_price_email_pref_sender" added_in_milestone="107" hash_code="3678646" content_hash_code="03f51c85" os_list="linux,windows,android,chromeos" file_path="components/commerce/core/account_checker.cc" />
+ <item id="chrome_commerce_price_email_pref_fetcher" added_in_milestone="107" hash_code="36312281" content_hash_code="03bbefb2" os_list="linux,windows,android,chromeos" file_path="components/commerce/core/account_checker.cc" />
+ <item id="chrome_commerce_price_email_pref_sender" added_in_milestone="107" hash_code="3678646" content_hash_code="02ff3431" os_list="linux,windows,android,chromeos" file_path="components/commerce/core/account_checker.cc" />
+ <item id="receive_messages_express" added_in_milestone="108" hash_code="29506140" content_hash_code="032122e0" os_list="chromeos" file_path="chrome/browser/nearby_sharing/instantmessaging/receive_messages_express.cc" />
+ <item id="send_message_express" added_in_milestone="108" hash_code="23527666" content_hash_code="01b40a32" os_list="chromeos" file_path="chrome/browser/nearby_sharing/instantmessaging/send_message_express.cc" />
+ <item id="cryptohome_recovery_fetch_epoch" added_in_milestone="108" hash_code="86369097" content_hash_code="06e195ad" os_list="chromeos" file_path="chromeos/ash/components/login/auth/recovery/cryptohome_recovery_service_client.cc" />
@@ -1019,16 +1007,16 @@ new file mode 100644
+ <item id="k_anonymity_service_query_set" added_in_milestone="108" hash_code="128095075" content_hash_code="00eab10a" os_list="linux,windows,android,chromeos" file_path="chrome/browser/k_anonymity_service/k_anonymity_service_client.cc" />
+ <item id="managed_acccount_signin_restrictions_secure_connect_chromeos" added_in_milestone="109" hash_code="98011496" content_hash_code="05958d4c" os_list="chromeos" file_path="chrome/browser/ui/webui/signin/ash/user_cloud_signin_restriction_policy_fetcher.cc" />
+ <item id="ntp_custom_background" added_in_milestone="109" hash_code="92125886" content_hash_code="08080082" os_list="linux,windows,chromeos" file_path="chrome/browser/search/background/ntp_custom_background_service.cc" />
+ <item id="iwa_policy_update_manifest" added_in_milestone="110" hash_code="6075566" content_hash_code="057bb523" os_list="chromeos" file_path="chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_policy_manager.cc" />
+ <item id="iwa_policy_signed_web_bundle" added_in_milestone="110" hash_code="130449762" content_hash_code="03a6049c" os_list="chromeos" file_path="chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_policy_manager.cc" />
+ <item id="quick_start_challenge_bytes_fetcher" added_in_milestone="110" hash_code="47569675" content_hash_code="050ba600" os_list="chromeos" file_path="chrome/browser/ash/login/oobe_quick_start/second_device_auth_broker.cc" />
+ <item id="iwa_policy_update_manifest" added_in_milestone="110" second_id="iwa_update_manifest_fetcher" hash_code="6075566" content_hash_code="07d65fe9" os_list="chromeos" file_path="chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_policy_manager.cc" />
+ <item id="iwa_policy_signed_web_bundle" added_in_milestone="110" second_id="iwa_bundle_downloader" hash_code="130449762" content_hash_code="00a27db9" os_list="chromeos" file_path="chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_policy_manager.cc" />
+ <item id="quick_start_challenge_bytes_fetcher" added_in_milestone="110" hash_code="47569675" content_hash_code="0546c0a2" os_list="chromeos" file_path="chrome/browser/ash/login/oobe_quick_start/second_device_auth_broker.cc" />
+ <item id="customization_document" added_in_milestone="110" hash_code="117635540" content_hash_code="007a3dda" os_list="chromeos" file_path="chrome/browser/ash/customization/customization_document.cc" />
+ <item id="nearby_webrtc_connection" added_in_milestone="110" hash_code="37994740" content_hash_code="070e1f72" os_list="chromeos" file_path="chrome/services/sharing/nearby/platform/webrtc.cc" />
+ <item id="fenced_frame_reporting_beacon" added_in_milestone="110" hash_code="80152300" content_hash_code="03fd07f7" os_list="linux,windows,android,chromeos" file_path="content/browser/fenced_frame/fenced_frame_reporter.cc" />
+ <item id="password_sync_token_fetcher" added_in_milestone="110" hash_code="3951819" content_hash_code="0268c983" os_list="chromeos" file_path="chrome/browser/ash/login/saml/password_sync_token_fetcher.cc" />
+ <item id="projector_xhr_loader" added_in_milestone="110" hash_code="35917660" content_hash_code="07e102c2" os_list="chromeos" file_path="ash/webui/projector_app/projector_xhr_sender.cc" />
+ <item id="cloud_speech_recognition" added_in_milestone="110" hash_code="61001455" content_hash_code="00d56fd8" os_list="linux,windows,chromeos" file_path="components/live_caption/live_translate_controller.cc" />
+ <item id="bruschetta_installer_download" added_in_milestone="110" hash_code="72895572" content_hash_code="073f0263" os_list="chromeos" file_path="chrome/browser/ash/bruschetta/bruschetta_installer_impl.cc" />
+ <item id="bruschetta_installer_download" added_in_milestone="110" hash_code="72895572" content_hash_code="073f0263" os_list="chromeos" file_path="chrome/browser/ash/bruschetta/bruschetta_download.cc" />
+ <item id="quick_start_session_auth_requester" added_in_milestone="110" hash_code="114763789" content_hash_code="08353e70" os_list="chromeos" file_path="chrome/browser/ash/login/oobe_quick_start/second_device_auth_broker.cc" />
+ <item id="network_diagnostics_routines" added_in_milestone="110" hash_code="92565109" content_hash_code="0007b237" os_list="chromeos" file_path="chrome/browser/ash/net/network_diagnostics/http_request_manager.cc" />
+ <item id="trial_group_lookup" added_in_milestone="110" hash_code="23240978" content_hash_code="047aeeca" os_list="chromeos" file_path="chromeos/ash/components/trial_group/trial_group_checker.cc" />
@@ -1044,7 +1032,6 @@ new file mode 100644
+ <item id="webapk_minter_install_request" added_in_milestone="111" hash_code="103752936" content_hash_code="042fed33" os_list="chromeos" file_path="chrome/browser/apps/app_service/webapk/webapk_install_task.cc" />
+ <item id="deduplication_service" added_in_milestone="111" hash_code="93071089" content_hash_code="06a77ea3" os_list="chromeos" file_path="chrome/browser/apps/app_deduplication_service/app_deduplication_server_connector.cc" />
+ <item id="network_portal_detector" added_in_milestone="111" hash_code="98230690" content_hash_code="023cdc21" os_list="chromeos" file_path="chrome/browser/ash/net/network_portal_detector_impl.cc" />
+ <item id="safe_browsing_hashprefix_realtime_lookup" added_in_milestone="111" hash_code="98615884" content_hash_code="00aa24b2" os_list="linux,windows,chromeos,android" file_path="components/safe_browsing/core/browser/hashprefix_realtime/hash_realtime_service.cc" />
+ <item id="android_feedback_connectivity_checker" added_in_milestone="111" hash_code="45568446" content_hash_code="0011753d" os_list="android" file_path="chrome/android/java/src/org/chromium/chrome/browser/feedback/ConnectivityChecker.java" />
+ <item id="printer_config_fetch" added_in_milestone="111" hash_code="111634920" content_hash_code="042f8883" os_list="chromeos" file_path="chromeos/printing/printer_config_cache.cc" />
+ <item id="projector_xhr_loader_allow_cookie" added_in_milestone="112" hash_code="48953997" content_hash_code="04a2140d" os_list="chromeos" file_path="ash/webui/projector_app/projector_xhr_sender.cc" />
@@ -1052,26 +1039,58 @@ new file mode 100644
+ <item id="wallpaper_online_downloader" added_in_milestone="110" hash_code="62882705" content_hash_code="00286fc5" os_list="chromeos" file_path="ash/wallpaper/wallpaper_image_downloader.cc" />
+ <item id="chrome_support_tool_file_upload" added_in_milestone="113" hash_code="78911807" content_hash_code="04a07122" os_list="chromeos" file_path="chrome/browser/policy/messaging_layer/upload/file_upload_impl.cc" />
+ <item id="service_worker_race_network_request" added_in_milestone="113" hash_code="103366441" content_hash_code="0090e590" os_list="linux,windows,android,chromeos" file_path="content/common/service_worker/race_network_request_url_loader_client.cc" />
+ <item id="safe_browsing_ohttp_key_fetch" added_in_milestone="113" hash_code="105394965" content_hash_code="0309cb19" os_list="linux,windows,android,chromeos" file_path="components/safe_browsing/core/browser/hashprefix_realtime/ohttp_key_service.cc" />
+ <item id="glanceables_tasks_integration" added_in_milestone="113" hash_code="63925488" content_hash_code="06e038c9" os_list="chromeos" file_path="chrome/browser/ui/ash/glanceables/glanceables_tasks_client_impl.cc" />
+ <item id="safe_browsing_ohttp_key_fetch" added_in_milestone="113" hash_code="105394965" content_hash_code="0572fe6f" os_list="linux,windows,android,chromeos" file_path="components/safe_browsing/core/browser/hashprefix_realtime/ohttp_key_service.cc" />
+ <item id="glanceables_tasks_integration" added_in_milestone="113" hash_code="63925488" content_hash_code="033ddfed" os_list="chromeos" file_path="chrome/browser/ui/ash/glanceables/glanceables_tasks_client_impl.cc" />
+ <item id="bookmarks_image_fetcher" added_in_milestone="114" hash_code="103266695" content_hash_code="01dd68ad" os_list="chromeos,linux,windows" file_path="chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc" />
+ <item id="screensaver_image_downloader" added_in_milestone="114" hash_code="133896355" content_hash_code="05ebc454" os_list="chromeos" file_path="chrome/browser/ash/policy/handlers/screensaver_image_downloader.cc" />
+ <item id="screensaver_image_downloader" added_in_milestone="114" hash_code="133896355" content_hash_code="05ebc454" os_list="chromeos" file_path="ash/ambient/managed/screensaver_image_downloader.cc" />
+ <item id="back_navigation_cache_query" added_in_milestone="114" hash_code="122067755" content_hash_code="052f4fec" os_list="linux,windows,android,chromeos" file_path="content/browser/preloading/prerender/prerender_host_registry.cc" />
+ <item id="cws_info_service" added_in_milestone="114" hash_code="133040073" content_hash_code="02e1a061" os_list="linux,windows,chromeos" file_path="chrome/browser/extensions/cws_info_service.cc" />
+ <item id="promise_app_service" added_in_milestone="114" hash_code="135565385" content_hash_code="07856112" os_list="chromeos" file_path="chrome/browser/apps/app_service/promise_apps/promise_app_almanac_connector.cc" />
+
+ <item id="bromite_inline_update_controller" added_in_milestone="114" hash_code="88618481" content_hash_code="061ad1b5" os_list="linux,windows,android" file_path="chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java" />
+ <item id="offline_pages_download_file" added_in_milestone="114" hash_code="94580999" content_hash_code="01ae83d8" os_list="linux,windows,android" file_path="chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc" />
+ <item id="adblock_subscription_download" added_in_milestone="114" hash_code="8807068" content_hash_code="03359a90" os_list="linux,windows,android" file_path="components/adblock/core/subscription/ongoing_subscription_request_impl.cc" />
+ <item id="filters_update" added_in_milestone="114" hash_code="51960264" content_hash_code="070edef5" os_list="linux,windows,android" file_path="components/component_updater/download_filters_task.cc" />
+ <item id="download_via_context_menu" added_in_milestone="114" hash_code="64427392" content_hash_code="01089191" os_list="linux,windows,android" file_path="components/download/content/internal/context_menu_download.cc" />
+ <item id="webapk_icon_hasher" added_in_milestone="114" hash_code="61933932" content_hash_code="079c7adb" os_list="linux,windows,android" file_path="components/webapps/browser/android/webapk/webapk_icon_hasher.cc" />
+ <item id="blink_resource_loader_workers" added_in_milestone="114" hash_code="71243337" content_hash_code="0150f3b2" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc" />
+ <item id="blink_resource_loader_report" added_in_milestone="114" hash_code="76900237" content_hash_code="016f40bc" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc" />
+ <item id="blink_resource_loader_worklet" added_in_milestone="114" hash_code="71249662" content_hash_code="070205e2" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc" />
+ <item id="blink_resource_loader_webbundle" added_in_milestone="114" hash_code="115582637" content_hash_code="0331ecaf" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc" />
+ <item id="blink_resource_loader_manifest" added_in_milestone="114" hash_code="70686768" content_hash_code="046ea9cd" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc" />
+ <item id="blink_resource_loader_xslt" added_in_milestone="114" hash_code="35024334" content_hash_code="029ecdad" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc" />
+ <item id="safe_browsing_hashprefix_realtime_lookup_direct" added_in_milestone="114" hash_code="46027236" content_hash_code="0764e462" os_list="linux,windows,chromeos,android" file_path="components/safe_browsing/core/browser/hashprefix_realtime/hash_realtime_service.cc" />
+ <item id="safe_browsing_hashprefix_realtime_lookup_ohttp" added_in_milestone="114" hash_code="91747274" content_hash_code="0817ae7d" os_list="linux,windows,chromeos,android" file_path="components/safe_browsing/core/browser/hashprefix_realtime/hash_realtime_service.cc" />
+ <item id="gaia_auth_rotate_bound_cookies" added_in_milestone="115" hash_code="92759840" content_hash_code="064e7f51" os_list="linux,windows" file_path="chrome/browser/signin/bound_session_credentials/bound_session_refresh_cookie_fetcher_impl.cc" />
+ <item id="unified_state_determination_kill_switch" added_in_milestone="115" hash_code="110792988" content_hash_code="01f51d8e" os_list="chromeos" file_path="chrome/browser/ash/policy/enrollment/auto_enrollment_type_checker.cc" />
+ <item id="crash_file_uploader" added_in_milestone="115" hash_code="9074605" content_hash_code="05f6902f" os_list="linux" file_path="remoting/host/crash/crash_file_uploader.cc" />
+ <item id="glanceables_classroom_integration" added_in_milestone="115" hash_code="51270420" content_hash_code="04025a83" os_list="chromeos" file_path="chrome/browser/ui/ash/glanceables/glanceables_classroom_client_impl.cc" />
+ <item id="promise_app_service_download_icon" added_in_milestone="115" hash_code="94708347" content_hash_code="00521032" os_list="chromeos" file_path="chrome/browser/apps/app_service/promise_apps/promise_app_service.cc" />
+ <item id="iwa_update_manifest_fetcher" added_in_milestone="116" type="completing" hash_code="6840632" content_hash_code="06867096" os_list="chromeos" semantics_fields="4,5,7,8,9" policy_fields="-1" file_path="chrome/browser/web_applications/isolated_web_apps/update_manifest/update_manifest_fetcher.cc" />
+ <item id="iwa_bundle_downloader" added_in_milestone="116" type="completing" hash_code="97291258" content_hash_code="04d2beae" os_list="chromeos" semantics_fields="4,5,7,8,9" policy_fields="-1" file_path="chrome/browser/web_applications/isolated_web_apps/isolated_web_app_downloader.cc" />
+ <item id="bidding_and_auction_server_key_fetch" added_in_milestone="116" hash_code="89586528" content_hash_code="07667a22" os_list="linux,windows,android,chromeos" file_path="content/browser/interest_group/bidding_and_auction_server_key_fetcher.cc" />
+ <item id="ip_protection_service_get_token" added_in_milestone="116" hash_code="65285986" content_hash_code="03744fd1" os_list="windows,android,linux,chromeos" file_path="chrome/browser/ip_protection/ip_protection_config_http.cc" />
+ <item id="supervised_user_request_blocked_site_permission" added_in_milestone="116" hash_code="25532073" content_hash_code="04f49427" os_list="linux,windows,android,chromeos" file_path="components/supervised_user/core/browser/fetcher_config.cc" />
+ <item id="password_sharing_recipients" added_in_milestone="116" hash_code="24837704" content_hash_code="00de3c6a" os_list="linux,windows,android,chromeos" file_path="components/password_manager/core/browser/sharing/password_sharing_recipients_downloader.cc" />
+ <item id="page_insights" added_in_milestone="116" type="partial" second_id="web_history_service" hash_code="28945524" content_hash_code="05f02912" os_list="android" semantics_fields="1,2,3,4,5,7,8,9" policy_fields="-1,3,4" file_path="chrome/browser/ui/android/page_insights/page_insights_swaa_checker.cc" />
+ <item id="ntp_image_url_verification" added_in_milestone="116" hash_code="134114962" content_hash_code="00ed230b" os_list="linux,windows,chromeos" file_path="chrome/browser/search/background/ntp_background_service.cc" />
+ <item id="device_bound_session_register" added_in_milestone="116" hash_code="48446724" content_hash_code="0682bd33" os_list="linux,windows" file_path="chrome/browser/signin/bound_session_credentials/bound_session_registration_fetcher_impl.cc" />
+ <item id="passkey_enclave_client" added_in_milestone="117" hash_code="67454139" content_hash_code="06c3fa70" os_list="linux,windows" file_path="device/fido/enclave/enclave_http_client.cc" />
+ <item id="iwa_update_discovery_update_manifest" added_in_milestone="117" type="partial" second_id="iwa_update_manifest_fetcher" hash_code="80925652" content_hash_code="021e8cdf" os_list="chromeos" semantics_fields="1,2,3,7,8,9" policy_fields="3,4" file_path="chrome/browser/web_applications/isolated_web_apps/isolated_web_app_update_discovery_task.cc" />
+ <item id="iwa_update_discovery_web_bundle" added_in_milestone="117" type="partial" second_id="iwa_bundle_downloader" hash_code="59207886" content_hash_code="044a85c3" os_list="chromeos" semantics_fields="1,2,3,7,8,9" policy_fields="3,4" file_path="chrome/browser/web_applications/isolated_web_apps/isolated_web_app_update_discovery_task.cc" />
+ <item id="almanac_launcher_app" added_in_milestone="118" hash_code="14410833" content_hash_code="0556e032" os_list="chromeos" file_path="chrome/browser/apps/app_discovery_service/launcher_app_almanac_connector.cc" />
+ <item id="ip_protection_service_get_proxy_config" added_in_milestone="118" hash_code="137553406" content_hash_code="025110db" os_list="windows,android,linux,chromeos" file_path="chrome/browser/ip_protection/ip_protection_config_http.cc" />
+ <item id="chrome_commerce_parcels_status" added_in_milestone="119" hash_code="18763100" content_hash_code="0740f7f7" os_list="linux,windows,android,chromeos" file_path="components/commerce/core/parcel/parcels_server_proxy.cc" />
+ <item id="plus_address_creation" added_in_milestone="119" hash_code="114741425" content_hash_code="05266362" os_list="linux,windows,android,chromeos" file_path="components/plus_addresses/plus_address_client.cc" />
+ <item id="chrome_commerce_start_tracking_parcel" added_in_milestone="119" hash_code="1111315" content_hash_code="023a4c27" os_list="linux,windows,android,chromeos" file_path="components/commerce/core/parcel/parcels_server_proxy.cc" />
+ <item id="chrome_commerce_stop_tracking_parcel" added_in_milestone="119" hash_code="74390342" content_hash_code="0510af3a" os_list="linux,windows,android,chromeos" file_path="components/commerce/core/parcel/parcels_server_proxy.cc" />
+ <item id="chrome_commerce_stop_tracking_all_parcel" added_in_milestone="119" hash_code="24697216" content_hash_code="0714c6f8" os_list="linux,windows,android,chromeos" file_path="components/commerce/core/parcel/parcels_server_proxy.cc" />
+ <item id="get_all_plus_addresses" added_in_milestone="119" hash_code="109754005" content_hash_code="057af967" os_list="linux,windows,android,chromeos" file_path="components/plus_addresses/plus_address_client.cc" />
+ <item id="report_check_membership" added_in_milestone="119" hash_code="75994647" content_hash_code="07849280" os_list="chromeos" file_path="chromeos/ash/components/report/device_metrics/use_case/use_case.cc" />
+ <item id="report_check_in" added_in_milestone="119" hash_code="100947802" content_hash_code="02080b2e" os_list="chromeos" file_path="chromeos/ash/components/report/device_metrics/use_case/use_case.cc" />
+ <item id="plus_address_reservation" added_in_milestone="119" hash_code="79066711" content_hash_code="02835001" os_list="linux,windows,android,chromeos" file_path="components/plus_addresses/plus_address_client.cc" />
+ <item id="plus_address_confirmation" added_in_milestone="119" hash_code="18728066" content_hash_code="04783158" os_list="linux,windows,android,chromeos" file_path="components/plus_addresses/plus_address_client.cc" />
+ <item id="bromite_inline_update_controller" added_in_milestone="119" hash_code="88618481" content_hash_code="061ad1b5" os_list="linux,windows,android" file_path="chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java" />
+ <item id="offline_pages_download_file" added_in_milestone="119" hash_code="94580999" content_hash_code="01ae83d8" os_list="linux,windows,android" file_path="chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc" />
+ <item id="adblock_subscription_download" added_in_milestone="119" hash_code="8807068" content_hash_code="03359a90" os_list="linux,windows,android" file_path="components/adblock/core/subscription/ongoing_subscription_request_impl.cc" />
+ <item id="filters_update" added_in_milestone="119" hash_code="51960264" content_hash_code="070edef5" os_list="linux,windows,android" file_path="components/component_updater/download_filters_task.cc" />
+ <item id="download_via_context_menu" added_in_milestone="119" hash_code="64427392" content_hash_code="01089191" os_list="linux,windows,android" file_path="components/download/content/internal/context_menu_download.cc" />
+ <item id="webapk_icon_hasher" added_in_milestone="119" hash_code="61933932" content_hash_code="079c7adb" os_list="linux,windows,android" file_path="components/webapps/browser/android/webapk/webapk_icon_hasher.cc" />
+ <item id="blink_resource_loader_webidentity" added_in_milestone="119" hash_code="37712640" content_hash_code="04fd614e" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc" />
+ <item id="blink_resource_loader_workers" added_in_milestone="119" hash_code="71243337" content_hash_code="0150f3b2" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc" />
+ <item id="blink_resource_loader_report" added_in_milestone="119" hash_code="76900237" content_hash_code="016f40bc" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc" />
+ <item id="blink_resource_loader_worklet" added_in_milestone="119" hash_code="71249662" content_hash_code="070205e2" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc" />
+ <item id="blink_resource_loader_webbundle" added_in_milestone="119" hash_code="115582637" content_hash_code="0331ecaf" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc" />
+ <item id="blink_resource_loader_manifest" added_in_milestone="119" hash_code="70686768" content_hash_code="046ea9cd" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc" />
+ <item id="blink_resource_loader_dictionary" added_in_milestone="119" hash_code="72296456" content_hash_code="04fa88f8" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc" />
+ <item id="blink_extension_resource_loader_embed" added_in_milestone="119" hash_code="95145213" content_hash_code="03788d28" os_list="linux,windows,android" file_path="third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc" />
+</annotations>
diff --git a/services/firewall/tools/builders_template.py b/services/firewall/tools/builders_template.py
new file mode 100644
@@ -1528,7 +1547,7 @@ new file mode 100644
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -87,6 +87,7 @@
@@ -88,6 +88,7 @@
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_builder.h"
@@ -1536,7 +1555,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
#include "services/network/brokered_client_socket_factory.h"
#include "services/network/cookie_manager.h"
#include "services/network/cors/cors_url_loader_factory.h"
@@ -1625,6 +1626,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
@@ -1622,6 +1623,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
void NetworkContext::CreateUDPSocket(
mojo::PendingReceiver<mojom::UDPSocket> receiver,
mojo::PendingRemote<mojom::UDPSocketListener> listener) {
@@ -1546,7 +1565,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener));
}
@@ -1637,6 +1641,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
@@ -1634,6 +1638,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
mojo::PendingRemote<mojom::UDPSocketListener> listener,
CreateRestrictedUDPSocketCallback callback) {
// SimpleHostResolver is transitively owned by |this|.
@@ -1564,7 +1583,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateRestrictedUDPSocket(
addr, mode, traffic_annotation, std::move(params), std::move(receiver),
std::move(listener), SimpleHostResolver::Create(this),
@@ -1649,6 +1664,17 @@ void NetworkContext::CreateTCPServerSocket(
@@ -1646,6 +1661,17 @@ void NetworkContext::CreateTCPServerSocket(
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojo::PendingReceiver<mojom::TCPServerSocket> receiver,
CreateTCPServerSocketCallback callback) {
@@ -1582,7 +1601,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPServerSocket(
local_addr, std::move(options),
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
@@ -1663,6 +1689,21 @@ void NetworkContext::CreateTCPConnectedSocket(
@@ -1660,6 +1686,21 @@ void NetworkContext::CreateTCPConnectedSocket(
mojo::PendingReceiver<mojom::TCPConnectedSocket> receiver,
mojo::PendingRemote<mojom::SocketObserver> observer,
CreateTCPConnectedSocketCallback callback) {
@@ -1604,7 +1623,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPConnectedSocket(
local_addr, remote_addr_list, std::move(tcp_connected_socket_options),
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
@@ -1674,6 +1715,20 @@ void NetworkContext::CreateTCPBoundSocket(
@@ -1671,6 +1712,20 @@ void NetworkContext::CreateTCPBoundSocket(
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojo::PendingReceiver<mojom::TCPBoundSocket> receiver,
CreateTCPBoundSocketCallback callback) {
@@ -1625,7 +1644,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPBoundSocket(
local_addr,
static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
@@ -1739,6 +1794,24 @@ void NetworkContext::CreateWebSocket(
@@ -1736,6 +1791,24 @@ void NetworkContext::CreateWebSocket(
mojo::PendingRemote<mojom::WebSocketAuthenticationHandler> auth_handler,
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client,
const absl::optional<base::UnguessableToken>& throttling_profile_id) {
@@ -1705,14 +1724,40 @@ diff --git a/services/network/public/cpp/simple_url_loader.h b/services/network/
};
} // namespace network
diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
--- a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
@@ -648,23 +648,150 @@ net::NetworkTrafficAnnotationTag URLLoader::Context::GetTrafficAnnotationTag(
diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc b/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc
--- a/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc
@@ -97,29 +97,198 @@ net::NetworkTrafficAnnotationTag FetchUtils::GetTrafficAnnotationTag(
case network::mojom::RequestDestination::kIframe:
case network::mojom::RequestDestination::kFrame:
case network::mojom::RequestDestination::kFencedframe:
- case network::mojom::RequestDestination::kWebIdentity:
NOTREACHED();
[[fallthrough]];
+ // Split destination with new annotations
+ case network::mojom::RequestDestination::kWebIdentity:
+ return net::DefineNetworkTrafficAnnotation("blink_resource_loader_webidentity", R"(
+ semantics {
+ sender: "Blink Resource Loader"
+ description:
+ "Blink-initiated request, which includes all resources for "
+ "normal page loads, chrome URLs, and downloads."
+ trigger:
+ "The user navigates to a URL or downloads a file. Also when a "
+ "webpage, ServiceWorker, or chrome:// uses any network communication."
+ data: "Anything the initiator wants to send."
+ destination: OTHER
+ }
+ policy {
+ cookies_allowed: YES
+ cookies_store: "user"
+ setting: "These requests cannot be disabled in settings."
+ policy_exception_justification:
+ "Not implemented. Without these requests, Chrome will be unable "
+ "to load any webpage."
+ })");
+
+ case network::mojom::RequestDestination::kServiceWorker:
+ case network::mojom::RequestDestination::kSharedWorker:
+ case network::mojom::RequestDestination::kWorker:
@@ -1826,7 +1871,44 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loa
+ "to load any webpage."
+ })");
+
+ case network::mojom::RequestDestination::kXslt:
case network::mojom::RequestDestination::kEmpty:
case network::mojom::RequestDestination::kAudio:
- case network::mojom::RequestDestination::kAudioWorklet:
case network::mojom::RequestDestination::kFont:
case network::mojom::RequestDestination::kImage:
- case network::mojom::RequestDestination::kManifest:
- case network::mojom::RequestDestination::kPaintWorklet:
- case network::mojom::RequestDestination::kReport:
case network::mojom::RequestDestination::kScript:
- case network::mojom::RequestDestination::kServiceWorker:
- case network::mojom::RequestDestination::kSharedWorker:
case network::mojom::RequestDestination::kStyle:
case network::mojom::RequestDestination::kTrack:
case network::mojom::RequestDestination::kVideo:
- case network::mojom::RequestDestination::kWebBundle:
- case network::mojom::RequestDestination::kWorker:
+ return net::DefineNetworkTrafficAnnotation("blink_resource_loader", R"(
+ semantics {
+ sender: "Blink Resource Loader"
+ description:
+ "Blink-initiated request, which includes all resources for "
+ "normal page loads, chrome URLs, and downloads."
+ trigger:
+ "The user navigates to a URL or downloads a file. Also when a "
+ "webpage, ServiceWorker, or chrome:// uses any network communication."
+ data: "Anything the initiator wants to send."
+ destination: OTHER
+ }
+ policy {
+ cookies_allowed: YES
+ cookies_store: "user"
+ setting: "These requests cannot be disabled in settings."
+ policy_exception_justification:
+ "Not implemented. Without these requests, Chrome will be unable "
+ "to load any webpage."
+ })");
+
case network::mojom::RequestDestination::kXslt:
+ return net::DefineNetworkTrafficAnnotation("blink_resource_loader_xslt", R"(
+ semantics {
+ sender: "Blink Resource Loader"
@@ -1848,26 +1930,42 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loa
+ "to load any webpage."
+ })");
+
case network::mojom::RequestDestination::kEmpty:
case network::mojom::RequestDestination::kAudio:
- case network::mojom::RequestDestination::kAudioWorklet:
case network::mojom::RequestDestination::kFont:
case network::mojom::RequestDestination::kImage:
- case network::mojom::RequestDestination::kManifest:
- case network::mojom::RequestDestination::kPaintWorklet:
- case network::mojom::RequestDestination::kReport:
case network::mojom::RequestDestination::kScript:
- case network::mojom::RequestDestination::kServiceWorker:
- case network::mojom::RequestDestination::kSharedWorker:
case network::mojom::RequestDestination::kStyle:
case network::mojom::RequestDestination::kTrack:
case network::mojom::RequestDestination::kVideo:
- case network::mojom::RequestDestination::kWebBundle:
- case network::mojom::RequestDestination::kWorker:
- case network::mojom::RequestDestination::kXslt:
case network::mojom::RequestDestination::kDictionary:
return net::DefineNetworkTrafficAnnotation("blink_resource_loader", R"(
- return net::DefineNetworkTrafficAnnotation("blink_resource_loader", R"(
+ return net::DefineNetworkTrafficAnnotation("blink_resource_loader_dictionary", R"(
semantics {
sender: "Blink Resource Loader"
description:
@@ -143,7 +312,7 @@ net::NetworkTrafficAnnotationTag FetchUtils::GetTrafficAnnotationTag(
case network::mojom::RequestDestination::kEmbed:
case network::mojom::RequestDestination::kObject:
return net::DefineNetworkTrafficAnnotation(
- "blink_extension_resource_loader", R"(
+ "blink_extension_resource_loader_embed", R"(
semantics {
sender: "Blink Resource Loader"
description:
diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
--- a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc
@@ -287,7 +287,7 @@ void URLLoader::Context::Start(
download_to_blob_registry.InitWithNewPipeAndPassReceiver());
}
net::NetworkTrafficAnnotationTag tag =
- FetchUtils::GetTrafficAnnotationTag(*request);
+ FetchUtils::GetTrafficAnnotationTag(*request); // check for deprecation
resource_request_sender_->SendSync(
std::move(request), tag, loader_options, sync_load_response,
url_loader_factory_, std::move(throttles), timeout_interval,
@@ -300,7 +300,7 @@ void URLLoader::Context::Start(
TRACE_EVENT_WITH_FLOW0("loading", "URLLoader::Context::Start", this,
TRACE_EVENT_FLAG_FLOW_OUT);
net::NetworkTrafficAnnotationTag tag =
- FetchUtils::GetTrafficAnnotationTag(*request);
+ FetchUtils::GetTrafficAnnotationTag(*request); // check for deprecation
request_id_ = resource_request_sender_->SendAsync(
std::move(request), GetMaybeUnfreezableTaskRunner(), tag, loader_options,
cors_exempt_header_list_, base::WrapRefCounted(this), url_loader_factory_,
diff --git a/tools/traffic_annotation/scripts/auditor/auditor.py b/tools/traffic_annotation/scripts/auditor/auditor.py
--- a/tools/traffic_annotation/scripts/auditor/auditor.py
+++ b/tools/traffic_annotation/scripts/auditor/auditor.py
@@ -0,0 +1,22 @@
From: Your Name <you@example.com>
Date: Tue, 31 Oct 2023 16:20:12 +0000
Subject: Keep Manta Service Disabled
---
components/manta/features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/manta/features.cc b/components/manta/features.cc
--- a/components/manta/features.cc
+++ b/components/manta/features.cc
@@ -8,7 +8,7 @@
namespace manta::features {
-BASE_FEATURE(kMantaService, "MantaService", base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kMantaService, "MantaService", base::FEATURE_DISABLED_BY_DEFAULT); // keep disabled
bool IsMantaServiceEnabled() {
return base::FeatureList::IsEnabled(kMantaService);
--
2.25.1
@@ -4,11 +4,11 @@ Subject: Keep Side Panel Companion disabled
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/browser/companion/core/features.cc | 19 ++++++++++---------
chrome/browser/companion/core/features.cc | 23 ++++++++++---------
.../ui/side_search/side_search_prefs.cc | 2 +-
chrome/browser/ui/ui_features.cc | 2 +-
components/search_engines/template_url.cc | 2 +-
4 files changed, 13 insertions(+), 12 deletions(-)
4 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/chrome/browser/companion/core/features.cc b/chrome/browser/companion/core/features.cc
--- a/chrome/browser/companion/core/features.cc
@@ -40,7 +40,18 @@ diff --git a/chrome/browser/companion/core/features.cc b/chrome/browser/companio
} // namespace internal
// When search companion is enabled, show a context menu item that allows the
@@ -57,6 +57,7 @@ const char kDisableCheckUserPermissionsForCompanion[] =
@@ -53,8 +53,8 @@ BASE_FEATURE(kCompanionEnableNewBadgesInContextMenu,
// user had previously opted in. The user won't be able to opt in (or out) when
// this is disabled.
BASE_FEATURE(kCompanionEnablePageContent,
- "CompanionEnablePageContent",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "CompanionEnablePageContent", // keep
+ base::FEATURE_DISABLED_BY_DEFAULT); // disabled
} // namespace features
namespace switches {
@@ -65,6 +65,7 @@ const char kDisableCheckUserPermissionsForCompanion[] =
const char kForceCompanionPinnedState[] = "force-companion-pinned-state";
bool ShouldOverrideCheckingUserPermissionsForCompanion() {
@@ -63,7 +74,7 @@ diff --git a/chrome/browser/ui/side_search/side_search_prefs.cc b/chrome/browser
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -121,7 +121,7 @@ BASE_FEATURE(kResponsiveToolbar,
@@ -122,7 +122,7 @@ BASE_FEATURE(kResponsiveToolbar,
// Enables the side search feature for Google Search. Presents recent Google
// search results in a browser side panel.
@@ -3,13 +3,39 @@ Date: Thu, 28 Sep 2023 08:11:00 +0000
Subject: Keep disabled FetchLaterAPI
---
.../blink/renderer/platform/runtime_enabled_features.json5 | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
third_party/blink/common/features.cc | 8 ++++----
.../renderer/platform/runtime_enabled_features.json5 | 3 ++-
2 files changed, 6 insertions(+), 5 deletions(-)
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
@@ -1026,8 +1026,8 @@ BASE_FEATURE(kKalmanHeuristics,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kKeepAliveInBrowserMigration,
- "KeepAliveInBrowserMigration",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "KeepAliveInBrowserMigration", // keep
+ base::FEATURE_DISABLED_BY_DEFAULT); // disabled
// Enables reporting as LCP of the time the first frame of an animated image was
// painted.
@@ -1278,8 +1278,8 @@ BASE_FEATURE(kPath2DPaintCache,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kPendingBeaconAPI,
- "PendingBeaconAPI",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PendingBeaconAPI", // keep
+ base::FEATURE_DISABLED_BY_DEFAULT); // disabled
const base::FeatureParam<bool> kPendingBeaconAPIRequiresOriginTrial = {
&kPendingBeaconAPI, "requires_origin_trial", false};
const base::FeatureParam<bool> kPendingBeaconAPIForcesSendingOnNavigation = {
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
@@ -1693,7 +1693,8 @@
@@ -1700,7 +1700,8 @@
},
{
// The Blink runtime-enabled feature name for the API's IDL.
@@ -23,7 +23,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -5157,6 +5157,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5413,6 +5413,9 @@ const FeatureEntry kFeatureEntries[] = {
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
@@ -36,7 +36,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
@@ -3315,6 +3315,12 @@ const char kSystemKeyboardLockDescription[] =
@@ -3335,6 +3335,12 @@ const char kSystemKeyboardLockDescription[] =
"keyboard shortcuts and have the events routed directly to the website "
"when in fullscreen mode.";
@@ -52,7 +52,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
@@ -1901,6 +1901,9 @@ extern const char kSuppressToolbarCapturesDescription[];
@@ -1920,6 +1920,9 @@ extern const char kSuppressToolbarCapturesDescription[];
extern const char kSystemKeyboardLockName[];
extern const char kSystemKeyboardLockDescription[];
@@ -186,7 +186,7 @@ diff --git a/third_party/blink/renderer/core/events/keyboard_event.h b/third_par
diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
--- a/ui/base/ui_base_features.cc
+++ b/ui/base/ui_base_features.cc
@@ -202,6 +202,14 @@ BASE_FEATURE(kSystemKeyboardLock,
@@ -184,6 +184,14 @@ BASE_FEATURE(kSystemKeyboardLock,
"SystemKeyboardLock",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc
--- a/chrome/browser/browser_features.cc
+++ b/chrome/browser/browser_features.cc
@@ -207,8 +207,8 @@ BASE_FEATURE(kAppBoundEncryptionMetrics,
@@ -213,8 +213,8 @@ BASE_FEATURE(kAppBoundEncryptionMetrics,
// Enables locking the cookie database for profiles.
// TODO(crbug.com/1430226): Remove after fully launched.
BASE_FEATURE(kLockProfileCookieDatabase,
@@ -18,8 +18,8 @@ diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_feature
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "LockProfileCookieDatabase", // enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // by default
#endif
// Enables showing the email of the flex org admin that setup CBCM in the
// Don't call the Win32 API PrefetchVirtualMemory when loading chrome.dll inside
// non-browser processes. This is done by passing flags to these processes. This
--
2.25.1
@@ -27,7 +27,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -5105,7 +5105,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5361,7 +5361,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebShareDescription, kOsWin | kOsCrOS | kOsMac,
FEATURE_VALUE_TYPE(features::kWebShare)},
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
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
@@ -4552,6 +4552,14 @@ void Document::ProcessBaseElement() {
@@ -4563,6 +4563,14 @@ void Document::ProcessBaseElement() {
KURL base_element_url;
if (href) {
String stripped_href = StripLeadingAndTrailingHTMLSpaces(*href);
@@ -57,7 +57,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
if (!stripped_href.empty())
base_element_url = KURL(FallbackBaseURL(), stripped_href);
}
@@ -4570,6 +4578,14 @@ void Document::ProcessBaseElement() {
@@ -4581,6 +4589,14 @@ void Document::ProcessBaseElement() {
!GetExecutionContext()->GetSecurityOrigin()->CanRequest(
base_element_url)) {
UseCounter::Count(*this, WebFeature::kBaseWithCrossOriginHref);
@@ -72,7 +72,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
}
}
@@ -4589,6 +4605,8 @@ void Document::ProcessBaseElement() {
@@ -4600,6 +4616,8 @@ void Document::ProcessBaseElement() {
if (target->Contains('<'))
UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget);
base_target_ = *target;
@@ -84,7 +84,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
@@ -2577,8 +2577,26 @@ void Element::StripScriptingAttributes(
@@ -2574,8 +2574,26 @@ void Element::StripScriptingAttributes(
attribute_vector.Shrink(destination);
}
@@ -116,7 +116,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.h b/third_party/blink/r
--- a/third_party/blink/renderer/core/dom/element.h
+++ b/third_party/blink/renderer/core/dom/element.h
@@ -575,7 +575,8 @@ class CORE_EXPORT Element : public ContainerNode, public Animatable {
virtual const QualifiedName& SubResourceAttributeName() const;
virtual bool HasLegalLinkAttribute(const QualifiedName&) const;
// Only called by the parser immediately after element construction.
- void ParserSetAttributes(const Vector<Attribute, kAttributePrealloc>&);
@@ -254,8 +254,8 @@ diff --git a/third_party/blink/renderer/core/loader/frame_load_request.cc b/thir
+#include "third_party/blink/renderer/core/inspector/console_message.h"
#include "third_party/blink/renderer/core/fileapi/public_url_manager.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/platform/bindings/dom_wrapper_world.h"
@@ -134,6 +135,14 @@ const LocalFrameToken* FrameLoadRequest::GetInitiatorFrameToken() const {
#include "third_party/blink/renderer/core/html/forms/html_form_element.h"
@@ -145,6 +146,14 @@ const LocalFrameToken* FrameLoadRequest::GetInitiatorFrameToken() const {
const AtomicString& FrameLoadRequest::CleanNavigationTarget(
const AtomicString& target) const {
if (ContainsNewLineAndLessThan(target)) {
@@ -319,7 +319,7 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl
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
@@ -1522,8 +1522,8 @@
@@ -1525,8 +1525,8 @@
// Experiment with preventing some instances of mutation XSS
// by escaping "<" and ">" in attribute values.
// See: crbug.com/1175016
@@ -330,7 +330,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
},
{
name: "EventTimingInteractionCount",
@@ -2263,6 +2263,12 @@
@@ -2296,6 +2296,12 @@
// Use LongAnimationFrameMonitor to emit longtask entries
name: "LongTaskFromLongAnimationFrame"
},
@@ -32,7 +32,7 @@ diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/s
diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
--- a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
+++ b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
@@ -395,7 +395,10 @@ void NetInternalsMessageHandler::OnDomainSecurityPolicyDelete(
@@ -396,7 +396,10 @@ void NetInternalsMessageHandler::OnDomainSecurityPolicyDelete(
// There cannot be a unicode entry in the HSTS set.
return;
}
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/
*domain, base::BindOnce(&IgnoreBoolCallback));
}
@@ -405,7 +408,10 @@ void NetInternalsMessageHandler::OnHSTSQuery(const base::Value::List& list) {
@@ -406,7 +409,10 @@ void NetInternalsMessageHandler::OnHSTSQuery(const base::Value::List& list) {
DCHECK(callback_id && domain);
AllowJavascript();
@@ -54,7 +54,7 @@ diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/
*domain,
base::BindOnce(&NetInternalsMessageHandler::ResolveCallbackWithResult,
weak_factory_.GetWeakPtr(), *callback_id));
@@ -431,8 +437,12 @@ void NetInternalsMessageHandler::OnHSTSAdd(const base::Value::List& list) {
@@ -432,8 +438,12 @@ void NetInternalsMessageHandler::OnHSTSAdd(const base::Value::List& list) {
const bool sts_include_subdomains = list[1].GetBool();
base::Time expiry = base::Time::Now() + base::Days(1000);
@@ -83,7 +83,7 @@ diff --git a/components/password_manager/core/browser/hsts_query.cc b/components
diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc
--- a/net/http/transport_security_state.cc
+++ b/net/http/transport_security_state.cc
@@ -215,7 +215,7 @@ bool AddHash(const char* sha256_hash, HashValueVector* out) {
@@ -225,7 +225,7 @@ bool AddHash(const char* sha256_hash, HashValueVector* out) {
// Converts |hostname| from dotted form ("www.google.com") to the form
// used in DNS: "\x03www\x06google\x03com", lowercases that, and returns
// the result.
@@ -92,7 +92,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
// We cannot perform the operations as detailed in the spec here as `host`
// has already undergone IDN processing before it reached us. Thus, we
// lowercase the input (probably redudnant since most input here has been
@@ -236,6 +236,29 @@ std::vector<uint8_t> CanonicalizeHost(const std::string& host) {
@@ -246,6 +246,29 @@ std::vector<uint8_t> CanonicalizeHost(const std::string& host) {
return new_host.value();
}
@@ -122,7 +122,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
// PreloadResult is the result of resolving a specific name in the preloaded
// data.
struct PreloadResult {
@@ -327,7 +350,7 @@ bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
@@ -337,7 +360,7 @@ bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
// Ensure that |search_hostname| is a valid hostname before
// processing.
@@ -131,7 +131,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
return false;
}
// Normalize any trailing '.' used for DNS suffix searches.
@@ -394,18 +417,19 @@ TransportSecurityState::TransportSecurityState(
@@ -404,18 +427,19 @@ TransportSecurityState::TransportSecurityState(
// Both HSTS and HPKP cause fatal SSL errors, so return true if a
// host has either.
@@ -154,7 +154,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
dict.Set("should_upgrade_to_ssl", sts_state.ShouldUpgradeToSSL());
dict.Set("host_found_in_hsts_bypass_list",
hsts_host_bypass_list_.find(host) != hsts_host_bypass_list_.end());
@@ -413,13 +437,14 @@ base::Value::Dict TransportSecurityState::NetLogUpgradeToSSLParam(
@@ -423,13 +447,14 @@ base::Value::Dict TransportSecurityState::NetLogUpgradeToSSLParam(
}
bool TransportSecurityState::ShouldUpgradeToSSL(
@@ -171,7 +171,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
}
TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins(
@@ -432,7 +457,7 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins(
@@ -442,7 +467,7 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins(
const NetworkAnonymizationKey& network_anonymization_key,
std::string* pinning_failure_log) {
// Perform pin validation only if the server actually has public key pins.
@@ -180,7 +180,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
return PKPStatus::OK;
}
@@ -451,9 +476,9 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins(
@@ -461,9 +486,9 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins(
return pin_validity;
}
@@ -192,7 +192,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
}
TransportSecurityState::CTRequirementsStatus
@@ -589,12 +614,13 @@ void TransportSecurityState::UpdatePinList(
@@ -557,12 +582,13 @@ void TransportSecurityState::UpdatePinList(
}
void TransportSecurityState::AddHSTSInternal(
@@ -207,7 +207,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
if (canonicalized_host.empty())
return;
@@ -618,14 +644,15 @@ void TransportSecurityState::AddHSTSInternal(
@@ -586,14 +612,15 @@ void TransportSecurityState::AddHSTSInternal(
DirtyNotify();
}
@@ -225,7 +225,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
if (canonicalized_host.empty())
return;
@@ -711,10 +738,12 @@ TransportSecurityState::CheckPinsAndMaybeSendReport(
@@ -679,10 +706,12 @@ TransportSecurityState::CheckPinsAndMaybeSendReport(
return PKPStatus::VIOLATED;
}
@@ -240,7 +240,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
if (canonicalized_host.empty())
return false;
@@ -791,7 +820,8 @@ void TransportSecurityState::DirtyNotify() {
@@ -759,7 +788,8 @@ void TransportSecurityState::DirtyNotify() {
delegate_->StateIsDirty(this);
}
@@ -250,7 +250,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
const std::string& value) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
@@ -810,24 +840,26 @@ bool TransportSecurityState::AddHSTSHeader(const std::string& host,
@@ -778,24 +808,26 @@ bool TransportSecurityState::AddHSTSHeader(const std::string& host,
upgrade_mode = STSState::MODE_FORCE_HTTPS;
}
@@ -282,7 +282,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
report_uri);
}
@@ -862,7 +894,7 @@ TransportSecurityState::CheckPublicKeyPinsImpl(
@@ -830,7 +862,7 @@ TransportSecurityState::CheckPublicKeyPinsImpl(
const NetworkAnonymizationKey& network_anonymization_key,
std::string* failure_log) {
PKPState pkp_state;
@@ -291,7 +291,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
// HasPublicKeyPins should have returned true in order for this method to have
// been called.
@@ -906,7 +938,7 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
@@ -874,7 +906,7 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
PreloadResult result;
if (host_pins_.has_value()) {
// Ensure that |host| is a valid hostname before processing.
@@ -300,7 +300,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
return false;
}
// Normalize any trailing '.' used for DNS suffix searches.
@@ -994,21 +1026,24 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
@@ -962,21 +994,24 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
return false;
}
@@ -331,7 +331,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
if (canonicalized_host.empty())
return false;
@@ -1045,11 +1080,12 @@ bool TransportSecurityState::GetDynamicSTSState(const std::string& host,
@@ -1013,11 +1048,12 @@ bool TransportSecurityState::GetDynamicSTSState(const std::string& host,
return false;
}
@@ -349,7 +349,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
diff --git a/net/http/transport_security_state.h b/net/http/transport_security_state.h
--- a/net/http/transport_security_state.h
+++ b/net/http/transport_security_state.h
@@ -328,8 +328,8 @@ class NET_EXPORT TransportSecurityState {
@@ -323,8 +323,8 @@ class NET_EXPORT TransportSecurityState {
// primary public interface; direct access to STS and PKP states is best
// left to tests. The caller needs to handle the optional pinning override
// when is_issued_by_known_root is false.
@@ -360,7 +360,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
const NetLogWithSource& net_log = NetLogWithSource());
PKPStatus CheckPublicKeyPins(
const HostPortPair& host_port_pair,
@@ -340,7 +340,7 @@ class NET_EXPORT TransportSecurityState {
@@ -335,7 +335,7 @@ class NET_EXPORT TransportSecurityState {
const PublicKeyPinReportStatus report_status,
const NetworkAnonymizationKey& network_anonymization_key,
std::string* failure_log);
@@ -369,7 +369,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
// Returns CT_REQUIREMENTS_NOT_MET if a connection violates CT policy
// requirements: that is, if a connection to |host|, using the validated
@@ -429,7 +429,7 @@ class NET_EXPORT TransportSecurityState {
@@ -424,7 +424,7 @@ class NET_EXPORT TransportSecurityState {
//
// If an entry is deleted, the new state will be persisted through
// the Delegate (if any).
@@ -378,7 +378,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
// Returns true and updates |*result| if |host| has dynamic or static
// HSTS/HPKP (respectively) state. If multiple entries match |host|, dynamic
@@ -439,8 +439,8 @@ class NET_EXPORT TransportSecurityState {
@@ -434,8 +434,8 @@ class NET_EXPORT TransportSecurityState {
//
// Note that these methods are not const because they opportunistically remove
// entries that have expired.
@@ -389,7 +389,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
// Returns true and updates |*result| iff |host| has static HSTS/HPKP
// (respectively) state. If multiple entries match |host|, the most specific
@@ -454,22 +454,24 @@ class NET_EXPORT TransportSecurityState {
@@ -449,22 +449,24 @@ class NET_EXPORT TransportSecurityState {
//
// Note that these methods are not const because they opportunistically remove
// entries that have expired.
@@ -419,7 +419,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
const base::Time& expiry,
bool include_subdomains,
const HashValueVector& hashes,
@@ -517,7 +519,7 @@ class NET_EXPORT TransportSecurityState {
@@ -512,7 +514,7 @@ class NET_EXPORT TransportSecurityState {
typedef ExpiringCache<std::string, bool, base::TimeTicks, std::less<>>
ReportCache;
@@ -428,7 +428,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
// IsBuildTimely returns true if the current build is new enough ensure that
// built in security information (i.e. HSTS preloading and pinning
@@ -543,11 +545,13 @@ class NET_EXPORT TransportSecurityState {
@@ -538,11 +540,13 @@ class NET_EXPORT TransportSecurityState {
// any previous state for the |host|, including static entries.
//
// The new state for |host| is persisted using the Delegate (if any).
@@ -504,7 +504,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
return std::make_unique<URLRequestRedirectJob>(
request, UpgradeSchemeToCryptographic(url),
// Use status code 307 to preserve the method, so POST requests work.
@@ -1076,7 +1076,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() {
@@ -1055,7 +1055,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() {
HttpResponseHeaders* headers = GetResponseHeaders();
std::string value;
if (headers->EnumerateHeader(nullptr, "Strict-Transport-Security", &value))
@@ -513,7 +513,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
}
void URLRequestHttpJob::OnStartCompleted(int result) {
@@ -1146,7 +1146,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) {
@@ -1125,7 +1125,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) {
TransportSecurityState* state = context->transport_security_state();
NotifySSLCertificateError(
result, transaction_->GetResponseInfo()->ssl_info,
@@ -525,7 +525,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1887,17 +1887,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
@@ -1884,17 +1884,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
std::move(callback).Run();
}
@@ -548,7 +548,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
IsHSTSActiveForHostCallback callback) {
net::TransportSecurityState* security_state =
url_request_context_->transport_security_state();
@@ -1907,10 +1909,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
@@ -1904,10 +1906,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
return;
}
@@ -561,7 +561,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
GetHSTSStateCallback callback) {
base::Value::Dict result;
@@ -1946,10 +1948,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
@@ -1943,10 +1945,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
net::TransportSecurityState::STSState dynamic_sts_state;
net::TransportSecurityState::PKPState dynamic_pkp_state;
bool found_sts_dynamic = transport_security_state->GetDynamicSTSState(
@@ -574,7 +574,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
if (found_sts_dynamic) {
result.Set("dynamic_upgrade_mode",
static_cast<int>(dynamic_sts_state.upgrade_mode));
@@ -1985,6 +1987,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
@@ -1982,6 +1984,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
}
void NetworkContext::DeleteDynamicDataForHost(
@@ -582,7 +582,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
const std::string& host,
DeleteDynamicDataForHostCallback callback) {
net::TransportSecurityState* transport_security_state =
@@ -1995,7 +1998,7 @@ void NetworkContext::DeleteDynamicDataForHost(
@@ -1992,7 +1995,7 @@ void NetworkContext::DeleteDynamicDataForHost(
}
std::move(callback).Run(
@@ -591,7 +591,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
}
void NetworkContext::EnableStaticKeyPinningForTesting(
@@ -2062,7 +2065,7 @@ void NetworkContext::PreconnectSockets(
@@ -2125,7 +2128,7 @@ void NetworkContext::PreconnectSockets(
DCHECK(!require_network_anonymization_key_ ||
!network_anonymization_key.IsEmpty());
@@ -600,7 +600,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
// |PreconnectSockets| may receive arguments from the renderer, which is not
// guaranteed to validate them.
@@ -2882,12 +2885,15 @@ void NetworkContext::OnConnectionError() {
@@ -2945,12 +2948,15 @@ void NetworkContext::OnConnectionError() {
std::move(on_connection_close_callback_).Run(this);
}
@@ -641,7 +641,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
const std::string& host,
DeleteDynamicDataForHostCallback callback) override;
void SetCorsOriginAccessListsForOrigin(
@@ -716,7 +718,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -724,7 +726,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
mojo::PendingRemote<mojom::CookieAccessObserver> cookie_observer,
net::FirstPartySetMetadata first_party_set_metadata);
@@ -654,7 +654,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -1509,16 +1509,16 @@ interface NetworkContext {
@@ -1529,16 +1529,16 @@ interface NetworkContext {
// Adds explicitly-specified data as if it was processed from an
// HSTS header. Used by tests and implementation of chrome://net-internals.
@@ -674,7 +674,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
=> (mojo_base.mojom.DictionaryValue state);
// Sets allowed and blocked origins respectively for the URLLoaderFactory
@@ -1537,7 +1537,7 @@ interface NetworkContext {
@@ -1557,7 +1557,7 @@ interface NetworkContext {
// Deletes any dynamic data stored for |host| from the transport
// security state. Returns true iff an entry was deleted.
// See net::TransportSecurityState::DeleteDynamicDataForHost for more detail.
@@ -2,9 +2,13 @@ From: uazo <uazo@users.noreply.github.com>
Date: Thu, 28 Sep 2023 07:56:11 +0000
Subject: Partition MediaDeviceId by default
and, in windows, hide the presence of the webcam if the user has not given permission
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
components/media_device_salt/media_device_salt_service.cc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
.../browser/renderer_host/media/media_devices_manager.cc | 5 +++++
content/common/features.cc | 4 ++--
3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/components/media_device_salt/media_device_salt_service.cc b/components/media_device_salt/media_device_salt_service.cc
--- a/components/media_device_salt/media_device_salt_service.cc
@@ -25,5 +29,34 @@ diff --git a/components/media_device_salt/media_device_salt_service.cc b/compone
namespace {
diff --git a/content/browser/renderer_host/media/media_devices_manager.cc b/content/browser/renderer_host/media/media_devices_manager.cc
--- a/content/browser/renderer_host/media/media_devices_manager.cc
+++ b/content/browser/renderer_host/media/media_devices_manager.cc
@@ -763,6 +763,11 @@ void MediaDevicesManager::OnDevicesEnumerated(
has_permissions[i], salt_and_origin, device_info));
}
}
+#if !BUILDFLAG(IS_ANDROID)
+ int video_input_index = static_cast<size_t>(MediaDeviceType::kMediaVideoInput);
+ if (requested_types[video_input_index] && !has_permissions[video_input_index])
+ translation[video_input_index].clear();
+#endif
GetAudioInputCapabilities(video_input_capabilities_requested,
audio_input_capabilities_requested,
diff --git a/content/common/features.cc b/content/common/features.cc
--- a/content/common/features.cc
+++ b/content/common/features.cc
@@ -164,8 +164,8 @@ BASE_FEATURE(kEnsureAllowBindingsIsAlwaysForWebUI,
// media-device enumeration will provide at most one device per type and the
// device IDs will not be available.
BASE_FEATURE(kEnumerateDevicesHideDeviceIDs,
- "EnumerateDevicesHideDeviceIDs",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "EnumerateDevicesHideDeviceIDs", // keep
+ base::FEATURE_ENABLED_BY_DEFAULT); // enabled
// Content counterpart of ExperimentalContentSecurityPolicyFeatures in
// third_party/blink/renderer/platform/runtime_enabled_features.json5. Enables
--
2.25.1
@@ -11,23 +11,26 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../browser/net/profile_network_context_service.cc | 8 ++++----
.../core/common/cookie_settings_base.cc | 2 +-
components/content_settings/core/common/features.cc | 4 ++--
components/permissions/features.cc | 4 ++--
content/public/common/content_features.cc | 4 ++--
net/base/features.cc | 12 ++++++------
net/cookies/canonical_cookie.cc | 12 +-----------
net/cookies/cookie_deletion_info.cc | 3 ++-
net/cookies/parsed_cookie.h | 7 ++++++-
net/extras/sqlite/sqlite_persistent_cookie_store.cc | 10 ++++++++++
services/network/cookie_settings.cc | 12 ++++++++++--
net/url_request/url_request_http_job.cc | 2 +-
services/network/restricted_cookie_manager.cc | 3 +++
.../renderer/modules/cookie_store/cookie_init.idl | 2 +-
.../renderer/modules/cookie_store/cookie_store.cc | 12 ++++++++++++
.../cookie_store/cookie_store_delete_options.idl | 2 +-
ui/webui/webui_allowlist.cc | 1 +
13 files changed, 58 insertions(+), 28 deletions(-)
16 files changed, 55 insertions(+), 33 deletions(-)
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
@@ -628,14 +628,14 @@ ProfileNetworkContextService::CreateCookieManagerParams(
@@ -613,14 +613,14 @@ ProfileNetworkContextService::CreateCookieManagerParams(
// UI to interact with SameSite cookies on accounts.google.com, which is used
// for displaying a list of available accounts on the NTP
// (chrome://new-tab-page), etc.
@@ -49,7 +52,7 @@ diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/brow
diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/components/content_settings/core/common/cookie_settings_base.cc
--- a/components/content_settings/core/common/cookie_settings_base.cc
+++ b/components/content_settings/core/common/cookie_settings_base.cc
@@ -326,7 +326,7 @@ CookieSettingsBase::GetCookieSettingInternal(
@@ -318,7 +318,7 @@ CookieSettingsBase::GetCookieSettingInternal(
absl::optional<ThirdPartyBlockingScope> scope;
if (block_third) {
scope = IsAllowed(setting)
@@ -58,11 +61,53 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c
: ThirdPartyBlockingScope::kUnpartitionedAndPartitioned;
}
return {block_third ? CONTENT_SETTING_BLOCK : setting, scope,
diff --git a/components/content_settings/core/common/features.cc b/components/content_settings/core/common/features.cc
--- a/components/content_settings/core/common/features.cc
+++ b/components/content_settings/core/common/features.cc
@@ -79,8 +79,8 @@ BASE_FEATURE(kImprovedSemanticsActivityIndicators,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kTrackingProtection3pcd,
- "TrackingProtection3pcd",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "TrackingProtection3pcd", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
} // namespace features
} // namespace content_settings
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -156,8 +156,8 @@ BASE_FEATURE(kMitigateUnpartitionedWebviewPermissions,
// This includes enabling prompts, a new settings page and page info and
// omnibox integration.
BASE_FEATURE(kPermissionStorageAccessAPI,
- "PermissionStorageAccessAPI",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PermissionStorageAccessAPI", // guard
+ base::FEATURE_DISABLED_BY_DEFAULT); // this
// When enabled "window-placement" may be used as an alias for
// "window-management". Additionally, reverse mappings (i.e. enum to string)
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
@@ -186,8 +186,8 @@ BASE_FEATURE(kCompositeBGColorAnimation,
// server side testing without cookies.
// (See https://developer.chrome.com/en/docs/privacy-sandbox/chrome-testing)
BASE_FEATURE(kCookieDeprecationFacilitatedTesting,
- "CookieDeprecationFacilitatedTesting",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "CookieDeprecationFacilitatedTesting", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
// Set whether to enable cookie deprecation API for off-the-record profiles.
const base::FeatureParam<bool>
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -268,8 +268,8 @@ BASE_FEATURE(kWaitForFirstPartySetsInit,
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -260,8 +260,8 @@ BASE_FEATURE(kWaitForFirstPartySetsInit,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kPartitionedCookies,
- "PartitionedCookies",
@@ -70,9 +115,9 @@ diff --git a/net/base/features.cc b/net/base/features.cc
+ "PartitionedCookies", // guard this
+ base::FEATURE_ENABLED_BY_DEFAULT); // guard this
BASE_FEATURE(kNoncedPartitionedCookies,
"NoncedPartitionedCookies",
@@ -284,8 +284,8 @@ BASE_FEATURE(kStaticKeyPinningEnforcement,
BASE_FEATURE(kBlockTruncatedCookies,
"BlockTruncatedCookies",
@@ -272,8 +272,8 @@ BASE_FEATURE(kStaticKeyPinningEnforcement,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCookieDomainRejectNonASCII,
@@ -83,21 +128,21 @@ diff --git a/net/base/features.cc b/net/base/features.cc
// Enables partitioning of third party storage (IndexedDB, CacheStorage, etc.)
// by the top level site to reduce fingerprinting.
@@ -491,8 +491,8 @@ BASE_FEATURE(kDigestAuthEnableSecureAlgorithms,
@@ -469,8 +469,8 @@ BASE_FEATURE(kDigestAuthEnableSecureAlgorithms,
// are disabled by default. Partitioned storage will not be allowed if
// third-party cookies are disabled due to a specific rule.
// TODO(crbug.com/1468277): Default enable when UI work is complete.
BASE_FEATURE(kThirdPartyPartitionedStorageAllowedByDefault,
- "ThirdPartyPartitionedStorageAllowedByDefault",
- base::FEATURE_DISABLED_BY_DEFAULT);
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ThirdPartyPartitionedStorageAllowedByDefault", // must be
+ base::FEATURE_DISABLED_BY_DEFAULT); // disabled
BASE_FEATURE(kCookieDeprecationFacilitatedTestingLabels,
"CookieDeprecationFacilitatedTestingLabels",
BASE_FEATURE(kPriorityHeader,
"PriorityHeader",
diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc
--- a/net/cookies/canonical_cookie.cc
+++ b/net/cookies/canonical_cookie.cc
@@ -1468,8 +1468,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const {
@@ -1469,8 +1469,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const {
if (IsPartitioned()) {
if (CookiePartitionKey::HasNonce(partition_key_))
return true;
@@ -106,7 +151,7 @@ diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc
}
return true;
@@ -1726,15 +1724,7 @@ bool CanonicalCookie::IsCookiePartitionedValid(const GURL& url,
@@ -1727,15 +1725,7 @@ bool CanonicalCookie::IsCookiePartitionedValid(const GURL& url,
bool secure,
bool is_partitioned,
bool partition_has_nonce) {
@@ -163,7 +208,7 @@ diff --git a/net/cookies/parsed_cookie.h b/net/cookies/parsed_cookie.h
diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sqlite/sqlite_persistent_cookie_store.cc
--- a/net/extras/sqlite/sqlite_persistent_cookie_store.cc
+++ b/net/extras/sqlite/sqlite_persistent_cookie_store.cc
@@ -803,6 +803,16 @@ bool SQLitePersistentCookieStore::Backend::DoInitializeDatabase() {
@@ -814,6 +814,16 @@ bool SQLitePersistentCookieStore::Backend::DoInitializeDatabase() {
if (!restore_old_session_cookies_)
DeleteSessionCookiesOnStartup();
@@ -180,42 +225,22 @@ diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sq
return true;
}
diff --git a/services/network/cookie_settings.cc b/services/network/cookie_settings.cc
--- a/services/network/cookie_settings.cc
+++ b/services/network/cookie_settings.cc
@@ -30,6 +30,11 @@
namespace network {
namespace {
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -758,7 +758,7 @@ void URLRequestHttpJob::SetCookieHeaderAndStart(
+bool IsThirdPartyAllowed(const ContentSettingPatternSource& setting) {
+ return setting.primary_pattern.MatchesAllHosts() &&
+ !setting.secondary_pattern.MatchesAllHosts();
+}
+
const ContentSettingPatternSource* FindMatchingSetting(
const GURL& primary_url,
const GURL& secondary_url,
@@ -185,11 +190,14 @@ net::NetworkDelegate::PrivacySetting CookieSettings::IsPrivacyModeEnabled(
size_t n_partitioned_cookies = 0;
bool may_set_sec_cookie_deprecation_header =
- !request_->context()->cookie_deprecation_label().value_or("").empty();
+ false;
CookieSettings::ThirdPartyBlockingScope
CookieSettings::GetThirdPartyBlockingScope(const GURL& first_party_url) const {
- // If cookies are allowed for the first-party URL then we allow
+ // If cookies are allowed for the thirdy-party URL then we allow
// partitioned cross-site cookies.
+ // partitioned are the default for all cookies, so we allow all cookies
+ // if the user want so.
if (const ContentSettingPatternSource* match = FindMatchingSetting(
first_party_url, first_party_url, content_settings_);
- !match || match->GetContentSetting() == CONTENT_SETTING_ALLOW) {
+ match && IsThirdPartyAllowed(*match) &&
+ match->GetContentSetting() == CONTENT_SETTING_ALLOW) {
return ThirdPartyBlockingScope::kUnpartitionedOnly;
}
return ThirdPartyBlockingScope::kUnpartitionedAndPartitioned;
// TODO(crbug.com/1031664): Reduce the number of times the cookie list
// is iterated over. Get metrics for every cookie which is included.
diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc
--- a/services/network/restricted_cookie_manager.cc
+++ b/services/network/restricted_cookie_manager.cc
@@ -798,6 +798,9 @@ void RestrictedCookieManager::SetCookieFromString(
@@ -808,6 +808,9 @@ void RestrictedCookieManager::SetCookieFromString(
std::move(callback).Run(site_for_cookies_ok, top_frame_origin_ok);
callback = base::DoNothing();
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/signin/google_accounts_private_api_util.cc b/chrome/
diff --git a/chrome/browser/trusted_vault/trusted_vault_encryption_keys_tab_helper.cc b/chrome/browser/trusted_vault/trusted_vault_encryption_keys_tab_helper.cc
--- a/chrome/browser/trusted_vault/trusted_vault_encryption_keys_tab_helper.cc
+++ b/chrome/browser/trusted_vault/trusted_vault_encryption_keys_tab_helper.cc
@@ -56,8 +56,7 @@ class EncryptionKeyApi
@@ -57,8 +57,7 @@ class EncryptionKeyApi
trusted_vault_keys,
SetEncryptionKeysCallback callback) override {
// Extra safeguard.
@@ -52,7 +52,7 @@ diff --git a/chrome/browser/trusted_vault/trusted_vault_encryption_keys_tab_help
return;
}
@@ -90,8 +89,7 @@ class EncryptionKeyApi
@@ -91,8 +90,7 @@ class EncryptionKeyApi
int method_type_hint,
AddTrustedRecoveryMethodCallback callback) override {
// Extra safeguard.
@@ -4,14 +4,29 @@ Subject: Remove auth header upon cross origin redirect
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../blink/renderer/platform/loader/fetch/resource_loader.cc | 3 +++
.../platform/loader/fetch/url_loader/sync_load_context.cc | 3 +++
2 files changed, 6 insertions(+)
third_party/blink/common/features.cc | 4 ++--
.../blink/renderer/platform/loader/fetch/resource_loader.cc | 3 +++
.../platform/loader/fetch/url_loader/sync_load_context.cc | 4 ++++
3 files changed, 9 insertions(+), 2 deletions(-)
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
@@ -1526,8 +1526,8 @@ BASE_FEATURE(kRemoteResourceCache,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kRemoveAuthroizationOnCrossOriginRedirect,
- "RemoveAutorizationOnCrossOriginRedirect",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "RemoveAutorizationOnCrossOriginRedirect", // guard
+ base::FEATURE_ENABLED_BY_DEFAULT); // this
BASE_FEATURE(kRenderBlockingFonts,
"RenderBlockingFonts",
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
--- a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
@@ -826,6 +826,9 @@ bool ResourceLoader::WillFollowRedirect(
@@ -822,6 +822,9 @@ bool ResourceLoader::WillFollowRedirect(
new_url)) {
fetcher_->GetUseCounter().CountUse(
mojom::WebFeature::kAuthorizationCrossOrigin);
@@ -20,19 +35,20 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
+ }
}
if (removed_headers) {
// TODO(https://crbug.com/471397, https://crbug.com/1406737): Reconsider
diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
--- a/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
@@ -172,6 +172,9 @@ bool SyncLoadContext::OnReceivedRedirect(
if (has_authorization_header_ &&
!url::IsSameOriginWith(response_->url, redirect_info.new_url)) {
response_->has_authorization_header_between_cross_origin_redirect_ = true;
+ if (removed_headers) {
+ removed_headers->push_back(net::HttpRequestHeaders::kAuthorization);
+ }
@@ -197,6 +197,10 @@ void SyncLoadContext::FollowRedirect(std::vector<std::string> removed_headers) {
return;
}
if (removed_headers) {
+ if (response_->has_authorization_header_between_cross_origin_redirect_) {
+ removed_headers.push_back(net::HttpRequestHeaders::kAuthorization);
+ }
+
response_->redirect_info = net::RedirectInfo();
*context_for_redirect_ = nullptr;
std::move(follow_redirect_callback_).Run(std::move(removed_headers));
--
2.25.1
@@ -10,14 +10,14 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
@@ -432,7 +432,7 @@ void ProfileNetworkContextService::UpdateAdditionalCertificates() {
@@ -411,7 +411,7 @@ void ProfileNetworkContextService::UpdateAdditionalCertificates() {
void ProfileNetworkContextService::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
- embedder_support::kAlternateErrorPagesEnabled, true,
+ embedder_support::kAlternateErrorPagesEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(embedder_support::kAlternateErrorPagesEnabled,
- true);
+ false);
registry->RegisterBooleanPref(prefs::kQuicAllowed, true);
registry->RegisterBooleanPref(prefs::kGloballyScopeHTTPAuthCacheEnabled,
false);
--
2.25.1
@@ -120,7 +120,7 @@ diff --git a/third_party/blink/common/device_memory/approximated_device_memory.c
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
@@ -1971,8 +1971,8 @@ BASE_FEATURE(kWebFontsCacheAwareTimeoutAdaption,
@@ -2034,8 +2034,8 @@ BASE_FEATURE(kWebFontsCacheAwareTimeoutAdaption,
// Controls whether the implementation of the performance.measureMemory
// web API uses PerformanceManager or not.
BASE_FEATURE(kWebMeasureMemoryViaPerformanceManager,
@@ -27,7 +27,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1925,6 +1925,16 @@ static_library("browser") {
@@ -1970,6 +1970,16 @@ static_library("browser") {
]
}
@@ -378,7 +378,7 @@ new file mode 100644
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -121,6 +121,7 @@
@@ -123,6 +123,7 @@
#include "chrome/browser/password_manager/password_reuse_manager_factory.h"
#include "chrome/browser/password_manager/password_store_factory.h"
#include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h"
@@ -386,7 +386,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
#include "chrome/browser/permissions/notifications_engagement_service_factory.h"
#include "chrome/browser/permissions/one_time_permissions_tracker_factory.h"
#include "chrome/browser/permissions/origin_keyed_permission_action_service_factory.h"
@@ -894,6 +895,7 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -921,6 +922,7 @@ void ChromeBrowserMainExtraPartsProfiles::
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
OnDeviceTailModelServiceFactory::GetInstance();
#endif
@@ -397,7 +397,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -64,6 +64,7 @@
@@ -63,6 +63,7 @@
#include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h"
#include "chrome/browser/password_manager/chrome_password_manager_client.h"
#include "chrome/browser/performance_manager/public/user_tuning/user_performance_tuning_manager.h"
@@ -405,7 +405,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
#include "chrome/browser/permissions/one_time_permissions_tracker_helper.h"
#include "chrome/browser/predictors/loading_predictor_factory.h"
#include "chrome/browser/predictors/loading_predictor_tab_helper.h"
@@ -388,6 +389,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -396,6 +397,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
HistoryClustersTabHelper::CreateForWebContents(web_contents);
HttpsOnlyModeTabHelper::CreateForWebContents(web_contents);
webapps::InstallableManager::CreateForWebContents(web_contents);
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -1221,9 +1221,9 @@ BASE_FEATURE(kTreatUnsafeDownloadsAsActive,
@@ -1228,9 +1228,9 @@ BASE_FEATURE(kTreatUnsafeDownloadsAsActive,
base::FEATURE_ENABLED_BY_DEFAULT);
// Show warnings on downloads not delivered over HTTPS.
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
--- a/net/spdy/spdy_session.cc
+++ b/net/spdy/spdy_session.cc
@@ -2982,6 +2982,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id,
@@ -2964,6 +2964,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id,
if (it == active_streams_.end()) {
// NOTE: it may just be that the stream was cancelled.
LOG(WARNING) << "Received HEADERS for invalid stream " << stream_id;
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -174,7 +174,7 @@ const base::FeatureParam<int> kSkipFrameCountForLazyAds(
@@ -180,7 +180,7 @@ const base::FeatureParam<int> kSkipFrameCountForLazyAds(
// Vitals.
BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbeds,
"AutomaticLazyFrameLoadingToEmbeds", // must be enabled
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -187,7 +187,7 @@ by a child template that "extends" this file.
@@ -188,7 +188,7 @@ by a child template that "extends" this file.
android:networkSecurityConfig="@xml/network_security_config"
android:allowAudioPlaybackCapture="false"
android:appComponentFactory="org.chromium.chrome.browser.base.SplitCompatAppComponentFactory"
@@ -0,0 +1,49 @@
From: uazo <uazo@users.noreply.github.com>
Date: Sun, 29 Oct 2023 15:18:24 +0000
Subject: Temp guard FileSystemAccessPersistentPermissions
---
.../chrome_file_system_access_permission_context.cc | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
@@ -75,13 +75,13 @@
namespace features {
BASE_FEATURE(kFileSystemAccessPersistentPermissions,
- "kFileSystemAccessPersistentPermissions",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "kFileSystemAccessPersistentPermissions", // guard
+ base::FEATURE_DISABLED_BY_DEFAULT); // this
#if BUILDFLAG(IS_WIN)
BASE_FEATURE(kFileSystemAccessLocalUNCPathBlock,
- "kFileSystemAccessLocalUNCPathBlock",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "kFileSystemAccessLocalUNCPathBlock", // guard
+ base::FEATURE_ENABLED_BY_DEFAULT); // this
#endif
} // namespace features
@@ -377,7 +377,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& check_path,
}
if (check_path == blocked_path || check_path.IsParent(blocked_path)) {
- VLOG(1) << "Blocking access to " << check_path
+ LOG(INFO) << "Blocking access to " << check_path
<< " because it is a parent of " << blocked_path << " ("
<< block.base_path_key << ")";
return true;
@@ -406,7 +406,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& check_path,
}
// The nearest ancestor blocks access to its children, so block access.
- VLOG(1) << "Blocking access to " << check_path << " because it is inside "
+ LOG(INFO) << "Blocking access to " << check_path << " because it is inside "
<< nearest_ancestor << " (" << nearest_ancestor_path_key << ")";
return true;
}
--
2.25.1
@@ -17,7 +17,7 @@ Test with https://worker-playground.glitch.me/
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -3150,6 +3150,7 @@ bool ChromeContentBrowserClient::AllowSharedWorker(
@@ -3164,6 +3164,7 @@ bool ChromeContentBrowserClient::AllowSharedWorker(
content::BrowserContext* context,
int render_process_id,
int render_frame_id) {
@@ -9,7 +9,7 @@ Subject: WIN Add some prefs to secure preferences
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
@@ -117,6 +117,14 @@ bool g_disable_domain_check_for_testing = false;
@@ -121,6 +121,14 @@ bool g_disable_domain_check_for_testing = false;
// See CleanupDeprecatedTrackedPreferences() in pref_hash_filter.cc to remove a
// deprecated tracked preference.
const prefs::TrackedPreferenceMetadata kTrackedPrefs[] = {
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -212,11 +212,7 @@ BASE_FEATURE(kTabHoverCardImageSettings,
@@ -217,11 +217,7 @@ BASE_FEATURE(kTabHoverCardImageSettings,
// https://crbug.com/928954
BASE_FEATURE(kTabHoverCardImages,
"TabHoverCardImages",
@@ -25,7 +25,7 @@ diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -1701,10 +1701,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() {
@@ -1708,10 +1708,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() {
command_updater_.UpdateCommandEnabled(IDC_CHROME_WHATS_NEW, show_main_ui);
#endif
command_updater_.UpdateCommandEnabled(IDC_CONTENT_CONTEXT_SHARING_SUBMENU,
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui
diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc
--- a/chrome/browser/ui/browser_commands.cc
+++ b/chrome/browser/ui/browser_commands.cc
@@ -1555,6 +1555,7 @@ void SendTabToSelfFromPageAction(Browser* browser) {
@@ -1556,6 +1556,7 @@ void SendTabToSelfFromPageAction(Browser* browser) {
}
bool CanGenerateQrCode(const Browser* browser) {
@@ -11,7 +11,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -776,7 +776,7 @@ const char kDEPRECATED_AllowlistedExtensionID[] = "whitelisted-extension-id";
@@ -774,7 +774,7 @@ const char kDEPRECATED_AllowlistedExtensionID[] = "whitelisted-extension-id";
// https://blogs.windows.com/blog/tag/code-integrity-guard/.
BASE_FEATURE(kNetworkServiceCodeIntegrity,
"NetworkServiceCodeIntegrity",
+22 -13
View File
@@ -5,15 +5,24 @@ Subject: WIN Fix log to file
Allows log activation without opening the console window.
Log rotation enabled by default.
---
chrome/common/logging_chrome.cc | 10 +++++++---
chrome/common/logging_chrome.cc | 12 ++++++++----
chrome/common/logging_chrome.h | 6 ++++--
content/app/content_main.cc | 6 +++++-
3 files changed, 16 insertions(+), 6 deletions(-)
3 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/chrome/common/logging_chrome.cc b/chrome/common/logging_chrome.cc
--- a/chrome/common/logging_chrome.cc
+++ b/chrome/common/logging_chrome.cc
@@ -185,7 +185,7 @@ LoggingDestination DetermineLoggingDestination(
@@ -55,7 +55,7 @@
#include "content/public/common/content_switches.h"
#include "ipc/ipc_logging.h"
-#if BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
#include "base/i18n/time_formatting.h"
#include "third_party/icu/source/i18n/unicode/timezone.h"
#endif
@@ -190,7 +190,7 @@ LoggingDestination DetermineLoggingDestination(
return kDefaultLoggingMode;
}
@@ -22,7 +31,7 @@ diff --git a/chrome/common/logging_chrome.cc b/chrome/common/logging_chrome.cc
bool RotateLogFile(const base::FilePath& target_path) {
DCHECK(!target_path.empty());
// If the old log file doesn't exist, do nothing.
@@ -230,7 +230,7 @@ bool RotateLogFile(const base::FilePath& target_path) {
@@ -235,7 +235,7 @@ bool RotateLogFile(const base::FilePath& target_path) {
return true;
}
@@ -31,7 +40,7 @@ diff --git a/chrome/common/logging_chrome.cc b/chrome/common/logging_chrome.cc
#if BUILDFLAG(IS_CHROMEOS_ASH)
base::FilePath SetUpSymlinkIfNeeded(const base::FilePath& symlink_path,
@@ -392,6 +392,10 @@ void InitChromeLogging(const base::CommandLine& command_line,
@@ -397,6 +397,10 @@ void InitChromeLogging(const base::CommandLine& command_line,
// since that will remove the newly created link instead.
delete_old_log_file = APPEND_TO_OLD_LOG_FILE;
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -42,7 +51,7 @@ diff --git a/chrome/common/logging_chrome.cc b/chrome/common/logging_chrome.cc
} else {
log_locking_state = DONT_LOCK_LOG_FILE;
}
@@ -546,7 +550,7 @@ bool DialogsAreSuppressed() {
@@ -551,7 +555,7 @@ bool DialogsAreSuppressed() {
return dialogs_are_suppressed_;
}
@@ -50,7 +59,7 @@ diff --git a/chrome/common/logging_chrome.cc b/chrome/common/logging_chrome.cc
+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
base::FilePath GenerateTimestampedName(const base::FilePath& base_path,
base::Time timestamp) {
base::Time::Exploded time_deets;
return base_path.InsertBeforeExtensionASCII(
diff --git a/chrome/common/logging_chrome.h b/chrome/common/logging_chrome.h
--- a/chrome/common/logging_chrome.h
+++ b/chrome/common/logging_chrome.h
@@ -80,18 +89,18 @@ diff --git a/chrome/common/logging_chrome.h b/chrome/common/logging_chrome.h
diff --git a/content/app/content_main.cc b/content/app/content_main.cc
--- a/content/app/content_main.cc
+++ b/content/app/content_main.cc
@@ -308,7 +308,11 @@ RunContentProcess(ContentMainParams params,
@@ -311,7 +311,11 @@ RunContentProcess(ContentMainParams params,
// Route stdio to parent console (if any) or create one.
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableLogging)) {
- base::RouteStdioToConsole(true);
- base::RouteStdioToConsole(/*create_console_if_not_found*/ true);
+ std::string logging_destination =
+ base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switches::kEnableLogging);
+ if (logging_destination == "stderr") {
+ base::RouteStdioToConsole(true);
+ base::RouteStdioToConsole(/*create_console_if_not_found*/ true);
+ }
}
#endif
} else if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kHeadless)) {
// When running in headless mode we want stdio routed however if
--
2.25.1
+1 -1
View File
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -2053,7 +2053,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -2054,7 +2054,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {
@@ -58,7 +58,7 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
"//headless:headless_non_renderer",
"//headless:headless_shell_browser_lib",
"//net:net_resources",
@@ -1709,6 +1710,8 @@ if (is_android) {
@@ -1705,6 +1706,8 @@ if (is_android) {
"//chrome/common/profiler",
"//chrome/gpu",
"//chrome/renderer",
@@ -80,7 +80,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat
#if BUILDFLAG(IS_WIN)
#include <malloc.h>
@@ -1115,6 +1118,13 @@ absl::optional<int> ChromeMainDelegate::BasicStartupComplete() {
@@ -1133,6 +1136,13 @@ absl::optional<int> ChromeMainDelegate::BasicStartupComplete() {
return chrome::RESULT_CODE_INVALID_SANDBOX_STATE;
#endif
@@ -97,7 +97,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -7035,6 +7035,10 @@ Keep your key file in a safe place. You will need it to create new versions of y
@@ -7051,6 +7051,10 @@ Keep your key file in a safe place. You will need it to create new versions of y
You are using an unsupported feature flag: <ph name="BAD_FLAG">$1<ex>SignedHTTPExchange</ex></ph>. Stability and security will suffer.
</message>
@@ -111,7 +111,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
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
@@ -8152,6 +8152,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8412,6 +8412,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kViewportSegmentsDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kViewportSegments)},
@@ -125,7 +125,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
@@ -888,6 +888,10 @@ const char kViewportSegmentsDescription[] =
@@ -892,6 +892,10 @@ const char kViewportSegmentsDescription[] =
"Enable the viewport segment API, giving information about the logical "
"segments of the device (dual screen and foldable devices)";
@@ -139,7 +139,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
@@ -635,6 +635,9 @@ extern const char kDeviceForceScheduledRebootDescription[];
@@ -641,6 +641,9 @@ extern const char kDeviceForceScheduledRebootDescription[];
extern const char kDevicePostureName[];
extern const char kDevicePostureDescription[];
@@ -152,7 +152,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/startup/bad_flags_prompt.cc
--- a/chrome/browser/ui/startup/bad_flags_prompt.cc
+++ b/chrome/browser/ui/startup/bad_flags_prompt.cc
@@ -231,6 +231,15 @@ void ShowBadFlagsPrompt(content::WebContents* web_contents) {
@@ -239,6 +239,15 @@ void ShowBadFlagsPrompt(content::WebContents* web_contents) {
return;
}
}
@@ -171,7 +171,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -3493,6 +3493,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3489,6 +3489,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kLacrosUseChromeosProtectedAv1,
#endif
switches::kDesktopModeViewportMetaEnabled,
@@ -182,7 +182,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
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
@@ -778,6 +778,11 @@ BASE_FEATURE(kNoStatePrefetchHoldback,
@@ -600,6 +600,11 @@ BASE_FEATURE(kNoStatePrefetchHoldback,
"NoStatePrefetchHoldback",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -197,7 +197,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
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
@@ -176,6 +176,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kNetworkServiceInProcess);
@@ -155,6 +155,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kNetworkServiceInProcess);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kNotificationContentImage);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kNotificationTriggers);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kNoStatePrefetchHoldback);
+48 -26
View File
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/browser/signin/chrome_signin_client.cc | 7 +-
.../ui/webui/policy/policy_ui_handler.cc | 104 ++++++++++++-
.../ui/webui/policy/policy_ui_handler.h | 2 +
.../commerce/core/commerce_feature_list.cc | 12 +-
.../commerce/core/commerce_feature_list.cc | 24 +--
.../core/browser/browser_policy_connector.cc | 3 +
.../common/command_line_policy_provider.cc | 3 +
.../core/common/policy_loader_command_line.cc | 140 ++++++++++++++++--
@@ -30,7 +30,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
components/policy_strings.grdp | 4 +-
.../gaia_cookie_manager_service.cc | 4 +
google_apis/gaia/gaia_auth_fetcher.cc | 1 +
26 files changed, 305 insertions(+), 101 deletions(-)
26 files changed, 311 insertions(+), 107 deletions(-)
diff --git a/base/win/win_util.cc b/base/win/win_util.cc
--- a/base/win/win_util.cc
@@ -118,9 +118,9 @@ diff --git a/base/win/win_util.cc b/base/win/win_util.cc
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -72,9 +72,7 @@ by a child template that "extends" this file.
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" tools:ignore="SystemPermissionTypo" />
@@ -73,9 +73,7 @@ by a child template that "extends" this file.
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" tools:ignore="SystemPermissionTypo" />
<uses-permission android:name="android.permission.RUN_USER_INITIATED_JOBS" />
- <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.INTERNET"/>
@@ -128,7 +128,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.NFC"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
@@ -85,7 +83,6 @@ by a child template that "extends" this file.
@@ -86,7 +84,6 @@ by a child template that "extends" this file.
<uses-permission-sdk-23 android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
@@ -136,7 +136,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
<uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
<uses-permission android:name="android.permission.VIBRATE"/>
@@ -129,7 +126,6 @@ by a child template that "extends" this file.
@@ -130,7 +127,6 @@ by a child template that "extends" this file.
<uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
@@ -203,10 +203,10 @@ diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/b
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -2032,9 +2032,9 @@ bool AreFuturePoliciesEnabledByDefault() {
// Enable future policies for branded browser tests.
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType))
@@ -2046,9 +2046,9 @@ bool AreFuturePoliciesEnabledByDefault() {
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType)) {
return true;
}
- version_info::Channel channel = chrome::GetChannel();
- return channel != version_info::Channel::STABLE &&
- channel != version_info::Channel::BETA;
@@ -271,7 +271,7 @@ diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/sign
}
PrefService* ChromeSigninClient::GetPrefs() { return profile_->GetPrefs(); }
@@ -234,6 +236,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() {
@@ -242,6 +244,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() {
}
void ChromeSigninClient::DelayNetworkCall(base::OnceClosure callback) {
@@ -431,7 +431,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.h b/chrome/browser
diff --git a/components/commerce/core/commerce_feature_list.cc b/components/commerce/core/commerce_feature_list.cc
--- a/components/commerce/core/commerce_feature_list.cc
+++ b/components/commerce/core/commerce_feature_list.cc
@@ -160,8 +160,8 @@ BASE_FEATURE(kCommercePriceTrackingChipExperiment,
@@ -159,8 +159,8 @@ BASE_FEATURE(kCommercePriceTrackingChipExperiment,
#if BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kCommercePriceTrackingRegionLaunched,
@@ -442,7 +442,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
#else
BASE_FEATURE(kCommercePriceTrackingRegionLaunched,
"CommercePriceTrackingRegionLaunched",
@@ -207,8 +207,8 @@ BASE_FEATURE(kShoppingList, "ShoppingList", base::FEATURE_DISABLED_BY_DEFAULT);
@@ -227,8 +227,8 @@ BASE_FEATURE(kShoppingList, "ShoppingList", base::FEATURE_DISABLED_BY_DEFAULT);
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kShoppingListRegionLaunched,
@@ -453,8 +453,14 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
#else
BASE_FEATURE(kShoppingListRegionLaunched,
"ShoppingListRegionLaunched",
@@ -257,8 +257,8 @@ BASE_FEATURE(kCommerceHintAndroid,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -273,12 +273,12 @@ BASE_FEATURE(kDiscountConsentV2,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCommerceHintAndroid,
- "CommerceHintAndroid",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "CommerceHintAndroid", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
BASE_FEATURE(kMerchantWidePromotion,
- "MerchantWidePromotion",
@@ -464,10 +470,26 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
BASE_FEATURE(kCodeBasedRBD, "CodeBasedRBD", base::FEATURE_ENABLED_BY_DEFAULT);
@@ -287,11 +287,11 @@ BASE_FEATURE(kChromeCartDomBasedHeuristics,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kParcelTracking,
- "ParcelTracking",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ParcelTracking", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
BASE_FEATURE(kParcelTrackingRegionLaunched,
- "ParcelTrackingRegionLaunched",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "ParcelTrackingRegionLaunched", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
// Params for Discount Consent V2 in the NTP Cart module.
const char kNtpChromeCartModuleDiscountConsentNtpVariationParam[] =
diff --git a/components/policy/core/browser/browser_policy_connector.cc b/components/policy/core/browser/browser_policy_connector.cc
--- a/components/policy/core/browser/browser_policy_connector.cc
+++ b/components/policy/core/browser/browser_policy_connector.cc
@@ -125,6 +125,9 @@ void BrowserPolicyConnector::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -140,6 +140,9 @@ void BrowserPolicyConnector::RegisterPrefs(PrefRegistrySimple* registry) {
CloudPolicyRefreshScheduler::kDefaultRefreshDelayMs);
registry->RegisterBooleanPref(
policy_prefs::kCloudManagementEnrollmentMandatory, false);
@@ -480,7 +502,7 @@ diff --git a/components/policy/core/browser/browser_policy_connector.cc b/compon
diff --git a/components/policy/core/common/command_line_policy_provider.cc b/components/policy/core/common/command_line_policy_provider.cc
--- a/components/policy/core/common/command_line_policy_provider.cc
+++ b/components/policy/core/common/command_line_policy_provider.cc
@@ -22,6 +22,9 @@ std::unique_ptr<CommandLinePolicyProvider>
@@ -23,6 +23,9 @@ std::unique_ptr<CommandLinePolicyProvider>
CommandLinePolicyProvider::CreateIfAllowed(
const base::CommandLine& command_line,
version_info::Channel channel) {
@@ -502,7 +524,7 @@ diff --git a/components/policy/core/common/policy_loader_command_line.cc b/compo
+#include "components/policy/core/common/policy_namespace.h"
+#include "components/policy/policy_constants.h"
+
+#include "chrome/browser/prefetch/prefetch_prefs.h"
+#include "chrome/browser/preloading/preloading_prefs.h"
+#include "chrome/browser/policy/browser_signin_policy_handler.h"
+
+namespace {
@@ -690,9 +712,9 @@ diff --git a/components/policy/core/common/policy_service_impl.cc b/components/p
diff --git a/components/policy/core/common/policy_switches.cc b/components/policy/core/common/policy_switches.cc
--- a/components/policy/core/common/policy_switches.cc
+++ b/components/policy/core/common/policy_switches.cc
@@ -20,6 +20,8 @@ const char kEncryptedReportingUrl[] = "encrypted-reporting-url";
// Set policy value by command line.
const char kChromePolicy[] = "policy";
@@ -24,6 +24,8 @@ const char kChromePolicy[] = "policy";
// (go/crosman-file-storage-server) to upload log and support packet files.
const char kFileStorageServerUploadUrl[] = "file-storage-server-upload-url";
+const char kForceDisabledPolicies[] = "force-disable-policies";
+
@@ -702,10 +724,10 @@ diff --git a/components/policy/core/common/policy_switches.cc b/components/polic
diff --git a/components/policy/core/common/policy_switches.h b/components/policy/core/common/policy_switches.h
--- a/components/policy/core/common/policy_switches.h
+++ b/components/policy/core/common/policy_switches.h
@@ -18,6 +18,7 @@ extern const char kRealtimeReportingUrl[];
extern const char kEncryptedReportingUrl[];
@@ -19,6 +19,7 @@ extern const char kEncryptedReportingUrl[];
extern const char kChromePolicy[];
extern const char kSecureConnectApiUrl[];
extern const char kFileStorageServerUploadUrl[];
+extern const char kForceDisabledPolicies[];
#if BUILDFLAG(IS_CHROMEOS_ASH)
extern const char kDisablePolicyKeyVerification[];
@@ -786,7 +808,7 @@ diff --git a/components/policy/resources/webui/policy_row.ts b/components/policy
diff --git a/components/policy_strings.grdp b/components/policy_strings.grdp
--- a/components/policy_strings.grdp
+++ b/components/policy_strings.grdp
@@ -585,8 +585,8 @@ Additional details:
@@ -588,8 +588,8 @@ Additional details:
<message name="IDS_POLICY_SOURCE_DEFAULT" desc="Indicates that a policy is set by default and can be overridden.">
Default
</message>
@@ -800,7 +822,7 @@ diff --git a/components/policy_strings.grdp b/components/policy_strings.grdp
diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc b/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc
--- a/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc
+++ b/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc
@@ -494,6 +494,8 @@ void GaiaCookieManagerService::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -469,6 +469,8 @@ void GaiaCookieManagerService::RegisterPrefs(PrefRegistrySimple* registry) {
}
void GaiaCookieManagerService::InitCookieListener() {
@@ -809,7 +831,7 @@ diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_ser
DCHECK(!cookie_listener_receiver_.is_bound());
network::mojom::CookieManager* cookie_manager =
@@ -1111,6 +1113,8 @@ void GaiaCookieManagerService::OnSetAccountsFinished(
@@ -891,6 +893,8 @@ void GaiaCookieManagerService::OnSetAccountsFinished(
}
void GaiaCookieManagerService::HandleNextRequest() {
@@ -821,7 +843,7 @@ diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_ser
diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_fetcher.cc
--- a/google_apis/gaia/gaia_auth_fetcher.cc
+++ b/google_apis/gaia/gaia_auth_fetcher.cc
@@ -607,6 +607,7 @@ void GaiaAuthFetcher::StartListAccounts() {
@@ -482,6 +482,7 @@ void GaiaAuthFetcher::StartListAccounts() {
}
}
})");
@@ -4,25 +4,13 @@ Subject: Do not block the build for incompatible profiles
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.gitignore | 1 -
v8/BUILD.gn | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
@@ -347,7 +347,6 @@ vs-chromium-project.txt
/ui/surface/surface.xml
/ui/surface/surface_gpu_tests.xml
/ui/webui/internal
-/v8
/webkit/data
/webpagereplay_logs/
/x86-generic_out/
diff --git a/v8/BUILD.gn b/v8/BUILD.gn
--- a/v8/BUILD.gn
+++ b/v8/BUILD.gn
@@ -2372,7 +2372,7 @@ template("run_mksnapshot") {
@@ -2369,7 +2369,7 @@ template("run_mksnapshot") {
# Replace this with --warn-about-builtin-profile-data to see the full
# list of builtins with incompatible profiles.
@@ -84,7 +84,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
@@ -2966,9 +2966,9 @@
@@ -3018,9 +3018,9 @@
"expiry_milestone": 125
},
{
@@ -100,7 +100,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
--- a/gpu/config/gpu_driver_bug_list.json
+++ b/gpu/config/gpu_driver_bug_list.json
@@ -3688,6 +3688,22 @@
@@ -3212,6 +3212,22 @@
"no_downscaled_overlay_promotion"
]
},
@@ -126,7 +126,7 @@ diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_lis
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@@ -65,6 +65,11 @@ BASE_FEATURE(kUseGles2ForOopR,
@@ -70,6 +70,11 @@ BASE_FEATURE(kUseGles2ForOopR,
#endif
);
@@ -141,7 +141,7 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
--- a/gpu/config/gpu_finch_features.h
+++ b/gpu/config/gpu_finch_features.h
@@ -17,6 +17,7 @@ namespace features {
@@ -22,6 +22,7 @@ namespace features {
GPU_EXPORT BASE_DECLARE_FEATURE(kUseGles2ForOopR);
// All features in alphabetical order. The features should be documented
@@ -177,8 +177,8 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt
--- a/gpu/config/gpu_workaround_list.txt
+++ b/gpu/config/gpu_workaround_list.txt
@@ -16,6 +16,7 @@ decode_encode_srgb_for_generatemipmap
depth_stencil_renderbuffer_resize_emulation
@@ -13,6 +13,7 @@ count_all_in_varyings_packing
decode_encode_srgb_for_generatemipmap
disable_2d_canvas_auto_flush
disable_accelerated_av1_decode
+disable_aimagereader
@@ -233,7 +233,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
@@ -981,6 +981,11 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment,
@@ -1018,6 +1018,11 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment,
// Allows automatically disabling hardware secure Content Decryption Module
// (CDM) after failures or crashes to fallback to software secure CDMs. If this
// feature is disabled, the fallback will never happen and users could be stuck
@@ -248,7 +248,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
--- a/media/base/media_switches.h
+++ b/media/base/media_switches.h
@@ -332,6 +332,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy);
@@ -347,6 +347,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoToolboxVideoDecoder);
#endif // BUILDFLAG(IS_APPLE)
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebRTCColorAccuracy);
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -231,6 +231,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
@@ -227,6 +227,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
import org.chromium.content_public.browser.SelectionPopupController;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.ContentSwitches;
@@ -26,7 +26,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.printing.PrintManagerDelegateImpl;
import org.chromium.printing.PrintingController;
import org.chromium.printing.PrintingControllerImpl;
@@ -981,6 +982,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -984,6 +985,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
super.onStartWithNative();
ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags();
@@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
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
@@ -9367,6 +9367,13 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9661,6 +9661,13 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kEnableDrDcDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kEnableDrDc)},
@@ -55,7 +55,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
@@ -16,6 +16,11 @@
@@ -14,6 +14,11 @@
namespace flag_descriptions {
@@ -70,7 +70,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
@@ -42,6 +42,9 @@ namespace flag_descriptions {
@@ -43,6 +43,9 @@ namespace flag_descriptions {
// Cross-platform -------------------------------------------------------------
@@ -83,15 +83,15 @@ 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
@@ -145,6 +145,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -147,6 +147,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedShowSignInCommand,
&feed::kFeedSignedOutViewDemotion,
&feed::kFeedUserInteractionReliabilityReport,
&feed::kInterestFeedContentSuggestions,
+ &kAllowUserCertificates,
&feed::kInterestFeedV2,
&feed::kInterestFeedV2Autoplay,
&feed::kInterestFeedV2Hearts,
@@ -473,6 +474,10 @@ BASE_FEATURE(kSearchReadyOmniboxFeature,
@@ -477,6 +478,10 @@ BASE_FEATURE(kSearchReadyOmniboxFeature,
"SearchReadyOmnibox",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -105,7 +105,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
@@ -22,6 +22,7 @@ BASE_DECLARE_FEATURE(kAdvancedPeripheralsSupport);
@@ -23,6 +23,7 @@ BASE_DECLARE_FEATURE(kAdvancedPeripheralsSupport);
BASE_DECLARE_FEATURE(kAdvancedPeripheralsSupportTabStrip);
BASE_DECLARE_FEATURE(kAllowNewIncognitoTabIntents);
BASE_DECLARE_FEATURE(kAndroidAppIntegration);
@@ -124,7 +124,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE =
"AdaptiveButtonInTopToolbarTranslate";
@@ -514,6 +515,8 @@ public abstract class ChromeFeatureList {
@@ -501,6 +502,8 @@ public abstract class ChromeFeatureList {
/* Alphabetical: */
public static final CachedFlag sAndroidAppIntegration =
new CachedFlag(ANDROID_APP_INTEGRATION, false);
@@ -133,7 +133,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sAppMenuMobileSiteOption =
new CachedFlag(APP_MENU_MOBILE_SITE_OPTION, false);
public static final CachedFlag sBackGestureActivityTabProvider =
@@ -634,6 +637,7 @@ public abstract class ChromeFeatureList {
@@ -642,6 +645,7 @@ public abstract class ChromeFeatureList {
public static final List<CachedFlag> sFlagsCachedFullBrowser = List.of(
// clang-format off
sAndroidAppIntegration,
@@ -1,859 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 12 Oct 2017 11:06:18 +0200
Subject: Add DuckDuckGo Lite search engine
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../search_engines/prepopulated_engines.json | 10 +
.../search_engines/search_engine_type.h | 1 +
.../template_url_prepopulate_data.cc | 184 +++++++++---------
3 files changed, 103 insertions(+), 92 deletions(-)
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
--- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json
@@ -102,6 +102,16 @@
"id": 92
},
+ "duckduckgo_light": {
+ "name": "DuckDuckGo Light",
+ "keyword": "duckduckgo.com/lite",
+ "favicon_url": "https://duckduckgo.com/favicon.ico",
+ "search_url": "https://duckduckgo.com/lite/?q={searchTerms}",
+ "suggest_url": "https://duckduckgo.com/ac/?q={searchTerms}&type=list",
+ "type": "SEARCH_ENGINE_DUCKDUCKGOLIGHT",
+ "id": 12
+ },
+
"ecosia": {
"name": "Ecosia",
"keyword": "ecosia.org",
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
--- a/components/search_engines/search_engine_type.h
+++ b/components/search_engines/search_engine_type.h
@@ -79,6 +79,7 @@ enum SearchEngineType {
SEARCH_ENGINE_STARTER_PACK_HISTORY = 62,
SEARCH_ENGINE_STARTER_PACK_TABS = 63,
SEARCH_ENGINE_GOOGLE_EN = 64,
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 65,
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
};
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -43,7 +43,7 @@ const PrepopulatedEngine* const engines_AE[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_ru,
};
@@ -61,7 +61,7 @@ const PrepopulatedEngine* const engines_AR[] = {
&googleen, &google,
&bing,
&yahoo_ar,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -69,7 +69,7 @@ const PrepopulatedEngine* const engines_AR[] = {
const PrepopulatedEngine* const engines_AT[] = {
&googleen, &google,
&bing,
- &yahoo_at,
+ &yahoo_at, &duckduckgo_light,
&duckduckgo,
&ecosia,
};
@@ -79,7 +79,7 @@ const PrepopulatedEngine* const engines_AU[] = {
&googleen, &google,
&bing,
&yahoo_au,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -88,7 +88,7 @@ const PrepopulatedEngine* const engines_BA[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_com,
};
@@ -98,7 +98,7 @@ const PrepopulatedEngine* const engines_BE[] = {
&bing,
&yahoo,
&ecosia,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Bulgaria
@@ -106,7 +106,7 @@ const PrepopulatedEngine* const engines_BG[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_ru,
};
@@ -115,7 +115,7 @@ const PrepopulatedEngine* const engines_BH[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -124,7 +124,7 @@ const PrepopulatedEngine* const engines_BI[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_ru,
};
@@ -133,7 +133,7 @@ const PrepopulatedEngine* const engines_BN[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -142,7 +142,7 @@ const PrepopulatedEngine* const engines_BO[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -151,7 +151,7 @@ const PrepopulatedEngine* const engines_BR[] = {
&googleen, &google,
&bing,
&yahoo_br,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_com,
};
@@ -161,7 +161,7 @@ const PrepopulatedEngine* const engines_BY[] = {
&yandex_by,
&mail_ru,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Belize
@@ -178,7 +178,7 @@ const PrepopulatedEngine* const engines_CA[] = {
&googleen, &google,
&bing,
&yahoo_ca,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -186,7 +186,7 @@ const PrepopulatedEngine* const engines_CA[] = {
const PrepopulatedEngine* const engines_CH[] = {
&googleen, &google,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yahoo_ch,
&ecosia,
};
@@ -196,7 +196,7 @@ const PrepopulatedEngine* const engines_CL[] = {
&googleen, &google,
&bing,
&yahoo_cl,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -215,7 +215,7 @@ const PrepopulatedEngine* const engines_CO[] = {
&bing,
&yahoo_co,
&duckduckgo,
- &ecosia,
+ &ecosia, &duckduckgo_light,
};
// Costa Rica
@@ -223,7 +223,7 @@ const PrepopulatedEngine* const engines_CR[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -233,7 +233,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
&seznam_cz,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Germany
@@ -241,7 +241,7 @@ const PrepopulatedEngine* const engines_DE[] = {
&googleen, &google,
&bing,
&yahoo_de,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -250,7 +250,7 @@ const PrepopulatedEngine* const engines_DK[] = {
&googleen, &google,
&bing,
&yahoo_dk,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -259,7 +259,7 @@ const PrepopulatedEngine* const engines_DO[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -269,7 +269,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
&bing,
&yahoo_fr,
&yandex_com,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Ecuador
@@ -296,7 +296,7 @@ const PrepopulatedEngine* const engines_EG[] = {
&bing,
&yahoo,
&yandex_com,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Spain
@@ -304,7 +304,7 @@ const PrepopulatedEngine* const engines_ES[] = {
&googleen, &google,
&bing,
&yahoo_es,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -313,7 +313,7 @@ const PrepopulatedEngine* const engines_FI[] = {
&googleen, &google,
&bing,
&yahoo_fi,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_ru,
};
@@ -340,7 +340,7 @@ const PrepopulatedEngine* const engines_GB[] = {
&googleen, &google,
&bing,
&yahoo_uk,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -349,7 +349,7 @@ const PrepopulatedEngine* const engines_GR[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_ru,
};
@@ -358,7 +358,7 @@ const PrepopulatedEngine* const engines_GT[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -368,7 +368,7 @@ const PrepopulatedEngine* const engines_HK[] = {
&bing,
&yahoo_hk,
&baidu,
- &so_360,
+ &so_360, &duckduckgo_light,
};
// Honduras
@@ -376,7 +376,7 @@ const PrepopulatedEngine* const engines_HN[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -394,7 +394,7 @@ const PrepopulatedEngine* const engines_HU[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_com,
};
@@ -403,7 +403,7 @@ const PrepopulatedEngine* const engines_ID[] = {
&googleen, &google,
&bing,
&yahoo_id,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_com,
};
@@ -412,7 +412,7 @@ const PrepopulatedEngine* const engines_IE[] = {
&googleen, &google,
&bing,
&yahoo_uk,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -422,7 +422,7 @@ const PrepopulatedEngine* const engines_IL[] = {
&bing,
&yandex_ru,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// India
@@ -430,7 +430,7 @@ const PrepopulatedEngine* const engines_IN[] = {
&googleen, &google,
&bing,
&yahoo_in,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&info_com,
};
@@ -440,7 +440,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
&bing,
&yahoo,
&yandex_tr,
- &petal_search,
+ &petal_search, &duckduckgo_light,
};
// Iran
@@ -449,14 +449,14 @@ const PrepopulatedEngine* const engines_IR[] = {
&bing,
&yahoo,
&duckduckgo,
- &ask,
+ &ask, &duckduckgo_light,
};
// Iceland
const PrepopulatedEngine* const engines_IS[] = {
&googleen, &google,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yahoo,
&ecosia,
};
@@ -466,7 +466,7 @@ const PrepopulatedEngine* const engines_IT[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -475,7 +475,7 @@ const PrepopulatedEngine* const engines_JM[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -493,7 +493,7 @@ const PrepopulatedEngine* const engines_JP[] = {
&googleen, &google,
&bing,
&yahoo_jp,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&baidu,
};
@@ -502,7 +502,7 @@ const PrepopulatedEngine* const engines_KE[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_com,
};
@@ -530,7 +530,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
&yandex_kz,
&mail_ru,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Lebanon
@@ -538,7 +538,7 @@ const PrepopulatedEngine* const engines_LB[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -546,7 +546,7 @@ const PrepopulatedEngine* const engines_LB[] = {
const PrepopulatedEngine* const engines_LI[] = {
&googleen, &google,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yahoo,
&ecosia,
};
@@ -556,7 +556,7 @@ const PrepopulatedEngine* const engines_LT[] = {
&googleen, &google,
&bing,
&yandex_ru,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yahoo,
};
@@ -564,7 +564,7 @@ const PrepopulatedEngine* const engines_LT[] = {
const PrepopulatedEngine* const engines_LU[] = {
&googleen, &google,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yahoo,
&ecosia,
};
@@ -575,7 +575,7 @@ const PrepopulatedEngine* const engines_LV[] = {
&bing,
&yandex_ru,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Libya
@@ -584,7 +584,7 @@ const PrepopulatedEngine* const engines_LY[] = {
&bing,
&yahoo,
&yandex_tr,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Morocco
@@ -593,14 +593,14 @@ const PrepopulatedEngine* const engines_MA[] = {
&bing,
&yahoo_fr,
&yandex_com,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Monaco
const PrepopulatedEngine* const engines_MC[] = {
&googleen, &google,
&bing,
- &yahoo_fr,
+ &yahoo_fr, &duckduckgo_light,
&duckduckgo,
&qwant,
};
@@ -620,7 +620,7 @@ const PrepopulatedEngine* const engines_ME[] = {
&bing,
&yandex_ru,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Macedonia
@@ -628,7 +628,7 @@ const PrepopulatedEngine* const engines_MK[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_com,
};
@@ -637,7 +637,7 @@ const PrepopulatedEngine* const engines_MX[] = {
&googleen, &google,
&bing,
&yahoo_mx,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -646,7 +646,7 @@ const PrepopulatedEngine* const engines_MY[] = {
&googleen, &google,
&bing,
&yahoo_my,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -655,7 +655,7 @@ const PrepopulatedEngine* const engines_NI[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -664,7 +664,7 @@ const PrepopulatedEngine* const engines_NL[] = {
&googleen, &google,
&bing,
&yahoo_nl,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_ru,
};
@@ -673,7 +673,7 @@ const PrepopulatedEngine* const engines_NO[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -682,7 +682,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
&googleen, &google,
&bing,
&yahoo_nz,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -700,7 +700,7 @@ const PrepopulatedEngine* const engines_PA[] = {
&googleen, &google,
&bing,
&yahoo_es,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -710,7 +710,7 @@ const PrepopulatedEngine* const engines_PE[] = {
&bing,
&yahoo_pe,
&ecosia,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Philippines
@@ -719,7 +719,7 @@ const PrepopulatedEngine* const engines_PH[] = {
&bing,
&yahoo_ph,
&ecosia,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Pakistan
@@ -727,7 +727,7 @@ const PrepopulatedEngine* const engines_PK[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_com,
};
@@ -736,7 +736,7 @@ const PrepopulatedEngine* const engines_PL[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_ru,
};
@@ -745,7 +745,7 @@ const PrepopulatedEngine* const engines_PR[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -754,7 +754,7 @@ const PrepopulatedEngine* const engines_PT[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -763,7 +763,7 @@ const PrepopulatedEngine* const engines_PY[] = {
&googleen, &google,
&bing,
&yahoo_es,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -772,7 +772,7 @@ const PrepopulatedEngine* const engines_QA[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_tr,
};
@@ -781,7 +781,7 @@ const PrepopulatedEngine* const engines_RO[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_tr,
};
@@ -790,7 +790,7 @@ const PrepopulatedEngine* const engines_RS[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_ru,
};
@@ -800,7 +800,7 @@ const PrepopulatedEngine* const engines_RU[] = {
&google,
&duckduckgo,
&bing,
- &mail_ru,
+ &mail_ru, &duckduckgo_light,
};
// Rwanda
@@ -808,7 +808,7 @@ const PrepopulatedEngine* const engines_RW[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -818,7 +818,7 @@ const PrepopulatedEngine* const engines_SA[] = {
&bing,
&yahoo,
&yandex_com,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Sweden
@@ -826,7 +826,7 @@ const PrepopulatedEngine* const engines_SE[] = {
&googleen, &google,
&bing,
&yahoo_se,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_ru,
};
@@ -835,7 +835,7 @@ const PrepopulatedEngine* const engines_SG[] = {
&googleen, &google,
&bing,
&yahoo_sg,
- &baidu,
+ &baidu, &duckduckgo_light,
&duckduckgo,
};
@@ -843,7 +843,7 @@ const PrepopulatedEngine* const engines_SG[] = {
const PrepopulatedEngine* const engines_SI[] = {
&googleen, &google,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yahoo,
&yandex_com,
};
@@ -852,7 +852,7 @@ const PrepopulatedEngine* const engines_SI[] = {
const PrepopulatedEngine* const engines_SK[] = {
&googleen, &google,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yahoo,
&yandex_ru,
};
@@ -862,7 +862,7 @@ const PrepopulatedEngine* const engines_SV[] = {
&googleen, &google,
&bing,
&yahoo_es,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -872,7 +872,7 @@ const PrepopulatedEngine* const engines_SY[] = {
&bing,
&yandex_ru,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Thailand
@@ -889,7 +889,7 @@ const PrepopulatedEngine* const engines_TN[] = {
&googleen, &google,
&bing,
&yahoo_fr,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_com,
};
@@ -899,7 +899,7 @@ const PrepopulatedEngine* const engines_TR[] = {
&yandex_tr,
&yahoo_tr,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
};
// Trinidad and Tobago
@@ -907,7 +907,7 @@ const PrepopulatedEngine* const engines_TT[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yandex_com,
};
@@ -916,8 +916,8 @@ const PrepopulatedEngine* const engines_TW[] = {
&googleen, &google,
&yahoo_tw,
&bing,
- &baidu,
- &duckduckgo,
+ &baidu, &duckduckgo_light,
+ &duckduckgo, &duckduckgo_light,
};
// Tanzania
@@ -925,7 +925,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -943,7 +943,7 @@ const PrepopulatedEngine* const engines_US[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -952,7 +952,7 @@ const PrepopulatedEngine* const engines_UY[] = {
&googleen, &google,
&bing,
&yahoo_es,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -979,8 +979,8 @@ const PrepopulatedEngine* const engines_YE[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
- &yandex_com,
+ &duckduckgo, &duckduckgo_light,
+ &yandex_com, &duckduckgo_light,
};
// South Africa
@@ -988,7 +988,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
@@ -997,7 +997,7 @@ const PrepopulatedEngine* const engines_ZW[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&ecosia,
};
--
2.25.1
File diff suppressed because it is too large Load Diff
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -9571,6 +9571,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9862,6 +9862,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kForceOffTextAutosizingName,
flag_descriptions::kForceOffTextAutosizingDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kForceOffTextAutosizing)},
@@ -30,7 +30,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
@@ -1964,6 +1964,10 @@ const char kHttpsUpgradesDescription[] =
@@ -1996,6 +1996,10 @@ const char kHttpsUpgradesDescription[] =
"Enable automatically upgrading all top-level navigations to HTTPS with "
"fast fallback to HTTP.";
@@ -44,7 +44,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
@@ -1101,6 +1101,9 @@ extern const char kStorageBucketsDescription[];
@@ -1120,6 +1120,9 @@ extern const char kStorageBucketsDescription[];
extern const char kHideIncognitoMediaMetadataName[];
extern const char kHideIncognitoMediaMetadataDescription[];
@@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../java/res/xml/privacy_preferences.xml | 4 +
.../privacy/settings/PrivacySettings.java | 1 +
.../chrome_autocomplete_provider_client.cc | 2 +
chrome/browser/browser_resources.grd | 4 +-
chrome/browser/browser_resources.grd | 3 +
.../extensions/api/proxy/proxy_api_helpers.cc | 2 +-
chrome/browser/net/proxy_service_factory.cc | 24 +-
chrome/browser/net/proxy_service_factory.h | 3 +
@@ -40,7 +40,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../proxy_config/proxy_policy_handler.cc | 2 +-
net/proxy_resolution/proxy_config.cc | 52 ++-
net/proxy_resolution/proxy_config.h | 3 +
25 files changed, 981 insertions(+), 18 deletions(-)
25 files changed, 981 insertions(+), 17 deletions(-)
create mode 100644 chrome/browser/resources/proxy_config.css
create mode 100644 chrome/browser/resources/proxy_config.html
create mode 100644 chrome/browser/resources/proxy_config.js
@@ -77,7 +77,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/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
@@ -82,6 +82,7 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -77,6 +77,7 @@ public class PrivacySettings
private static final String PREF_SAFE_BROWSING = "safe_browsing";
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
@@ -100,7 +100,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
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
@@ -275,11 +275,13 @@
@@ -252,6 +252,9 @@
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings_internal\pref_hash_seed.bin" type="BINDATA" />
<include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
</if>
@@ -108,13 +108,8 @@ diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resou
+ <include name="IDR_PROXY_CONFIG_HTML" file="resources\proxy_config.html" flattenhtml="true" type="BINDATA" compress="gzip" />
+ <include name="IDR_PROXY_CONFIG_JS" file="resources\proxy_config.js" type="BINDATA" compress="gzip" />
<if expr="not is_android">
<include name="IDR_ABOUT_SYS_HTML" file="resources\about_sys\about_sys.html" type="BINDATA" />
<include name="IDR_ABOUT_SYS_CSS" file="resources\about_sys\about_sys.css" type="BINDATA" />
<include name="IDR_ABOUT_SYS_JS" file="resources\about_sys\about_sys.js" preprocess="true" type="BINDATA" />
-
<!-- Page not available for guest. -->
<include name="IDR_PAGE_NOT_AVAILABLE_FOR_GUEST_APP_HTML" file="resources\page_not_available_for_guest\app.html" type="BINDATA" />
<include name="IDR_MEDIA_ROUTER_INTERNALS_HTML" file="resources\media_router\internals\media_router_internals.html" type="BINDATA" />
diff --git a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
--- a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
+++ b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
@@ -202,7 +197,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -181,6 +181,8 @@
@@ -185,6 +185,8 @@
#include "rlz/buildflags/buildflags.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
@@ -211,7 +206,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h"
#endif
@@ -1306,6 +1308,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1389,6 +1391,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
component_updater::RegisterPrefs(registry);
domain_reliability::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@@ -666,7 +661,7 @@ new file mode 100644
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
@@ -309,6 +309,8 @@ static_library("ui") {
@@ -301,6 +301,8 @@ static_library("ui") {
"webui/metrics_internals/metrics_internals_ui.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
@@ -678,7 +673,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -64,6 +64,7 @@
@@ -63,6 +63,7 @@
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
#include "chrome/browser/ui/webui/policy/policy_ui.h"
@@ -686,7 +681,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
#include "chrome/browser/ui/webui/signin_internals_ui.h"
@@ -499,6 +500,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -496,6 +497,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MetricsInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
@@ -1141,7 +1136,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
const char kChromeUIChromeURLsHost[] = "chrome-urls";
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
const char kChromeUIComponentsHost[] = "components";
@@ -449,6 +451,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
@@ -450,6 +452,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUILockScreenNetworkHost,
kChromeUILockScreenStartReauthHost,
kChromeUIMobileSetupHost,
@@ -1149,7 +1144,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
kChromeUINotificationTesterHost,
@@ -755,6 +758,7 @@ const char* const kChromeHostURLs[] = {
@@ -759,6 +762,7 @@ const char* const kChromeHostURLs[] = {
#if !BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS)
kChromeUIAppLauncherPageHost,
@@ -1160,7 +1155,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -143,6 +143,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
@@ -142,6 +142,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
extern const char kChromeUINetExportURL[];
@@ -32,8 +32,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../CustomTabAppMenuPropertiesDelegate.java | 4 +
.../CustomTabIntentDataProvider.java | 5 +-
.../browser/download/DownloadUtils.java | 16 +-
.../history/HistoryContentManager.java | 7 +-
.../browser/history/HistoryManager.java | 28 ++-
.../chrome/browser/history/HistoryPage.java | 16 ++
.../chrome/browser/history/HistoryPage.java | 15 ++
.../native_page/NativePageFactory.java | 4 +-
.../chrome/browser/ntp/RecentTabsManager.java | 28 ++-
.../privacy/settings/IncognitoSettings.java | 160 ++++++++++++++++++
@@ -85,8 +86,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/autocomplete_provider_client.h | 1 +
.../omnibox/browser/base_search_provider.cc | 2 +-
components/omnibox/browser/search_provider.cc | 4 +-
.../host_content_settings_map_factory.cc | 1 +
67 files changed, 760 insertions(+), 92 deletions(-)
67 files changed, 763 insertions(+), 94 deletions(-)
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
@@ -95,7 +95,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -650,6 +650,7 @@ chrome_java_resources = [
@@ -659,6 +659,7 @@ chrome_java_resources = [
"java/res/xml/main_preferences.xml",
"java/res/xml/manage_sync_preferences.xml",
"java/res/xml/phone_as_a_security_key_accessory_filter.xml",
@@ -114,10 +114,10 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
"java/src/org/chromium/chrome/browser/ActivityUtils.java",
@@ -955,6 +956,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy/settings/IncognitoLockSettings.java",
@@ -967,6 +968,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/ChromeTrackingProtectionDelegate.java",
+ "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java",
"java/src/org/chromium/chrome/browser/provider/BaseColumns.java",
"java/src/org/chromium/chrome/browser/provider/BookmarkColumns.java",
@@ -167,7 +167,7 @@ new file mode 100644
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
@@ -50,6 +50,11 @@ found in the LICENSE file.
@@ -56,6 +56,11 @@ found in the LICENSE file.
android:key="secure_dns"
android:title="@string/settings_secure_dns_title"
android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings"/>
@@ -240,7 +240,7 @@ 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,10 @@ import org.chromium.base.task.TaskTraits;
@@ -62,6 +62,10 @@ import org.chromium.base.task.TaskTraits;
import org.chromium.build.annotations.UsedByReflection;
import org.chromium.cc.input.BrowserControlsState;
import org.chromium.chrome.R;
@@ -248,10 +248,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
+import org.chromium.components.user_prefs.UserPrefs;
+import org.chromium.chrome.browser.preferences.Pref;
+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.app.ChromeActivity;
@@ -578,9 +582,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
import org.chromium.chrome.browser.app.metrics.LaunchCauseMetrics;
@@ -590,9 +594,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModelOrchestrator.onNativeLibraryReady(getTabContentManager());
// For saving non-incognito tab closures for Recent Tabs.
@@ -269,7 +269,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
// Defer initialization of this helper so it triggers after TabModelFilter
// observers.
UndoRefocusHelper.initialize(
@@ -1867,8 +1876,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1933,8 +1942,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
@@ -284,7 +284,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -95,6 +95,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
@@ -92,6 +92,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
@@ -292,7 +292,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides;
import org.chromium.chrome.browser.device.DeviceClassManager;
@@ -1888,6 +1889,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1870,6 +1871,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@@ -463,7 +463,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
@@ -64,6 +64,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
@@ -66,6 +66,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.components.version_info.VersionInfo;
import org.chromium.device.mojom.ScreenOrientationLockType;
@@ -473,7 +473,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -1218,7 +1221,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -1260,7 +1263,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@Override
public boolean isIncognito() {
@@ -485,7 +485,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
@@ -34,6 +34,7 @@ import org.chromium.base.annotations.NativeMethods;
@@ -35,6 +35,7 @@ import org.chromium.base.annotations.NativeMethods;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
@@ -493,7 +493,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.app.download.home.DownloadActivity;
@@ -75,6 +76,10 @@ import org.chromium.url.GURL;
@@ -77,6 +78,10 @@ import org.chromium.url.GURL;
import java.io.File;
@@ -504,7 +504,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
/**
* A class containing some utility static methods.
*/
@@ -318,7 +323,16 @@ public class DownloadUtils {
@@ -353,7 +358,16 @@ public class DownloadUtils {
// Offline pages isn't supported in Incognito. This should be checked before calling
// OfflinePageBridge.getForProfile because OfflinePageBridge instance will not be found
// for incognito profile.
@@ -522,6 +522,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
// Check if the page url is supported for saving. Only HTTP and HTTPS pages are allowed.
if (!OfflinePageBridge.canSavePage(tab.getUrl())) return false;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
@@ -231,7 +231,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
mHistoryAdapter.generateFooterItems();
// Listen to changes in sign in state.
- IdentityServicesProvider.get().getSigninManager(profile).addSignInStateObserver(this);
+ // getSigninManager is null in incognito
+ if (IdentityServicesProvider.get().getSigninManager(profile) != null)
+ IdentityServicesProvider.get().getSigninManager(profile).addSignInStateObserver(this);
// Create PrefChangeRegistrar to receive notifications on preference changes.
mPrefChangeRegistrar = new PrefChangeRegistrar();
@@ -266,7 +268,8 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
mHistoryAdapter.onDestroyed();
mLargeIconBridge.destroy();
mLargeIconBridge = null;
- IdentityServicesProvider.get().getSigninManager(mProfile).removeSignInStateObserver(this);
+ if (IdentityServicesProvider.get().getSigninManager(mProfile) != null)
+ IdentityServicesProvider.get().getSigninManager(mProfile).removeSignInStateObserver(this);
mPrefChangeRegistrar.destroy();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
@@ -546,7 +570,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/**
* Combines and manages the different UI components of browsing history.
*/
@@ -156,7 +163,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -158,7 +165,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
recordUserAction("Show");
// If incognito placeholder is shown, we don't need to create History UI elements.
@@ -555,7 +579,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
mSelectableListLayout = null;
mRootView = getIncognitoHistoryPlaceholderView();
return;
@@ -597,7 +604,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -601,7 +608,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
private void swapContentView() {
boolean toHistoryClusters;
@@ -564,7 +588,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
return;
} else if (isHistoryClustersUIShowing()) {
toHistoryClusters = false;
@@ -660,11 +667,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -664,11 +671,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
&& mContentView == mHistoryClustersCoordinator.getActivityContentView();
}
@@ -590,7 +614,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
// If Incognito placeholder is shown no need to call any destroy method.
return;
}
@@ -684,7 +704,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -688,7 +708,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
* @return True if manager handles this event, false if it decides to ignore.
*/
public boolean onBackPressed() {
@@ -623,18 +647,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/**
* Native page for managing browsing history.
*/
@@ -39,6 +46,15 @@ public class HistoryPage extends BasicNativePage {
boolean isIncognito, Supplier<Tab> tabSupplier, String url) {
@@ -39,6 +46,14 @@ public class HistoryPage extends BasicNativePage {
Profile profile, Supplier<Tab> tabSupplier, String url) {
super(host);
+ if (isIncognito &&
+ if (profile.isOffTheRecord() &&
+ AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()) {
+ PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ boolean historyEnabledInIncognito =
+ prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED);
+ if (historyEnabledInIncognito == true) isIncognito = false;
+ if (historyEnabledInIncognito == true) profile = profile.getOriginalProfile();
+ }
+
+
Uri uri = Uri.parse(url);
assert uri.getHost().equals(UrlConstants.HISTORY_HOST);
@@ -642,7 +665,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
@@ -15,6 +15,7 @@ import androidx.annotation.VisibleForTesting;
@@ -16,6 +16,7 @@ import org.chromium.base.jank_tracker.JankTracker;
import org.chromium.base.supplier.DestroyableObservableSupplier;
import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.base.supplier.Supplier;
@@ -650,7 +673,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.app.download.home.DownloadPage;
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
@@ -226,7 +227,8 @@ public class NativePageFactory {
@@ -232,7 +233,8 @@ public class NativePageFactory {
String url, NativePage candidatePage, Tab tab, boolean isIncognito) {
NativePage page;
@@ -880,15 +903,15 @@ new file mode 100644
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
@@ -73,6 +73,7 @@ import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
@@ -75,6 +75,7 @@ import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
import org.chromium.chrome.browser.sync.SyncServiceFactory;
import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
@@ -323,6 +324,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -329,6 +330,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
((PrivacySandboxSettingsBaseFragment) fragment)
.setSnackbarManager(getSnackbarManager());
}
@@ -901,7 +924,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java
@@ -14,6 +14,8 @@ import java.util.ArrayList;
@@ -13,6 +13,8 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -910,7 +933,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
/**
* A tab model observer for managing bulk closures.
*/
@@ -41,7 +43,8 @@ public class HistoricalTabModelObserver implements TabModelObserver {
@@ -40,7 +42,8 @@ public class HistoricalTabModelObserver implements TabModelObserver {
if (tabs.isEmpty()) return;
if (tabs.size() == 1) {
@@ -920,7 +943,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
return;
}
@@ -72,7 +75,6 @@ public class HistoricalTabModelObserver implements TabModelObserver {
@@ -71,7 +74,6 @@ public class HistoricalTabModelObserver implements TabModelObserver {
entries.add(historicalGroup);
idToGroup.put(groupId, historicalGroup);
}
@@ -943,7 +966,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
@@ -26,6 +26,8 @@ import java.util.Arrays;
@@ -25,6 +25,8 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -952,7 +975,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
/**
* Creates historical entries in TabRestoreService.
*/
@@ -59,10 +61,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -58,10 +60,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// HistoricalTabSaver implementation.
@Override
@@ -965,7 +988,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
}
@Override
@@ -114,7 +116,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -113,7 +115,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// If there is only a single valid tab remaining save it individually.
if (validEntries.size() == 1 && validEntries.get(0).isSingleTab()) {
@@ -974,7 +997,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
return;
}
@@ -140,11 +142,12 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -139,11 +141,12 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
CollectionUtil.integerCollectionToIntArray(savedStateVersions));
}
@@ -989,7 +1012,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
}
/**
@@ -152,7 +155,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -151,7 +154,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
* internal Chrome scheme, about:blank, or a native page and it cannot be incognito.
*/
private boolean shouldSave(Tab tab) {
@@ -998,7 +1021,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
// {@link GURL#getScheme()} is not available in unit tests.
if (mIgnoreUrlSchemesForTesting) return true;
@@ -224,7 +227,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -223,7 +226,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@NativeMethods
interface Natives {
@@ -1019,7 +1042,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
import org.chromium.ui.base.IntentRequestTracker;
import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -794,7 +796,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -790,7 +792,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
mAppMenuCoordinator.getAppMenuHandler(), mActivityTabProvider,
mToolbarManager.getMenuButtonView(), () -> {
mTabCreatorManagerSupplier.get()
@@ -1042,7 +1065,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
/**
* This class creates various kinds of new tabs and adds them to the right {@link TabModel}.
*/
@@ -510,7 +514,6 @@ public class ChromeTabCreator extends TabCreator {
@@ -517,7 +521,6 @@ public class ChromeTabCreator extends TabCreator {
// TODO(crbug.com/1081924): Clean up the launches from SearchActivity/Chrome.
public Tab launchUrlFromExternalApp(
LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) {
@@ -1099,7 +1122,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
@@ -41,6 +41,7 @@ import org.chromium.base.supplier.OneshotSupplier;
@@ -40,6 +40,7 @@ import org.chromium.base.supplier.OneshotSupplier;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
@@ -1107,7 +1130,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController;
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
@@ -554,7 +555,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -556,7 +557,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
return ret;
}
},
@@ -1165,7 +1188,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
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
@@ -5153,6 +5153,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5409,6 +5409,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kOfflinePagesLivePageSharingName,
flag_descriptions::kOfflinePagesLivePageSharingDescription, kOsAndroid,
FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesLivePageSharingFeature)},
@@ -1227,7 +1250,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
DCHECK_EQ(android_group_ids.size(), group_titles.size());
DCHECK_EQ(per_tab_android_group_id.size(), tabs.size());
@@ -230,11 +241,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
@@ -234,11 +245,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
JNIEnv* env,
const JavaParamRef<jobject>& jtab_android,
const JavaParamRef<jobject>& state,
@@ -1346,7 +1369,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
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
@@ -4134,6 +4134,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
@@ -4209,6 +4209,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
"Enables to share current loaded page as offline page by saving as MHTML "
"first.";
@@ -1362,7 +1385,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
@@ -2431,6 +2431,9 @@ extern const char kOmahaMinSdkVersionAndroidDescription[];
@@ -2484,6 +2484,9 @@ extern const char kOmahaMinSdkVersionAndroidDescription[];
extern const char kOmahaMinSdkVersionAndroidMinSdk1Description[];
extern const char kOmahaMinSdkVersionAndroidMinSdk1000Description[];
@@ -1375,7 +1398,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
@@ -576,8 +576,8 @@ BASE_FEATURE(kCCTFeatureUsage,
@@ -588,8 +588,8 @@ BASE_FEATURE(kCCTFeatureUsage,
BASE_FEATURE(kCCTIncognito, "CCTIncognito", base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
@@ -1709,7 +1732,7 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -239,6 +239,7 @@
@@ -249,6 +249,7 @@
#if BUILDFLAG(IS_ANDROID)
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
@@ -1717,7 +1740,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
#include "chrome/browser/android/oom_intervention/oom_intervention_decider.h"
@@ -1692,6 +1693,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1781,6 +1782,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
variations::VariationsService::RegisterProfilePrefs(registry);
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
@@ -1856,7 +1879,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
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
@@ -1408,6 +1408,37 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1431,6 +1431,37 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY_SYNCED_NO_LINK" desc="A text for the basic tab explaining browsing history for users with history sync. This version is shown when the link to MyActivity is displayed separately.">
Clears history from all synced devices
</message>
@@ -1897,7 +1920,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
@@ -178,6 +178,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
@@ -177,6 +177,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
protected String mFormattedFullUrl;
protected String mUrlForDisplay;
private boolean mOmniboxUpdatedConnectionSecurityIndicatorsEnabled;
@@ -1905,7 +1928,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
// notifyUrlChanged and notifySecurityStateChanged are usually called 3 times across a same
// document navigation. The first call is usually necessary, which updates the UrlBar to reflect
@@ -200,7 +201,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
@@ -199,7 +200,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
public LocationBarModel(Context context, NewTabPageDelegate newTabPageDelegate,
@NonNull UrlFormatter urlFormatter, @NonNull ProfileProvider profileProvider,
@NonNull OfflineStatus offlineStatus,
@@ -1919,7 +1942,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/messages/android/BUILD.gn b/chrome/browser/ui/messages/android/BUILD.gn
--- a/chrome/browser/ui/messages/android/BUILD.gn
+++ b/chrome/browser/ui/messages/android/BUILD.gn
@@ -24,6 +24,7 @@ android_library("java") {
@@ -25,6 +25,7 @@ android_library("java") {
srcjar_deps = [ ":jni_headers" ]
sources = [
"java/src/org/chromium/chrome/browser/ui/messages/infobar/SimpleConfirmInfoBarBuilder.java",
@@ -1962,7 +1985,7 @@ new file mode 100644
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -3935,6 +3935,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
@@ -3878,6 +3878,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
"net.out_of_process_system_dns_resolution_enabled";
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
@@ -2065,7 +2088,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified,
bool restore_session,
bool should_record_metrics);
@@ -523,6 +524,8 @@ class HostContentSettingsMap : public content_settings::Observer,
@@ -527,6 +528,8 @@ class HostContentSettingsMap : public content_settings::Observer,
// Whether this settings map is for an incognito or guest session.
bool is_off_the_record_;
@@ -2146,16 +2169,5 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
((default_url && !default_url->suggestions_url().empty() &&
!*query_is_private) ||
(keyword_url && !keyword_url->suggestions_url().empty()));
diff --git a/weblayer/browser/host_content_settings_map_factory.cc b/weblayer/browser/host_content_settings_map_factory.cc
--- a/weblayer/browser/host_content_settings_map_factory.cc
+++ b/weblayer/browser/host_content_settings_map_factory.cc
@@ -45,6 +45,7 @@ HostContentSettingsMapFactory::BuildServiceInstanceFor(
scoped_refptr<HostContentSettingsMap> settings_map =
base::MakeRefCounted<HostContentSettingsMap>(
user_prefs::UserPrefs::Get(context), context->IsOffTheRecord(),
+ /*force_save_site_settings*/false,
/*store_last_modified=*/true,
/*restore_session=*/false,
/*should_record_metrics=*/!context->IsOffTheRecord());
--
2.25.1
@@ -29,7 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 8 +
.../bookmarks/android/bookmark_bridge.cc | 283 ++++++++++++++++++
.../bookmarks/android/bookmark_bridge.h | 30 +-
.../browser/bookmarks/bookmark_html_writer.cc | 11 +
.../browser/bookmarks/bookmark_html_writer.cc | 13 +-
.../dialogs/DownloadLocationCustomView.java | 8 +-
.../DownloadLocationDialogCoordinator.java | 8 +-
chrome/browser/flag_descriptions.cc | 5 +
@@ -43,7 +43,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../strings/android_chrome_strings.grd | 18 ++
chrome/common/BUILD.gn | 3 +
chrome/utility/BUILD.gn | 7 +-
.../utility/importer/bookmark_html_reader.cc | 27 +-
.../utility/importer/bookmark_html_reader.cc | 28 +-
.../utility/importer/bookmark_html_reader.h | 8 +
.../headless_select_file_dialog.cc | 4 +
.../chromium/ui/base/SelectFileDialog.java | 18 +-
@@ -54,7 +54,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
ui/shell_dialogs/select_file_dialog_linux.cc | 4 +
ui/shell_dialogs/select_file_dialog_linux.h | 2 +
ui/shell_dialogs/select_file_dialog_win.cc | 5 +
44 files changed, 921 insertions(+), 29 deletions(-)
44 files changed, 923 insertions(+), 30 deletions(-)
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
@@ -114,19 +114,19 @@ diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/c
+ app:iconTint="@color/default_icon_color_tint_list" />
<item
android:id="@+id/close_menu_id"
android:icon="@drawable/btn_close"
android:icon="@drawable/material_ic_close_24dp"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java
@@ -10,6 +10,7 @@ import androidx.annotation.Nullable;
@@ -11,6 +11,7 @@ import androidx.annotation.Nullable;
import org.chromium.base.jank_tracker.JankTracker;
import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.base.supplier.Supplier;
+import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -49,7 +50,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -50,7 +51,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
* {@link ChromeTabbedActivity}.
*/
public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
@@ -135,7 +135,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
private final Supplier<ShareDelegate> mShareDelegateSupplier;
private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier;
@@ -74,7 +75,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
@@ -76,7 +77,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
private NativePageFactory mNativePageFactory;
@@ -240,7 +240,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import android.text.TextUtils;
import android.util.Pair;
@@ -38,6 +51,32 @@ import org.chromium.url.GURL;
@@ -37,6 +50,32 @@ import org.chromium.url.GURL;
import java.util.ArrayList;
import java.util.List;
@@ -273,8 +273,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Provides the communication channel for Android to fetch and manipulate the
* bookmark model stored in native.
@@ -432,6 +471,209 @@ class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
@@ -435,6 +474,209 @@ class BookmarkBridge {
mNativeBookmarkBridge, id.getId(), id.getType());
}
+ /**
@@ -523,16 +523,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<>();
for (int i = 0; i < left.length; i++) {
@@ -966,6 +1241,9 @@ class BookmarkBridge {
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
void getChildIds(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
List<BookmarkId> bookmarksList);
@@ -961,6 +1236,9 @@ class BookmarkBridge {
int getChildCount(long nativeBookmarkBridge, long id, int type);
void getChildIds(
long nativeBookmarkBridge, long id, int type, List<BookmarkId> bookmarksList);
+ void importBookmarks(long nativeBookmarkBridge, BookmarkBridge caller, WindowAndroid window);
+ void exportBookmarks(long nativeBookmarkBridge, BookmarkBridge caller, WindowAndroid window,
+ String export_path);
BookmarkId getChildAt(
long nativeBookmarkBridge, BookmarkBridge caller, long id, int type, int index);
int getTotalBookmarkCount(
BookmarkId getChildAt(long nativeBookmarkBridge, long id, int type, int index);
int getTotalBookmarkCount(long nativeBookmarkBridge, long id, int type);
void setBookmarkTitle(long nativeBookmarkBridge, long id, int type, String title);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
@@ -582,7 +582,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
@@ -53,6 +53,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega
@@ -55,6 +55,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver;
import org.chromium.components.commerce.core.CommerceSubscription;
import org.chromium.components.commerce.core.ShoppingService;
@@ -591,7 +591,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.favicon.LargeIconBridge;
import org.chromium.components.feature_engagement.EventConstants;
import org.chromium.components.power_bookmarks.PowerBookmarkMeta;
@@ -80,6 +82,9 @@ class BookmarkManagerMediator
@@ -82,6 +84,9 @@ class BookmarkManagerMediator
private static boolean sPreventLoadingForTesting;
@@ -601,7 +601,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Keeps track of whether drag is enabled / active for bookmark lists.
*/
@@ -508,6 +513,14 @@ class BookmarkManagerMediator
@@ -513,6 +518,14 @@ class BookmarkManagerMediator
mNativePage = nativePage;
}
@@ -616,7 +616,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* See BookmarkManager(Coordinator)#updateForUrl
*/
@@ -684,6 +697,16 @@ class BookmarkManagerMediator
@@ -689,6 +702,16 @@ class BookmarkManagerMediator
}
}
@@ -773,7 +773,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
@@ -15,6 +15,7 @@ import androidx.annotation.VisibleForTesting;
@@ -16,6 +16,7 @@ import org.chromium.base.jank_tracker.JankTracker;
import org.chromium.base.supplier.DestroyableObservableSupplier;
import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.base.supplier.Supplier;
@@ -790,7 +790,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController;
private final BrowserControlsManager mBrowserControlsManager;
private final Supplier<Tab> mCurrentTabSupplier;
@@ -69,7 +70,7 @@ public class NativePageFactory {
@@ -70,7 +71,7 @@ public class NativePageFactory {
private NativePageBuilder mNativePageBuilder;
@@ -799,7 +799,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
@NonNull BottomSheetController sheetController,
@NonNull BrowserControlsManager browserControlsManager,
@NonNull Supplier<Tab> currentTabSupplier,
@@ -115,7 +116,7 @@ public class NativePageFactory {
@@ -118,7 +119,7 @@ public class NativePageFactory {
@VisibleForTesting
static class NativePageBuilder {
@@ -808,7 +808,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController;
private final Supplier<NewTabPageUma> mUma;
private final BrowserControlsManager mBrowserControlsManager;
@@ -129,7 +130,7 @@ public class NativePageFactory {
@@ -133,7 +134,7 @@ public class NativePageFactory {
private final HomeSurfaceTracker mHomeSurfaceTracker;
private final ObservableSupplier<TabContentManager> mTabContentManagerSupplier;
@@ -817,7 +817,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
BottomSheetController sheetController,
BrowserControlsManager browserControlsManager, Supplier<Tab> currentTabSupplier,
Supplier<SnackbarManager> snackbarManagerSupplier,
@@ -169,7 +170,7 @@ public class NativePageFactory {
@@ -175,7 +176,7 @@ public class NativePageFactory {
protected NativePage buildBookmarksPage(Tab tab) {
return new BookmarkPage(mActivity.getComponentName(), mSnackbarManagerSupplier.get(),
mTabModelSelector.isIncognitoSelected(),
@@ -829,7 +829,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -226,6 +226,8 @@ static_library("browser") {
@@ -225,6 +225,8 @@ static_library("browser") {
"bluetooth/chrome_bluetooth_delegate_impl_client.h",
"bookmarks/bookmark_model_factory.cc",
"bookmarks/bookmark_model_factory.h",
@@ -838,7 +838,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"bookmarks/chrome_bookmark_client.cc",
"bookmarks/chrome_bookmark_client.h",
"bookmarks/managed_bookmark_service_factory.cc",
@@ -1923,6 +1925,13 @@ static_library("browser") {
@@ -1968,6 +1970,13 @@ static_library("browser") {
]
}
@@ -852,7 +852,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -3622,8 +3631,6 @@ static_library("browser") {
@@ -3697,8 +3706,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@@ -864,7 +864,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
@@ -9530,6 +9530,14 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9821,6 +9821,14 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kForceOffTextAutosizing)},
#endif
@@ -1011,8 +1011,8 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+ select_file_dialog_->ListenerDestroyed();
}
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
@@ -619,6 +726,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
void BookmarkBridge::Destroy(JNIEnv*) {
@@ -558,6 +665,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@@ -1193,8 +1193,8 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+}
+
void BookmarkBridge::SetBookmarkTitle(JNIEnv* env,
const JavaParamRef<jobject>& obj,
jlong id,
jint type,
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h
--- a/chrome/browser/bookmarks/android/bookmark_bridge.h
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.h
@@ -1226,9 +1226,9 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
public:
BookmarkBridge(Profile* profile,
bookmarks::BookmarkModel* model,
@@ -74,6 +79,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
bool IsDoingExtensiveChanges(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
@@ -72,6 +77,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
bool IsDoingExtensiveChanges(JNIEnv* env);
+ // SelectFileDialog::Listener implementation.
+ void FileSelected(const base::FilePath& path,
@@ -1238,10 +1238,10 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
+
jboolean IsEditBookmarksEnabled(JNIEnv* env);
void LoadEmptyPartnerBookmarkShimForTesting(
@@ -171,6 +182,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
jlong id,
jint type);
void LoadEmptyPartnerBookmarkShimForTesting(JNIEnv* env);
@@ -84,6 +95,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
jlong id,
jint type);
+ void ImportBookmarks(JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& obj,
@@ -1252,10 +1252,10 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
+ const base::android::JavaParamRef<jobject>& java_window,
+ const base::android::JavaParamRef<jstring>& j_export_path);
+
void SetBookmarkTitle(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
jlong id,
@@ -363,12 +383,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void GetTopLevelFolderIds(
JNIEnv* env,
const base::android::JavaParamRef<jobject>& j_result_obj);
@@ -310,12 +330,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void DestroyJavaObject();
raw_ptr<Profile> profile_;
@@ -1272,7 +1272,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
// Information about the Partner bookmarks (must check for IsLoaded()).
// This is owned by profile.
@@ -382,6 +406,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -329,6 +353,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
// Observes the profile destruction and creation.
base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this};
@@ -1296,10 +1296,12 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/favicon/favicon_service_factory.h"
#include "chrome/browser/profiles/profile.h"
@@ -229,7 +232,15 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
@@ -228,8 +231,16 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
// Opens the file, returning true on success.
bool OpenFile() {
int flags = base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE;
- int flags = base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE;
+ int flags = base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE | base::File::FLAG_OPEN_TRUNCATED;
+#if BUILDFLAG(IS_ANDROID)
+ if (path_.IsContentUri()) {
+ file_ = std::make_unique<base::File>(base::OpenContentUriForWrite(path_));
@@ -1382,9 +1384,9 @@ 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
@@ -7647,6 +7647,11 @@ const char kProfilesReorderingDescription[] =
"persisted.";
#endif
@@ -7752,6 +7752,11 @@ const char kEnableBoundSessionCredentialsDescription[] =
"prevent the usage of bound credentials outside of the user device.";
#endif // BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS)
+const char kBookmarksExportUseSafName[] = "Use saf for bookmarks export";
+const char kBookmarksExportUseSafDescription[] =
@@ -1397,9 +1399,9 @@ 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
@@ -4427,6 +4427,9 @@ extern const char kProfilesReorderingName[];
extern const char kProfilesReorderingDescription[];
#endif
@@ -4490,6 +4490,9 @@ extern const char kEnableBoundSessionCredentialsName[];
extern const char kEnableBoundSessionCredentialsDescription[];
#endif // BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS)
+extern const char kBookmarksExportUseSafName[];
+extern const char kBookmarksExportUseSafDescription[];
@@ -1410,7 +1412,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
@@ -187,6 +187,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -191,6 +191,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kClearOmniboxFocusAfterNavigation,
&kCloseTabSuggestions,
&kCloseTabSaveTabList,
@@ -1418,9 +1420,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kCriticalPersistedTabData,
&kCreateNewTabInitializeRenderer,
&kCCTBackgroundTab,
@@ -1179,5 +1180,10 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent,
"WebApkTrampolineOnInitialIntent",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -1195,5 +1196,10 @@ BASE_FEATURE(kWebApkInstallService,
"WebApkInstallService",
base::FEATURE_DISABLED_BY_DEFAULT);
+// disabled by default because of an issue on Android 6.0
+BASE_FEATURE(kBookmarksExportUseSaf,
@@ -1432,7 +1434,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
@@ -185,6 +185,7 @@ BASE_DECLARE_FEATURE(kTabStripRedesign);
@@ -189,6 +189,7 @@ BASE_DECLARE_FEATURE(kTabStripRedesign);
BASE_DECLARE_FEATURE(kTabletToolbarReordering);
BASE_DECLARE_FEATURE(kTabStripStartupRefactoring);
BASE_DECLARE_FEATURE(kTabToGTSAnimation);
@@ -1443,7 +1445,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
@@ -485,6 +485,7 @@ public abstract class ChromeFeatureList {
@@ -475,6 +475,7 @@ public abstract class ChromeFeatureList {
public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID =
"UseLibunwindstackNativeUnwinderAndroid";
public static final String USER_BYPASS_UI = "UserBypassUI";
@@ -1512,7 +1514,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
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
@@ -100,6 +100,8 @@ public final class ChromePreferenceKeys {
@@ -101,6 +101,8 @@ public final class ChromePreferenceKeys {
"enhanced_bookmark_last_used_parent_folder";
public static final String BOOKMARKS_SORT_ORDER = "Chrome.Bookmarks.BookmarkRowSortOrder";
public static final String BOOKMARKS_VISUALS_PREF = "Chrome.Bookmarks.BookmarkRowDisplay";
@@ -1521,7 +1523,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* Whether Chrome is set as the default browser.
@@ -964,6 +966,7 @@ public final class ChromePreferenceKeys {
@@ -992,6 +994,7 @@ public final class ChromePreferenceKeys {
AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
@@ -1560,7 +1562,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -400,6 +400,9 @@ static_library("common_lib") {
@@ -402,6 +402,9 @@ static_library("common_lib") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@@ -1582,7 +1584,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
"importer/bookmarks_file_importer.cc",
"importer/bookmarks_file_importer.h",
"importer/external_process_importer_bridge.cc",
@@ -215,6 +213,11 @@ static_library("utility") {
@@ -218,6 +216,11 @@ static_library("utility") {
]
}
@@ -1623,7 +1625,7 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/im
} // namespace
@@ -105,14 +109,28 @@ static std::string stripDt(const std::string& lineDt) {
@@ -105,14 +109,29 @@ static std::string stripDt(const std::string& lineDt) {
}
void ImportBookmarksFile(
@@ -1642,7 +1644,8 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/im
+ return;
+ }
+
+ ImportBookmarksFile(cancellation_callback, valid_url_callback, content, bookmarks, search_engines, favicons);
+ ImportBookmarksFile(cancellation_callback, valid_url_callback,
+ content, bookmarks, search_engines, favicons);
+}
+
+void ImportBookmarksFile(
@@ -1655,7 +1658,7 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/im
std::vector<std::string> lines = base::SplitString(
content, "\n", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
@@ -125,6 +143,7 @@ void ImportBookmarksFile(
@@ -125,6 +144,7 @@ void ImportBookmarksFile(
std::vector<std::u16string> path;
size_t toolbar_folder_index = 0;
std::string charset = "UTF-8"; // If no charset is specified, assume utf-8.
@@ -1663,7 +1666,7 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/im
for (size_t i = 0;
i < lines.size() &&
(cancellation_callback.is_null() || !cancellation_callback.Run());
@@ -217,10 +236,12 @@ void ImportBookmarksFile(
@@ -217,10 +237,12 @@ void ImportBookmarksFile(
}
bookmarks->push_back(entry);
@@ -1801,7 +1804,7 @@ diff --git a/ui/android/java/strings/android_ui_strings.grd b/ui/android/java/st
diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_file_dialog.h
--- a/ui/shell_dialogs/select_file_dialog.h
+++ b/ui/shell_dialogs/select_file_dialog.h
@@ -211,6 +211,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
@@ -213,6 +213,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
const GURL* caller = nullptr);
bool HasMultipleFileTypeChoices();
@@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -68,6 +68,16 @@ found in the LICENSE file.
@@ -74,6 +74,16 @@ found in the LICENSE file.
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
android:key="do_not_track"
android:title="@string/do_not_track_title"/>
@@ -44,7 +44,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/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
@@ -53,6 +53,9 @@ import java.lang.annotation.Retention;
@@ -55,6 +55,9 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Set;
@@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
/**
* Dispatches incoming intents to the appropriate activity based on the current configuration and
* Intent fired.
@@ -243,6 +246,9 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -246,6 +249,9 @@ public class LaunchIntentDispatcher {
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
@@ -64,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
if (CustomTabsIntent.shouldAlwaysUseBrowserUI(intent)
|| !intent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) {
return false;
@@ -262,6 +268,10 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -265,6 +271,10 @@ public class LaunchIntentDispatcher {
newIntent.setData(uri);
newIntent.setClassName(context, CustomTabActivity.class.getName());
@@ -75,7 +75,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
// Since configureIntentForResizableCustomTab() might change the componenet/class
// associated with the passed intent, it needs to be called after #setClassName(context,
// CustomTabActivity.class.getName());
@@ -408,6 +418,17 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -411,6 +421,17 @@ public class LaunchIntentDispatcher {
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
@@ -119,9 +119,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
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
@@ -103,6 +103,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher;
private Profile mProfile;
@@ -97,6 +97,9 @@ public class PrivacySettings
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
+ private ChromeSwitchPreference allowCustomTabIntentsPref;
+ private ChromeSwitchPreference openExternalLinksPref;
@@ -129,7 +129,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
getActivity().setTitle(R.string.prefs_privacy_security);
@@ -246,6 +249,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -247,6 +250,9 @@ public class PrivacySettings
new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
}
@@ -139,9 +139,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -260,6 +266,14 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -263,6 +269,14 @@ public class PrivacySettings
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
UserPrefs.get(getProfile())
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
+ } else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) {
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
@@ -154,8 +154,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -283,6 +297,16 @@ public class PrivacySettings extends PreferenceFragmentCompat
UserPrefs.get(mProfile).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
@@ -287,6 +301,16 @@ public class PrivacySettings
UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
+ allowCustomTabIntentsPref =
@@ -170,11 +170,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+
Preference doNotTrackPref = findPreference(PREF_DO_NOT_TRACK);
if (doNotTrackPref != null) {
doNotTrackPref.setSummary(UserPrefs.get(mProfile).getBoolean(Pref.ENABLE_DO_NOT_TRACK)
doNotTrackPref.setSummary(
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
@@ -580,8 +580,8 @@ BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
@@ -592,8 +592,8 @@ BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kCCTIntentFeatureOverrides,
@@ -185,7 +185,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
BASE_FEATURE(kCCTMinimized, "CCTMinimized", base::FEATURE_DISABLED_BY_DEFAULT);
@@ -591,7 +591,7 @@ BASE_FEATURE(kCCTPageInsightsHub,
@@ -603,7 +603,7 @@ BASE_FEATURE(kCCTPageInsightsHub,
BASE_FEATURE(kCCTPostMessageAPI,
"CCTPostMessageAPI",
@@ -213,7 +213,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso
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
@@ -5182,6 +5182,20 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -5238,6 +5238,20 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_NEAR_OOM_INTERVENTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can resume what it was doing.">
Resume
</message>
+5 -5
View File
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife
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
@@ -230,6 +230,8 @@ import java.util.Locale;
@@ -236,6 +236,8 @@ import java.util.Locale;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -68,7 +68,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.
@@ -2203,6 +2205,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2271,6 +2273,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, true, false, true);
RecordUserAction.record("MobileTabClosed");
@@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -61,6 +61,7 @@ import org.chromium.chrome.R;
@@ -60,6 +60,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.ActivityUtils;
import org.chromium.chrome.browser.AppHooks;
@@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
import org.chromium.chrome.browser.ChromeApplicationImpl;
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
@@ -2403,6 +2404,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2385,6 +2386,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
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
@@ -3818,6 +3818,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3859,6 +3859,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
Dark theme
</message>
@@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -604,6 +604,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
@@ -636,6 +636,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_ANDROID)
@@ -40,7 +40,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = {
{"mode", "always-none"}};
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNewTab[] = {
@@ -4714,7 +4730,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4969,7 +4985,11 @@ const FeatureEntry kFeatureEntries[] = {
kOsMac | kOsLinux | kOsWin,
FEATURE_VALUE_TYPE(features::kSystemNotifications)},
#endif // BUILDFLAG(ENABLE_SYSTEM_NOTIFICATIONS) && !BUILDFLAG(IS_CHROMEOS_ASH)
@@ -64,7 +64,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
#include "base/feature_list.h"
#include "base/format_macros.h"
#include "base/functional/bind.h"
@@ -368,6 +369,15 @@ AutocompleteController::AutocompleteController(
@@ -305,6 +306,15 @@ AutocompleteController::AutocompleteController(
provider_client_->GetOmniboxTriggeredFeatureService()),
steady_state_omnibox_position_(
metrics::OmniboxEventProto::UNKNOWN_POSITION) {
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -5335,7 +5335,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5597,7 +5597,10 @@ const FeatureEntry kFeatureEntries[] = {
{"force-text-direction", flag_descriptions::kForceTextDirectionName,
flag_descriptions::kForceTextDirectionDescription, kOsAll,
MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
@@ -30,7 +30,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
@@ -1382,6 +1382,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
@@ -1396,6 +1396,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
"Show deprecation notifications and disable functionality for Alt based "
"six pack deprecations. The Search based versions continue to work.";
@@ -44,7 +44,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
@@ -714,6 +714,9 @@ extern const char kDeprecateAltBasedSixPackDescription[];
@@ -723,6 +723,9 @@ extern const char kDeprecateAltBasedSixPackDescription[];
extern const char kDeprecateOldKeyboardShortcutsAcceleratorName[];
extern const char kDeprecateOldKeyboardShortcutsAcceleratorDescription[];
@@ -84,7 +84,7 @@ diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/cont
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -13,6 +13,11 @@
@@ -14,6 +14,11 @@
namespace network::features {
@@ -99,7 +99,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -94,6 +94,8 @@ extern uint32_t GetLoaderChunkSize();
@@ -91,6 +91,8 @@ extern uint32_t GetLoaderChunkSize();
COMPONENT_EXPORT(NETWORK_CPP)
BASE_DECLARE_FEATURE(kCorsNonWildcardRequestHeadersSupport);
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1237,6 +1237,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
@@ -1270,6 +1270,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
switches::kForceDisplayColorProfile, "hdr10"},
};
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::Choice kMemlogModeChoices[] = {
{flags_ui::kGenericExperimentChoiceDisabled, "", ""},
{flag_descriptions::kMemlogModeMinimal, heap_profiling::kMemlogMode,
@@ -5229,6 +5234,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5491,6 +5496,9 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(chrome::android::kShareSheetCustomActionsPolish)},
#endif // BUILDFLAG(IS_ANDROID)
@@ -46,7 +46,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
@@ -2186,6 +2186,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
@@ -2226,6 +2226,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
"websites abusing the API will still eventually have their setTimeouts "
"clamped.";
@@ -60,7 +60,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
@@ -1236,6 +1236,9 @@ extern const char kUndoAutofillDescription[];
@@ -1261,6 +1261,9 @@ extern const char kUndoAutofillDescription[];
extern const char kUnthrottledNestedTimeoutName[];
extern const char kUnthrottledNestedTimeoutDescription[];
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -3929,6 +3929,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4192,6 +4192,10 @@ const FeatureEntry kFeatureEntries[] = {
chrome::android::kContextualSearchSuppressShortView,
kContextualSearchSuppressShortViewVariations,
"ContextualSearchSuppressShortView")},
@@ -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
@@ -1458,6 +1458,11 @@ const char kEnableManagedConfigurationWebApiDescription[] =
@@ -1472,6 +1472,11 @@ const char kEnableManagedConfigurationWebApiDescription[] =
"Allows website to access a managed configuration provided by the device "
"administrator for the origin.";
@@ -44,7 +44,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
@@ -802,6 +802,9 @@ extern const char kEnablePenetratingImageSelectionDescription[];
@@ -811,6 +811,9 @@ extern const char kEnablePenetratingImageSelectionDescription[];
extern const char kEnablePerfettoSystemTracingName[];
extern const char kEnablePerfettoSystemTracingDescription[];
@@ -57,7 +57,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
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
@@ -357,12 +357,8 @@ BASE_FEATURE(kPreloadMetadataLazyLoad,
@@ -360,12 +360,8 @@ BASE_FEATURE(kPreloadMetadataLazyLoad,
// Let videos be resumed via remote controls (for example, the notification)
// when in background.
BASE_FEATURE(kResumeBackgroundVideo,
@@ -71,6 +71,6 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
// When enabled, MediaCapabilities will check with GPU Video Accelerator
#if BUILDFLAG(IS_MAC)
--
2.25.1
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -6605,6 +6605,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6866,6 +6866,10 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName,
flag_descriptions::kReaderModeInCCTDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
@@ -32,9 +32,9 @@ 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
@@ -3895,6 +3895,10 @@ const char kCCTTextFragmentLookupApiEnabledName[] =
const char kCCTTextFragmentLookupApiEnabledDescription[] =
"Enable CCT API to lookup text fragments";
@@ -3951,6 +3951,10 @@ const char kAccountReauthenticationRecentTimeWindow0mins[] = "0 mins";
const char kAccountReauthenticationRecentTimeWindow1mins[] = "1 mins";
const char kAccountReauthenticationRecentTimeWindow5mins[] = "5 mins";
+const char kIPv6ProbingName[] = "Enable IPv6 probing.";
+const char kIPv6ProbingDescription[] =
@@ -46,7 +46,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
@@ -879,6 +879,9 @@ extern const char kEnableWasmStringrefName[];
@@ -889,6 +889,9 @@ extern const char kEnableWasmStringrefName[];
extern const char kEnableWasmStringrefDescription[];
extern const char kEnableWasmTieringName[];
@@ -59,7 +59,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1096,6 +1096,7 @@ component("net") {
@@ -1094,6 +1094,7 @@ component("net") {
"//build:chromeos_buildflags",
"//net/data/ssl/chrome_root_store:gen_root_store_inc",
"//net/http:transport_security_state_generated_files",
@@ -132,7 +132,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -31,6 +31,11 @@ BASE_FEATURE(kThrottleDelayable,
@@ -32,6 +32,11 @@ BASE_FEATURE(kThrottleDelayable,
"ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -147,7 +147,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -17,6 +17,7 @@ namespace features {
@@ -16,6 +16,7 @@ namespace features {
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kNetworkErrorLogging);
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kReporting);
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kThrottleDelayable);
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -3870,6 +3870,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4133,6 +4133,11 @@ const FeatureEntry kFeatureEntries[] = {
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
flag_descriptions::kUiPartialSwapDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
@@ -30,7 +30,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
@@ -4196,6 +4196,12 @@ const char kPolicyLogsPageAndroidDescription[] =
@@ -4271,6 +4271,12 @@ const char kPolicyLogsPageAndroidDescription[] =
"Enable the new chrome://policy-logs page containing logs for debugging "
"policy related issues on Android.";
@@ -46,7 +46,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
@@ -2481,6 +2481,9 @@ extern const char kQueryTilesNTPDescription[];
@@ -2534,6 +2534,9 @@ extern const char kQueryTilesNTPDescription[];
extern const char kQueryTilesOnStartName[];
extern const char kQueryTilesOnStartDescription[];
extern const char kQueryTilesSingleTierName[];
@@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -8170,6 +8170,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8430,6 +8430,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
#endif
@@ -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
@@ -7230,6 +7230,9 @@ const char kLacrosMergeIcuDataFileDescription[] =
@@ -7338,6 +7338,9 @@ const char kLacrosMergeIcuDataFileDescription[] =
"Enables sharing common areas of icudtl.dat between Ash and Lacros.";
#endif // #if BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -46,9 +46,9 @@ 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
@@ -4405,6 +4405,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
extern const char kWebUITabStripTabDragIntegrationDescription[];
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
@@ -4463,6 +4463,8 @@ extern const char kWebUITabStripContextMenuAfterTapName[];
extern const char kWebUITabStripContextMenuAfterTapDescription[];
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP)
+extern const char kEnableVibrationName[];
+extern const char kEnableVibrationDescription[];
@@ -58,7 +58,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
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
@@ -101,6 +101,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
@@ -103,6 +103,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) {
WebRuntimeFeatures::EnableMediaSession(false);
}
@@ -69,7 +69,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
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
@@ -158,6 +158,11 @@ BASE_FEATURE(kBackForwardCacheMemoryControls,
@@ -106,6 +106,11 @@ BASE_FEATURE(kBackForwardCacheMemoryControls,
#endif
);
@@ -84,15 +84,15 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
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
@@ -360,6 +360,8 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWarmUpNetworkProcess);
@@ -311,6 +311,8 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kForceOffTextAutosizing);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kUserMediaScreenCapturing);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebNfc);
#endif // BUILDFLAG(IS_ANDROID)
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kVibration);
+
#if BUILDFLAG(IS_MAC)
CONTENT_EXPORT BASE_DECLARE_FEATURE(kDeviceMonitorMac);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kMacAllowBackgroundingRenderProcesses);
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
@@ -141,7 +141,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
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
@@ -2584,6 +2584,10 @@
@@ -2638,6 +2638,10 @@
status: {"Android": "stable"},
base_feature: "none",
},
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -1791,6 +1791,11 @@ config("default_warnings") {
@@ -1845,6 +1845,11 @@ config("default_warnings") {
# TODO(crbug.com/1412713) Evaluate and possibly enable.
"-Wno-deprecated-this-capture",
]
@@ -56,6 +56,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../one_time_permissions_tracker.cc | 33 +++++++-
.../one_time_permissions_tracker.h | 5 +-
.../one_time_permissions_tracker_factory.cc | 2 +-
.../embedded_permission_prompt_ask_view.cc | 2 +-
.../permission_prompt_bubble_base_view.cc | 2 +-
.../browser/content_autofill_driver.cc | 64 ++++++++-------
.../content/browser/content_autofill_driver.h | 2 +-
@@ -90,7 +91,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/permissions/permission_request.h | 16 +++-
.../permissions/permission_request_manager.cc | 45 +++++++----
.../permissions/permission_request_manager.h | 11 ++-
38 files changed, 546 insertions(+), 91 deletions(-)
39 files changed, 547 insertions(+), 92 deletions(-)
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
@@ -142,8 +143,8 @@ diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/br
diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome/browser/permissions/one_time_permissions_tracker.cc
--- a/chrome/browser/permissions/one_time_permissions_tracker.cc
+++ b/chrome/browser/permissions/one_time_permissions_tracker.cc
@@ -18,8 +18,34 @@
#include "components/permissions/features.h"
@@ -19,8 +19,34 @@
#include "components/permissions/permission_context_base.h"
#include "content/public/browser/visibility.h"
#include "url/gurl.h"
+#include "components/content_settings/core/browser/host_content_settings_map.h"
@@ -178,7 +179,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome
OneTimePermissionsTracker::~OneTimePermissionsTracker() = default;
OneTimePermissionsTracker::OriginTrackEntry::OriginTrackEntry() = default;
@@ -93,6 +119,11 @@ void OneTimePermissionsTracker::WebContentsUnloadedOrigin(
@@ -108,6 +134,11 @@ void OneTimePermissionsTracker::WebContentsUnloadedOrigin(
observer.OnLastPageFromOriginClosed(origin);
}
}
@@ -210,7 +211,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/
~OneTimePermissionsTracker() override;
OneTimePermissionsTracker(const OneTimePermissionsTracker&) = delete;
@@ -127,7 +128,7 @@ class OneTimePermissionsTracker : public KeyedService {
@@ -136,7 +137,7 @@ class OneTimePermissionsTracker : public KeyedService {
base::ObserverList<OneTimePermissionsTrackerObserver> observer_list_;
std::map<url::Origin, OriginTrackEntry> origin_tracker_;
@@ -229,22 +230,34 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
- return std::make_unique<OneTimePermissionsTracker>();
+ return std::make_unique<OneTimePermissionsTracker>(context);
}
diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc b/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
--- a/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
+++ b/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
@@ -34,7 +34,7 @@ void EmbeddedPermissionPromptAskView::RunButtonCallback(int button_id) {
if (delegate()) {
if (button == ButtonType::kAllowThisTime) {
- delegate()->AcceptThisTime();
+ delegate()->AcceptThisTime(content_settings::LifetimeMode::OnlyThisTime);
} else if (button == ButtonType::kAllow) {
delegate()->Accept();
}
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
@@ -345,7 +345,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallbacks(
@@ -263,7 +263,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
return;
case PermissionDialogButton::kAcceptOnce:
RecordDecision(permissions::PermissionAction::GRANTED_ONCE);
- delegate_->AcceptThisTime();
+ delegate_->AcceptThisTime(content_settings::LifetimeMode::Always);
+ delegate_->AcceptThisTime(content_settings::LifetimeMode::OnlyThisTime);
return;
case PermissionDialogButton::kDeny:
RecordDecision(permissions::PermissionAction::DENIED);
diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc
--- a/components/autofill/content/browser/content_autofill_driver.cc
+++ b/components/autofill/content/browser/content_autofill_driver.cc
@@ -426,8 +426,8 @@ void ContentAutofillDriver::FormsSeen(
@@ -412,8 +412,8 @@ void ContentAutofillDriver::FormsSeen(
const std::vector<FormGlobalId>& removed_forms) {
target->GetAutofillManager().OnFormsSeen(
WithNewVersion(updated_forms), removed_forms);
@@ -255,7 +268,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(updated_forms), removed_forms);
}
});
@@ -457,8 +457,8 @@ void ContentAutofillDriver::FormSubmitted(
@@ -443,8 +443,8 @@ void ContentAutofillDriver::FormSubmitted(
}
target->GetAutofillManager().OnFormSubmitted(
WithNewVersion(form), known_success, submission_source);
@@ -266,7 +279,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), known_success, submission_source);
}
});
@@ -482,8 +482,8 @@ void ContentAutofillDriver::TextFieldDidChange(const FormData& raw_form,
@@ -468,8 +468,8 @@ void ContentAutofillDriver::TextFieldDidChange(const FormData& raw_form,
base::TimeTicks timestamp) {
target->GetAutofillManager().OnTextFieldDidChange(
WithNewVersion(form), field, bounding_box, timestamp);
@@ -277,7 +290,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), field, bounding_box, timestamp);
}
});
@@ -505,8 +505,8 @@ void ContentAutofillDriver::TextFieldDidScroll(const FormData& raw_form,
@@ -491,8 +491,8 @@ void ContentAutofillDriver::TextFieldDidScroll(const FormData& raw_form,
const FormFieldData& field, const gfx::RectF& bounding_box) {
target->GetAutofillManager().OnTextFieldDidScroll(WithNewVersion(form),
field, bounding_box);
@@ -288,7 +301,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), field, bounding_box);
}
});
@@ -529,8 +529,8 @@ void ContentAutofillDriver::SelectControlDidChange(
@@ -515,8 +515,8 @@ void ContentAutofillDriver::SelectControlDidChange(
const FormFieldData& field, const gfx::RectF& bounding_box) {
target->GetAutofillManager().OnSelectControlDidChange(
WithNewVersion(form), field, bounding_box);
@@ -299,7 +312,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), field, bounding_box);
}
});
@@ -555,8 +555,8 @@ void ContentAutofillDriver::AskForValuesToFill(
@@ -541,8 +541,8 @@ void ContentAutofillDriver::AskForValuesToFill(
AutofillSuggestionTriggerSource trigger_source) {
target->GetAutofillManager().OnAskForValuesToFill(
WithNewVersion(form), field, bounding_box, trigger_source);
@@ -310,7 +323,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), field, bounding_box, trigger_source);
}
});
@@ -570,8 +570,8 @@ void ContentAutofillDriver::HidePopup() {
@@ -556,8 +556,8 @@ void ContentAutofillDriver::HidePopup() {
DCHECK(!target->IsPrerendering())
<< "We should never affect UI while prerendering";
target->GetAutofillManager().OnHidePopup();
@@ -321,7 +334,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
});
}
@@ -583,8 +583,8 @@ void ContentAutofillDriver::FocusNoLongerOnForm(bool had_interacted_form) {
@@ -569,8 +569,8 @@ void ContentAutofillDriver::FocusNoLongerOnForm(bool had_interacted_form) {
this, had_interacted_form,
[](autofill::AutofillDriver* target, bool had_interacted_form) {
target->GetAutofillManager().OnFocusNoLongerOnForm(had_interacted_form);
@@ -332,7 +345,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
});
}
@@ -604,15 +604,15 @@ void ContentAutofillDriver::FocusOnFormField(const FormData& raw_form,
@@ -590,15 +590,15 @@ void ContentAutofillDriver::FocusOnFormField(const FormData& raw_form,
const FormFieldData& field, const gfx::RectF& bounding_box) {
target->GetAutofillManager().OnFocusOnFormField(WithNewVersion(form),
field, bounding_box);
@@ -352,7 +365,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
}
});
}
@@ -628,8 +628,8 @@ void ContentAutofillDriver::DidFillAutofillFormData(const FormData& raw_form,
@@ -614,8 +614,8 @@ void ContentAutofillDriver::DidFillAutofillFormData(const FormData& raw_form,
base::TimeTicks timestamp) {
target->GetAutofillManager().OnDidFillAutofillFormData(
WithNewVersion(form), timestamp);
@@ -363,7 +376,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), timestamp);
}
});
@@ -641,8 +641,8 @@ void ContentAutofillDriver::DidEndTextFieldEditing() {
@@ -627,8 +627,8 @@ void ContentAutofillDriver::DidEndTextFieldEditing() {
}
router().DidEndTextFieldEditing(this, [](autofill::AutofillDriver* target) {
target->GetAutofillManager().OnDidEndTextFieldEditing();
@@ -374,7 +387,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
});
}
@@ -657,8 +657,8 @@ void ContentAutofillDriver::SelectOrSelectListFieldOptionsDidChange(
@@ -643,8 +643,8 @@ void ContentAutofillDriver::SelectOrSelectListFieldOptionsDidChange(
cast(target)
->GetAutofillManager()
.OnSelectOrSelectListFieldOptionsDidChange(WithNewVersion(form));
@@ -385,7 +398,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form));
}
});
@@ -680,8 +680,8 @@ void ContentAutofillDriver::JavaScriptChangedAutofilledValue(
@@ -666,8 +666,8 @@ void ContentAutofillDriver::JavaScriptChangedAutofilledValue(
const FormFieldData& field, const std::u16string& old_value) {
target->GetAutofillManager().OnJavaScriptChangedAutofilledValue(
WithNewVersion(form), field, old_value);
@@ -396,7 +409,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
WithNewVersion(form), field, old_value);
}
});
@@ -696,8 +696,8 @@ void ContentAutofillDriver::OnContextMenuShownInField(
@@ -682,8 +682,8 @@ void ContentAutofillDriver::OnContextMenuShownInField(
const FieldGlobalId& field_global_id) {
target->GetAutofillManager().OnContextMenuShownInField(form_global_id,
field_global_id);
@@ -407,7 +420,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
});
}
@@ -722,6 +722,10 @@ ContentAutofillDriver::GetAutofillAgent() {
@@ -708,6 +708,10 @@ ContentAutofillDriver::GetAutofillAgent() {
return autofill_agent_;
}
@@ -421,7 +434,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
diff --git a/components/autofill/content/browser/content_autofill_driver.h b/components/autofill/content/browser/content_autofill_driver.h
--- a/components/autofill/content/browser/content_autofill_driver.h
+++ b/components/autofill/content/browser/content_autofill_driver.h
@@ -131,7 +131,7 @@ class ContentAutofillDriver : public AutofillDriver,
@@ -132,7 +132,7 @@ class ContentAutofillDriver : public AutofillDriver,
autofill_manager_ = std::move(autofill_manager);
secondary_autofill_manager_ = std::move(secondary_autofill_manager);
}
@@ -453,27 +466,24 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
import java.io.Serializable;
@@ -20,19 +21,30 @@ public class PermissionInfo implements Serializable {
@@ -20,9 +21,15 @@ public class PermissionInfo implements Serializable {
private final String mEmbedder;
private final String mOrigin;
private final @ContentSettingsType int mContentSettingsType;
+ private final @SessionModel int mSessionModel;
public PermissionInfo(@ContentSettingsType int type, String origin, String embedder) {
this(type, origin, embedder, false);
}
+
+ public PermissionInfo(@ContentSettingsType int type, String origin, String embedder, boolean isEmbargoed) {
+ this(type, origin, embedder, isEmbargoed, 0);
+ }
+
public PermissionInfo(
- @ContentSettingsType int type, String origin, String embedder, boolean isEmbargoed) {
+ @ContentSettingsType int type, String origin, String embedder, boolean isEmbargoed,
+ @SessionModel int sessionModel) {
assert WebsitePermissionsFetcher.getPermissionsType(type)
== WebsitePermissionsFetcher.WebsitePermissionsType.PERMISSION_INFO;
mOrigin = origin;
== WebsitePermissionsFetcher.WebsitePermissionsType.PERMISSION_INFO
: "invalid type: "
@@ -31,6 +38,11 @@ public class PermissionInfo implements Serializable {
mEmbedder = embedder;
mContentSettingsType = type;
mIsEmbargoed = isEmbargoed;
@@ -496,7 +506,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
import org.chromium.components.embedder_support.util.Origin;
import org.chromium.content_public.browser.BrowserContextHandle;
@@ -542,6 +543,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -558,6 +559,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
}
}
@@ -508,7 +518,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private void setUpClearDataPreference() {
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
long usage = mSite.getTotalUsage();
@@ -971,6 +977,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -1024,6 +1030,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
if (contentType == mHighlightedPermission) {
switchPreference.setBackgroundColor(mHighlightColor);
}
@@ -598,7 +608,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
diff --git a/components/content_settings/android/BUILD.gn b/components/content_settings/android/BUILD.gn
--- a/components/content_settings/android/BUILD.gn
+++ b/components/content_settings/android/BUILD.gn
@@ -59,6 +59,7 @@ java_cpp_enum("content_settings_enums_javagen") {
@@ -60,6 +60,7 @@ java_cpp_enum("content_settings_enums_javagen") {
"../core/common/cookie_controls_breakage_confidence_level.h",
"../core/common/cookie_controls_enforcement.h",
"../core/common/cookie_controls_status.h",
@@ -757,7 +767,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc
--- a/components/page_info/android/page_info_controller_android.cc
+++ b/components/page_info/android/page_info_controller_android.cc
@@ -148,6 +148,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -154,6 +154,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
std::map<ContentSettingsType, ContentSetting>
user_specified_settings_to_display;
@@ -766,7 +776,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
for (const auto& permission : permission_info_list) {
if (base::Contains(permissions_to_display, permission.type)) {
@@ -156,6 +158,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -162,6 +164,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
if (setting_to_display) {
user_specified_settings_to_display[permission.type] =
*setting_to_display;
@@ -775,7 +785,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
}
}
@@ -172,7 +176,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -178,7 +182,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
ConvertUTF16ToJavaString(env, setting_title),
ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
static_cast<jint>(permission),
@@ -785,7 +795,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
}
@@ -185,7 +190,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -191,7 +196,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title),
ConvertUTF16ToJavaString(env, object_title),
static_cast<jint>(chosen_object->ui_info->content_settings_type),
@@ -798,7 +808,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -1177,6 +1177,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
@@ -1184,6 +1184,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
permission_info.source = info.source;
permission_info.is_one_time = (info.metadata.session_model() ==
content_settings::SessionModel::OneTime);
@@ -829,7 +839,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
/**
* Delegate class for modal permission dialogs. Contains all of the data displayed in a prompt,
@@ -43,6 +44,9 @@ public class PermissionDialogDelegate {
@@ -46,6 +47,9 @@ public class PermissionDialogDelegate {
/** The {@link ContentSettingsType}s requested in this dialog. */
private int[] mContentSettingsTypes;
@@ -839,7 +849,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
public WindowAndroid getWindow() {
return mWindow;
}
@@ -72,6 +76,15 @@ public class PermissionDialogDelegate {
@@ -79,6 +83,15 @@ public class PermissionDialogDelegate {
PermissionDialogDelegateJni.get().accept(mNativeDelegatePtr, PermissionDialogDelegate.this);
}
@@ -876,16 +886,16 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
/**
* This class creates the model for permission dialog.
*/
@@ -34,7 +45,7 @@ class PermissionDialogModel {
TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(
messageTextView, delegate.getDrawableId(), 0, 0, 0);
@@ -41,7 +52,7 @@ class PermissionDialogModel {
secondaryTextView.setVisibility(View.VISIBLE);
}
- return new PropertyModel.Builder(ModalDialogProperties.ALL_KEYS)
+ PropertyModel pm = new PropertyModel.Builder(ModalDialogProperties.ALL_KEYS)
.with(ModalDialogProperties.CONTROLLER, controller)
.with(ModalDialogProperties.FOCUS_DIALOG, true)
.with(ModalDialogProperties.CUSTOM_VIEW, customView)
@@ -46,6 +57,74 @@ class PermissionDialogModel {
@@ -53,6 +64,74 @@ class PermissionDialogModel {
.with(ModalDialogProperties.BUTTON_TAP_PROTECTION_PERIOD_MS,
UiUtils.PROMPT_INPUT_PROTECTION_SHORT_DELAY_MS)
.build();
@@ -963,7 +973,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
--- a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
+++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
@@ -67,6 +67,11 @@ void PermissionDialogJavaDelegate::DismissDialog() {
@@ -68,6 +68,11 @@ void PermissionDialogJavaDelegate::DismissDialog() {
Java_PermissionDialogDelegate_dismissFromNative(env, j_delegate_);
}
@@ -975,7 +985,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
// static
void PermissionDialogDelegate::Create(
content::WebContents* web_contents,
@@ -95,12 +100,26 @@ PermissionDialogDelegate* PermissionDialogDelegate::CreateForTesting(
@@ -96,12 +101,26 @@ PermissionDialogDelegate* PermissionDialogDelegate::CreateForTesting(
void PermissionDialogDelegate::Accept(JNIEnv* env,
const JavaParamRef<jobject>& obj) {
DCHECK(permission_prompt_);
@@ -1016,7 +1026,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.cc b/components/permissions/android/permission_prompt/permission_prompt_android.cc
--- a/components/permissions/android/permission_prompt/permission_prompt_android.cc
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc
@@ -46,6 +46,14 @@ void PermissionPromptAndroid::Accept() {
@@ -47,6 +47,14 @@ void PermissionPromptAndroid::Accept() {
delegate_->Accept();
}
@@ -1205,7 +1215,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc
--- a/components/permissions/permission_context_base.cc
+++ b/components/permissions/permission_context_base.cc
@@ -257,6 +257,16 @@ PermissionContextBase::CreatePermissionRequest(
@@ -262,6 +262,16 @@ PermissionContextBase::CreatePermissionRequest(
std::move(delete_callback));
}
@@ -1222,7 +1232,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
content::PermissionResult PermissionContextBase::GetPermissionStatus(
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
@@ -466,7 +476,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
@@ -506,7 +516,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time,
@@ -1232,7 +1242,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
content_setting == CONTENT_SETTING_BLOCK ||
content_setting == CONTENT_SETTING_DEFAULT);
@@ -481,13 +492,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
@@ -521,13 +532,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
// missing if a permission prompt was preignored and we already notified an
// origin about it.
if (request->second.second) {
@@ -1251,7 +1261,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
}
@@ -539,11 +551,27 @@ void PermissionContextBase::NotifyPermissionSet(
@@ -573,11 +585,27 @@ void PermissionContextBase::NotifyPermissionSet(
ContentSetting content_setting,
bool is_one_time,
bool is_final_decision) {
@@ -1280,7 +1290,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
if (is_final_decision) {
@@ -573,6 +601,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
@@ -607,6 +635,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time) {
@@ -1296,7 +1306,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL());
DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL());
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
@@ -582,6 +619,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
@@ -616,6 +653,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
constraints.set_session_model(is_one_time
? content_settings::SessionModel::OneTime
: content_settings::SessionModel::Durable);
@@ -1308,7 +1318,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h
--- a/components/permissions/permission_context_base.h
+++ b/components/permissions/permission_context_base.h
@@ -143,6 +143,15 @@ class PermissionContextBase : public content_settings::Observer {
@@ -149,6 +149,15 @@ class PermissionContextBase : public content_settings::Observer {
// Updates stored content setting if persist is set, updates tab indicators
// and runs the callback to finish the request.
@@ -1324,7 +1334,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void NotifyPermissionSet(const PermissionRequestID& id,
const GURL& requesting_origin,
const GURL& embedding_origin,
@@ -164,6 +173,11 @@ class PermissionContextBase : public content_settings::Observer {
@@ -170,6 +179,11 @@ class PermissionContextBase : public content_settings::Observer {
// Store the decided permission as a content setting.
// virtual since the permission might be stored with different restrictions
// (for example for desktop notifications).
@@ -1336,7 +1346,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
@@ -194,6 +208,12 @@ class PermissionContextBase : public content_settings::Observer {
@@ -200,6 +214,12 @@ class PermissionContextBase : public content_settings::Observer {
PermissionRequest::PermissionDecidedCallback permission_decided_callback,
base::OnceClosure delete_callback) const;
@@ -1349,7 +1359,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
base::ObserverList<permissions::Observer> permission_observers_;
// Set by subclasses to inform the base class that they will handle adding
@@ -216,7 +236,8 @@ class PermissionContextBase : public content_settings::Observer {
@@ -222,7 +242,8 @@ class PermissionContextBase : public content_settings::Observer {
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time,
@@ -1357,8 +1367,8 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
+ bool is_final_decision,
+ content_settings::LifetimeMode lifetime_option);
raw_ptr<content::BrowserContext> browser_context_;
const ContentSettingsType content_settings_type_;
void NotifyObservers(const ContentSettingsPattern& primary_pattern,
const ContentSettingsPattern& secondary_pattern,
diff --git a/components/permissions/permission_prompt.h b/components/permissions/permission_prompt.h
--- a/components/permissions/permission_prompt.h
+++ b/components/permissions/permission_prompt.h
@@ -1376,7 +1386,7 @@ diff --git a/components/permissions/permission_prompt.h b/components/permissions
diff --git a/components/permissions/permission_request.cc b/components/permissions/permission_request.cc
--- a/components/permissions/permission_request.cc
+++ b/components/permissions/permission_request.cc
@@ -35,6 +35,14 @@ PermissionRequest::PermissionRequest(
@@ -37,6 +37,14 @@ PermissionRequest::PermissionRequest(
permission_decided_callback_(std::move(permission_decided_callback)),
delete_callback_(std::move(delete_callback)) {}
@@ -1391,7 +1401,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
PermissionRequest::~PermissionRequest() {
DCHECK(delete_callback_.is_null());
}
@@ -274,19 +282,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
@@ -276,19 +284,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
permissions::features::kPermissionStorageAccessAPI);
}
@@ -1470,7 +1480,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
// Called when the user has cancelled the permission request. This
// corresponds to a denial, but is segregated in case the context needs to
@@ -170,6 +179,9 @@ class PermissionRequest {
@@ -174,6 +183,9 @@ class PermissionRequest {
// Called once a decision is made about the permission.
PermissionDecidedCallback permission_decided_callback_;
@@ -1555,7 +1565,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
NotifyRequestDecided(PermissionAction::DENIED);
@@ -1162,32 +1173,32 @@ PermissionRequestManager::VisitDuplicateRequests(
@@ -1165,32 +1176,32 @@ PermissionRequestManager::VisitDuplicateRequests(
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request,
@@ -1598,12 +1608,12 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request);
}
@@ -1436,7 +1447,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
@@ -1439,7 +1450,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
void PermissionRequestManager::DoAutoResponseForTesting() {
switch (auto_response_for_test_) {
case ACCEPT_ONCE:
- AcceptThisTime();
+ AcceptThisTime(content_settings::LifetimeMode::Always);
+ AcceptThisTime(content_settings::LifetimeMode::OnlyThisTime);
break;
case ACCEPT_ALL:
Accept();
@@ -4,30 +4,29 @@ Subject: Add menu item to bookmark all tabs
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/menu/main_menu.xml | 7 +++
.../chrome/browser/ChromeTabbedActivity.java | 24 ++++++++
.../browser/bookmarks/BookmarkBridge.java | 61 +++++++++++++++++++
.../browser/bookmarks/BookmarkUtils.java | 4 ++
.../bookmarks/android/bookmark_bridge.cc | 19 +++++-
.../bookmarks/android/bookmark_bridge.h | 4 ++
chrome/android/java/res/menu/main_menu.xml | 7 ++
.../chrome/browser/ChromeTabbedActivity.java | 24 +++++++
.../browser/bookmarks/BookmarkBridge.java | 64 +++++++++++++++++++
.../bookmarks/android/bookmark_bridge.cc | 43 +++++++++++++
.../bookmarks/android/bookmark_bridge.h | 8 +++
.../browser/bookmarks/bookmark_html_writer.cc | 8 ++-
.../bookmarks/chrome_bookmark_client.cc | 2 +
.../dialogs/DownloadLocationCustomView.java | 4 +-
.../strings/android_chrome_strings.grd | 3 +
components/bookmark_bar_strings.grdp | 6 ++
.../bookmarks/browser/bookmark_codec.cc | 22 +++++--
components/bookmarks/browser/bookmark_codec.h | 7 ++-
components/bookmarks/browser/bookmark_codec.h | 7 +-
.../browser/bookmark_load_details.cc | 4 ++
.../bookmarks/browser/bookmark_load_details.h | 3 +
.../bookmarks/browser/bookmark_model.cc | 3 +-
components/bookmarks/browser/bookmark_model.h | 7 +++
components/bookmarks/browser/bookmark_model.h | 7 ++
components/bookmarks/browser/bookmark_node.cc | 11 ++++
components/bookmarks/browser/bookmark_node.h | 4 ++
.../bookmarks/browser/bookmark_uuids.cc | 3 +
components/bookmarks/browser/bookmark_uuids.h | 1 +
components/bookmarks/browser/model_loader.cc | 3 +-
.../bookmark_specifics_conversions.cc | 1 +
23 files changed, 200 insertions(+), 11 deletions(-)
22 files changed, 228 insertions(+), 10 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
@@ -56,7 +55,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
@@ -81,6 +81,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
@@ -84,6 +84,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -64,7 +63,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
@@ -2226,6 +2227,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2294,6 +2295,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
getTabModelSelectorSupplier().get(),
() -> getTabModelSelector().closeAllTabs());
RecordUserAction.record("MobileMenuCloseAllTabs");
@@ -73,7 +72,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
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
@@ -2291,6 +2294,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2359,6 +2362,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
}
@@ -123,17 +122,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkItem;
import org.chromium.components.bookmarks.BookmarkType;
@@ -82,6 +87,8 @@ import java.io.File;
* bookmark model stored in native.
*/
@@ -83,6 +88,8 @@ import java.io.File;
class BookmarkBridge {
private final ObserverList<BookmarkModelObserver> mObservers = new ObserverList<>();
+ private static final String TAG = "BookmarkBridge";
+
private long mNativeBookmarkBridge;
private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges;
@@ -377,6 +384,16 @@ class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this);
@@ -375,6 +382,16 @@ class BookmarkBridge {
return mMobileFolderId;
}
+ /**
@@ -149,14 +148,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Id representing the special "other" folder from bookmark model.
*/
@@ -1012,6 +1029,49 @@ class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
@@ -1008,6 +1025,50 @@ class BookmarkBridge {
return BookmarkBridgeJni.get().addToReadingList(mNativeBookmarkBridge, title, url);
}
+ // Used to bookmark all tabs in a specific folder, created if not existing
+ public BookmarkId addToTabsCollection(Context context, Tab tab) {
+ BookmarkId parent = getTabsCollectionFolderId();
+ BookmarkId existingId = getUserBookmarkIdForTab(tab);
+ BookmarkId existingId = BookmarkBridgeJni.get().getBookmarkIdForTabsCollection(
+ mNativeBookmarkBridge, tab.getOriginalUrl());
+ if (existingId != null && existingId.getId() != BookmarkId.INVALID_ID) {
+ BookmarkId existingBookmarkId = new BookmarkId(existingId.getId(), BookmarkType.NORMAL);
+ BookmarkItem existingBookmark = getBookmarkById(existingBookmarkId);
@@ -199,58 +199,71 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @param url The URL of the reading list item.
* @return The reading list item with the URL, or null if no such reading list item.
@@ -1232,6 +1292,7 @@ class BookmarkBridge {
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
List<BookmarkId> folderList, List<Integer> depthList);
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
@@ -1221,12 +1282,15 @@ class BookmarkBridge {
void getImageUrlForBookmark(long nativeBookmarkBridge, GURL url, Callback<GURL> callback);
BookmarkId getBookmarkIdForWebContents(
long nativeBookmarkBridge, WebContents webContents, boolean onlyEditable);
+ BookmarkId getBookmarkIdForTabsCollection(
+ long nativeBookmarkBridge, GURL url);
BookmarkItem getBookmarkById(long nativeBookmarkBridge, long id, int type);
void getTopLevelFolderIds(long nativeBookmarkBridge, List<BookmarkId> bookmarksList);
BookmarkId getReadingListFolder(long nativeBookmarkBridge);
void getAllFoldersWithDepths(
long nativeBookmarkBridge, List<BookmarkId> folderList, List<Integer> depthList);
BookmarkId getRootFolderId(long nativeBookmarkBridge);
+ BookmarkId getTabsCollectionFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
BookmarkId getMobileFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
BookmarkId getOtherFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
BookmarkId getDesktopFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
@@ -615,6 +615,7 @@ public class BookmarkUtils {
List<BookmarkId> topLevelFolders = new ArrayList<>();
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
+ BookmarkId tabsCollectionNodeId = bookmarkModel.getTabsCollectionFolderId();
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
List<BookmarkId> specialFoldersIds =
@@ -640,6 +641,9 @@ public class BookmarkUtils {
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
topLevelFolders.add(mobileNodeId);
}
+ if (bookmarkModel.isFolderVisible(tabsCollectionNodeId)) {
+ topLevelFolders.add(tabsCollectionNodeId);
+ }
if (bookmarkModel.isFolderVisible(desktopNodeId)) {
topLevelFolders.add(desktopNodeId);
}
BookmarkId getMobileFolderId(long nativeBookmarkBridge);
BookmarkId getOtherFolderId(long nativeBookmarkBridge);
BookmarkId getDesktopFolderId(long nativeBookmarkBridge);
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -470,12 +470,17 @@ void BookmarkBridge::GetTopLevelFolderIds(
std::size_t special_count = top_level_folders.size();
@@ -330,6 +330,33 @@ void BookmarkBridge::GetImageUrlForBookmark(
base::BindOnce(&HandleImageUrlResponse, callback));
}
if (get_normal) {
- DCHECK_EQ(4u, bookmark_model_->root_node()->children().size());
+ DCHECK_EQ(5u, bookmark_model_->root_node()->children().size());
for (const auto& node : bookmark_model_->mobile_node()->children()) {
if (node->is_folder())
top_level_folders.push_back(node.get());
}
+ for (const auto& node : bookmark_model_->tabs_collection_node()->children()) {
+ if (node->is_folder())
+ top_level_folders.push_back(node.get());
+ }
+base::android::ScopedJavaLocalRef<jobject>
+BookmarkBridge::GetBookmarkIdForTabsCollection(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& url) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+
for (const auto& node : bookmark_model_->bookmark_bar_node()->children()) {
if (node->is_folder())
top_level_folders.push_back(node.get());
@@ -523,6 +528,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
+ GURL gurl = *url::GURLAndroid::ToNativeGURL(env, url);
+
+ bookmarks::BookmarkModel* model =
+ BookmarkModelFactory::GetForBrowserContext(profile_);
+
+ std::vector<const bookmarks::BookmarkNode*> nodes =
+ model->GetNodesByURL(gurl);
+ std::sort(nodes.begin(), nodes.end(), &bookmarks::MoreRecentlyAdded);
+
+ for (const auto* node : nodes) {
+ for (const auto& child : model->tabs_collection_node()->children()) {
+ if (node->id() == child->id()) {
+ return JavaBookmarkIdCreateBookmarkId(env, node->id(),
+ GetBookmarkType(node));
+ }
+ }
+ }
+
+ return nullptr;
+}
+
base::android::ScopedJavaLocalRef<jobject>
BookmarkBridge::GetBookmarkIdForWebContents(
JNIEnv* env,
@@ -436,6 +463,10 @@ void BookmarkBridge::GetTopLevelFolderIds(
}
top_level_folders.push_back(root_child.get());
}
+ for (const auto& node : bookmark_model_->tabs_collection_node()->children()) {
+ if (node->is_folder())
+ top_level_folders.push_back(node.get());
+ }
if (managed_bookmark_service_->managed_node() &&
!managed_bookmark_service_->managed_node()->children().empty()) {
@@ -479,6 +510,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
// Vector to temporarily contain all child bookmarks at same level for sorting
std::vector<const BookmarkNode*> bookmarks = {
bookmark_model_->mobile_node(),
@@ -258,8 +271,8 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
bookmark_model_->bookmark_bar_node(),
bookmark_model_->other_node(),
};
@@ -575,6 +581,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
return folder_id_obj;
@@ -1051,6 +1083,17 @@ void BookmarkBridge::GetBookmarksOfType(
}
}
+ScopedJavaLocalRef<jobject> BookmarkBridge::GetTabsCollectionFolderId(
@@ -273,23 +286,34 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+ return folder_id_obj;
+}
+
ScopedJavaLocalRef<jobject> BookmarkBridge::GetOtherFolderId(
ScopedJavaLocalRef<jobject> BookmarkBridge::AddFolder(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
const JavaParamRef<jobject>& j_parent_id_obj,
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h
--- a/chrome/browser/bookmarks/android/bookmark_bridge.h
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.h
@@ -133,6 +133,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -69,6 +69,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
const base::android::JavaParamRef<jobject>& j_url,
const base::android::JavaParamRef<jobject>& j_callback);
+ base::android::ScopedJavaLocalRef<jobject> GetBookmarkIdForTabsCollection(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& url);
+
base::android::ScopedJavaLocalRef<jobject> GetBookmarkIdForWebContents(
JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
@@ -205,6 +209,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
const base::android::JavaParamRef<jobject>& j_list,
jint type);
+ base::android::ScopedJavaLocalRef<jobject> GetTabsCollectionFolderId(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& obj);
+
base::android::ScopedJavaLocalRef<jobject> GetOtherFolderId(
base::android::ScopedJavaLocalRef<jobject> AddFolder(
JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
const base::android::JavaParamRef<jobject>& j_parent_id_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
@@ -359,7 +383,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
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
@@ -3948,6 +3948,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3989,6 +3989,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
Select tabs
</message>
@@ -571,30 +595,30 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
BookmarkPermanentNode* other_folder_node() { return other_folder_node_; }
+ BookmarkPermanentNode* tabs_collection_folder_node() { return tabs_collection_folder_node_; }
TitledUrlIndex* index() { return index_.get(); }
std::unique_ptr<TitledUrlIndex> owned_index() { return std::move(index_); }
@@ -112,6 +113,8 @@ class BookmarkLoadDetails {
std::unique_ptr<TitledUrlIndex> owned_titled_url_index() {
return std::move(titled_url_index_);
@@ -119,6 +120,8 @@ class BookmarkLoadDetails {
nullptr;
raw_ptr<BookmarkPermanentNode, DanglingUntriaged> mobile_folder_node_ =
nullptr;
+ raw_ptr<BookmarkPermanentNode, DanglingUntriaged> tabs_collection_folder_node_ =
+ nullptr;
LoadManagedNodeCallback load_managed_node_callback_;
std::unique_ptr<TitledUrlIndex> index_;
BookmarkNode::MetaInfoMap model_meta_info_map_;
std::unique_ptr<TitledUrlIndex> titled_url_index_;
UuidIndex uuid_index_;
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
--- a/components/bookmarks/browser/bookmark_model.cc
+++ b/components/bookmarks/browser/bookmark_model.cc
@@ -826,7 +826,7 @@ bool BookmarkModel::HasBookmarks() {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
@@ -845,7 +845,7 @@ bool BookmarkModel::HasBookmarks() const {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() &&
- other_node_->children().empty() && mobile_node_->children().empty();
+ other_node_->children().empty() && mobile_node_->children().empty() && tabs_collection_node_->children().empty();
}
bool BookmarkModel::IsBookmarked(const GURL& url) {
@@ -1132,6 +1132,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
bool BookmarkModel::IsBookmarked(const GURL& url) const {
@@ -1155,6 +1155,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
bookmark_bar_node_ = details->bb_node();
other_node_ = details->other_folder_node();
mobile_node_ = details->mobile_folder_node();
@@ -605,7 +629,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h
--- a/components/bookmarks/browser/bookmark_model.h
+++ b/components/bookmarks/browser/bookmark_model.h
@@ -131,6 +131,12 @@ class BookmarkModel final : public BookmarkUndoProvider,
@@ -132,6 +132,12 @@ class BookmarkModel final : public BookmarkUndoProvider,
return mobile_node_;
}
@@ -618,7 +642,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
bool is_root_node(const BookmarkNode* node) const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return node == root_;
@@ -489,6 +495,7 @@ class BookmarkModel final : public BookmarkUndoProvider,
@@ -495,6 +501,7 @@ class BookmarkModel final : public BookmarkUndoProvider,
nullptr;
raw_ptr<BookmarkPermanentNode, AcrossTasksDanglingUntriaged> mobile_node_ =
nullptr;
@@ -695,7 +719,7 @@ diff --git a/components/bookmarks/browser/bookmark_uuids.h b/components/bookmark
diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
--- a/components/bookmarks/browser/model_loader.cc
+++ b/components/bookmarks/browser/model_loader.cc
@@ -60,7 +60,8 @@ void LoadBookmarks(const base::FilePath& path,
@@ -45,7 +45,8 @@ void LoadBookmarks(const base::FilePath& path,
std::string sync_metadata_str;
BookmarkCodec codec;
codec.Decode(*root_dict, details->bb_node(), details->other_folder_node(),
@@ -42,7 +42,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
@@ -2251,6 +2251,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2319,6 +2319,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -2537,6 +2537,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2519,6 +2519,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return doOpenWebApk(currentTab);
}
@@ -22,8 +22,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
@@ -61,6 +61,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
return new ReaderForAccessibilityDelegate(mProfile);
@@ -94,6 +94,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
return new TextSizeContrastAccessibilityDelegate(getBrowserContextHandle());
}
+ private static class ForceTabletUIDelegate implements BooleanPreferenceDelegate {
@@ -51,7 +51,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
@@ -98,6 +98,7 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
@@ -100,6 +100,7 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
@@ -1417,7 +1418,9 @@ public class RootUiCoordinator
@@ -1438,7 +1439,9 @@ public class RootUiCoordinator
if (!mSupportsFindInPageSupplier.getAsBoolean()) return;
int stubId = R.id.find_toolbar_stub;
@@ -80,22 +80,22 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
+ public static final String FLAGS_FORCE_TABLET_UI_ENABLED = "force_tablet_ui_enabled";
/** Keys used to save settings related to homepage. */
public static final String HOMEPAGE_CUSTOM_URI = "homepage_custom_uri";
public static final String DEPRECATED_HOMEPAGE_CUSTOM_URI = "homepage_custom_uri";
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -62,6 +62,7 @@ public class LegacyChromePreferenceKeys {
@@ -64,6 +64,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.FLAGS_CACHED_START_SURFACE_ENABLED,
ChromePreferenceKeys.FLAGS_CACHED_TAB_GROUPS_ANDROID_ENABLED,
ChromePreferenceKeys.FONT_USER_FONT_SCALE_FACTOR,
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED,
ChromePreferenceKeys.FONT_USER_SET_FORCE_ENABLE_ZOOM,
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI,
ChromePreferenceKeys.HOMEPAGE_ENABLED,
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
@@ -690,7 +690,7 @@ public class LocationBarCoordinator
@@ -691,7 +691,7 @@ public class LocationBarCoordinator
}
private boolean isTabletWindow() {
@@ -107,8 +107,8 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
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
@@ -1730,6 +1730,13 @@ Your Google account may have other forms of browsing history like searches and a
Depending on your settings, Chrome may also send cookies and your current URL
@@ -1765,6 +1765,13 @@ Your Google account may have other forms of browsing history like searches and a
Protection from trackers (third-party cookies, IP tracking, invasive scripts, and more)
</message>
+ <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI.">
@@ -148,7 +148,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
disallowed_extension_deps_ = [
# Components should largely not depend on //extensions. Since // extensions
# is not a component target and is linked with //chrome, depending on most
@@ -753,7 +753,7 @@ test("components_unittests") {
@@ -817,7 +817,7 @@ test("components_unittests") {
# On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@@ -157,7 +157,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ]
assert_no_deps += disallowed_extension_deps_
}
@@ -1042,7 +1042,7 @@ if (use_blink) {
@@ -1103,7 +1103,7 @@ if (use_blink) {
# dependency. On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@@ -169,7 +169,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -31,6 +31,11 @@ found in the LICENSE file.
@@ -35,6 +35,11 @@ found in the LICENSE file.
android:summary="@string/reader_for_accessibility_summary"
android:title="@string/reader_for_accessibility_title" />
@@ -185,15 +185,15 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
@@ -33,6 +33,8 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
public static final String PREF_READER_FOR_ACCESSIBILITY = "reader_for_accessibility";
public static final String PREF_CAPTIONS = "captions";
public static final String PREF_ZOOM_INFO = "zoom_info";
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
private TextScalePreference mTextScalePref;
private PageZoomPreference mPageZoomDefaultZoomPref;
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
@@ -121,6 +123,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
@@ -117,6 +119,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
getPreferenceScreen().removePreference(readerForAccessibilityPref);
}
@@ -206,7 +206,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
Preference captions = findPreference(PREF_CAPTIONS);
captions.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(Settings.ACTION_CAPTIONING_SETTINGS);
@@ -167,6 +175,8 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
@@ -174,6 +182,8 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
@@ -218,9 +218,9 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
@@ -38,6 +38,8 @@ public interface AccessibilitySettingsDelegate {
@@ -60,6 +60,8 @@ public interface AccessibilitySettingsDelegate {
*/
BooleanPreferenceDelegate getReaderForAccessibilityDelegate();
IntegerPreferenceDelegate getTextSizeContrastAccessibilityDelegate();
+ BooleanPreferenceDelegate getForceTabletUIDelegate();
+
@@ -230,7 +230,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
--- a/ui/android/BUILD.gn
+++ b/ui/android/BUILD.gn
@@ -409,6 +409,8 @@ android_library("ui_no_recycler_view_java") {
@@ -411,6 +411,8 @@ android_library("ui_no_recycler_view_java") {
":ui_android_features_java",
":ui_java_resources",
":ui_utils_java",
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -55,6 +55,11 @@ found in the LICENSE file.
@@ -61,6 +61,11 @@ found in the LICENSE file.
android:title="@string/incognito_settings_title"
android:summary="@string/incognito_settings_summary"
android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
@@ -28,7 +28,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
@@ -39,6 +39,7 @@ import org.chromium.base.BuildInfo;
@@ -40,6 +40,7 @@ import org.chromium.base.BuildInfo;
import org.chromium.base.Callback;
import org.chromium.base.CallbackController;
import org.chromium.base.CommandLine;
@@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.base.IntentUtils;
import org.chromium.base.Log;
import org.chromium.base.MemoryPressureListener;
@@ -1257,8 +1258,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1307,8 +1308,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import android.os.Bundle;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
@@ -21,6 +22,8 @@ import androidx.preference.PreferenceFragmentCompat;
@@ -20,6 +21,8 @@ import androidx.preference.Preference;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
@@ -67,8 +67,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+import org.chromium.base.BuildInfo;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.enterprise.util.ManagedBrowserUtils;
import org.chromium.chrome.browser.feedback.FragmentHelpAndFeedbackLauncher;
@@ -92,6 +95,8 @@ public class PrivacySettings extends PreferenceFragmentCompat
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -88,6 +91,8 @@ public class PrivacySettings
private final SharedPreferencesManager mSharedPreferencesManager =
SharedPreferencesManager.getInstance();
@@ -76,8 +76,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher;
@@ -243,7 +248,11 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -244,7 +249,11 @@ public class PrivacySettings
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -87,10 +87,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ sharedPreferencesEditor.putBoolean(PREF_CLOSE_TABS_ON_EXIT, (boolean)newValue);
+ sharedPreferencesEditor.apply();
+ } else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
UserPrefs.get(mProfile).setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
UserPrefs.get(getProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
UserPrefs.get(mProfile).setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
@@ -286,6 +295,11 @@ public class PrivacySettings extends PreferenceFragmentCompat
@@ -291,6 +300,11 @@ public class PrivacySettings
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
}
@@ -105,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
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
@@ -4820,6 +4820,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4876,6 +4876,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
IMAGE
</message>
@@ -6,19 +6,19 @@ And allow use about:blank as default homepage
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../tab_management/TabGridDialogMediator.java | 7 ++++++-
.../tasks/tab_management/TabGroupUiMediator.java | 7 ++++++-
.../tab_management/TabGridDialogMediator.java | 9 ++++++++-
.../tasks/tab_management/TabGroupUiMediator.java | 8 +++++++-
.../java/res/xml/homepage_preferences.xml | 5 +++++
.../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++
.../homepage/settings/HomepageSettings.java | 12 ++++++++++++
.../chrome/browser/metrics/LaunchMetrics.java | 1 -
.../browser/tabmodel/ChromeTabCreator.java | 7 +++++++
.../browser/tabmodel/ChromeTabCreator.java | 8 ++++++++
.../preferences/ChromePreferenceKeys.java | 1 +
.../preferences/LegacyChromePreferenceKeys.java | 1 +
.../android/strings/android_chrome_strings.grd | 3 +++
chrome/browser/ui/browser_ui_prefs.cc | 2 ++
chrome/common/pref_names.h | 4 ++++
12 files changed, 63 insertions(+), 3 deletions(-)
12 files changed, 67 insertions(+), 3 deletions(-)
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
@@ -31,13 +31,22 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabCreationState;
import org.chromium.chrome.browser.tab.TabLaunchType;
@@ -565,9 +566,13 @@ public class TabGridDialogMediator
@@ -44,6 +45,7 @@ import org.chromium.ui.KeyboardVisibilityDelegate;
import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.text.EmptyTextWatcher;
+import org.chromium.url.GURL;
import java.util.ArrayList;
import java.util.List;
@@ -564,9 +566,14 @@ public class TabGridDialogMediator
assert relatedTabs.size() > 0;
+ String url = UrlConstants.NTP_URL;
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ url = HomepageManager.getInstance().getHomepageUri();
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
+ url = gurl != null ? gurl.getSpec() : url;
+ }
Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
mTabCreatorManager.getTabCreator(currentTab.isIncognito())
@@ -57,13 +66,14 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
import org.chromium.chrome.browser.layouts.LayoutType;
@@ -345,8 +346,12 @@ public class TabGroupUiMediator implements BackPressHandler {
@@ -345,8 +346,13 @@ public class TabGroupUiMediator implements BackPressHandler {
assert relatedTabs.size() > 0;
parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
+ String url = UrlConstants.NTP_URL;
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ url = HomepageManager.getInstance().getHomepageUri();
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
+ url = gurl != null ? gurl.getSpec() : url;
+ }
mTabCreatorManager.getTabCreator(currentTab.isIncognito())
- .createNewTab(new LoadUrlParams(UrlConstants.NTP_URL),
@@ -89,7 +99,7 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -228,6 +228,22 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
@@ -238,6 +238,22 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
notifyHomepageUpdated();
}
@@ -110,29 +120,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa
+ }
+
/**
* @return User specified homepage custom URI string.
* @return User specified homepage custom GURL.
*/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
@@ -22,6 +22,7 @@ import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.SettingsUtils;
@@ -22,6 +22,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.embedder_support.util.UrlUtilities;
import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.url.GURL;
+import org.chromium.components.embedder_support.util.UrlConstants;
/**
* Fragment that allows the user to configure homepage related preferences.
@@ -32,6 +33,8 @@ public class HomepageSettings extends PreferenceFragmentCompat {
@@ -32,6 +33,8 @@ public class HomepageSettings extends ChromeBaseSettingsFragment {
@VisibleForTesting
public static final String PREF_HOMEPAGE_RADIO_GROUP = "homepage_radio_group";
+ private static final String PREF_NTP_HOMEPAGE_SWITCH = "ntp_is_homepage_switch";
+
/**
* Delegate used to mark that the homepage is being managed.
* Created for {@link org.chromium.chrome.browser.settings.HomepagePreferences}
@@ -72,6 +75,15 @@ public class HomepageSettings extends PreferenceFragmentCompat {
private HomepageManager mHomepageManager;
private RadioButtonGroupHomepagePreference mRadioButtons;
@@ -65,6 +68,15 @@ public class HomepageSettings extends ChromeBaseSettingsFragment {
});
mRadioButtons.setupPreferenceValues(createPreferenceValuesForRadioGroup());
@@ -152,31 +162,32 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchM
--- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
@@ -103,7 +103,6 @@ public class LaunchMetrics {
boolean showHomeButton, boolean homepageIsNtp, String homepageUrl) {
if (homepageUrl == null) {
homepageUrl = "";
- assert !showHomeButton : "Homepage should be disabled for a null URL";
public static void recordHomePageLaunchMetrics(
boolean showHomeButton, boolean homepageIsNtp, GURL homepageGurl) {
if (homepageGurl.isEmpty()) {
- assert !showHomeButton : "Homepage should be disabled for an empty GURL";
}
LaunchMetricsJni.get().recordHomePageLaunchMetrics(
showHomeButton, homepageIsNtp, homepageUrl);
showHomeButton, homepageIsNtp, homepageGurl);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.compositor.CompositorViewHolder;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.browser.new_tab_url.DseNewTabUrlManager;
+import org.chromium.chrome.browser.homepage.HomepageManager;
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
import org.chromium.chrome.browser.ntp.NewTabPageUtils;
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
@@ -495,6 +496,12 @@ public class ChromeTabCreator extends TabCreator {
@@ -502,6 +503,13 @@ public class ChromeTabCreator extends TabCreator {
* @return the created tab.
*/
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
+ if (!mIncognito && url.equals(UrlConstants.NTP_URL)) {
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ url = HomepageManager.getInstance().getHomepageUri();
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
+ url = gurl != null ? gurl.getSpec() : url;
+ }
+ }
+
@@ -186,9 +197,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
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
@@ -366,6 +366,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_GURL =
"Chrome.Homepage.PartnerCustomizedDefaultGurl";
@@ -367,6 +367,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP";
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
+ public static final String HOMEPAGE_NTP_IS_HOMEPAGE = "newtabpage_is_homepage";
/**
@@ -197,8 +208,8 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -67,6 +67,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI,
@@ -68,6 +68,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
ChromePreferenceKeys.HOMEPAGE_ENABLED,
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI,
+ ChromePreferenceKeys.HOMEPAGE_NTP_IS_HOMEPAGE,
@@ -208,7 +219,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
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
@@ -1514,6 +1514,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1540,6 +1540,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
Last hour
</message>
@@ -233,7 +244,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -1297,6 +1297,10 @@ inline constexpr char kUsedPolicyCertificates[] =
@@ -1283,6 +1283,10 @@ inline constexpr char kUsedPolicyCertificates[] =
// visible on the toolbar.
inline constexpr char kShowHomeButton[] = "browser.show_home_button";
+97
View File
@@ -0,0 +1,97 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 11 Dec 2017 22:42:11 +0100
Subject: Add search engine
Add a Google search engine that forces languages to English,
disable from all its searches RLZ and field experiments querystring parameters.
Add DuckDuckGo Lite
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../search_engines/prepopulated_engines.json | 31 +++++++++++++++++++
.../search_engines/search_engine_type.h | 2 ++
.../template_url_prepopulate_data.cc | 3 ++
3 files changed, 36 insertions(+)
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
--- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json
@@ -113,6 +113,16 @@
"id": 92
},
+ "duckduckgo_light": {
+ "name": "DuckDuckGo Light",
+ "keyword": "duckduckgo.com/lite",
+ "favicon_url": "https://duckduckgo.com/favicon.ico",
+ "search_url": "https://duckduckgo.com/lite/?q={searchTerms}",
+ "suggest_url": "https://duckduckgo.com/ac/?q={searchTerms}&type=list",
+ "type": "SEARCH_ENGINE_DUCKDUCKGOLIGHT",
+ "id": 12
+ },
+
"ecosia": {
"name": "Ecosia",
"keyword": "ecosia.org",
@@ -171,6 +181,27 @@
"id": 111
},
+ "googleen": {
+ "name": "Google in English",
+ "keyword": "googleen",
+ "favicon_url": "https://www.google.com/favicon.ico",
+ "search_url": "{google:baseURL}search?q={searchTerms}&ie={inputEncoding}&hl=en",
+ "suggest_url": "{google:baseSuggestURL}search?client={google:suggestClient}&q={searchTerms}&hl=en",
+ "image_url": "{google:baseURL}searchbyimage/upload?hl=en",
+ "new_tab_url": "{google:baseURL}_/chrome/newtab?hl=en&ie={inputEncoding}",
+ "contextual_search_url": "{google:baseURL}_/contextualsearch?{google:contextualSearchVersion}{google:contextualSearchContextData}&hl=en",
+ "image_url_post_params": "encoded_image={google:imageThumbnail},image_url={google:imageURL},sbisrc={google:imageSearchSource},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight}",
+ "alternate_urls": [
+ "{google:baseURL}?hl=en#q={searchTerms}",
+ "{google:baseURL}search?hl=en#q={searchTerms}",
+ "{google:baseURL}webhp?hl=en#q={searchTerms}",
+ "{google:baseURL}s?hl=en#q={searchTerms}",
+ "{google:baseURL}s?hl=en&q={searchTerms}"
+ ],
+ "type": "SEARCH_ENGINE_GOOGLE_EN",
+ "id": 13
+ },
+
"mail_ru": {
"name": "@MAIL.RU",
"keyword": "mail.ru",
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
--- a/components/search_engines/search_engine_type.h
+++ b/components/search_engines/search_engine_type.h
@@ -88,6 +88,8 @@ enum SearchEngineType {
SEARCH_ENGINE_QUENDU = 69,
SEARCH_ENGINE_BRAVE = 70,
SEARCH_ENGINE_KARMA = 71,
+ SEARCH_ENGINE_GOOGLE_EN = 72,
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 73,
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
};
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -56,6 +56,7 @@ struct EngineAndTier {
// Default (for countries with no better engine set)
constexpr EngineAndTier engines_default[] = {
+ {SearchEngineTier::kTopEngines, &googleen},
{SearchEngineTier::kTopEngines, &google},
{SearchEngineTier::kTopEngines, &bing},
{SearchEngineTier::kTopEngines, &yahoo},
@@ -1608,6 +1609,8 @@ const std::vector<EngineAndTier> GetPrepopulationSetFromCountryID(
for (size_t i = 0; i < num_engines; i++) {
t_url.push_back(engines[i]);
}
+ t_url.push_back({SearchEngineTier::kTopEngines, &googleen});
+ t_url.push_back({SearchEngineTier::kTopEngines, &duckduckgo_light});
return t_url;
}
--
2.25.1
+5 -5
View File
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -147,6 +147,7 @@
@@ -148,6 +148,7 @@
#include "components/segmentation_platform/public/features.h"
#include "components/send_tab_to_self/features.h"
#include "components/services/heap_profiling/public/cpp/switches.h"
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
#include "components/signin/core/browser/dice_account_reconcilor_delegate.h"
#include "components/signin/public/base/signin_buildflags.h"
@@ -9619,6 +9620,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9910,6 +9911,11 @@ const FeatureEntry kFeatureEntries[] = {
kLargeFaviconFromGoogleVariations,
"LargeFaviconFromGoogle")},
@@ -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
@@ -3774,6 +3774,11 @@ const char kSkipServiceWorkerFetchHandlerDescription[] =
@@ -3815,6 +3815,11 @@ const char kSkipServiceWorkerFetchHandlerDescription[] =
"Skips starting the service worker and run the fetch handler if the fetch "
"handler is recognized as skippable.";
@@ -55,11 +55,11 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
+
const char kWebSQLAccessName[] = "Allows access to WebSQL APIs";
const char kWebSQLAccessDescription[] =
"The WebSQL API is enabled by default, but can be disabled here.";
"The WebSQL API is disabled by default, but can be enabled here.";
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
@@ -2206,6 +2206,9 @@ extern const char kReduceAcceptLanguageDescription[];
@@ -2231,6 +2231,9 @@ extern const char kReduceAcceptLanguageDescription[];
extern const char kSkipServiceWorkerFetchHandlerName[];
extern const char kSkipServiceWorkerFetchHandlerDescription[];
@@ -12,15 +12,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -84,6 +84,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment;
@@ -86,6 +86,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment;
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
import org.chromium.components.browser_ui.settings.PaddedDividerItemDecoration;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
+import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
import org.chromium.components.browser_ui.site_settings.SiteSettingsPreferenceFragment;
import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment;
import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat;
@@ -399,8 +400,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -417,8 +418,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
finish();
return true;
} else if (item.getItemId() == R.id.menu_id_general_help) {
+1 -1
View File
@@ -273,7 +273,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
@@ -1936,6 +1936,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
@@ -1937,6 +1937,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
DOMArrayBufferView* pixels,
int64_t offset);
+2 -2
View File
@@ -186,7 +186,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
@@ -36,6 +36,7 @@
@@ -37,6 +37,7 @@
#include "third_party/blink/public/common/peerconnection/webrtc_ip_handling_policy.h"
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
#include "third_party/blink/public/platform/platform.h"
@@ -194,7 +194,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d
#include "third_party/blink/public/platform/web_url.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h"
#include "third_party/blink/public/web/web_document.h"
@@ -764,6 +765,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
@@ -781,6 +782,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
// origin.
WebRTCIPHandlingPolicy policy =
GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy);
@@ -40,7 +40,7 @@ diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chr
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
--- a/content/browser/devtools/protocol/network_handler.cc
+++ b/content/browser/devtools/protocol/network_handler.cc
@@ -1299,6 +1299,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
@@ -1314,6 +1314,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
}
}
@@ -48,7 +48,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
std::vector<GURL> urls;
frame_host->ForEachRenderFrameHostWithAction(
@@ -1312,6 +1313,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
@@ -1327,6 +1328,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
});
return urls;
}
@@ -200,7 +200,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -13542,12 +13542,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
@@ -13489,12 +13489,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::Value::Dict body;
if (!reason.empty())
body.Set("reason", reason);
@@ -235,7 +235,7 @@ diff --git a/content/browser/web_package/signed_exchange_reporter.cc b/content/b
diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc b/content/public/common/content_switch_dependent_feature_overrides.cc
--- a/content/public/common/content_switch_dependent_feature_overrides.cc
+++ b/content/public/common/content_switch_dependent_feature_overrides.cc
@@ -7,6 +7,7 @@
@@ -9,6 +9,7 @@
#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
#include "net/base/features.h"
@@ -246,7 +246,7 @@ diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -242,7 +242,7 @@ extern const base::FeatureParam<base::TimeDelta> kTimeoutTcpConnectAttemptMax(
@@ -234,7 +234,7 @@ extern const base::FeatureParam<base::TimeDelta> kTimeoutTcpConnectAttemptMax(
#if BUILDFLAG(ENABLE_REPORTING)
BASE_FEATURE(kDocumentReporting,
"DocumentReporting",
@@ -290,7 +290,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -14,10 +14,10 @@
@@ -15,10 +15,10 @@
namespace network::features {
BASE_FEATURE(kNetworkErrorLogging,
@@ -307,7 +307,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
--- a/services/network/public/mojom/BUILD.gn
+++ b/services/network/public/mojom/BUILD.gn
@@ -1431,7 +1431,6 @@ mojom("mojom") {
@@ -1427,7 +1427,6 @@ mojom("mojom") {
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) {
@@ -318,7 +318,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -1189,6 +1189,7 @@ interface NetworkContext {
@@ -1196,6 +1196,7 @@ interface NetworkContext {
// provided |network_isolation_key|.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@@ -326,7 +326,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueReport(string type,
string group,
url.mojom.Url url,
@@ -1202,6 +1203,7 @@ interface NetworkContext {
@@ -1209,6 +1210,7 @@ interface NetworkContext {
// Note that this queued report will never be delivered if no reporting
// endpoint matching is registered for with the provided
// |network_isolation_key|.
@@ -372,7 +372,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
#include "services/network/public/cpp/features.h"
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
#include "services/network/public/mojom/source_location.mojom-blink.h"
@@ -2505,9 +2506,11 @@ void LocalFrame::MainFrameInteractive() {
@@ -2502,9 +2503,11 @@ void LocalFrame::MainFrameInteractive() {
}
}
@@ -398,7 +398,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
#include "services/device/public/mojom/device_posture_provider.mojom-blink-forward.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
#include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
@@ -629,9 +629,9 @@ class CORE_EXPORT LocalFrame final
@@ -627,9 +627,9 @@ class CORE_EXPORT LocalFrame final
void FinishedScrollSequence();
SmoothScrollSequencer* GetSmoothScrollSequencer() const;

Some files were not shown because too many files have changed in this diff Show More