v122 final patches
This commit is contained in:
@@ -20,7 +20,8 @@ See discussions at:
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
base/android/android_image_reader_compat.cc | 9 +++++++++
|
||||
base/android/android_image_reader_compat.cc | 16 ++++++++++++++++
|
||||
base/android/android_image_reader_compat.h | 14 ++++++++++++++
|
||||
chrome/browser/flag-metadata.json | 6 +++---
|
||||
.../AImageReader-CFI-crash-mitigations.inc | 4 ++++
|
||||
.../AImageReader-CFI-crash-mitigations.inc | 1 +
|
||||
@@ -29,38 +30,63 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
gpu/config/gpu_finch_features.h | 1 +
|
||||
gpu/config/gpu_util.cc | 8 ++++++++
|
||||
gpu/config/gpu_workaround_list.txt | 1 +
|
||||
gpu/ipc/service/gpu_init.cc | 7 +++++++
|
||||
gpu/ipc/service/gpu_init.cc | 8 ++++++++
|
||||
gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++-
|
||||
11 files changed, 65 insertions(+), 4 deletions(-)
|
||||
12 files changed, 87 insertions(+), 4 deletions(-)
|
||||
create mode 100644 cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc
|
||||
create mode 100644 cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc
|
||||
|
||||
diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc
|
||||
--- a/base/android/android_image_reader_compat.cc
|
||||
+++ b/base/android/android_image_reader_compat.cc
|
||||
@@ -7,7 +7,14 @@
|
||||
@@ -7,7 +7,23 @@
|
||||
namespace base {
|
||||
namespace android {
|
||||
|
||||
+bool AndroidImageReader::disable_support_ = false;
|
||||
+AndroidImageReader& AndroidImageReader::GetInstance() {
|
||||
+ // C++11 static local variable initialization is
|
||||
+ // thread-safe.
|
||||
+ static AndroidImageReader instance;
|
||||
+ return instance;
|
||||
+}
|
||||
+
|
||||
+void AndroidImageReader::DisableSupport() {
|
||||
+ disable_support_ = true;
|
||||
+}
|
||||
+
|
||||
+bool AndroidImageReader::IsSupported() {
|
||||
+ return !disable_support_;
|
||||
+}
|
||||
+
|
||||
bool EnableAndroidImageReader() {
|
||||
+ if (disable_support_) return false;
|
||||
+ if (!AndroidImageReader::GetInstance().IsSupported()) return false;
|
||||
// Currently we want to enable AImageReader only for android P+ devices.
|
||||
if (__builtin_available(android 28, *)) {
|
||||
return true;
|
||||
@@ -15,5 +22,7 @@ bool EnableAndroidImageReader() {
|
||||
return false;
|
||||
}
|
||||
diff --git a/base/android/android_image_reader_compat.h b/base/android/android_image_reader_compat.h
|
||||
--- a/base/android/android_image_reader_compat.h
|
||||
+++ b/base/android/android_image_reader_compat.h
|
||||
@@ -10,6 +10,20 @@
|
||||
namespace base {
|
||||
namespace android {
|
||||
|
||||
+FIX ME!
|
||||
+class BASE_EXPORT AndroidImageReader {
|
||||
+ public:
|
||||
+ // Thread safe GetInstance.
|
||||
+ static AndroidImageReader& GetInstance();
|
||||
+
|
||||
} // namespace android
|
||||
} // namespace base
|
||||
+ bool IsSupported();
|
||||
+
|
||||
+ // Disable image reader support.
|
||||
+ void DisableSupport();
|
||||
+
|
||||
+ private:
|
||||
+ bool disable_support_ = false;
|
||||
+};
|
||||
+
|
||||
// Check if the image reader usage is supported.
|
||||
BASE_EXPORT bool EnableAndroidImageReader();
|
||||
|
||||
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
|
||||
@@ -183,14 +209,22 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
|
||||
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
||||
--- a/gpu/ipc/service/gpu_init.cc
|
||||
+++ b/gpu/ipc/service/gpu_init.cc
|
||||
@@ -672,6 +672,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
@@ -65,6 +65,7 @@
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
#include "ui/gfx/android/android_surface_control_compat.h"
|
||||
+#include "base/android/android_image_reader_compat.h"
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_VULKAN)
|
||||
@@ -672,6 +673,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
}
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ // Disable AImageReader if the workaround is enabled.
|
||||
+ if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
|
||||
+ base::android::AndroidImageReader::DisableSupport();
|
||||
+ base::android::AndroidImageReader::GetInstance().DisableSupport();
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
|
||||
@@ -447,7 +447,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chr
|
||||
diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/components/adblock/content/browser/adblock_url_loader_factory.cc
|
||||
--- a/components/adblock/content/browser/adblock_url_loader_factory.cc
|
||||
+++ b/components/adblock/content/browser/adblock_url_loader_factory.cc
|
||||
@@ -343,12 +343,6 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestError(
|
||||
@@ -344,12 +344,6 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestError(
|
||||
|
||||
void AdblockURLLoaderFactory::InProgressRequest::CheckFilterMatch(
|
||||
CheckFilterMatchCallback callback) {
|
||||
@@ -460,7 +460,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
|
||||
auto subscription_service = factory_->config_.subscription_service;
|
||||
if (is_document_request_) {
|
||||
auto* host = content::RenderFrameHost::FromID(factory_->host_id_);
|
||||
@@ -387,7 +381,7 @@ void AdblockURLLoaderFactory::InProgressRequest::CheckFilterMatch(
|
||||
@@ -388,7 +382,7 @@ void AdblockURLLoaderFactory::InProgressRequest::CheckFilterMatch(
|
||||
} else {
|
||||
factory_->config_.resource_classifier->CheckRequestFilterMatch(
|
||||
subscription_service->GetCurrentSnapshot(), request_url_,
|
||||
@@ -469,7 +469,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
|
||||
base::BindOnce(
|
||||
&AdblockURLLoaderFactory::InProgressRequest::OnRequestUrlClassified,
|
||||
weak_factory_.GetWeakPtr(),
|
||||
@@ -676,12 +670,14 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestFilterMatchResult(
|
||||
@@ -677,12 +671,14 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestFilterMatchResult(
|
||||
|
||||
AdblockURLLoaderFactory::AdblockURLLoaderFactory(
|
||||
AdblockURLLoaderFactoryConfig config,
|
||||
@@ -528,7 +528,7 @@ diff --git a/components/adblock/content/browser/frame_hierarchy_builder.cc b/com
|
||||
diff --git a/components/adblock/content/browser/resource_classification_runner.h b/components/adblock/content/browser/resource_classification_runner.h
|
||||
--- a/components/adblock/content/browser/resource_classification_runner.h
|
||||
+++ b/components/adblock/content/browser/resource_classification_runner.h
|
||||
@@ -81,14 +81,22 @@ class ResourceClassificationRunner : public KeyedService {
|
||||
@@ -81,12 +81,20 @@ class ResourceClassificationRunner : public KeyedService {
|
||||
virtual void CheckRequestFilterMatch(
|
||||
SubscriptionService::Snapshot subscription_collections,
|
||||
const GURL& request_url,
|
||||
@@ -540,17 +540,15 @@ diff --git a/components/adblock/content/browser/resource_classification_runner.h
|
||||
SubscriptionService::Snapshot subscription_collections,
|
||||
const GURL& request_url,
|
||||
+ const GURL& request_initiator,
|
||||
content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
CheckFilterMatchCallback callback) = 0;
|
||||
+ content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
+ CheckFilterMatchCallback callback) = 0;
|
||||
+ virtual void CheckRequestFilterMatchForWebTransport(
|
||||
+ SubscriptionService::Snapshot subscription_collections,
|
||||
+ const GURL& request_url,
|
||||
+ const GURL& request_initiator,
|
||||
+ content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
+ CheckFilterMatchCallback callback);
|
||||
content::GlobalRenderFrameHostId render_frame_host_id,
|
||||
CheckFilterMatchCallback callback) = 0;
|
||||
// No callback, just notify observers
|
||||
virtual void CheckDocumentAllowlisted(
|
||||
SubscriptionService::Snapshot subscription_collection,
|
||||
diff --git a/components/adblock/content/browser/resource_classification_runner_impl.cc b/components/adblock/content/browser/resource_classification_runner_impl.cc
|
||||
--- a/components/adblock/content/browser/resource_classification_runner_impl.cc
|
||||
+++ b/components/adblock/content/browser/resource_classification_runner_impl.cc
|
||||
|
||||
@@ -1354,8 +1354,8 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
|
||||
+ // special case: a single proxy servers list specified
|
||||
+ if (type == Type::PROXY_LIST) {
|
||||
+ std::string proxy_list;
|
||||
+ for (const ProxyServer& proxy_server :
|
||||
+ single_proxies.GetAll()) {
|
||||
+ for (const auto& proxy_chain : single_proxies.AllChains()) {
|
||||
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
||||
+ proxy_list += ProxyServerToProxyUri(proxy_server) + ";";
|
||||
+ }
|
||||
+ // remove last semicolon
|
||||
@@ -1373,20 +1373,20 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
|
||||
+
|
||||
+ // start to build a per-scheme list
|
||||
+ std::string list;
|
||||
+ for (const ProxyServer& proxy_server :
|
||||
+ proxies_for_http.GetAll()) {
|
||||
+ for (const auto& proxy_chain : proxies_for_http.AllChains()) {
|
||||
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
||||
+ list += "http=" + ProxyServerToProxyUri(proxy_server) + ";";
|
||||
+ }
|
||||
+ for (const ProxyServer& proxy_server :
|
||||
+ proxies_for_https.GetAll()) {
|
||||
+ for (const auto& proxy_chain : proxies_for_https.AllChains()) {
|
||||
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
||||
+ list += "https=" + ProxyServerToProxyUri(proxy_server) + ";";
|
||||
+ }
|
||||
+ for (const ProxyServer& proxy_server :
|
||||
+ proxies_for_ftp.GetAll()) {
|
||||
+ for (const auto& proxy_chain : proxies_for_ftp.AllChains()) {
|
||||
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
||||
+ list += "ftp=" + ProxyServerToProxyUri(proxy_server) + ";";
|
||||
+ }
|
||||
+ for (const ProxyServer& proxy_server :
|
||||
+ fallback_proxies.GetAll()) {
|
||||
+ for (const auto& proxy_chain : fallback_proxies.AllChains()) {
|
||||
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
||||
+ list += "socks=" + ProxyServerToProxyUri(proxy_server) + ";";
|
||||
+ }
|
||||
+ if (list.length() != 0 ) {
|
||||
|
||||
@@ -26,7 +26,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../bookmarks/BookmarkToolbarViewBinder.java | 6 +
|
||||
.../native_page/NativePageFactory.java | 11 +-
|
||||
chrome/browser/BUILD.gn | 11 +-
|
||||
.../bookmarks/android/bookmark_bridge.cc | 283 ++++++++++++++++++
|
||||
.../bookmarks/android/bookmark_bridge.cc | 287 ++++++++++++++++++
|
||||
.../bookmarks/android/bookmark_bridge.h | 30 +-
|
||||
.../browser/bookmarks/bookmark_html_writer.cc | 11 +
|
||||
.../dialogs/DownloadLocationCustomView.java | 8 +-
|
||||
@@ -53,7 +53,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 +
|
||||
43 files changed, 918 insertions(+), 29 deletions(-)
|
||||
43 files changed, 922 insertions(+), 29 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-bookmark-import-export-actions.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-bookmark-import-export-actions.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/add-bookmark-import-export-actions.inc
|
||||
@@ -863,7 +863,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
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
|
||||
@@ -58,6 +58,25 @@
|
||||
@@ -58,6 +58,28 @@
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "content/public/browser/web_contents.h"
|
||||
|
||||
@@ -885,11 +885,14 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
+#include "base/task/task_traits.h"
|
||||
+#include "base/task/thread_pool.h"
|
||||
+#include "content/public/browser/browser_task_traits.h"
|
||||
+#include "base/files/file_path.h"
|
||||
+#include "ui/shell_dialogs/selected_file_info.h"
|
||||
+#include "ui/shell_dialogs/select_file_dialog.h"
|
||||
+
|
||||
using base::android::AttachCurrentThread;
|
||||
using base::android::ConvertUTF16ToJavaString;
|
||||
using base::android::ConvertUTF8ToJavaString;
|
||||
@@ -75,12 +94,96 @@ using bookmarks::android::JavaBookmarkIdGetType;
|
||||
@@ -75,12 +97,96 @@ using bookmarks::android::JavaBookmarkIdGetType;
|
||||
using content::BrowserThread;
|
||||
using power_bookmarks::PowerBookmarkMeta;
|
||||
|
||||
@@ -986,7 +989,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
class BookmarkTitleComparer {
|
||||
public:
|
||||
explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge,
|
||||
@@ -221,6 +324,10 @@ BookmarkBridge::~BookmarkBridge() {
|
||||
@@ -221,6 +327,10 @@ BookmarkBridge::~BookmarkBridge() {
|
||||
partner_bookmarks_shim_observation_.Reset();
|
||||
bookmark_model_observation_.Reset();
|
||||
profile_observation_.Reset();
|
||||
@@ -997,7 +1000,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
}
|
||||
|
||||
void BookmarkBridge::Destroy(JNIEnv*) {
|
||||
@@ -638,6 +745,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
|
||||
@@ -638,6 +748,183 @@ jint BookmarkBridge::GetTotalBookmarkCount(
|
||||
return count;
|
||||
}
|
||||
|
||||
@@ -1079,8 +1082,9 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
+ return std::make_unique<TemplateURL>(data);
|
||||
+}
|
||||
+
|
||||
+void BookmarkBridge::FileSelected(const base::FilePath& path, int index,
|
||||
+void BookmarkBridge::FileSelected(const ui::SelectedFileInfo& file, int index,
|
||||
+ void* params) {
|
||||
+ base::FilePath path = file.path();
|
||||
+ base::ThreadPool::PostTaskAndReplyWithResult(
|
||||
+ FROM_HERE, {base::TaskPriority::BEST_EFFORT, base::MayBlock()},
|
||||
+ base::BindOnce(&BookmarkBridge::FileSelectedImpl,
|
||||
@@ -1216,7 +1220,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
bool IsDoingExtensiveChanges(JNIEnv* env);
|
||||
|
||||
+ // SelectFileDialog::Listener implementation.
|
||||
+ void FileSelected(const base::FilePath& path,
|
||||
+ void FileSelected(const ui::SelectedFileInfo& file,
|
||||
+ int index,
|
||||
+ void* params) override;
|
||||
+ void FileSelectionCanceled(void* params) override;
|
||||
@@ -1371,7 +1375,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
&kCacheActivityTaskID,
|
||||
&kCastDeviceFilter,
|
||||
&kClearOmniboxFocusAfterNavigation,
|
||||
+ &kBookmarksExportUseSaf
|
||||
+ &kBookmarksExportUseSaf,
|
||||
&kCreateNewTabInitializeRenderer,
|
||||
&kCCTBrandTransparencyMemoryImprovement,
|
||||
&kCCTClientDataHeader,
|
||||
|
||||
@@ -16,8 +16,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
base/BUILD.gn | 4 +-
|
||||
base/android/feature_map.cc | 8 +-
|
||||
.../base/cached_flags/CachedFlag.java | 6 +
|
||||
base/feature_list.cc | 79 +++++++++
|
||||
.../base/cached_flags/CachedFlag.java | 8 +-
|
||||
base/feature_list.cc | 78 +++++++++
|
||||
base/feature_list.h | 72 ++++++++-
|
||||
build/android/gyp/java_cpp_features.py | 17 ++
|
||||
chrome/android/java/res/values/values.xml | 3 +
|
||||
@@ -26,7 +26,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../browser/settings/SettingsActivity.java | 36 +++++
|
||||
chrome/browser/about_flags.cc | 11 ++
|
||||
chrome/browser/browser_features.cc | 1 +
|
||||
chrome/browser/flags/BUILD.gn | 12 ++
|
||||
chrome/browser/flags/BUILD.gn | 13 ++
|
||||
.../flags/android/chrome_feature_list.cc | 1 +
|
||||
.../flags/android/chrome_feature_list.h | 1 +
|
||||
.../browser/flags/ChromeFeatureList.java | 13 +-
|
||||
@@ -87,7 +87,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
services/network/public/cpp/features.h | 1 +
|
||||
third_party/blink/common/features.cc | 1 +
|
||||
third_party/blink/public/common/features.h | 1 +
|
||||
73 files changed, 736 insertions(+), 18 deletions(-)
|
||||
73 files changed, 737 insertions(+), 19 deletions(-)
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/placeholder.txt
|
||||
@@ -160,6 +160,15 @@ diff --git a/base/android/feature_map.cc b/base/android/feature_map.cc
|
||||
diff --git a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java b/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
|
||||
--- a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
|
||||
+++ b/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.java
|
||||
@@ -124,7 +124,7 @@ public class CachedFlag extends Flag {
|
||||
.writeBoolean(getSharedPreferenceKey(), isEnabledInNative);
|
||||
}
|
||||
|
||||
- String getSharedPreferenceKey() {
|
||||
+ public String getSharedPreferenceKey() {
|
||||
return CachedFlagsSharedPreferences.FLAGS_CACHED.createKey(mFeatureName);
|
||||
}
|
||||
|
||||
@@ -152,6 +152,12 @@ public class CachedFlag extends Flag {
|
||||
.removeKeysWithPrefix(CachedFlagsSharedPreferences.FLAGS_CACHED);
|
||||
}
|
||||
@@ -176,9 +185,9 @@ diff --git a/base/android/java/src/org/chromium/base/cached_flags/CachedFlag.jav
|
||||
diff --git a/base/feature_list.cc b/base/feature_list.cc
|
||||
--- a/base/feature_list.cc
|
||||
+++ b/base/feature_list.cc
|
||||
@@ -35,6 +35,32 @@
|
||||
#include "base/feature_visitor.h"
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
@@ -37,6 +37,31 @@
|
||||
|
||||
namespace base {
|
||||
|
||||
+namespace internal {
|
||||
+
|
||||
@@ -204,12 +213,11 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
|
||||
+}
|
||||
+
|
||||
+} // namespace internal
|
||||
+} // namespace base
|
||||
+
|
||||
namespace base {
|
||||
|
||||
namespace {
|
||||
@@ -451,6 +477,48 @@ bool FeatureList::IsEnabled(const Feature& feature) {
|
||||
|
||||
// Pointer to the FeatureList instance singleton that was set via
|
||||
@@ -451,6 +476,48 @@ bool FeatureList::IsEnabled(const Feature& feature) {
|
||||
return g_feature_list_instance->IsFeatureEnabled(feature);
|
||||
}
|
||||
|
||||
@@ -258,7 +266,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc
|
||||
// static
|
||||
bool FeatureList::IsValidFeatureOrFieldTrialName(StringPiece name) {
|
||||
return IsStringASCII(name) && name.find_first_of(",<*") == std::string::npos;
|
||||
@@ -693,6 +761,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor) {
|
||||
@@ -693,6 +760,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor) {
|
||||
|
||||
void FeatureList::FinalizeInitialization() {
|
||||
DCHECK(!initialized_);
|
||||
@@ -336,7 +344,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h
|
||||
+} // namespace base
|
||||
+
|
||||
+#define CROMITE_FEATURE(feature, name, default_state) \
|
||||
+ CONSTINIT const base::Feature feature(name, default_state, true, true); \
|
||||
+ constinit const base::Feature feature(name, default_state, true, true); \
|
||||
+ _Pragma("clang diagnostic push") \
|
||||
+ _Pragma("clang diagnostic ignored \"-Wglobal-constructors\"") \
|
||||
+ static const ::base::internal::FeatureDefaultStateOverrider \
|
||||
@@ -424,7 +432,7 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res
|
||||
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
|
||||
@@ -58,6 +58,10 @@ found in the LICENSE file.
|
||||
@@ -59,6 +59,10 @@ found in the LICENSE file.
|
||||
android:title="@string/tabgrid_use_icons_title"
|
||||
android:summary="@string/tabgrid_use_icons_summary"
|
||||
android:defaultValue="false" />
|
||||
@@ -561,7 +569,7 @@ diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_feature
|
||||
diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
||||
--- a/chrome/browser/flags/BUILD.gn
|
||||
+++ b/chrome/browser/flags/BUILD.gn
|
||||
@@ -12,8 +12,12 @@ android_library("java") {
|
||||
@@ -13,9 +13,14 @@ android_library("java") {
|
||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureMap.java",
|
||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeSessionState.java",
|
||||
]
|
||||
@@ -572,9 +580,11 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
||||
deps = [
|
||||
+ ":java_cromite_cached_flags",
|
||||
"//base:base_java",
|
||||
+ "//base:base_cached_flags_java",
|
||||
"//base/version_info/android:version_constants_java",
|
||||
"//build:chromeos_buildflags",
|
||||
@@ -24,12 +28,20 @@ android_library("java") {
|
||||
"//build/android:build_java",
|
||||
@@ -25,12 +30,20 @@ android_library("java") {
|
||||
"//third_party/jni_zero:jni_zero_java",
|
||||
]
|
||||
srcjar_deps = [
|
||||
@@ -598,7 +608,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
||||
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
|
||||
@@ -1008,5 +1008,6 @@ BASE_FEATURE(kWebApkBackupAndRestoreBackend,
|
||||
@@ -1013,5 +1013,6 @@ BASE_FEATURE(kWebApkBackupAndRestoreBackend,
|
||||
"WebApkBackupAndRestoreBackend",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
@@ -630,7 +640,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -666,7 +670,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -667,7 +671,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final CachedFlag sVerticalAutomotiveBackButtonToolbar =
|
||||
newCachedFlag(VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR, false);
|
||||
|
||||
@@ -639,7 +649,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
List.of(
|
||||
sAllowUserCertificates,
|
||||
sAndroidAppIntegration,
|
||||
@@ -747,6 +751,13 @@ public abstract class ChromeFeatureList {
|
||||
@@ -748,6 +752,13 @@ public abstract class ChromeFeatureList {
|
||||
sUseLibunwindstackNativeUnwinderAndroid,
|
||||
sVerticalAutomotiveBackButtonToolbar);
|
||||
|
||||
@@ -689,7 +699,7 @@ new file mode 100644
|
||||
+import java.util.ArrayList;
|
||||
+import java.util.List;
|
||||
+
|
||||
+import org.chromium.chrome.browser.flags.CachedFlag;
|
||||
+import org.chromium.base.cached_flags.CachedFlag;
|
||||
+
|
||||
+{IMPORT_CLAUSE}
|
||||
+
|
||||
|
||||
@@ -13,13 +13,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../java/res/xml/privacy_preferences.xml | 10 ++++++++
|
||||
.../browser/LaunchIntentDispatcher.java | 21 ++++++++++++++++
|
||||
.../customtabs/CustomTabsConnection.java | 1 +
|
||||
.../IncognitoCustomTabIntentDataProvider.java | 6 +++++
|
||||
.../privacy/settings/PrivacySettings.java | 24 +++++++++++++++++++
|
||||
.../chrome/browser/tab/TabAssociatedApp.java | 6 ++++-
|
||||
.../strings/android_chrome_strings.grd | 14 +++++++++++
|
||||
.../core/common/language_experiments.cc | 1 +
|
||||
.../add-custom-tab-intents-privacy-option.inc | 2 ++
|
||||
8 files changed, 83 insertions(+), 1 deletion(-)
|
||||
.../add-custom-tab-intents-privacy-option.inc | 1 +
|
||||
9 files changed, 83 insertions(+), 1 deletion(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -94,6 +95,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
|
||||
if (!chromeTabbedTaskExists()) {
|
||||
newIntent.putExtra(IntentHandler.EXTRA_STARTED_TABBED_CHROME_TASK, true);
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||
@@ -849,6 +849,7 @@ public class CustomTabsConnection {
|
||||
PostTask.postTask(
|
||||
TaskTraits.UI_DEFAULT,
|
||||
() -> {
|
||||
+ if ((true)) return; // Disable CCTPostMessageAPI
|
||||
// Attempt to verify origin synchronously. If successful directly initialize
|
||||
// postMessage channel for session.
|
||||
Uri verifiedOrigin = verifyOriginForSession(session, uid, postMessageOrigin);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||||
@@ -225,7 +237,6 @@ diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/a
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc
|
||||
@@ -0,0 +1,2 @@
|
||||
@@ -0,0 +1 @@
|
||||
+SET_CROMITE_FEATURE_DISABLED(kCCTIntentFeatureOverrides);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kCCTPostMessageAPI);
|
||||
--
|
||||
|
||||
@@ -4,12 +4,12 @@ Subject: Add flag to disable IPv6 probes
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../add-flag-to-disable-IPv6-probes.inc | 8 ++++++++
|
||||
.../features_cc/add-flag-to-disable-IPv6-probes.inc | 3 +++
|
||||
.../features_h/add-flag-to-disable-IPv6-probes.inc | 2 ++
|
||||
net/BUILD.gn | 1 +
|
||||
net/dns/host_resolver_manager.cc | 11 +++++++++++
|
||||
5 files changed, 25 insertions(+)
|
||||
.../about_flags_cc/add-flag-to-disable-IPv6-probes.inc | 8 ++++++++
|
||||
.../base/features_cc/add-flag-to-disable-IPv6-probes.inc | 3 +++
|
||||
.../base/features_h/add-flag-to-disable-IPv6-probes.inc | 2 ++
|
||||
net/BUILD.gn | 1 +
|
||||
net/dns/host_resolver_manager.cc | 8 ++++++++
|
||||
5 files changed, 22 insertions(+)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-flag-to-disable-IPv6-probes.inc
|
||||
create mode 100644 cromite_flags/net/base/features_cc/add-flag-to-disable-IPv6-probes.inc
|
||||
create mode 100644 cromite_flags/net/base/features_h/add-flag-to-disable-IPv6-probes.inc
|
||||
@@ -64,17 +64,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
||||
#include "net/log/net_log_with_source.h"
|
||||
#include "net/socket/client_socket_factory.h"
|
||||
#include "net/url_request/url_request_context.h"
|
||||
@@ -1320,6 +1321,9 @@ void HostResolverManager::CreateTaskSequence(
|
||||
case HostResolverSource::MULTICAST_DNS:
|
||||
out_tasks->push_back(TaskType::MDNS);
|
||||
break;
|
||||
+ if (!base::FeatureList::IsEnabled(features::kIPv6Probing)) {
|
||||
+ return OK;
|
||||
+ }
|
||||
case HostResolverSource::LOCAL_ONLY:
|
||||
// If no external source allowed, a job should not be created or started
|
||||
break;
|
||||
@@ -1373,6 +1377,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
|
||||
@@ -1373,6 +1374,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -62,7 +62,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../site_settings/SingleWebsiteSettings.java | 9 ++
|
||||
.../android/website_preference_bridge.cc | 2 +-
|
||||
.../strings/android/browser_ui_strings.grd | 5 ++
|
||||
components/content_settings/android/BUILD.gn | 1 +
|
||||
.../core/browser/content_settings_utils.cc | 36 ++++++++
|
||||
.../core/browser/content_settings_utils.h | 6 ++
|
||||
.../common/content_settings_constraints.h | 9 ++
|
||||
@@ -73,21 +72,21 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/page_info/page_info.h | 1 +
|
||||
.../permissions/PermissionDialogDelegate.java | 13 +++
|
||||
.../PermissionDialogModelFactory.java | 82 ++++++++++++++++++-
|
||||
.../permission_dialog_delegate.cc | 19 +++++
|
||||
.../permission_dialog_delegate.cc | 24 +++++-
|
||||
.../permission_dialog_delegate.h | 1 +
|
||||
.../permission_prompt_android.cc | 8 ++
|
||||
.../permission_prompt_android.cc | 8 +-
|
||||
.../permission_prompt_android.h | 3 +-
|
||||
.../android/permissions_android_strings.grd | 17 ++++
|
||||
.../geolocation_permission_context_android.cc | 32 ++++++--
|
||||
.../geolocation_permission_context_android.cc | 34 ++++++--
|
||||
.../geolocation_permission_context_android.h | 13 ++-
|
||||
.../permissions/permission_context_base.cc | 51 ++++++++++--
|
||||
.../permissions/permission_context_base.cc | 52 ++++++++++--
|
||||
.../permissions/permission_context_base.h | 23 +++++-
|
||||
components/permissions/permission_prompt.h | 3 +-
|
||||
components/permissions/permission_request.cc | 30 ++++++-
|
||||
components/permissions/permission_request.h | 16 +++-
|
||||
.../permissions/permission_request_manager.cc | 45 ++++++----
|
||||
.../permissions/permission_request_manager.h | 11 ++-
|
||||
35 files changed, 485 insertions(+), 57 deletions(-)
|
||||
34 files changed, 488 insertions(+), 61 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
|
||||
@@ -268,7 +267,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
}
|
||||
|
||||
+ private boolean isSessionPermission(@ContentSettingsType int type) {
|
||||
+ private boolean isSessionPermission(@ContentSettingsType.EnumType int type) {
|
||||
+ return mSite.getPermissionInfo(type) != null &&
|
||||
+ mSite.getPermissionInfo(type).getSessionModel() == SessionModel.USER_SESSION;
|
||||
+ }
|
||||
@@ -314,17 +313,6 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
|
||||
<message name="IDS_PAGE_INFO_AD_PRIVACY_HEADER" desc="A label that represents the new ad-related settings. 1) Navigate to any site. 2) Click the icon (often a lock) to the left of the URL in the address bar. Information about the page you're viewing appears. The 'Ad privacy' label will appear above the 'Site settings' button.">
|
||||
Ad privacy
|
||||
</message>
|
||||
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
|
||||
@@ -65,6 +65,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",
|
||||
+ "../core/common/content_settings_constraints.h",
|
||||
]
|
||||
visibility = [ ":*" ] # Depend on through :content_settings_enums_java
|
||||
}
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
@@ -692,10 +680,20 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
permission_prompt_->Accept();
|
||||
}
|
||||
|
||||
@@ -179,6 +191,13 @@ void PermissionDialogDelegate::AcceptThisTime(
|
||||
@@ -179,12 +191,22 @@ void PermissionDialogDelegate::AcceptThisTime(
|
||||
JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj) {
|
||||
CHECK(permission_prompt_);
|
||||
- permission_prompt_->AcceptThisTime();
|
||||
+ content_settings::LifetimeMode lifetimeOption =
|
||||
+ static_cast<content_settings::LifetimeMode>(
|
||||
+ java_delegate_->GetSelectedLifetimeOption());
|
||||
+ permission_prompt_->AcceptThisTime(lifetimeOption);
|
||||
}
|
||||
|
||||
void PermissionDialogDelegate::Cancel(JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj) {
|
||||
CHECK(permission_prompt_);
|
||||
+ content_settings::LifetimeMode lifetimeOption =
|
||||
+ static_cast<content_settings::LifetimeMode>(
|
||||
+ java_delegate_->GetSelectedLifetimeOption());
|
||||
@@ -703,7 +701,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
+ permission_prompt_->DenyThisTime(lifetimeOption);
|
||||
+ return;
|
||||
+ }
|
||||
permission_prompt_->AcceptThisTime();
|
||||
permission_prompt_->Deny();
|
||||
}
|
||||
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.h b/components/permissions/android/permission_prompt/permission_dialog_delegate.h
|
||||
@@ -720,21 +718,21 @@ 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
|
||||
@@ -57,6 +57,14 @@ void PermissionPromptAndroid::AcceptThisTime() {
|
||||
delegate_->AcceptThisTime();
|
||||
@@ -53,8 +53,12 @@ void PermissionPromptAndroid::Accept() {
|
||||
delegate_->Accept();
|
||||
}
|
||||
|
||||
-void PermissionPromptAndroid::AcceptThisTime() {
|
||||
- delegate_->AcceptThisTime();
|
||||
+void PermissionPromptAndroid::AcceptThisTime(content_settings::LifetimeMode lifetimeOption) {
|
||||
+ delegate_->AcceptThisTime(lifetimeOption);
|
||||
+}
|
||||
+
|
||||
+void PermissionPromptAndroid::DenyThisTime(content_settings::LifetimeMode lifetimeOption) {
|
||||
+ delegate_->DenyThisTime(lifetimeOption);
|
||||
+}
|
||||
+
|
||||
void PermissionPromptAndroid::Deny() {
|
||||
delegate_->Deny();
|
||||
}
|
||||
|
||||
void PermissionPromptAndroid::Deny() {
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.h b/components/permissions/android/permission_prompt/permission_prompt_android.h
|
||||
--- a/components/permissions/android/permission_prompt/permission_prompt_android.h
|
||||
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.h
|
||||
@@ -860,8 +858,9 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
bool persist,
|
||||
ContentSetting content_setting,
|
||||
- bool is_one_time) {
|
||||
- GeolocationPermissionContext::NotifyPermissionSet(
|
||||
+ bool is_one_time, content_settings::LifetimeMode lifetime_option) {
|
||||
GeolocationPermissionContext::NotifyPermissionSet(
|
||||
+ GeolocationPermissionContext::NotifyPermissionSetWithLifetime(
|
||||
id, requesting_origin, embedding_origin, std::move(callback), persist,
|
||||
- content_setting, is_one_time, /*is_final_decision=*/true);
|
||||
+ content_setting, is_one_time, /*is_final_decision=*/true, lifetime_option);
|
||||
@@ -908,11 +907,12 @@ 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
|
||||
@@ -265,6 +265,16 @@ bool PermissionContextBase::UsesAutomaticEmbargo() const {
|
||||
@@ -265,6 +265,17 @@ bool PermissionContextBase::UsesAutomaticEmbargo() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
+std::unique_ptr<PermissionRequest> PermissionContextBase::CreatePermissionRequest(
|
||||
+std::unique_ptr<PermissionRequest>
|
||||
+PermissionContextBase::CreatePermissionRequest(
|
||||
+ content::WebContents* web_contents,
|
||||
+ PermissionRequestData request_data,
|
||||
+ PermissionRequest::PermissionDecidedCallbackWithLifetime permission_decided_callback,
|
||||
@@ -925,7 +925,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,
|
||||
@@ -511,7 +521,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
|
||||
@@ -511,7 +522,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
|
||||
const GURL& embedding_origin,
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time,
|
||||
@@ -935,7 +935,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);
|
||||
@@ -526,13 +537,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
|
||||
@@ -526,13 +538,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) {
|
||||
@@ -954,7 +954,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
}
|
||||
}
|
||||
|
||||
@@ -578,11 +590,27 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
@@ -578,11 +591,27 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time,
|
||||
bool is_final_decision) {
|
||||
@@ -983,7 +983,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
}
|
||||
|
||||
if (is_final_decision) {
|
||||
@@ -612,6 +640,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
|
||||
@@ -612,6 +641,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
|
||||
const GURL& embedding_origin,
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time) {
|
||||
@@ -999,7 +999,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 ||
|
||||
@@ -621,6 +658,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
|
||||
@@ -621,6 +659,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
|
||||
constraints.set_session_model(is_one_time
|
||||
? content_settings::SessionModel::OneTime
|
||||
: content_settings::SessionModel::Durable);
|
||||
|
||||
@@ -15,17 +15,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/bookmark_bar_strings.grdp | 6 ++
|
||||
.../bookmarks/browser/bookmark_codec.cc | 22 ++++--
|
||||
components/bookmarks/browser/bookmark_codec.h | 7 +-
|
||||
.../browser/bookmark_load_details.cc | 4 ++
|
||||
.../browser/bookmark_load_details.cc | 2 +
|
||||
.../bookmarks/browser/bookmark_load_details.h | 3 +
|
||||
.../bookmarks/browser/bookmark_model.cc | 3 +-
|
||||
components/bookmarks/browser/bookmark_model.h | 7 ++
|
||||
components/bookmarks/browser/bookmark_node.cc | 13 ++++
|
||||
components/bookmarks/browser/bookmark_node.h | 4 ++
|
||||
components/bookmarks/browser/bookmark_node.cc | 11 +++
|
||||
components/bookmarks/browser/bookmark_node.h | 3 +
|
||||
.../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 +
|
||||
21 files changed, 232 insertions(+), 10 deletions(-)
|
||||
21 files changed, 227 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
|
||||
@@ -219,7 +219,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
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
|
||||
@@ -353,6 +353,33 @@ void BookmarkBridge::GetImageUrlForBookmark(
|
||||
@@ -356,6 +356,33 @@ void BookmarkBridge::GetImageUrlForBookmark(
|
||||
base::BindOnce(&HandleImageUrlResponse, callback));
|
||||
}
|
||||
|
||||
@@ -234,11 +234,11 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
+ bookmarks::BookmarkModel* model =
|
||||
+ BookmarkModelFactory::GetForBrowserContext(profile_);
|
||||
+
|
||||
+ std::vector<const bookmarks::BookmarkNode*> nodes =
|
||||
+ std::vector<raw_ptr<const bookmarks::BookmarkNode, VectorExperimental>> nodes =
|
||||
+ model->GetNodesByURL(gurl);
|
||||
+ std::sort(nodes.begin(), nodes.end(), &bookmarks::MoreRecentlyAdded);
|
||||
+
|
||||
+ for (const auto* node : nodes) {
|
||||
+ for (const BookmarkNode* node : nodes) {
|
||||
+ for (const auto& child : model->tabs_collection_node()->children()) {
|
||||
+ if (node->id() == child->id()) {
|
||||
+ return JavaBookmarkIdCreateBookmarkId(env, node->id(),
|
||||
@@ -253,7 +253,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
base::android::ScopedJavaLocalRef<jobject>
|
||||
BookmarkBridge::GetMostRecentlyAddedUserBookmarkIdForUrl(
|
||||
JNIEnv* env,
|
||||
@@ -461,6 +488,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
|
||||
@@ -464,6 +491,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(),
|
||||
@@ -261,7 +261,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
bookmark_model_->bookmark_bar_node(),
|
||||
bookmark_model_->other_node(),
|
||||
};
|
||||
@@ -518,6 +546,11 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
|
||||
@@ -521,6 +549,11 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
|
||||
top_level_folders.push_back(root_child.get());
|
||||
}
|
||||
|
||||
@@ -273,7 +273,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
if (account_reading_list_manager_ &&
|
||||
account_reading_list_manager_->GetRoot()) {
|
||||
top_level_folders.push_back(account_reading_list_manager_->GetRoot());
|
||||
@@ -1143,6 +1176,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
@@ -1147,6 +1180,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
AddBookmarkNodesToBookmarkIdList(env, j_list, results);
|
||||
}
|
||||
|
||||
@@ -565,14 +565,12 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
||||
diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/bookmarks/browser/bookmark_load_details.cc
|
||||
--- a/components/bookmarks/browser/bookmark_load_details.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_load_details.cc
|
||||
@@ -31,6 +31,10 @@ BookmarkLoadDetails::BookmarkLoadDetails(BookmarkClient* client)
|
||||
@@ -31,6 +31,8 @@ BookmarkLoadDetails::BookmarkLoadDetails(BookmarkClient* client)
|
||||
root_node_->Add(BookmarkPermanentNode::CreateOtherBookmarks(max_id_++)));
|
||||
mobile_folder_node_ = static_cast<BookmarkPermanentNode*>(
|
||||
root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks(max_id_++)));
|
||||
+ tabs_collection_folder_node_ = static_cast<BookmarkPermanentNode*>(
|
||||
+ root_node_->Add(BookmarkPermanentNode::CreateTabsCollectionBookmarks(
|
||||
+ max_id_++,
|
||||
+ client->IsPermanentNodeVisibleWhenEmpty(BookmarkNode::TABS_COLLECTION))));
|
||||
+ root_node_->Add(BookmarkPermanentNode::CreateTabsCollectionBookmarks(max_id_++)));
|
||||
}
|
||||
|
||||
BookmarkLoadDetails::~BookmarkLoadDetails() = default;
|
||||
@@ -652,19 +650,17 @@ diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmark
|
||||
case BookmarkNode::URL:
|
||||
NOTREACHED_NORETURN();
|
||||
case BookmarkNode::FOLDER:
|
||||
@@ -211,6 +213,17 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id) {
|
||||
@@ -211,6 +213,15 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id) {
|
||||
l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_MOBILE_FOLDER_NAME)));
|
||||
}
|
||||
|
||||
+// static
|
||||
+std::unique_ptr<BookmarkPermanentNode>
|
||||
+BookmarkPermanentNode::CreateTabsCollectionBookmarks(int64_t id,
|
||||
+ bool visible_when_empty) {
|
||||
+BookmarkPermanentNode::CreateTabsCollectionBookmarks(int64_t id) {
|
||||
+ // base::WrapUnique() used because the constructor is private.
|
||||
+ return base::WrapUnique(new BookmarkPermanentNode(
|
||||
+ id, TABS_COLLECTION, base::Uuid::ParseLowercase(kTabsCollectionBookmarksNodeUuid),
|
||||
+ l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_TABS_COLLECTION_FOLDER_NAME),
|
||||
+ visible_when_empty));
|
||||
+ l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_TABS_COLLECTION_FOLDER_NAME)));
|
||||
+}
|
||||
+
|
||||
BookmarkPermanentNode::BookmarkPermanentNode(int64_t id,
|
||||
@@ -681,13 +677,12 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
|
||||
MOBILE
|
||||
};
|
||||
|
||||
@@ -247,6 +248,9 @@ class BookmarkPermanentNode : public BookmarkNode {
|
||||
@@ -247,6 +248,8 @@ class BookmarkPermanentNode : public BookmarkNode {
|
||||
int64_t id);
|
||||
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
|
||||
int64_t id);
|
||||
+ static std::unique_ptr<BookmarkPermanentNode> CreateTabsCollectionBookmarks(
|
||||
+ int64_t id,
|
||||
+ bool visible_when_empty);
|
||||
+ int64_t id);
|
||||
|
||||
// Constructor is private to disallow the construction of permanent nodes
|
||||
// other than the well-known ones, see factory methods.
|
||||
|
||||
@@ -72,7 +72,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
|
||||
@@ -53,6 +53,11 @@ found in the LICENSE file.
|
||||
@@ -54,6 +54,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" />
|
||||
|
||||
@@ -241,7 +241,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
|
||||
registry->RegisterBooleanPref(prefs::kShowHomeButton, false,
|
||||
GetHomeButtonAndHomePageIsNewTabPageFlags());
|
||||
+ registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false,
|
||||
+ GetHomeButtonAndHomePageIsNewTabPageFlags());
|
||||
+ PrefRegistry::NO_REGISTRATION_FLAGS);
|
||||
|
||||
registry->RegisterInt64Pref(prefs::kDefaultBrowserLastDeclined, 0);
|
||||
bool reset_check_default = false;
|
||||
|
||||
@@ -158,7 +158,7 @@ diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/con
|
||||
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
|
||||
@@ -287,6 +287,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -288,6 +288,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kTabGroupParityAndroid,
|
||||
&kTabletTabSwitcherLongPressMenu,
|
||||
&kTabletToolbarIncognitoStatus,
|
||||
@@ -169,7 +169,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
|
||||
@@ -336,6 +336,8 @@ public abstract class ChromeFeatureList {
|
||||
@@ -337,6 +337,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";
|
||||
@@ -178,16 +178,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";
|
||||
@@ -604,6 +606,8 @@ public abstract class ChromeFeatureList {
|
||||
@@ -605,6 +607,8 @@ public abstract class ChromeFeatureList {
|
||||
newCachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false);
|
||||
public static final CachedFlag sMoveTopToolbarToBottom =
|
||||
new CachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
|
||||
newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
|
||||
+ public static final CachedFlag sShowAlwaysContextMenuOnLinks =
|
||||
+ new CachedFlag(SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS, false);
|
||||
+ newCachedFlag(SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS, false);
|
||||
public static final CachedFlag sOmniboxModernizeVisualUpdate =
|
||||
newCachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, true);
|
||||
public static final CachedFlag sOptimizationGuidePushNotifications =
|
||||
@@ -739,6 +743,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -740,6 +744,7 @@ public abstract class ChromeFeatureList {
|
||||
sTabWindowManagerReportIndicesMismatch,
|
||||
sToolbarUseHardwareBitmapDraw,
|
||||
sUseChimeAndroidSdk,
|
||||
|
||||
@@ -68,7 +68,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3146,8 +3146,6 @@ static_library("browser") {
|
||||
@@ -3147,8 +3147,6 @@ static_library("browser") {
|
||||
"feed/android/refresh_task_scheduler_impl.cc",
|
||||
"feed/android/refresh_task_scheduler_impl.h",
|
||||
"feed/android/web_feed_bridge.cc",
|
||||
@@ -77,7 +77,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"file_select_helper_contacts_android.cc",
|
||||
"file_select_helper_contacts_android.h",
|
||||
"first_run/android/first_run_prefs.cc",
|
||||
@@ -3353,10 +3351,6 @@ static_library("browser") {
|
||||
@@ -3354,10 +3352,6 @@ static_library("browser") {
|
||||
"ssl/chrome_security_state_model_delegate.h",
|
||||
"ssl/known_interception_disclosure_infobar.cc",
|
||||
"ssl/known_interception_disclosure_infobar.h",
|
||||
|
||||
@@ -21,6 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../inline/BromiteInlineUpdateController.java | 272 ++++++++++++++++++
|
||||
.../omaha/inline/InlineUpdateController.java | 51 ++++
|
||||
.../inline/InlineUpdateControllerFactory.java | 21 ++
|
||||
chrome/browser/BUILD.gn | 2 +
|
||||
chrome/browser/endpoint_fetcher/BUILD.gn | 32 +++
|
||||
chrome/browser/endpoint_fetcher/DEPS | 3 +
|
||||
chrome/browser/endpoint_fetcher/OWNERS | 1 +
|
||||
@@ -35,7 +36,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../endpoint_fetcher/endpoint_fetcher.h | 23 +-
|
||||
.../Bromite-auto-updater.inc | 3 +
|
||||
.../Bromite-auto-updater.inc | 1 +
|
||||
27 files changed, 1267 insertions(+), 52 deletions(-)
|
||||
28 files changed, 1269 insertions(+), 52 deletions(-)
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
|
||||
@@ -1109,6 +1110,25 @@ new file mode 100644
|
||||
+ return new BromiteInlineUpdateController(callback);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3094,6 +3094,7 @@ static_library("browser") {
|
||||
"download/android/service/download_task_scheduler.h",
|
||||
"download/android/string_utils.cc",
|
||||
"download/download_crx_util_android.cc",
|
||||
+ "endpoint_fetcher/endpoint_fetcher_android.cc",
|
||||
"enterprise/reporting/browser_report_generator_android.cc",
|
||||
"enterprise/reporting/browser_report_generator_android.h",
|
||||
"enterprise/reporting/profile_report_generator_android.cc",
|
||||
@@ -3431,6 +3432,7 @@ static_library("browser") {
|
||||
"//chrome/browser/consent_auditor/android:jni_headers",
|
||||
"//chrome/browser/device_reauth/android:jni_headers",
|
||||
"//chrome/browser/download/internal/android",
|
||||
+ "//chrome/browser/endpoint_fetcher:jni_headers",
|
||||
"//chrome/browser/feed/android:jni_headers",
|
||||
"//chrome/browser/feedback/android",
|
||||
"//chrome/browser/feedback/android:jni_headers",
|
||||
diff --git a/chrome/browser/endpoint_fetcher/BUILD.gn b/chrome/browser/endpoint_fetcher/BUILD.gn
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
@@ -29,7 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/browser/browser_process_impl.cc | 21 ++
|
||||
chrome/browser/browser_process_impl.h | 2 +
|
||||
chrome/browser/chrome_browser_main.cc | 3 +
|
||||
chrome/browser/flags/BUILD.gn | 3 +
|
||||
chrome/browser/flags/BUILD.gn | 4 +
|
||||
.../flags/android/adblock_native_gateway.cc | 31 ++
|
||||
.../browser/flags/AdBlockNativeGateway.java | 30 ++
|
||||
.../net/system_network_context_manager.cc | 8 +
|
||||
@@ -52,7 +52,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/subresource_filter_features.cc | 116 +-------
|
||||
.../core/common/indexed_ruleset.cc | 5 +-
|
||||
.../Bromite-subresource-adblocker.inc | 3 +
|
||||
40 files changed, 1253 insertions(+), 127 deletions(-)
|
||||
40 files changed, 1254 insertions(+), 127 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
|
||||
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
||||
@@ -574,7 +574,15 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows
|
||||
diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
||||
--- a/chrome/browser/flags/BUILD.gn
|
||||
+++ b/chrome/browser/flags/BUILD.gn
|
||||
@@ -33,6 +33,7 @@ android_library("java") {
|
||||
@@ -8,6 +8,7 @@ import("//third_party/jni_zero/jni_zero.gni")
|
||||
android_library("java") {
|
||||
sources = [ "android/java/src/org/chromium/chrome/browser/flags/CromiteNativeUtils.java" ]
|
||||
sources += [
|
||||
+ "android/java/src/org/chromium/chrome/browser/flags/AdBlockNativeGateway.java",
|
||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java",
|
||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureMap.java",
|
||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeSessionState.java",
|
||||
@@ -33,6 +34,7 @@ android_library("java") {
|
||||
generate_jni("jni_headers") {
|
||||
sources = [ "android/java/src/org/chromium/chrome/browser/flags/CromiteNativeUtils.java" ]
|
||||
sources += [
|
||||
@@ -582,7 +590,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureMap.java",
|
||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeSessionState.java",
|
||||
]
|
||||
@@ -47,6 +48,7 @@ static_library("flags_android") {
|
||||
@@ -47,6 +49,7 @@ static_library("flags_android") {
|
||||
"android/chrome_session_state.cc",
|
||||
"android/chrome_session_state.h",
|
||||
]
|
||||
@@ -590,7 +598,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
||||
deps = [
|
||||
":jni_headers",
|
||||
"//base",
|
||||
@@ -71,6 +73,7 @@ robolectric_library("flags_junit_tests") {
|
||||
@@ -71,6 +74,7 @@ robolectric_library("flags_junit_tests") {
|
||||
"android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlagsAnnotationUnitTest.java",
|
||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureListWithProcessorUnitTest.java",
|
||||
"android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureListWithoutProcessorUnitTest.java",
|
||||
@@ -1975,7 +1983,7 @@ diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/comp
|
||||
// checksum, and is unneeded once expected_checksum is consistently nonzero.
|
||||
flatbuffers::Verifier verifier(buffer.data(), buffer.size());
|
||||
- if (expected_checksum != 0 && expected_checksum != LocalGetChecksum(buffer)) {
|
||||
+ int local_checksum = LocalGetChecksum(buffer, size);
|
||||
+ int local_checksum = LocalGetChecksum(buffer);
|
||||
+ LOG(INFO) << "GetVerifyStatus: expected checksum = 0x" << std::hex << expected_checksum << ", local checksum = 0x" << std::hex << local_checksum;
|
||||
+ if (expected_checksum != 0 && expected_checksum != local_checksum) {
|
||||
return flat::VerifyIndexedRulesetBuffer(verifier)
|
||||
|
||||
@@ -7,18 +7,20 @@ Use Google Chrome branding for client hints
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
components/embedder_support/user_agent_utils.cc | 4 +---
|
||||
content/browser/client_hints/client_hints.cc | 16 ++++++++++------
|
||||
.../browser/loader/navigation_url_loader_impl.cc | 5 +++++
|
||||
.../features_cc/Client-hints-overrides.inc | 1 +
|
||||
.../cpp/features_cc/Client-hints-overrides.inc | 1 +
|
||||
net/http/http_network_transaction.cc | 1 +
|
||||
services/network/public/cpp/client_hints.cc | 1 +
|
||||
.../blink/common/client_hints/client_hints.cc | 1 +
|
||||
.../common/client_hints/enabled_client_hints.cc | 4 +++-
|
||||
.../renderer/core/loader/base_fetch_context.cc | 6 ++++--
|
||||
.../platform/runtime_enabled_features.json5 | 4 ++++
|
||||
11 files changed, 32 insertions(+), 12 deletions(-)
|
||||
components/embedder_support/user_agent_utils.cc | 4 +---
|
||||
content/browser/client_hints/client_hints.cc | 17 +++++++++++------
|
||||
.../loader/navigation_url_loader_impl.cc | 5 +++++
|
||||
.../features_cc/Client-hints-overrides.inc | 1 +
|
||||
.../cpp/features_cc/Client-hints-overrides.inc | 1 +
|
||||
net/http/http_network_transaction.cc | 1 +
|
||||
services/network/public/cpp/client_hints.cc | 1 +
|
||||
.../blink/common/client_hints/client_hints.cc | 1 +
|
||||
.../common/client_hints/enabled_client_hints.cc | 4 +++-
|
||||
.../blink/renderer/core/frame/navigator_ua.idl | 4 +++-
|
||||
.../renderer/core/frame/navigator_ua_data.idl | 5 ++++-
|
||||
.../renderer/core/loader/base_fetch_context.cc | 6 ++++--
|
||||
.../platform/runtime_enabled_features.json5 | 4 ++++
|
||||
13 files changed, 40 insertions(+), 14 deletions(-)
|
||||
create mode 100644 cromite_flags/content/common/features_cc/Client-hints-overrides.inc
|
||||
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Client-hints-overrides.inc
|
||||
|
||||
@@ -39,7 +41,15 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
|
||||
diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc
|
||||
--- a/content/browser/client_hints/client_hints.cc
|
||||
+++ b/content/browser/client_hints/client_hints.cc
|
||||
@@ -516,7 +516,8 @@ void AddPrefersReducedTransparencyHeader(net::HttpRequestHeaders* headers,
|
||||
@@ -55,6 +55,7 @@
|
||||
#include "third_party/blink/public/common/permissions_policy/origin_with_possible_wildcards.h"
|
||||
#include "third_party/blink/public/common/permissions_policy/permissions_policy.h"
|
||||
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
|
||||
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
|
||||
#include "ui/display/display.h"
|
||||
#include "ui/display/screen.h"
|
||||
#include "url/origin.h"
|
||||
@@ -516,7 +517,8 @@ void AddPrefersReducedTransparencyHeader(net::HttpRequestHeaders* headers,
|
||||
: network::kPrefersReducedTransparencyNoPreference);
|
||||
}
|
||||
|
||||
@@ -49,17 +59,17 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie
|
||||
return network::IsOriginPotentiallyTrustworthy(origin);
|
||||
}
|
||||
|
||||
@@ -718,7 +719,8 @@ void UpdateNavigationRequestClientUaHeadersImpl(
|
||||
@@ -718,7 +720,8 @@ void UpdateNavigationRequestClientUaHeadersImpl(
|
||||
// value, disable them. This overwrites previous decision from UI.
|
||||
disable_due_to_custom_ua = !ua_metadata.has_value();
|
||||
}
|
||||
-
|
||||
+ if (!RuntimeEnabledFeatures::UserAgentClientHintEnabled())
|
||||
+ if (!blink::RuntimeEnabledFeatures::UserAgentClientHintEnabled())
|
||||
+ disable_due_to_custom_ua = true;
|
||||
if (!disable_due_to_custom_ua) {
|
||||
if (!ua_metadata.has_value())
|
||||
ua_metadata = delegate->GetUserAgentMetadata();
|
||||
@@ -900,10 +902,12 @@ void AddRequestClientHintsHeaders(
|
||||
@@ -900,10 +903,12 @@ void AddRequestClientHintsHeaders(
|
||||
AddEctHeader(headers, network_quality_tracker, url);
|
||||
}
|
||||
|
||||
@@ -67,7 +77,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie
|
||||
- delegate, is_ua_override_on, frame_tree_node,
|
||||
- ClientUaHeaderCallType::kDuringCreation, headers, container_policy,
|
||||
- request_url, data);
|
||||
+ if (RuntimeEnabledFeatures::UserAgentClientHintEnabled()) {
|
||||
+ if (blink::RuntimeEnabledFeatures::UserAgentClientHintEnabled()) {
|
||||
+ UpdateNavigationRequestClientUaHeadersImpl(
|
||||
+ delegate, is_ua_override_on, frame_tree_node,
|
||||
+ ClientUaHeaderCallType::kDuringCreation, headers, container_policy,
|
||||
@@ -164,6 +174,34 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
|
||||
for (const auto& elem : network::GetClientHintToNameMap()) {
|
||||
const auto& type = elem.first;
|
||||
if (IsEnabled(type))
|
||||
diff --git a/third_party/blink/renderer/core/frame/navigator_ua.idl b/third_party/blink/renderer/core/frame/navigator_ua.idl
|
||||
--- a/third_party/blink/renderer/core/frame/navigator_ua.idl
|
||||
+++ b/third_party/blink/renderer/core/frame/navigator_ua.idl
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
// https://github.com/WICG/ua-client-hints
|
||||
|
||||
-interface mixin NavigatorUA {
|
||||
+[
|
||||
+ RuntimeEnabled=UserAgentClientHint
|
||||
+] interface mixin NavigatorUA {
|
||||
[SecureContext] readonly attribute NavigatorUAData userAgentData;
|
||||
};
|
||||
diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.idl b/third_party/blink/renderer/core/frame/navigator_ua_data.idl
|
||||
--- a/third_party/blink/renderer/core/frame/navigator_ua_data.idl
|
||||
+++ b/third_party/blink/renderer/core/frame/navigator_ua_data.idl
|
||||
@@ -4,7 +4,10 @@
|
||||
|
||||
// https://github.com/WICG/ua-client-hints
|
||||
|
||||
-[Exposed=(Window,Worker)] interface NavigatorUAData {
|
||||
+[
|
||||
+ RuntimeEnabled=UserAgentClientHint,
|
||||
+ Exposed=(Window,Worker)
|
||||
+] interface NavigatorUAData {
|
||||
[HighEntropy, MeasureAs=NavigatorUAData_Brands] readonly attribute FrozenArray<NavigatorUABrandVersion> brands;
|
||||
[HighEntropy=Direct, MeasureAs=NavigatorUAData_Mobile] readonly attribute boolean mobile;
|
||||
[HighEntropy=Direct, MeasureAs=NavigatorUAData_Platform] readonly attribute DOMString platform;
|
||||
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/third_party/blink/renderer/core/loader/base_fetch_context.cc
|
||||
--- a/third_party/blink/renderer/core/loader/base_fetch_context.cc
|
||||
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.cc
|
||||
|
||||
@@ -42,10 +42,10 @@ Require: bromite-build-utils.patch
|
||||
.../BromiteCustomContentSetting.java | 155 +++++++
|
||||
.../BromiteCustomContentSettingImpl.java | 409 ++++++++++++++++++
|
||||
...tomTriStateSiteSettingsPreferenceImpl.java | 24 +
|
||||
.../ContentSettingsResources.java | 14 +-
|
||||
.../ContentSettingsResources.java | 16 +-
|
||||
.../site_settings/SingleCategorySettings.java | 50 ++-
|
||||
.../site_settings/SingleWebsiteSettings.java | 58 ++-
|
||||
.../site_settings/SiteSettings.java | 30 +-
|
||||
.../site_settings/SiteSettings.java | 31 +-
|
||||
.../site_settings/SiteSettingsCategory.java | 18 +-
|
||||
.../site_settings/SiteSettingsDelegate.java | 2 +
|
||||
.../TriStateSiteSettingsPreference.java | 13 +-
|
||||
@@ -84,7 +84,7 @@ Require: bromite-build-utils.patch
|
||||
.../platform/web_content_settings_client.h | 5 +
|
||||
.../execution_context/execution_context.cc | 16 +
|
||||
.../execution_context/execution_context.h | 5 +
|
||||
73 files changed, 1829 insertions(+), 85 deletions(-)
|
||||
73 files changed, 1832 insertions(+), 85 deletions(-)
|
||||
create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
@@ -1550,7 +1550,7 @@ new file mode 100644
|
||||
+
|
||||
+public abstract class BromiteCustomContentSetting {
|
||||
+
|
||||
+ private @ContentSettingsType int mContentSettingsType;
|
||||
+ private @ContentSettingsType.EnumType int mContentSettingsType;
|
||||
+ private @SiteSettingsCategory.Type int mSiteSettingsCategory;
|
||||
+ private @ContentSettingValues Integer mDefaultEnabledValue;
|
||||
+ private @ContentSettingValues Integer mDefaultDisabledValue;
|
||||
@@ -1558,7 +1558,7 @@ new file mode 100644
|
||||
+ private String mPreferenceKey;
|
||||
+ private String mProfilePrefKey;
|
||||
+
|
||||
+ public BromiteCustomContentSetting(@ContentSettingsType int contentSettingsType,
|
||||
+ public BromiteCustomContentSetting(@ContentSettingsType.EnumType int contentSettingsType,
|
||||
+ @ContentSettingValues Integer defaultEnabledValue,
|
||||
+ @ContentSettingValues Integer defaultDisabledValue,
|
||||
+ boolean allowException,
|
||||
@@ -1572,7 +1572,7 @@ new file mode 100644
|
||||
+ mProfilePrefKey = profilePrefKey;
|
||||
+ }
|
||||
+
|
||||
+ public @ContentSettingsType int getContentSetting() {
|
||||
+ public @ContentSettingsType.EnumType int getContentSetting() {
|
||||
+ return mContentSettingsType;
|
||||
+ }
|
||||
+
|
||||
@@ -1637,7 +1637,7 @@ new file mode 100644
|
||||
+
|
||||
+ public abstract @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value);
|
||||
+
|
||||
+ public ContentSettingException createCustomException(@ContentSettingsType int type,
|
||||
+ public ContentSettingException createCustomException(@ContentSettingsType.EnumType int type,
|
||||
+ @ContentSettingValues int value,
|
||||
+ WebsiteAddress websiteAddress) {
|
||||
+ return null;
|
||||
@@ -1754,7 +1754,7 @@ new file mode 100644
|
||||
+ return BromiteCustomContentSettingImplBase.NUM_ENTRIES();
|
||||
+ }
|
||||
+
|
||||
+ public static BromiteCustomContentSetting getContentSetting(@ContentSettingsType int type) {
|
||||
+ public static BromiteCustomContentSetting getContentSetting(@ContentSettingsType.EnumType int type) {
|
||||
+ for (BromiteCustomContentSetting cs : mItemList) {
|
||||
+ if (type == cs.getContentSetting()) {
|
||||
+ return cs;
|
||||
@@ -1764,7 +1764,7 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ public static Preference createWebSitePreference(
|
||||
+ @ContentSettingsType int type,
|
||||
+ @ContentSettingsType.EnumType int type,
|
||||
+ Context context,
|
||||
+ @ContentSettingValues @Nullable Integer value) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
@@ -1809,7 +1809,7 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ public static void setWebSitePreferenceValue(
|
||||
+ @ContentSettingsType int type,
|
||||
+ @ContentSettingsType.EnumType int type,
|
||||
+ Preference preference,
|
||||
+ @ContentSettingValues @Nullable Integer value) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
@@ -1827,7 +1827,7 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ public static Integer getWebSitePreferenceValue(
|
||||
+ @ContentSettingsType int type,
|
||||
+ @ContentSettingsType.EnumType int type,
|
||||
+ Object newValue) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
+ if (cs != null) {
|
||||
@@ -1851,13 +1851,13 @@ new file mode 100644
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public static String getProfilePrefKey(@ContentSettingsType int type) {
|
||||
+ public static String getProfilePrefKey(@ContentSettingsType.EnumType int type) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
+ if (cs != null) return cs.getProfilePrefKey();
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public static @ContentSettingsType int contentSettingsType(@SiteSettingsCategory.Type int type) {
|
||||
+ public static @ContentSettingsType.EnumType int contentSettingsType(@SiteSettingsCategory.Type int type) {
|
||||
+ for (BromiteCustomContentSetting cs : mItemList) {
|
||||
+ if (type == cs.getSiteSettingsCategory()) {
|
||||
+ return cs.getContentSetting();
|
||||
@@ -1868,31 +1868,31 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ public static WebsitePermissionsFetcher.WebsitePermissionsType getPermissionsType(
|
||||
+ @ContentSettingsType int type) {
|
||||
+ @ContentSettingsType.EnumType int type) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
+ if (cs != null) return cs.getPermissionsType();
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public static ContentSettingsResources.ResourceItem getResourceItem(@ContentSettingsType int type) {
|
||||
+ public static ContentSettingsResources.ResourceItem getResourceItem(@ContentSettingsType.EnumType int type) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
+ if (cs != null) return cs.getResourceItem();
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public static int getCategorySummary(@ContentSettingsType int type, @Nullable @ContentSettingValues int value) {
|
||||
+ public static int getCategorySummary(@ContentSettingsType.EnumType int type, @Nullable @ContentSettingValues int value) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
+ if (cs != null) return cs.getCategorySummary(value);
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ public static boolean requiresTriStateContentSetting(@ContentSettingsType int type) {
|
||||
+ public static boolean requiresTriStateContentSetting(@ContentSettingsType.EnumType int type) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
+ if (cs != null) return cs.requiresTriStateContentSetting();
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ public static int[] getTriStateSettingDescriptionIDs(@ContentSettingsType int type) {
|
||||
+ public static int[] getTriStateSettingDescriptionIDs(@ContentSettingsType.EnumType int type) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
+ if (cs != null) return cs.getTriStateSettingDescriptionIDs();
|
||||
+ return null;
|
||||
@@ -1928,13 +1928,13 @@ new file mode 100644
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ public static boolean processOnBlockList(@ContentSettingsType int type, @ContentSettingValues Integer value) {
|
||||
+ public static boolean processOnBlockList(@ContentSettingsType.EnumType int type, @ContentSettingValues Integer value) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
+ if (cs != null) return cs.processOnBlockList(value);
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ public static boolean isOnBlockList(@ContentSettingsType int type,
|
||||
+ public static boolean isOnBlockList(@ContentSettingsType.EnumType int type,
|
||||
+ WebsitePreference website,
|
||||
+ @ContentSettingValues Integer contentSetting) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
@@ -2024,7 +2024,7 @@ new file mode 100644
|
||||
+ return "";
|
||||
+ }
|
||||
+
|
||||
+ public static ContentSettingException createCustomException(@ContentSettingsType int type,
|
||||
+ public static ContentSettingException createCustomException(@ContentSettingsType.EnumType int type,
|
||||
+ @ContentSettingValues int value,
|
||||
+ WebsiteAddress websiteAddress) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
@@ -2040,7 +2040,7 @@ new file mode 100644
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public static AlertDialog.Builder buildPreferenceDialog(Website site, @ContentSettingsType int type,
|
||||
+ public static AlertDialog.Builder buildPreferenceDialog(Website site, @ContentSettingsType.EnumType int type,
|
||||
+ BrowserContextHandle browserContextHandle,
|
||||
+ Context context,
|
||||
+ final DialogInterface.OnClickListener listener) {
|
||||
@@ -2143,20 +2143,22 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
assert false; // NOTREACHED
|
||||
return null;
|
||||
}
|
||||
@@ -600,6 +602,12 @@ public class ContentSettingsResources {
|
||||
@@ -600,6 +602,14 @@ public class ContentSettingsResources {
|
||||
return getResourceItem(contentType, null).getDefaultDisabledValue();
|
||||
}
|
||||
|
||||
+ public static int getCategorySummary(int contentType, @Nullable @ContentSettingValues int value) {
|
||||
+ public static int getCategorySummary(int contentType,
|
||||
+ @Nullable @ContentSettingValues int value,
|
||||
+ boolean isOneTime) {
|
||||
+ int result = BromiteCustomContentSettingImpl.getCategorySummary(contentType, value);
|
||||
+ if (result != 0) return result;
|
||||
+ return getCategorySummary(value);
|
||||
+ return getCategorySummary(value, isOneTime);
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Returns the string resource id for a given ContentSetting to show with a permission category.
|
||||
*
|
||||
@@ -762,6 +770,8 @@ public class ContentSettingsResources {
|
||||
@@ -762,6 +772,8 @@ public class ContentSettingsResources {
|
||||
* Blocked states, in that order.
|
||||
*/
|
||||
public static int[] getTriStateSettingDescriptionIDs(int contentType) {
|
||||
@@ -2463,7 +2465,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
Preference p = findPreference(prefCategory);
|
||||
int contentType = SiteSettingsCategory.contentSettingsType(prefCategory);
|
||||
// p can be null if the Preference was removed in configurePreferences.
|
||||
@@ -142,19 +143,20 @@ public class SiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -142,19 +143,21 @@ public class SiteSettings extends BaseSiteSettingsFragment
|
||||
} else if (Type.ZOOM == prefCategory) {
|
||||
// Don't want to set a summary for Zoom because we don't want any message to display
|
||||
// under the Zoom row on site settings.
|
||||
@@ -2480,7 +2482,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
- p.setSummary(
|
||||
- ContentSettingsResources.getCategorySummary(
|
||||
- defaultForToggle, /* isOneTime= */ false));
|
||||
+ int summary = ContentSettingsResources.getCategorySummary(contentType, setting);
|
||||
+ int summary = ContentSettingsResources.getCategorySummary(
|
||||
+ contentType, setting, /* isOneTime= */ false);
|
||||
+ if (summary != 0) {
|
||||
+ p.setSummary(summary);
|
||||
+ } else {
|
||||
@@ -2595,7 +2598,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
private RadioButtonWithDescription mAsk;
|
||||
private RadioButtonWithDescription mBlocked;
|
||||
private RadioGroup mRadioGroup;
|
||||
+ private @ContentSettingsType int mContentType;
|
||||
+ private @ContentSettingsType.EnumType int mContentType;
|
||||
|
||||
public TriStateSiteSettingsPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
@@ -2604,7 +2607,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
* Allowed, Ask and Blocked states, in that order.
|
||||
*/
|
||||
- public void initialize(@ContentSettingValues int setting, int[] descriptionIds) {
|
||||
+ public void initialize(@ContentSettingsType int contentType,
|
||||
+ public void initialize(@ContentSettingsType.EnumType int contentType,
|
||||
+ @ContentSettingValues int setting, int[] descriptionIds) {
|
||||
+ mContentType = contentType;
|
||||
mSetting = setting;
|
||||
@@ -3126,7 +3129,7 @@ diff --git a/components/content_settings/core/common/content_settings_types.mojo
|
||||
|
||||
- NUM_TYPES,
|
||||
+ NUM_TYPES_CHROMIUM,
|
||||
+#include "components/content_settings/core/common/bromite_content_settings.inc"
|
||||
+// #include "components/content_settings/core/common/bromite_content_settings.inc"
|
||||
+ NUM_TYPES_BROMITE,
|
||||
};
|
||||
|
||||
|
||||
@@ -5,12 +5,12 @@ Subject: Disable Android AppRestrictions
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
chrome/browser/flags/BUILD.gn | 1 +
|
||||
.../cromite/sEnableAndroidAppRestriction.java | 38 +++++++++++++++++++
|
||||
.../cromite/sEnableAndroidAppRestriction.java | 39 +++++++++++++++++++
|
||||
.../policy/AppRestrictionsProvider.java | 8 ++++
|
||||
.../DisableAndroidAppRestriction.inc | 13 +++++++
|
||||
.../disable-android-app-restriction.inc | 3 ++
|
||||
.../disable-android-app-restriction.inc | 1 +
|
||||
6 files changed, 64 insertions(+)
|
||||
6 files changed, 65 insertions(+)
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sEnableAndroidAppRestriction.java
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/DisableAndroidAppRestriction.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-android-app-restriction.inc
|
||||
@@ -19,7 +19,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
|
||||
--- a/chrome/browser/flags/BUILD.gn
|
||||
+++ b/chrome/browser/flags/BUILD.gn
|
||||
@@ -23,6 +23,7 @@ android_library("java") {
|
||||
@@ -25,6 +25,7 @@ android_library("java") {
|
||||
"//build:chromeos_buildflags",
|
||||
"//build/android:build_java",
|
||||
"//chrome/browser/preferences:java",
|
||||
@@ -31,7 +31,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sEnableAndroidAppRestriction.java
|
||||
@@ -0,0 +1,38 @@
|
||||
@@ -0,0 +1,39 @@
|
||||
+/*
|
||||
+ This file is part of Cromite.
|
||||
+
|
||||
@@ -51,14 +51,15 @@ new file mode 100644
|
||||
+
|
||||
+package org.chromium.chrome.browser.flags.cromite;
|
||||
+
|
||||
+import org.chromium.chrome.browser.flags.CachedFlag;
|
||||
+import org.chromium.base.cached_flags.CachedFlag;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureMap;
|
||||
+import org.chromium.components.policy.AppRestrictionsProvider;
|
||||
+
|
||||
+public class sEnableAndroidAppRestriction {
|
||||
+ private static boolean initialized_ = false;
|
||||
+
|
||||
+ private static final CachedFlag sInstance =
|
||||
+ new CachedFlag("EnableAndroidAppRestriction", false);
|
||||
+ new CachedFlag(ChromeFeatureMap.getInstance(), "EnableAndroidAppRestriction", false);
|
||||
+
|
||||
+ private sEnableAndroidAppRestriction() {}
|
||||
+
|
||||
|
||||
@@ -4,12 +4,57 @@ Subject: Disable FirstPartySets and StorageAccessAPI
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../first_party_sets/first_party_sets_navigation_throttle.cc | 2 +-
|
||||
.../first_party_sets/first_party_sets_policy_service.cc | 3 ++-
|
||||
.../browser/privacy_sandbox/privacy_sandbox_service_impl.cc | 2 +-
|
||||
components/privacy_sandbox/privacy_sandbox_prefs.cc | 2 +-
|
||||
components/privacy_sandbox/tracking_protection_prefs.cc | 4 ++--
|
||||
.../Disable-FirstPartySets-and-StorageAccessAPI.inc | 1 +
|
||||
3 files changed, 4 insertions(+), 3 deletions(-)
|
||||
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-FirstPartySets-and-StorageAccessAPI.inc
|
||||
5 files changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/first_party_sets/first_party_sets_navigation_throttle.cc b/chrome/browser/first_party_sets/first_party_sets_navigation_throttle.cc
|
||||
--- a/chrome/browser/first_party_sets/first_party_sets_navigation_throttle.cc
|
||||
+++ b/chrome/browser/first_party_sets/first_party_sets_navigation_throttle.cc
|
||||
@@ -77,7 +77,7 @@ FirstPartySetsNavigationThrottle::MaybeCreateNavigationThrottle(
|
||||
// The `service` might be null for some irregular profiles.
|
||||
// TODO(https://crbug.com/1348572): regular profiles and guest sessions
|
||||
// aren't mutually exclusive on ChromeOS.
|
||||
- if (!profile->IsRegularProfile() || profile->IsGuestSession())
|
||||
+ if (((true)) || !profile->IsRegularProfile() || profile->IsGuestSession())
|
||||
return nullptr;
|
||||
|
||||
FirstPartySetsPolicyService* service =
|
||||
diff --git a/chrome/browser/first_party_sets/first_party_sets_policy_service.cc b/chrome/browser/first_party_sets/first_party_sets_policy_service.cc
|
||||
--- a/chrome/browser/first_party_sets/first_party_sets_policy_service.cc
|
||||
+++ b/chrome/browser/first_party_sets/first_party_sets_policy_service.cc
|
||||
@@ -58,6 +58,7 @@ const base::Value::Dict* GetOverridesPolicyForProfile(
|
||||
}
|
||||
|
||||
ServiceState GetServiceState(Profile* profile, bool pref_enabled) {
|
||||
+ if ((true)) return ServiceState::kPermanentlyDisabled;
|
||||
if (profile->IsSystemProfile() || profile->IsGuestSession() ||
|
||||
profile->IsOffTheRecord()) {
|
||||
return ServiceState::kPermanentlyDisabled;
|
||||
@@ -107,7 +108,7 @@ void FirstPartySetsPolicyService::Init() {
|
||||
profile, profile->GetPrefs() &&
|
||||
profile->GetPrefs()->GetBoolean(
|
||||
prefs::kPrivacySandboxRelatedWebsiteSetsEnabled));
|
||||
-
|
||||
+ service_state_ = ServiceState::kPermanentlyDisabled;
|
||||
if (service_state_ == ServiceState::kPermanentlyDisabled) {
|
||||
OnReadyToNotifyDelegates(net::FirstPartySetsContextConfig(),
|
||||
net::FirstPartySetsCacheFilter());
|
||||
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
|
||||
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
|
||||
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
|
||||
@@ -418,7 +418,7 @@ bool PrivacySandboxServiceImpl::IsRestrictedNoticeEnabled() {
|
||||
void PrivacySandboxServiceImpl::SetFirstPartySetsDataAccessEnabled(
|
||||
bool enabled) {
|
||||
pref_service_->SetBoolean(prefs::kPrivacySandboxRelatedWebsiteSetsEnabled,
|
||||
- enabled);
|
||||
+ false);
|
||||
}
|
||||
|
||||
bool PrivacySandboxServiceImpl::IsFirstPartySetsDataAccessEnabled() const {
|
||||
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
|
||||
@@ -18,7 +63,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
|
||||
prefs::kPrivacySandboxFirstPartySetsDataAccessAllowedInitialized, false);
|
||||
registry->RegisterBooleanPref(
|
||||
- prefs::kPrivacySandboxRelatedWebsiteSetsEnabled, true,
|
||||
+ prefs::kPrivacySandboxRelatedWebsiteSetsEnabled, false,
|
||||
+ prefs::kPrivacySandboxRelatedWebsiteSetsEnabled, false, // must be disabled
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
|
||||
registry->RegisterBooleanPref(prefs::kPrivacySandboxTopicsConsentGiven,
|
||||
@@ -41,10 +86,4 @@ diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/component
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kIpProtectionEnabled, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-FirstPartySets-and-StorageAccessAPI.inc b/cromite_flags/content/public/common/content_features_cc/Disable-FirstPartySets-and-StorageAccessAPI.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/cromite_flags/content/public/common/content_features_cc/Disable-FirstPartySets-and-StorageAccessAPI.inc
|
||||
@@ -0,0 +1 @@
|
||||
+SET_CROMITE_FEATURE_DISABLED(kFirstPartySets);
|
||||
--
|
||||
|
||||
@@ -4,11 +4,11 @@ Subject: Disable GSA by default
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../org/chromium/chrome/browser/IntentHandler.java | 5 -----
|
||||
.../org/chromium/chrome/browser/share/LensUtils.java | 12 +-----------
|
||||
.../org/chromium/chrome/browser/gsa/GSAState.java | 11 +++++------
|
||||
.../Disable-GSA-by-default.inc | 2 ++
|
||||
4 files changed, 8 insertions(+), 22 deletions(-)
|
||||
.../org/chromium/chrome/browser/IntentHandler.java | 5 -----
|
||||
.../chromium/chrome/browser/share/LensUtils.java | 14 ++------------
|
||||
.../org/chromium/chrome/browser/gsa/GSAState.java | 11 +++++------
|
||||
.../Disable-GSA-by-default.inc | 1 +
|
||||
4 files changed, 8 insertions(+), 23 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
||||
@@ -64,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,11 +92,7 @@ public class LensUtils {
|
||||
@@ -98,15 +92,11 @@ public class LensUtils {
|
||||
* @return Whether the package is valid.
|
||||
*/
|
||||
public static boolean isValidAgsaPackage(final ExternalAuthUtils externalAuthUtils) {
|
||||
@@ -77,6 +77,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
|
||||
}
|
||||
|
||||
public static boolean isGoogleLensFeatureEnabled(boolean isIncognito) {
|
||||
- return !isIncognito;
|
||||
+ return false;
|
||||
}
|
||||
|
||||
public static boolean shouldLogUkmForLensContextMenuFeatures() {
|
||||
diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java
|
||||
--- a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java
|
||||
+++ b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAState.java
|
||||
@@ -111,7 +116,7 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAStat
|
||||
*/
|
||||
public boolean isAgsaVersionBelowMinimum(
|
||||
String installedVersionName, String minimumVersionName) {
|
||||
+ if ((true)) return true;
|
||||
+ if ((true)) return false;
|
||||
if (TextUtils.isEmpty(installedVersionName) || TextUtils.isEmpty(minimumVersionName)) {
|
||||
return true;
|
||||
}
|
||||
@@ -137,7 +142,6 @@ diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/D
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
|
||||
@@ -0,0 +1,2 @@
|
||||
+SET_CROMITE_FEATURE_DISABLED(kContextMenuSearchWithGoogleLens);
|
||||
@@ -0,0 +1 @@
|
||||
+SET_CROMITE_FEATURE_DISABLED(kExperimentsForAgsa);
|
||||
--
|
||||
|
||||
@@ -4,11 +4,23 @@ Subject: Disable PrivacyGuide
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/browser/ui/webui/settings/settings_ui.cc | 2 +-
|
||||
.../common/chrome_features_cc/Disable-PrivacyGuide.inc | 10 ++++++++++
|
||||
2 files changed, 11 insertions(+), 1 deletion(-)
|
||||
chrome/android/java/res/xml/privacy_preferences.xml | 1 +
|
||||
chrome/browser/ui/webui/settings/settings_ui.cc | 2 +-
|
||||
.../common/chrome_features_cc/Disable-PrivacyGuide.inc | 9 +++++++++
|
||||
3 files changed, 11 insertions(+), 1 deletion(-)
|
||||
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-PrivacyGuide.inc
|
||||
|
||||
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
|
||||
@@ -21,6 +21,7 @@ found in the LICENSE file.
|
||||
android:fragment="org.chromium.chrome.browser.browsing_data.ClearBrowsingDataTabsFragment" />
|
||||
<Preference
|
||||
android:key="privacy_guide"
|
||||
+ app:isPreferenceVisible="false"
|
||||
android:title="@string/privacy_guide_pref_title"
|
||||
android:summary="@string/privacy_guide_pref_summary"
|
||||
android:fragment="org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment" />
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||
@@ -25,7 +37,7 @@ diff --git a/cromite_flags/chrome/common/chrome_features_cc/Disable-PrivacyGuide
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/cromite_flags/chrome/common/chrome_features_cc/Disable-PrivacyGuide.inc
|
||||
@@ -0,0 +1,10 @@
|
||||
@@ -0,0 +1,9 @@
|
||||
+SET_CROMITE_FEATURE_DISABLED(kPrivacyGuide3);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kPrivacyGuidePreload);
|
||||
+
|
||||
@@ -33,7 +45,6 @@ new file mode 100644
|
||||
+
|
||||
+SET_CROMITE_FEATURE_DISABLED(kPrivacyGuideAndroid3);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kPrivacyGuidePreloadAndroid);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kPrivacyGuideAndroid);
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
|
||||
@@ -142,7 +142,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
|
||||
HostsFromOrigins(params_.origins_to_force_quic_on),
|
||||
actual_network_anonymization_key),
|
||||
- std::make_unique<quic::QuicClientSessionCache>(), this);
|
||||
+ std::make_unique<quic::BromiteSessionCache>(), this);
|
||||
+ std::make_unique<BromiteSessionCache>(), this);
|
||||
|
||||
quic::QuicCryptoClientConfig* crypto_config = crypto_config_owner->config();
|
||||
crypto_config->AddCanonicalSuffix(".c.youtube.com");
|
||||
|
||||
@@ -9,12 +9,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../preloading_model_keyed_service.cc | 1 +
|
||||
.../preloading_model_keyed_service_factory.cc | 4 +--
|
||||
.../chrome_hints_manager.cc | 1 +
|
||||
.../model_validator_keyed_service.cc | 4 ++-
|
||||
.../optimization_guide_keyed_service.cc | 1 -
|
||||
.../predictors/loading_predictor_config.cc | 4 +--
|
||||
.../browser/predictors/predictors_features.cc | 11 ++------
|
||||
chrome/browser/ui/tab_helpers.cc | 1 -
|
||||
.../ui/webui/omnibox/omnibox_page_handler.cc | 14 +++++++++++
|
||||
.../browser/autofill_optimization_guide.cc | 5 ++--
|
||||
.../metrics/shadow_prediction_metrics.cc | 2 +-
|
||||
.../browser/autocomplete_controller.cc | 2 ++
|
||||
.../optimization_guide/core/hints_fetcher.cc | 1 +
|
||||
.../optimization_guide/core/hints_manager.cc | 5 ++++
|
||||
@@ -22,6 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../core/prediction_model_download_manager.cc | 6 +++--
|
||||
.../core/prediction_model_fetcher_impl.cc | 1 +
|
||||
components/optimization_guide/features.gni | 3 +--
|
||||
.../phishing_classifier.cc | 2 +-
|
||||
components/search/ntp_features.cc | 3 +++
|
||||
.../Disable-all-predictors-code.inc | 4 +++
|
||||
.../Disable-all-predictors-code.inc | 7 ++++++
|
||||
@@ -29,7 +32,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../Disable-all-predictors-code.inc | 2 ++
|
||||
.../document_speculation_rules.cc | 1 +
|
||||
.../platform/runtime_enabled_features.json5 | 2 +-
|
||||
24 files changed, 75 insertions(+), 35 deletions(-)
|
||||
27 files changed, 80 insertions(+), 38 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc
|
||||
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc
|
||||
create mode 100644 cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc
|
||||
@@ -81,6 +84,40 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/
|
||||
|
||||
if (prediction->prediction_source() !=
|
||||
NavigationPredictorKeyedService::PredictionSource::
|
||||
diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc b/chrome/browser/optimization_guide/model_validator_keyed_service.cc
|
||||
--- a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
|
||||
+++ b/chrome/browser/optimization_guide/model_validator_keyed_service.cc
|
||||
@@ -34,13 +34,13 @@ namespace optimization_guide {
|
||||
ModelValidatorKeyedService::ModelValidatorKeyedService(Profile* profile)
|
||||
: profile_(profile) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
DCHECK(ShouldStartModelValidator());
|
||||
auto* opt_guide_service =
|
||||
OptimizationGuideKeyedServiceFactory::GetForProfile(profile);
|
||||
if (!opt_guide_service) {
|
||||
return;
|
||||
}
|
||||
-#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
if (switches::ShouldValidateModel()) {
|
||||
// Create the validator object which will get destroyed when the model
|
||||
// load is complete.
|
||||
@@ -93,6 +93,7 @@ void ModelValidatorKeyedService::OnPrimaryAccountChanged(
|
||||
|
||||
void ModelValidatorKeyedService::StartModelExecutionValidation() {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
auto* opt_guide_service =
|
||||
OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
|
||||
if (!opt_guide_service) {
|
||||
@@ -110,6 +111,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() {
|
||||
proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_TEST, request,
|
||||
base::BindOnce(&ModelValidatorKeyedService::OnModelExecuteResponse,
|
||||
weak_ptr_factory_.GetWeakPtr()));
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ModelValidatorKeyedService::OnModelExecuteResponse(
|
||||
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
@@ -239,6 +276,18 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c
|
||||
optimization_guide::OptimizationGuideDecision decision =
|
||||
decider_->CanApplyOptimization(url, optimization_type,
|
||||
/*optimization_metadata=*/nullptr);
|
||||
diff --git a/components/autofill/core/browser/metrics/shadow_prediction_metrics.cc b/components/autofill/core/browser/metrics/shadow_prediction_metrics.cc
|
||||
--- a/components/autofill/core/browser/metrics/shadow_prediction_metrics.cc
|
||||
+++ b/components/autofill/core/browser/metrics/shadow_prediction_metrics.cc
|
||||
@@ -74,7 +74,7 @@ void LogRegexShadowPredictions(const AutofillField& field) {
|
||||
|
||||
void LogMlShadowPredictions(const AutofillField& field) {
|
||||
#if !BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
- return;
|
||||
+ if ((true)) return;
|
||||
#endif
|
||||
if (!base::FeatureList::IsEnabled(features::kAutofillModelPredictions)) {
|
||||
return;
|
||||
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
||||
--- a/components/omnibox/browser/autocomplete_controller.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
||||
@@ -405,6 +454,18 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio
|
||||
}
|
||||
|
||||
declare_args() {
|
||||
diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.cc b/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.cc
|
||||
--- a/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.cc
|
||||
+++ b/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.cc
|
||||
@@ -234,7 +234,7 @@ void PhishingClassifier::VisualExtractionFinished(bool success) {
|
||||
*bitmap_, base::BindOnce(&PhishingClassifier::OnVisualTfLiteModelDone,
|
||||
weak_factory_.GetWeakPtr(), std::move(verdict)));
|
||||
#else
|
||||
- RunCallback(*verdict);
|
||||
+ //RunCallback(*verdict);
|
||||
#endif
|
||||
}
|
||||
|
||||
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
|
||||
--- a/components/search/ntp_features.cc
|
||||
+++ b/components/search/ntp_features.cc
|
||||
|
||||
@@ -123,7 +123,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3459,7 +3459,6 @@ static_library("browser") {
|
||||
@@ -3461,7 +3461,6 @@ static_library("browser") {
|
||||
"//chrome/browser/reading_list/android",
|
||||
"//chrome/browser/recent_tabs:jni_headers",
|
||||
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
|
||||
|
||||
@@ -43,8 +43,8 @@ diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/service
|
||||
- /*password=*/password,
|
||||
- std::move(analysis_finished_callback),
|
||||
- std::move(temp_file_getter_callback), &results_);
|
||||
+ LOG(FATAL) << "AnalyzeRarFile is disabled in this build";
|
||||
+ Timeout();
|
||||
+ LOG(FATAL) << "AnalyzeRarFile is disabled in this build";
|
||||
}
|
||||
|
||||
void SafeArchiveAnalyzer::AnalyzeSevenZipFile(
|
||||
|
||||
@@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
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
|
||||
@@ -765,7 +765,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -766,7 +766,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final MutableFlagWithSafeDefault sAdvancedPeripheralsSupportTabStrip =
|
||||
newMutableFlagWithSafeDefault(ADVANCED_PERIPHERALS_SUPPORT_TAB_STRIP, true);
|
||||
public static final MutableFlagWithSafeDefault sAndroidImprovedBookmarks =
|
||||
|
||||
@@ -406,7 +406,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3634,6 +3634,9 @@ static_library("browser") {
|
||||
@@ -3636,6 +3636,9 @@ static_library("browser") {
|
||||
"//components/user_scripts/android",
|
||||
]
|
||||
}
|
||||
@@ -1134,7 +1134,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
|
||||
// Dummy number used for indicating that a new search engine is added.
|
||||
const int kNewSearchEngineIndex = -1;
|
||||
@@ -220,15 +223,17 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
@@ -220,15 +223,18 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
IDS_SEARCH_ENGINES_EDITOR_DESCRIPTION_COLUMN));
|
||||
dict.Set("keyword", table_model->GetText(
|
||||
index, IDS_SEARCH_ENGINES_EDITOR_KEYWORD_COLUMN));
|
||||
@@ -1150,10 +1150,11 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
dict.Set("iconURL", icon_url.spec());
|
||||
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
+ Profile* profile = Profile::FromWebUI(web_ui());
|
||||
const bool is_search_engine_choice_settings_ui =
|
||||
search_engines::IsChoiceScreenFlagEnabled(
|
||||
search_engines::ChoicePromo::kAny);
|
||||
@@ -252,6 +257,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
@@ -252,6 +258,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
dict.Set("iconPath", base::StrCat({icon_path, "@2x"}));
|
||||
}
|
||||
}
|
||||
@@ -1161,17 +1162,14 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
|
||||
dict.Set("modelIndex", base::checked_cast<int>(index));
|
||||
|
||||
@@ -266,8 +272,10 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
@@ -266,6 +273,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
dict.Set("isManaged", list_controller_.IsManaged(template_url));
|
||||
TemplateURL::Type type = template_url->type();
|
||||
dict.Set("isOmniboxExtension", type == TemplateURL::OMNIBOX_API_EXTENSION);
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
if (type == TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION ||
|
||||
type == TemplateURL::OMNIBOX_API_EXTENSION) {
|
||||
+ Profile* profile = Profile::FromWebUI(web_ui());
|
||||
const extensions::Extension* extension =
|
||||
extensions::ExtensionRegistry::Get(profile)->GetExtensionById(
|
||||
template_url->GetExtensionId(),
|
||||
@@ -282,6 +290,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
dict.Set("extension", std::move(ext_info));
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../user-script-ui/user-scripts-ui.js | 9 +
|
||||
.../browser/ui/user_scripts_ui.cc | 146 ++++
|
||||
.../user_scripts/browser/ui/user_scripts_ui.h | 37 +
|
||||
.../browser/user_script_loader.cc | 715 ++++++++++++++++
|
||||
.../browser/user_script_loader.cc | 717 ++++++++++++++++
|
||||
.../user_scripts/browser/user_script_loader.h | 168 ++++
|
||||
.../browser/user_script_pref_info.cc | 34 +
|
||||
.../browser/user_script_pref_info.h | 72 ++
|
||||
@@ -124,7 +124,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../user_scripts/renderer/user_script_set.cc | 264 ++++++
|
||||
.../user_scripts/renderer/user_script_set.h | 101 +++
|
||||
.../renderer/user_script_set_manager.cc | 77 ++
|
||||
.../renderer/user_script_set_manager.h | 61 ++
|
||||
.../renderer/user_script_set_manager.h | 63 ++
|
||||
.../renderer/user_scripts_dispatcher.cc | 36 +
|
||||
.../renderer/user_scripts_dispatcher.h | 49 ++
|
||||
.../renderer/user_scripts_renderer_client.cc | 108 +++
|
||||
@@ -134,7 +134,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../strings/userscripts_strings.grdp | 54 ++
|
||||
.../Experimental-user-scripts-support.inc | 13 +
|
||||
tools/gritsettings/resource_ids.spec | 6 +
|
||||
107 files changed, 9492 insertions(+), 2 deletions(-)
|
||||
107 files changed, 9496 insertions(+), 2 deletions(-)
|
||||
create mode 100644 components/user_scripts/README.md
|
||||
create mode 100755 components/user_scripts/android/BUILD.gn
|
||||
create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml
|
||||
@@ -325,7 +325,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3624,6 +3624,13 @@ static_library("browser") {
|
||||
@@ -3626,6 +3626,13 @@ static_library("browser") {
|
||||
]
|
||||
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
|
||||
}
|
||||
@@ -2832,7 +2832,7 @@ diff --git a/components/user_scripts/browser/user_script_loader.cc b/components/
|
||||
new file mode 100755
|
||||
--- /dev/null
|
||||
+++ b/components/user_scripts/browser/user_script_loader.cc
|
||||
@@ -0,0 +1,715 @@
|
||||
@@ -0,0 +1,717 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -2862,6 +2862,7 @@ new file mode 100755
|
||||
+#include "base/strings/string_util.h"
|
||||
+#include "base/strings/strcat.h"
|
||||
+#include "base/files/file.h"
|
||||
+#include "base/files/file_path.h"
|
||||
+#include "base/files/file_util.h"
|
||||
+#include "base/files/file_enumerator.h"
|
||||
+#include "base/i18n/file_util_icu.h"
|
||||
@@ -2883,6 +2884,7 @@ new file mode 100755
|
||||
+#include "content/public/browser/notification_service.h"
|
||||
+#include "content/public/browser/notification_types.h"
|
||||
+#include "content/public/browser/render_process_host.h"
|
||||
+#include "ui/shell_dialogs/selected_file_info.h"
|
||||
+#include "ui/shell_dialogs/select_file_dialog.h"
|
||||
+#include "content/browser/file_system_access/file_system_chooser.h"
|
||||
+#include "chrome/browser/ui/chrome_select_file_policy.h"
|
||||
@@ -3528,11 +3530,11 @@ new file mode 100755
|
||||
+}
|
||||
+
|
||||
+void UserScriptLoader::FileSelected(
|
||||
+ const base::FilePath& path, int index, void* params) {
|
||||
+ const ui::SelectedFileInfo& file, int index, void* params) {
|
||||
+ if (base::FeatureList::IsEnabled(features::kEnableLoggingUserScripts))
|
||||
+ LOG(INFO) << "UserScriptLoader: FileSelected " << path;
|
||||
+ LOG(INFO) << "UserScriptLoader: FileSelected " << file.path();
|
||||
+
|
||||
+ UserScriptLoader::TryToInstall(path);
|
||||
+ UserScriptLoader::TryToInstall(file.path());
|
||||
+}
|
||||
+
|
||||
+void UserScriptLoader::LoadScriptFromPathOnFileTaskRunnerCallback(
|
||||
@@ -3709,7 +3711,7 @@ new file mode 100755
|
||||
+
|
||||
+ // Manage file dialog requests
|
||||
+ scoped_refptr<ui::SelectFileDialog> dialog_;
|
||||
+ void FileSelected(const base::FilePath& path,
|
||||
+ void FileSelected(const ui::SelectedFileInfo& file,
|
||||
+ int index, void* params) override;
|
||||
+ void FileSelectionCanceled(void* params) override;
|
||||
+ void LoadScriptFromPathOnFileTaskRunnerCallback(
|
||||
@@ -10000,7 +10002,7 @@ diff --git a/components/user_scripts/renderer/user_script_set_manager.h b/compon
|
||||
new file mode 100755
|
||||
--- /dev/null
|
||||
+++ b/components/user_scripts/renderer/user_script_set_manager.h
|
||||
@@ -0,0 +1,61 @@
|
||||
@@ -0,0 +1,63 @@
|
||||
+#ifndef USERSCRIPTS_RENDER_SET_MANAGER_H_
|
||||
+#define USERSCRIPTS_RENDER_SET_MANAGER_H_
|
||||
+
|
||||
@@ -10041,8 +10043,10 @@ new file mode 100755
|
||||
+ UserScript::RunLocation run_location);
|
||||
+
|
||||
+private:
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ // content::RenderThreadObserver implementation.
|
||||
+ bool OnControlMessageReceived(const IPC::Message& message) override;
|
||||
+#endif
|
||||
+
|
||||
+ base::ObserverList<Observer>::Unchecked observers_;
|
||||
+
|
||||
|
||||
@@ -70,6 +70,7 @@ suit Bromite logic
|
||||
.../core/converter/parser/url_filter.cc | 10 +-
|
||||
.../converter/parser/url_filter_options.cc | 21 +-
|
||||
.../serializer/flatbuffer_serializer.cc | 75 +-
|
||||
components/adblock/core/hash/schema_hash.h | 10 +
|
||||
.../adblock/core/sitekey_storage_impl.cc | 7 +
|
||||
.../core/subscription/conversion_executors.h | 1 +
|
||||
.../filtering_configuration_maintainer.h | 4 +
|
||||
@@ -107,7 +108,7 @@ suit Bromite logic
|
||||
.../blink/renderer/core/css/style_engine.h | 1 +
|
||||
.../renderer/core/exported/web_document.cc | 15 +-
|
||||
.../definitions/adblock_private.d.ts | 14 +
|
||||
102 files changed, 8856 insertions(+), 1160 deletions(-)
|
||||
103 files changed, 8866 insertions(+), 1160 deletions(-)
|
||||
create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.html
|
||||
create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.ts
|
||||
rename components/adblock/android/java/res/xml/{adblock_preferences.xml => eyeo_adblock_preferences.xml} (56%)
|
||||
@@ -116,6 +117,7 @@ suit Bromite logic
|
||||
delete mode 100644 components/adblock/core/adblock_telemetry_service.cc
|
||||
delete mode 100644 components/adblock/core/adblock_telemetry_service.h
|
||||
create mode 100644 components/adblock/core/converter/parser/test/test_rules.txt
|
||||
create mode 100644 components/adblock/core/hash/schema_hash.h
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/ads.inc
|
||||
create mode 100644 components/resources/adblocking/snippets/dist/isolated-first-xpath3.jst
|
||||
create mode 100644 components/resources/adblocking/snippets/dist/isolated-first-xpath3.source.jst
|
||||
@@ -3574,6 +3576,21 @@ diff --git a/components/adblock/core/converter/serializer/flatbuffer_serializer.
|
||||
return;
|
||||
}
|
||||
|
||||
diff --git a/components/adblock/core/hash/schema_hash.h b/components/adblock/core/hash/schema_hash.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/adblock/core/hash/schema_hash.h
|
||||
@@ -0,0 +1,10 @@
|
||||
+#include <stdint.h>
|
||||
+
|
||||
+#include <array>
|
||||
+
|
||||
+#ifndef GEN_COMPONENTS_ADBLOCK_CORE_HASH_SCHEMA_HASH_H_
|
||||
+#define GEN_COMPONENTS_ADBLOCK_CORE_HASH_SCHEMA_HASH_H_
|
||||
+
|
||||
+extern const std::array<uint8_t, 32> kSha256_filter_list_schema_generated_h;
|
||||
+
|
||||
+#endif // GEN_COMPONENTS_ADBLOCK_CORE_HASH_SCHEMA_HASH_H_
|
||||
diff --git a/components/adblock/core/sitekey_storage_impl.cc b/components/adblock/core/sitekey_storage_impl.cc
|
||||
--- a/components/adblock/core/sitekey_storage_impl.cc
|
||||
+++ b/components/adblock/core/sitekey_storage_impl.cc
|
||||
|
||||
@@ -205,7 +205,7 @@ new file mode 100644
|
||||
+
|
||||
+ @Override
|
||||
+ public int getCategoryDescription() {
|
||||
+ return R.string.settings_site_settings_javascript_jit_description;
|
||||
+ return R.string.settings_site_settings_javascript_jit_description_cromite;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
@@ -238,7 +238,7 @@ new file mode 100644
|
||||
+ <message name="IDS_JAVASCRIPT_JIT_PERMISSION_TITLE" desc="Title of the permission to run javascript [CHAR_LIMIT=32]" formatter_data="android_java">
|
||||
+ JavaScript JIT
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_DESCRIPTION" desc="Description of the Javascript JIT content setting." formatter_data="android_java">
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_DESCRIPTION_CROMITE" desc="Description of the Javascript JIT content setting." formatter_data="android_java">
|
||||
+ Enable the JIT compiler and WebAssembly support in V8
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_JAVASCRIPT_JIT_ENABLED" desc="Summary text explaining that sites are allowed to compile JavaScript in JIT mode." formatter_data="android_java">
|
||||
@@ -265,7 +265,7 @@ new file mode 100644
|
||||
+ .set_desktop_ui()
|
||||
+ .set_is_renderer_content_setting()
|
||||
+ .set_title_ui(IDS_JAVASCRIPT_JIT_PERMISSION_TITLE)
|
||||
+ .set_description_ui(IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_DESCRIPTION)
|
||||
+ .set_description_ui(IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_DESCRIPTION_CROMITE)
|
||||
+ .set_allowed_ui(IDS_WEBSITE_SETTINGS_CATEGORY_JAVASCRIPT_JIT_ENABLED)
|
||||
+ .set_blocked_ui(IDS_WEBSITE_SETTINGS_CATEGORY_JAVASCRIPT_JIT_DISABLED)
|
||||
+ .set_allowed_exceptions_ui(IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_JAVASCRIPT_JIT_ALLOW)
|
||||
|
||||
@@ -37,7 +37,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../strip/StripLayoutHelperManager.java | 35 ++++++-
|
||||
.../scene_layer/StaticTabSceneLayer.java | 7 +-
|
||||
.../scene_layer/TabListSceneLayer.java | 8 ++
|
||||
.../scene_layer/TabStripSceneLayer.java | 20 +++-
|
||||
.../scene_layer/TabStripSceneLayer.java | 22 ++++-
|
||||
.../browser/findinpage/FindToolbarTablet.java | 10 +-
|
||||
.../fullscreen/BrowserControlsManager.java | 12 +++
|
||||
.../messages/MessageContainerCoordinator.java | 16 +++-
|
||||
@@ -87,7 +87,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../AccessibilitySettingsDelegate.java | 6 ++
|
||||
.../render_widget_host_view_android.cc | 3 +
|
||||
.../Move-navigation-bar-to-bottom.inc | 12 +++
|
||||
74 files changed, 894 insertions(+), 82 deletions(-)
|
||||
74 files changed, 895 insertions(+), 83 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc
|
||||
|
||||
diff --git a/cc/base/features.cc b/cc/base/features.cc
|
||||
@@ -1180,7 +1180,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen
|
||||
+ float viewportHeight,
|
||||
+ int topControlsHeight) {
|
||||
if (mNativePtr == 0) return;
|
||||
final boolean visible = yOffset > -layoutHelper.getHeight();
|
||||
- final boolean visible = yOffset > -layoutHelper.getHeight();
|
||||
+ boolean visible = yOffset > -layoutHelper.getHeight();
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
|
||||
+ // check if force tablet mode is active
|
||||
+ // is active if(isTablet != isNonMultiDisplayContextOnTablet)
|
||||
@@ -1356,16 +1357,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
@@ -18,6 +18,8 @@ import android.util.AttributeSet;
|
||||
import android.view.DragEvent;
|
||||
@@ -19,6 +19,8 @@ import android.view.DragEvent;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.ViewStub;
|
||||
+import android.view.ViewGroup.LayoutParams;
|
||||
+import android.widget.FrameLayout;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -201,6 +203,12 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -202,6 +204,12 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
super.onFinishInflate();
|
||||
mMiddleSpacer = findViewById(R.id.ntp_middle_spacer);
|
||||
insertSiteSectionView();
|
||||
@@ -1893,7 +1894,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final CachedFlag sOmniboxMatchToolbarAndStatusBarColor =
|
||||
newCachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false);
|
||||
+ public static final CachedFlag sMoveTopToolbarToBottom =
|
||||
+ new CachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
|
||||
+ newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
|
||||
public static final CachedFlag sOmniboxModernizeVisualUpdate =
|
||||
newCachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, true);
|
||||
public static final CachedFlag sOptimizationGuidePushNotifications =
|
||||
|
||||
@@ -4,19 +4,25 @@ Subject: Partition HSTS cache by NAK
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../browser/ssl/https_upgrades_interceptor.cc | 1 +
|
||||
.../webui/net_internals/net_internals_ui.cc | 14 ++-
|
||||
.../core/browser/hsts_query.cc | 1 +
|
||||
net/http/transport_security_state.cc | 98 +++++++++++++------
|
||||
net/http/transport_security_state.h | 32 +++---
|
||||
net/quic/crypto/proof_verifier_chromium.cc | 2 +-
|
||||
net/socket/ssl_client_socket_impl.cc | 2 +-
|
||||
.../url_request_context_builder.cc | 14 ---
|
||||
net/url_request/url_request_http_job.cc | 7 +-
|
||||
services/network/network_context.cc | 26 +++--
|
||||
services/network/network_context.h | 11 ++-
|
||||
.../public/mojom/network_context.mojom | 8 +-
|
||||
12 files changed, 132 insertions(+), 84 deletions(-)
|
||||
.../browser/ssl/https_upgrades_interceptor.cc | 1 +
|
||||
.../webui/net_internals/net_internals_ui.cc | 14 ++-
|
||||
.../core/browser/hsts_query.cc | 1 +
|
||||
.../web_package/signed_exchange_handler.cc | 7 +-
|
||||
.../web_package/signed_exchange_handler.h | 2 +
|
||||
.../web_package/signed_exchange_loader.cc | 2 +-
|
||||
net/http/transport_security_state.cc | 106 ++++++++++++------
|
||||
net/http/transport_security_state.h | 38 ++++---
|
||||
net/quic/crypto/proof_verifier_chromium.cc | 5 +-
|
||||
net/quic/quic_chromium_client_session.cc | 2 +-
|
||||
net/socket/ssl_client_socket_impl.cc | 5 +-
|
||||
net/spdy/spdy_session.cc | 11 +-
|
||||
net/spdy/spdy_session.h | 3 +-
|
||||
.../url_request_context_builder.cc | 14 ---
|
||||
net/url_request/url_request_http_job.cc | 7 +-
|
||||
services/network/network_context.cc | 31 +++--
|
||||
services/network/network_context.h | 13 ++-
|
||||
.../public/mojom/network_context.mojom | 9 +-
|
||||
18 files changed, 170 insertions(+), 101 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/ssl/https_upgrades_interceptor.cc
|
||||
--- a/chrome/browser/ssl/https_upgrades_interceptor.cc
|
||||
@@ -80,6 +86,82 @@ diff --git a/components/password_manager/core/browser/hsts_query.cc b/components
|
||||
origin.host(),
|
||||
mojo::WrapCallbackWithDropHandler(
|
||||
base::BindOnce(&HSTSCallbackHelper::ReportResult, callback_helper),
|
||||
diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/browser/web_package/signed_exchange_handler.cc
|
||||
--- a/content/browser/web_package/signed_exchange_handler.cc
|
||||
+++ b/content/browser/web_package/signed_exchange_handler.cc
|
||||
@@ -88,6 +88,7 @@ using VerifyCallback =
|
||||
|
||||
void VerifyCert(const scoped_refptr<net::X509Certificate>& certificate,
|
||||
const GURL& url,
|
||||
+ const net::NetworkAnonymizationKey& network_anonymization_key,
|
||||
const std::string& ocsp_result,
|
||||
const std::string& sct_list,
|
||||
int frame_tree_node_id,
|
||||
@@ -109,7 +110,7 @@ void VerifyCert(const scoped_refptr<net::X509Certificate>& certificate,
|
||||
}
|
||||
|
||||
network_context->VerifyCertForSignedExchange(
|
||||
- certificate, url, ocsp_result, sct_list, std::move(wrapped_callback));
|
||||
+ certificate, url, network_anonymization_key, ocsp_result, sct_list, std::move(wrapped_callback));
|
||||
}
|
||||
|
||||
std::string OCSPErrorToString(const bssl::OCSPVerifyResult& ocsp_result) {
|
||||
@@ -172,6 +173,7 @@ SignedExchangeHandler::SignedExchangeHandler(
|
||||
std::unique_ptr<net::SourceStream> body,
|
||||
ExchangeHeadersCallback headers_callback,
|
||||
std::unique_ptr<SignedExchangeCertFetcherFactory> cert_fetcher_factory,
|
||||
+ const net::NetworkAnonymizationKey& network_anonymization_key,
|
||||
const std::optional<net::IsolationInfo> outer_request_isolation_info,
|
||||
int load_flags,
|
||||
const net::IPEndPoint& remote_endpoint,
|
||||
@@ -185,6 +187,7 @@ SignedExchangeHandler::SignedExchangeHandler(
|
||||
source_(std::move(body)),
|
||||
cert_fetcher_factory_(std::move(cert_fetcher_factory)),
|
||||
devtools_proxy_(std::move(devtools_proxy)),
|
||||
+ network_anonymization_key_(network_anonymization_key),
|
||||
outer_request_isolation_info_(std::move(outer_request_isolation_info)),
|
||||
load_flags_(load_flags),
|
||||
remote_endpoint_(remote_endpoint),
|
||||
@@ -528,7 +531,7 @@ void SignedExchangeHandler::OnCertReceived(
|
||||
// property, or
|
||||
const std::string& stapled_ocsp_response = unverified_cert_chain_->ocsp();
|
||||
|
||||
- VerifyCert(certificate, url, stapled_ocsp_response, sct_list_from_cert_cbor,
|
||||
+ VerifyCert(certificate, url, network_anonymization_key_, stapled_ocsp_response, sct_list_from_cert_cbor,
|
||||
frame_tree_node_id_,
|
||||
base::BindOnce(&SignedExchangeHandler::OnVerifyCert,
|
||||
weak_factory_.GetWeakPtr()));
|
||||
diff --git a/content/browser/web_package/signed_exchange_handler.h b/content/browser/web_package/signed_exchange_handler.h
|
||||
--- a/content/browser/web_package/signed_exchange_handler.h
|
||||
+++ b/content/browser/web_package/signed_exchange_handler.h
|
||||
@@ -102,6 +102,7 @@ class CONTENT_EXPORT SignedExchangeHandler {
|
||||
std::unique_ptr<net::SourceStream> body,
|
||||
ExchangeHeadersCallback headers_callback,
|
||||
std::unique_ptr<SignedExchangeCertFetcherFactory> cert_fetcher_factory,
|
||||
+ const net::NetworkAnonymizationKey& network_anonymization_key,
|
||||
const std::optional<net::IsolationInfo> outer_request_isolation_info,
|
||||
int load_flags,
|
||||
const net::IPEndPoint& remote_endpoint,
|
||||
@@ -191,6 +192,7 @@ class CONTENT_EXPORT SignedExchangeHandler {
|
||||
// `cert_fetcher_` borrows reference from `devtools_proxy_`, so it needs to be
|
||||
// declared last, so that it is destroyed first.
|
||||
std::unique_ptr<SignedExchangeCertFetcher> cert_fetcher_;
|
||||
+ const net::NetworkAnonymizationKey network_anonymization_key_;
|
||||
std::optional<net::IsolationInfo> outer_request_isolation_info_;
|
||||
const int load_flags_ = 0;
|
||||
const net::IPEndPoint remote_endpoint_;
|
||||
diff --git a/content/browser/web_package/signed_exchange_loader.cc b/content/browser/web_package/signed_exchange_loader.cc
|
||||
--- a/content/browser/web_package/signed_exchange_loader.cc
|
||||
+++ b/content/browser/web_package/signed_exchange_loader.cc
|
||||
@@ -119,7 +119,7 @@ SignedExchangeLoader::SignedExchangeLoader(
|
||||
std::move(outer_response_body)),
|
||||
base::BindOnce(&SignedExchangeLoader::OnHTTPExchangeFound,
|
||||
weak_factory_.GetWeakPtr()),
|
||||
- std::move(cert_fetcher_factory),
|
||||
+ std::move(cert_fetcher_factory), network_anonymization_key,
|
||||
outer_request_.trusted_params
|
||||
? std::make_optional(outer_request_.trusted_params->isolation_info)
|
||||
: std::nullopt,
|
||||
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
|
||||
@@ -154,7 +236,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());
|
||||
@@ -283,13 +307,14 @@ base::Value::Dict TransportSecurityState::NetLogUpgradeToSSLParam(
|
||||
@@ -283,31 +307,33 @@ base::Value::Dict TransportSecurityState::NetLogUpgradeToSSLParam(
|
||||
}
|
||||
|
||||
bool TransportSecurityState::ShouldUpgradeToSSL(
|
||||
@@ -171,17 +253,20 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
}
|
||||
|
||||
TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins(
|
||||
@@ -297,7 +322,7 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins(
|
||||
const HostPortPair& host_port_pair,
|
||||
bool is_issued_by_known_root,
|
||||
const HashValueVector& public_key_hashes) {
|
||||
- const HashValueVector& public_key_hashes) {
|
||||
+ const HashValueVector& public_key_hashes,
|
||||
+ const NetworkAnonymizationKey& network_anonymization_key) {
|
||||
// Perform pin validation only if the server actually has public key pins.
|
||||
- if (!HasPublicKeyPins(host_port_pair.host())) {
|
||||
+ if (!HasPublicKeyPins(network_anonymization_key, host_port_pair.host())) {
|
||||
return PKPStatus::OK;
|
||||
}
|
||||
|
||||
@@ -305,9 +330,9 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins(
|
||||
public_key_hashes);
|
||||
return CheckPublicKeyPinsImpl(host_port_pair, is_issued_by_known_root,
|
||||
- public_key_hashes);
|
||||
+ public_key_hashes, network_anonymization_key);
|
||||
}
|
||||
|
||||
-bool TransportSecurityState::HasPublicKeyPins(const std::string& host) {
|
||||
@@ -192,7 +277,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
}
|
||||
|
||||
TransportSecurityState::CTRequirementsStatus
|
||||
@@ -392,12 +417,13 @@ void TransportSecurityState::UpdatePinList(
|
||||
@@ -392,12 +418,13 @@ void TransportSecurityState::UpdatePinList(
|
||||
}
|
||||
|
||||
void TransportSecurityState::AddHSTSInternal(
|
||||
@@ -207,7 +292,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
if (canonicalized_host.empty())
|
||||
return;
|
||||
|
||||
@@ -421,13 +447,14 @@ void TransportSecurityState::AddHSTSInternal(
|
||||
@@ -421,13 +448,14 @@ void TransportSecurityState::AddHSTSInternal(
|
||||
DirtyNotify();
|
||||
}
|
||||
|
||||
@@ -224,7 +309,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
if (canonicalized_host.empty())
|
||||
return;
|
||||
|
||||
@@ -472,10 +499,12 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPins(
|
||||
@@ -472,10 +500,12 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPins(
|
||||
return PKPStatus::VIOLATED;
|
||||
}
|
||||
|
||||
@@ -239,7 +324,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
if (canonicalized_host.empty())
|
||||
return false;
|
||||
|
||||
@@ -552,7 +581,8 @@ void TransportSecurityState::DirtyNotify() {
|
||||
@@ -552,7 +582,8 @@ void TransportSecurityState::DirtyNotify() {
|
||||
delegate_->StateIsDirty(this);
|
||||
}
|
||||
|
||||
@@ -249,7 +334,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_);
|
||||
|
||||
@@ -571,23 +601,25 @@ bool TransportSecurityState::AddHSTSHeader(const std::string& host,
|
||||
@@ -571,23 +602,25 @@ bool TransportSecurityState::AddHSTSHeader(const std::string& host,
|
||||
upgrade_mode = STSState::MODE_FORCE_HTTPS;
|
||||
}
|
||||
|
||||
@@ -280,16 +365,20 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -612,7 +644,7 @@ TransportSecurityState::CheckPublicKeyPinsImpl(
|
||||
@@ -610,9 +643,10 @@ TransportSecurityState::PKPStatus
|
||||
TransportSecurityState::CheckPublicKeyPinsImpl(
|
||||
const HostPortPair& host_port_pair,
|
||||
bool is_issued_by_known_root,
|
||||
const HashValueVector& hashes) {
|
||||
- const HashValueVector& hashes) {
|
||||
+ const HashValueVector& hashes,
|
||||
+ const NetworkAnonymizationKey& network_anonymization_key) {
|
||||
PKPState pkp_state;
|
||||
- bool found_state = GetPKPState(host_port_pair.host(), &pkp_state);
|
||||
+ bool found_state = GetPKPState(network_anonymization_key, host_port_pair.host(), &pkp_state);
|
||||
|
||||
// HasPublicKeyPins should have returned true in order for this method to have
|
||||
// been called.
|
||||
@@ -653,7 +685,7 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
|
||||
@@ -653,7 +687,7 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
|
||||
PreloadResult result;
|
||||
if (host_pins_.has_value()) {
|
||||
// Ensure that |host| is a valid hostname before processing.
|
||||
@@ -298,7 +387,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.
|
||||
@@ -736,21 +768,24 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
|
||||
@@ -736,21 +770,24 @@ bool TransportSecurityState::GetStaticPKPState(const std::string& host,
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -329,7 +418,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
if (canonicalized_host.empty())
|
||||
return false;
|
||||
|
||||
@@ -787,11 +822,12 @@ bool TransportSecurityState::GetDynamicSTSState(const std::string& host,
|
||||
@@ -787,11 +824,12 @@ bool TransportSecurityState::GetDynamicSTSState(const std::string& host,
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -347,7 +436,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
|
||||
@@ -285,13 +285,13 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -285,13 +285,14 @@ 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.
|
||||
@@ -358,13 +447,15 @@ 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,
|
||||
bool is_issued_by_known_root,
|
||||
const HashValueVector& hashes);
|
||||
- const HashValueVector& hashes);
|
||||
- bool HasPublicKeyPins(const std::string& host);
|
||||
+ const HashValueVector& hashes,
|
||||
+ const NetworkAnonymizationKey& network_anonymization_key);
|
||||
+ bool HasPublicKeyPins(const NetworkAnonymizationKey& nak, const std::string& host);
|
||||
|
||||
// Returns CT_REQUIREMENTS_NOT_MET if a connection violates CT policy
|
||||
// requirements: that is, if a connection to |host|, using the validated
|
||||
@@ -375,7 +375,7 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -375,7 +376,7 @@ class NET_EXPORT TransportSecurityState {
|
||||
//
|
||||
// If an entry is deleted, the new state will be persisted through
|
||||
// the Delegate (if any).
|
||||
@@ -373,7 +464,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
|
||||
@@ -385,8 +385,8 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -385,8 +386,8 @@ class NET_EXPORT TransportSecurityState {
|
||||
//
|
||||
// Note that these methods are not const because they opportunistically remove
|
||||
// entries that have expired.
|
||||
@@ -384,7 +475,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
|
||||
@@ -400,22 +400,24 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -400,22 +401,24 @@ class NET_EXPORT TransportSecurityState {
|
||||
//
|
||||
// Note that these methods are not const because they opportunistically remove
|
||||
// entries that have expired.
|
||||
@@ -414,7 +505,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);
|
||||
@@ -457,7 +459,7 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -457,7 +460,7 @@ class NET_EXPORT TransportSecurityState {
|
||||
typedef std::map<HashedHost, STSState> STSStateMap;
|
||||
typedef std::map<HashedHost, PKPState> PKPStateMap;
|
||||
|
||||
@@ -423,7 +514,17 @@ 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
|
||||
@@ -477,11 +479,13 @@ class NET_EXPORT TransportSecurityState {
|
||||
@@ -467,7 +470,8 @@ class NET_EXPORT TransportSecurityState {
|
||||
// Helper method for actually checking pins.
|
||||
PKPStatus CheckPublicKeyPinsImpl(const HostPortPair& host_port_pair,
|
||||
bool is_issued_by_known_root,
|
||||
- const HashValueVector& hashes);
|
||||
+ const HashValueVector& hashes,
|
||||
+ const NetworkAnonymizationKey& network_anonymization_key);
|
||||
|
||||
// If a Delegate is present, notify it that the internal state has
|
||||
// changed.
|
||||
@@ -477,11 +481,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).
|
||||
@@ -442,7 +543,17 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s
|
||||
diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_verifier_chromium.cc
|
||||
--- a/net/quic/crypto/proof_verifier_chromium.cc
|
||||
+++ b/net/quic/crypto/proof_verifier_chromium.cc
|
||||
@@ -428,7 +428,7 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) {
|
||||
@@ -401,7 +401,8 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) {
|
||||
transport_security_state_->CheckPublicKeyPins(
|
||||
HostPortPair(hostname_, port_),
|
||||
cert_verify_result.is_issued_by_known_root,
|
||||
- cert_verify_result.public_key_hashes);
|
||||
+ cert_verify_result.public_key_hashes,
|
||||
+ proof_verifier_->network_anonymization_key_);
|
||||
switch (pin_validity) {
|
||||
case TransportSecurityState::PKPStatus::VIOLATED:
|
||||
result = ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN;
|
||||
@@ -428,7 +429,7 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) {
|
||||
verify_details_->is_fatal_cert_error =
|
||||
IsCertStatusError(cert_status) &&
|
||||
result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED &&
|
||||
@@ -451,10 +562,32 @@ diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_
|
||||
|
||||
if (result != OK) {
|
||||
std::string error_string = ErrorToString(result);
|
||||
diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_client_session.cc
|
||||
--- a/net/quic/quic_chromium_client_session.cc
|
||||
+++ b/net/quic/quic_chromium_client_session.cc
|
||||
@@ -1407,7 +1407,7 @@ bool QuicChromiumClientSession::CanPool(
|
||||
|
||||
return SpdySession::CanPool(transport_security_state_, ssl_info,
|
||||
*ssl_config_service_, session_key_.host(),
|
||||
- hostname);
|
||||
+ hostname, session_key_.network_anonymization_key());
|
||||
}
|
||||
|
||||
bool QuicChromiumClientSession::ShouldCreateIncomingStream(
|
||||
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
|
||||
--- a/net/socket/ssl_client_socket_impl.cc
|
||||
+++ b/net/socket/ssl_client_socket_impl.cc
|
||||
@@ -1322,7 +1322,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
|
||||
@@ -1300,7 +1300,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
|
||||
TransportSecurityState::PKPStatus pin_validity =
|
||||
context_->transport_security_state()->CheckPublicKeyPins(
|
||||
host_and_port_, server_cert_verify_result_.is_issued_by_known_root,
|
||||
- server_cert_verify_result_.public_key_hashes);
|
||||
+ server_cert_verify_result_.public_key_hashes,
|
||||
+ ssl_config_.network_anonymization_key);
|
||||
switch (pin_validity) {
|
||||
case TransportSecurityState::PKPStatus::VIOLATED:
|
||||
server_cert_verify_result_.cert_status |=
|
||||
@@ -1322,7 +1323,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() {
|
||||
IsCertStatusError(server_cert_verify_result_.cert_status) &&
|
||||
result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED &&
|
||||
context_->transport_security_state()->ShouldSSLErrorsBeFatal(
|
||||
@@ -463,6 +596,61 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
|
||||
|
||||
if (IsCertificateError(result)) {
|
||||
if (!GetECHNameOverride().empty()) {
|
||||
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
|
||||
@@ -732,7 +732,8 @@ bool SpdySession::CanPool(TransportSecurityState* transport_security_state,
|
||||
const SSLInfo& ssl_info,
|
||||
const SSLConfigService& ssl_config_service,
|
||||
const std::string& old_hostname,
|
||||
- const std::string& new_hostname) {
|
||||
+ const std::string& new_hostname,
|
||||
+ const net::NetworkAnonymizationKey& network_anonymization_key) {
|
||||
// Pooling is prohibited if the server cert is not valid for the new domain,
|
||||
// and for connections on which client certs were sent. It is also prohibited
|
||||
// when channel ID was sent if the hosts are from different eTLDs+1.
|
||||
@@ -751,7 +752,7 @@ bool SpdySession::CanPool(TransportSecurityState* transport_security_state,
|
||||
// Port is left at 0 as it is never used.
|
||||
if (transport_security_state->CheckPublicKeyPins(
|
||||
HostPortPair(new_hostname, 0), ssl_info.is_issued_by_known_root,
|
||||
- ssl_info.public_key_hashes) ==
|
||||
+ ssl_info.public_key_hashes, network_anonymization_key) ==
|
||||
TransportSecurityState::PKPStatus::VIOLATED) {
|
||||
return false;
|
||||
}
|
||||
@@ -972,7 +973,8 @@ bool SpdySession::VerifyDomainAuthentication(const std::string& domain) const {
|
||||
return true; // This is not a secure session, so all domains are okay.
|
||||
|
||||
return CanPool(transport_security_state_, ssl_info, *ssl_config_service_,
|
||||
- host_port_pair().host(), domain);
|
||||
+ host_port_pair().host(), domain,
|
||||
+ spdy_session_key_.network_anonymization_key());
|
||||
}
|
||||
|
||||
void SpdySession::EnqueueStreamWrite(
|
||||
@@ -3007,7 +3009,8 @@ void SpdySession::OnAltSvc(
|
||||
if (!GetSSLInfo(&ssl_info))
|
||||
return;
|
||||
if (!CanPool(transport_security_state_, ssl_info, *ssl_config_service_,
|
||||
- host_port_pair().host(), gurl.host())) {
|
||||
+ host_port_pair().host(), gurl.host(),
|
||||
+ spdy_session_key_.network_anonymization_key())) {
|
||||
return;
|
||||
}
|
||||
scheme_host_port = url::SchemeHostPort(gurl);
|
||||
diff --git a/net/spdy/spdy_session.h b/net/spdy/spdy_session.h
|
||||
--- a/net/spdy/spdy_session.h
|
||||
+++ b/net/spdy/spdy_session.h
|
||||
@@ -319,7 +319,8 @@ class NET_EXPORT SpdySession
|
||||
const SSLInfo& ssl_info,
|
||||
const SSLConfigService& ssl_config_service,
|
||||
const std::string& old_hostname,
|
||||
- const std::string& new_hostname);
|
||||
+ const std::string& new_hostname,
|
||||
+ const net::NetworkAnonymizationKey& network_anonymization_key);
|
||||
|
||||
// Create a new SpdySession.
|
||||
// |spdy_session_key| is the host/port that this session connects to, privacy
|
||||
diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc
|
||||
--- a/net/url_request/url_request_context_builder.cc
|
||||
+++ b/net/url_request/url_request_context_builder.cc
|
||||
@@ -521,7 +709,23 @@ 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
|
||||
@@ -1868,17 +1868,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
|
||||
@@ -1814,6 +1814,7 @@ void NetworkContext::CreateHostResolver(
|
||||
void NetworkContext::VerifyCertForSignedExchange(
|
||||
const scoped_refptr<net::X509Certificate>& certificate,
|
||||
const GURL& url,
|
||||
+ const net::NetworkAnonymizationKey& network_anonymization_key,
|
||||
const std::string& ocsp_result,
|
||||
const std::string& sct_list,
|
||||
VerifyCertForSignedExchangeCallback callback) {
|
||||
@@ -1824,6 +1825,7 @@ void NetworkContext::VerifyCertForSignedExchange(
|
||||
pending_cert_verify->result = std::make_unique<net::CertVerifyResult>();
|
||||
pending_cert_verify->certificate = certificate;
|
||||
pending_cert_verify->url = url;
|
||||
+ pending_cert_verify->network_anonymization_key = network_anonymization_key;
|
||||
pending_cert_verify->ocsp_result = ocsp_result;
|
||||
pending_cert_verify->sct_list = sct_list;
|
||||
net::CertVerifier* cert_verifier =
|
||||
@@ -1868,17 +1870,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
|
||||
std::move(callback).Run();
|
||||
}
|
||||
|
||||
@@ -544,7 +748,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();
|
||||
@@ -1888,10 +1890,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
|
||||
@@ -1888,10 +1892,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -557,7 +761,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
GetHSTSStateCallback callback) {
|
||||
base::Value::Dict result;
|
||||
|
||||
@@ -1929,10 +1931,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
|
||||
@@ -1929,10 +1933,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(
|
||||
@@ -570,7 +774,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));
|
||||
@@ -1970,6 +1972,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
|
||||
@@ -1970,6 +1974,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
|
||||
}
|
||||
|
||||
void NetworkContext::DeleteDynamicDataForHost(
|
||||
@@ -578,7 +782,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 =
|
||||
@@ -1980,7 +1983,7 @@ void NetworkContext::DeleteDynamicDataForHost(
|
||||
@@ -1980,7 +1985,7 @@ void NetworkContext::DeleteDynamicDataForHost(
|
||||
}
|
||||
|
||||
std::move(callback).Run(
|
||||
@@ -587,7 +791,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
}
|
||||
|
||||
void NetworkContext::EnableStaticKeyPinningForTesting(
|
||||
@@ -2021,7 +2024,7 @@ void NetworkContext::PreconnectSockets(
|
||||
@@ -2021,7 +2026,7 @@ void NetworkContext::PreconnectSockets(
|
||||
DCHECK(!require_network_anonymization_key_ ||
|
||||
!network_anonymization_key.IsEmpty());
|
||||
|
||||
@@ -596,7 +800,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.
|
||||
@@ -2785,12 +2788,15 @@ void NetworkContext::OnConnectionError() {
|
||||
@@ -2785,12 +2790,15 @@ void NetworkContext::OnConnectionError() {
|
||||
std::move(on_connection_close_callback_).Run(this);
|
||||
}
|
||||
|
||||
@@ -613,10 +817,24 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
|
||||
original_url.host())) {
|
||||
return original_url;
|
||||
}
|
||||
@@ -2838,7 +2846,8 @@ void NetworkContext::OnVerifyCertForSignedExchangeComplete(
|
||||
url_request_context_->transport_security_state()->CheckPublicKeyPins(
|
||||
net::HostPortPair::FromURL(pending_cert_verify->url),
|
||||
pending_cert_verify->result->is_issued_by_known_root,
|
||||
- pending_cert_verify->result->public_key_hashes);
|
||||
+ pending_cert_verify->result->public_key_hashes,
|
||||
+ pending_cert_verify->network_anonymization_key);
|
||||
switch (pin_validity) {
|
||||
case net::TransportSecurityState::PKPStatus::VIOLATED:
|
||||
pending_cert_verify->result->cert_status |=
|
||||
diff --git a/services/network/network_context.h b/services/network/network_context.h
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -410,15 +410,17 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -407,18 +407,21 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
void VerifyCertForSignedExchange(
|
||||
const scoped_refptr<net::X509Certificate>& certificate,
|
||||
const GURL& url,
|
||||
+ const net::NetworkAnonymizationKey& network_anonymization_key,
|
||||
const std::string& ocsp_result,
|
||||
const std::string& sct_list,
|
||||
VerifyCertForSignedExchangeCallback callback) override;
|
||||
@@ -637,7 +855,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
|
||||
const std::string& host,
|
||||
DeleteDynamicDataForHostCallback callback) override;
|
||||
void SetCorsOriginAccessListsForOrigin(
|
||||
@@ -712,7 +714,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -712,7 +715,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
mojo::PendingRemote<mojom::CookieAccessObserver> cookie_observer,
|
||||
net::FirstPartySetMetadata first_party_set_metadata);
|
||||
|
||||
@@ -647,10 +865,26 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
|
||||
|
||||
#if BUILDFLAG(IS_P2P_ENABLED)
|
||||
void DestroySocketManager(P2PSocketManager* socket_manager);
|
||||
@@ -906,6 +910,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
VerifyCertForSignedExchangeCallback callback;
|
||||
scoped_refptr<net::X509Certificate> certificate;
|
||||
GURL url;
|
||||
+ net::NetworkAnonymizationKey network_anonymization_key;
|
||||
std::string ocsp_result;
|
||||
std::string sct_list;
|
||||
};
|
||||
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
|
||||
@@ -1532,16 +1532,16 @@ interface NetworkContext {
|
||||
@@ -1525,6 +1525,7 @@ interface NetworkContext {
|
||||
// implementation is currently specific for use by Signed Exchange.
|
||||
VerifyCertForSignedExchange(X509Certificate certificate,
|
||||
url.mojom.Url url,
|
||||
+ NetworkAnonymizationKey network_anonymization_key,
|
||||
string ocsp_response,
|
||||
string sct_list) => (int32 error_code,
|
||||
CertVerifyResult cv_result,
|
||||
@@ -1532,16 +1533,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.
|
||||
@@ -670,7 +904,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
|
||||
@@ -1560,7 +1560,7 @@ interface NetworkContext {
|
||||
@@ -1560,7 +1561,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.
|
||||
|
||||
@@ -10,26 +10,26 @@ samesite=none first-party cookies are sent in third-party contexts.
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../browser/chrome_content_browser_client.cc | 2 +-
|
||||
.../net/profile_network_context_service.cc | 12 +++---
|
||||
.../net/profile_network_context_service.cc | 12 ++---
|
||||
.../privacy_sandbox_settings_delegate.cc | 1 +
|
||||
.../experiment/experiment_manager_impl.cc | 1 +
|
||||
.../core/browser/cookie_settings.cc | 2 +
|
||||
.../core/common/cookie_settings_base.cc | 38 -------------------
|
||||
.../core/common/cookie_settings_base.cc | 48 -------------------
|
||||
...ioning-all-cookies-by-top-frame-domain.inc | 3 ++
|
||||
...ioning-all-cookies-by-top-frame-domain.inc | 2 +
|
||||
...ioning-all-cookies-by-top-frame-domain.inc | 1 +
|
||||
...ioning-all-cookies-by-top-frame-domain.inc | 5 +++
|
||||
net/cookies/canonical_cookie.cc | 12 +-----
|
||||
...ioning-all-cookies-by-top-frame-domain.inc | 5 ++
|
||||
net/cookies/canonical_cookie.cc | 12 +----
|
||||
net/cookies/cookie_deletion_info.cc | 3 +-
|
||||
net/cookies/parsed_cookie.h | 7 +++-
|
||||
.../sqlite/sqlite_persistent_cookie_store.cc | 10 +++++
|
||||
net/url_request/url_request_http_job.cc | 10 ++---
|
||||
net/cookies/parsed_cookie.h | 7 ++-
|
||||
.../sqlite/sqlite_persistent_cookie_store.cc | 10 ++++
|
||||
net/url_request/url_request_http_job.cc | 10 ++--
|
||||
services/network/restricted_cookie_manager.cc | 6 +++
|
||||
.../modules/cookie_store/cookie_init.idl | 2 +-
|
||||
.../modules/cookie_store/cookie_store.cc | 12 ++++++
|
||||
.../modules/cookie_store/cookie_store.cc | 12 +++++
|
||||
.../cookie_store_delete_options.idl | 2 +-
|
||||
ui/webui/webui_allowlist.cc | 1 +
|
||||
20 files changed, 65 insertions(+), 67 deletions(-)
|
||||
20 files changed, 65 insertions(+), 77 deletions(-)
|
||||
create mode 100644 cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
|
||||
create mode 100644 cromite_flags/components/permissions/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
|
||||
create mode 100644 cromite_flags/content/public/common/content_features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
|
||||
@@ -117,7 +117,24 @@ diff --git a/components/content_settings/core/browser/cookie_settings.cc b/compo
|
||||
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
|
||||
@@ -364,34 +364,6 @@ CookieSettingsBase::DecideAccess(const GURL& url,
|
||||
@@ -36,16 +36,6 @@ using net::cookie_util::StorageAccessResult;
|
||||
using ThirdPartyCookieAllowMechanism =
|
||||
CookieSettingsBase::ThirdPartyCookieAllowMechanism;
|
||||
|
||||
-bool IsAllowedByCORS(const net::CookieSettingOverrides& overrides,
|
||||
- const GURL& request_url,
|
||||
- const GURL& first_party_url) {
|
||||
- return overrides.Has(
|
||||
- net::CookieSettingOverride::kCrossSiteCredentialedWithCORS) &&
|
||||
- base::FeatureList::IsEnabled(
|
||||
- net::features::kThirdPartyCookieTopLevelSiteCorsException) &&
|
||||
- net::SchemefulSite(request_url) == net::SchemefulSite(first_party_url);
|
||||
-}
|
||||
-
|
||||
constexpr StorageAccessResult GetStorageAccessResult(
|
||||
ThirdPartyCookieAllowMechanism mechanism) {
|
||||
switch (mechanism) {
|
||||
@@ -364,34 +354,6 @@ CookieSettingsBase::DecideAccess(const GURL& url,
|
||||
if (!is_third_party_request) {
|
||||
return AllowAllCookies{ThirdPartyCookieAllowMechanism::kNone};
|
||||
}
|
||||
@@ -152,7 +169,7 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c
|
||||
|
||||
const bool has_storage_access_opt_in =
|
||||
ShouldConsiderStorageAccessGrants(overrides);
|
||||
@@ -414,16 +386,6 @@ CookieSettingsBase::DecideAccess(const GURL& url,
|
||||
@@ -414,16 +376,6 @@ CookieSettingsBase::DecideAccess(const GURL& url,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -120,7 +120,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
|
||||
@@ -90,6 +90,10 @@ found in the LICENSE file.
|
||||
@@ -91,6 +91,10 @@ found in the LICENSE file.
|
||||
android:title="@string/close_tabs_on_exit_title"
|
||||
android:summary="@string/close_tabs_on_exit_summary"
|
||||
android:defaultValue="false" />
|
||||
|
||||
@@ -89,9 +89,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/module_installer/android/BUILD.gn | 4 -
|
||||
components/signin/public/android/BUILD.gn | 3 -
|
||||
.../signin/AccountRenameChecker.java | 16 -
|
||||
components/webauthn/android/BUILD.gn | 11 -
|
||||
components/webauthn/android/BUILD.gn | 13 +-
|
||||
.../webauthn/AuthenticatorImpl.java | 110 +--
|
||||
.../webauthn/Fido2ApiCallHelper.java | 72 +-
|
||||
.../webauthn/ConditionalUiState.java | 15 +
|
||||
.../webauthn/Fido2ApiCallHelper.java | 73 +-
|
||||
.../webauthn/WebauthnModeProvider.java | 12 -
|
||||
.../webauthn/cred_man/CredManHelper.java | 16 +-
|
||||
.../cred_man/CredManMetricsHelper.java | 2 +-
|
||||
.../push_messaging/push_messaging_manager.cc | 2 +-
|
||||
content/public/android/BUILD.gn | 4 -
|
||||
content/test/BUILD.gn | 4 -
|
||||
@@ -104,7 +108,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../preconditions/javatests/BUILD.gn | 1 -
|
||||
.../gms/ChromiumPlayServicesAvailability.java | 10 +-
|
||||
third_party/cardboard/BUILD.gn | 4 -
|
||||
80 files changed, 97 insertions(+), 2178 deletions(-)
|
||||
84 files changed, 119 insertions(+), 2204 deletions(-)
|
||||
create mode 100644 components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java
|
||||
|
||||
diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
|
||||
--- a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
|
||||
@@ -3138,7 +3143,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/
|
||||
"java/src/org/chromium/components/webauthn/InternalAuthenticator.java",
|
||||
"java/src/org/chromium/components/webauthn/WebauthnBrowserBridge.java",
|
||||
"java/src/org/chromium/components/webauthn/cred_man/CredManSupportProvider.java",
|
||||
@@ -30,11 +28,7 @@ android_library("java") {
|
||||
@@ -30,11 +28,8 @@ android_library("java") {
|
||||
"java/src/org/chromium/components/webauthn/AuthenticatorImpl.java",
|
||||
"java/src/org/chromium/components/webauthn/Barrier.java",
|
||||
"java/src/org/chromium/components/webauthn/CreateConfirmationUiDelegate.java",
|
||||
@@ -3147,10 +3152,11 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/
|
||||
"java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java",
|
||||
- "java/src/org/chromium/components/webauthn/Fido2CredentialRequest.java",
|
||||
- "java/src/org/chromium/components/webauthn/FidoErrorResponseCallback.java",
|
||||
+ "java/src/org/chromium/components/webauthn/ConditionalUiState.java",
|
||||
"java/src/org/chromium/components/webauthn/FidoIntentSender.java",
|
||||
"java/src/org/chromium/components/webauthn/GetAssertionResponseCallback.java",
|
||||
"java/src/org/chromium/components/webauthn/GetMatchingCredentialIdsResponseCallback.java",
|
||||
@@ -59,9 +53,6 @@ android_library("java") {
|
||||
@@ -59,9 +54,6 @@ android_library("java") {
|
||||
jar_excluded_patterns = [ "*/cred_man/CredManUiModeRecommender.class" ]
|
||||
|
||||
deps = [
|
||||
@@ -3160,7 +3166,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/
|
||||
"//base:base_java",
|
||||
"//base/version_info/android:version_constants_java",
|
||||
"//build/android:build_java",
|
||||
@@ -118,8 +109,6 @@ android_library("test_support_java") {
|
||||
@@ -118,8 +110,6 @@ android_library("test_support_java") {
|
||||
source_set("android") {
|
||||
sources = [
|
||||
"cred_man_support.h",
|
||||
@@ -3169,6 +3175,14 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/
|
||||
"internal_authenticator_android.cc",
|
||||
"internal_authenticator_android.h",
|
||||
"webauthn_browser_bridge.cc",
|
||||
@@ -186,7 +176,6 @@ robolectric_library("junit") {
|
||||
":delegate_public_java",
|
||||
":java",
|
||||
":test_support_java",
|
||||
- "$google_play_services_package:google_play_services_tasks_java",
|
||||
"//base:base_java",
|
||||
"//base:base_java_test_support",
|
||||
"//base:base_junit_test_support",
|
||||
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
|
||||
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
|
||||
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
|
||||
@@ -3386,10 +3400,30 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
cleanupRequest();
|
||||
}
|
||||
|
||||
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java
|
||||
@@ -0,0 +1,15 @@
|
||||
+// Copyright 2018 The Chromium Authors
|
||||
+// Use of this source code is governed by a BSD-style license that can be
|
||||
+// found in the LICENSE file.
|
||||
+
|
||||
+package org.chromium.components.webauthn;
|
||||
+
|
||||
+public enum ConditionalUiState {
|
||||
+ NONE,
|
||||
+ WAITING_FOR_RP_ID_VALIDATION,
|
||||
+ WAITING_FOR_CREDENTIAL_LIST,
|
||||
+ WAITING_FOR_SELECTION,
|
||||
+ REQUEST_SENT_TO_PLATFORM,
|
||||
+ CANCEL_PENDING,
|
||||
+ CANCEL_PENDING_RP_ID_VALIDATION_COMPLETE,
|
||||
+}
|
||||
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java
|
||||
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java
|
||||
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java
|
||||
@@ -8,10 +8,6 @@ import android.app.PendingIntent;
|
||||
@@ -8,16 +8,11 @@ import android.app.PendingIntent;
|
||||
import android.net.Uri;
|
||||
import android.os.Parcel;
|
||||
|
||||
@@ -3400,7 +3434,13 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.blink.mojom.PublicKeyCredentialCreationOptions;
|
||||
import org.chromium.blink.mojom.PublicKeyCredentialRequestOptions;
|
||||
@@ -44,72 +40,6 @@ public class Fido2ApiCallHelper {
|
||||
import org.chromium.components.externalauth.ExternalAuthUtils;
|
||||
import org.chromium.components.externalauth.UserRecoverableErrorHandler;
|
||||
-import org.chromium.components.webauthn.Fido2ApiCall.Fido2ApiCallParams;
|
||||
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.List;
|
||||
@@ -44,72 +39,6 @@ public class Fido2ApiCallHelper {
|
||||
}
|
||||
|
||||
public boolean arePlayServicesAvailable() {
|
||||
@@ -3474,6 +3514,101 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|
||||
+ return false;
|
||||
}
|
||||
}
|
||||
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnModeProvider.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnModeProvider.java
|
||||
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnModeProvider.java
|
||||
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnModeProvider.java
|
||||
@@ -6,7 +6,6 @@ package org.chromium.components.webauthn;
|
||||
|
||||
import androidx.annotation.IntDef;
|
||||
|
||||
-import org.chromium.components.webauthn.Fido2ApiCall.Fido2ApiCallParams;
|
||||
import org.chromium.components.webauthn.cred_man.AppCredManRequestDecorator;
|
||||
import org.chromium.components.webauthn.cred_man.BrowserCredManRequestDecorator;
|
||||
import org.chromium.components.webauthn.cred_man.CredManRequestDecorator;
|
||||
@@ -37,17 +36,6 @@ public class WebauthnModeProvider {
|
||||
return null;
|
||||
}
|
||||
|
||||
- public Fido2ApiCallParams getFido2ApiCallParams() {
|
||||
- if (mMode == WebauthnMode.APP) {
|
||||
- return Fido2ApiCall.APP_API;
|
||||
- } else if (mMode == WebauthnMode.BROWSER || mMode == WebauthnMode.CHROME) {
|
||||
- return Fido2ApiCall.BROWSER_API;
|
||||
- } else {
|
||||
- assert false : "WebauthnMode not set! Please set using WebAuthnModeProvider.setMode()";
|
||||
- }
|
||||
- return null;
|
||||
- }
|
||||
-
|
||||
public @WebauthnMode int getWebauthnMode() {
|
||||
return mMode;
|
||||
}
|
||||
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManHelper.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManHelper.java
|
||||
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManHelper.java
|
||||
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManHelper.java
|
||||
@@ -29,8 +29,7 @@ import org.chromium.blink.mojom.MakeCredentialAuthenticatorResponse;
|
||||
import org.chromium.blink.mojom.PublicKeyCredentialCreationOptions;
|
||||
import org.chromium.blink.mojom.PublicKeyCredentialRequestOptions;
|
||||
import org.chromium.components.webauthn.Barrier;
|
||||
-import org.chromium.components.webauthn.Fido2CredentialRequest.ConditionalUiState;
|
||||
-import org.chromium.components.webauthn.Fido2CredentialRequestJni;
|
||||
+import org.chromium.components.webauthn.ConditionalUiState;
|
||||
import org.chromium.components.webauthn.GetAssertionResponseCallback;
|
||||
import org.chromium.components.webauthn.MakeCredentialResponseCallback;
|
||||
import org.chromium.components.webauthn.WebauthnBrowserBridge;
|
||||
@@ -96,8 +95,7 @@ public class CredManHelper {
|
||||
Callback<Integer> errorCallback) {
|
||||
mContext = context;
|
||||
mFrameHost = frameHost;
|
||||
- final String requestAsJson =
|
||||
- Fido2CredentialRequestJni.get().createOptionsToJson(options.serialize());
|
||||
+ final String requestAsJson = "";
|
||||
final byte[] clientDataHash =
|
||||
maybeClientDataHash != null
|
||||
? maybeClientDataHash
|
||||
@@ -151,9 +149,7 @@ public class CredManHelper {
|
||||
String json =
|
||||
data.getString(
|
||||
CRED_MAN_PREFIX + "BUNDLE_KEY_REGISTRATION_RESPONSE_JSON");
|
||||
- byte[] responseSerialized =
|
||||
- Fido2CredentialRequestJni.get()
|
||||
- .makeCredentialResponseFromJson(json);
|
||||
+ byte[] responseSerialized = null;
|
||||
if (responseSerialized == null) {
|
||||
Log.e(
|
||||
TAG,
|
||||
@@ -421,8 +417,7 @@ public class CredManHelper {
|
||||
data.getString(
|
||||
CRED_MAN_PREFIX
|
||||
+ "BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON");
|
||||
- byte[] responseSerialized =
|
||||
- Fido2CredentialRequestJni.get().getCredentialResponseFromJson(json);
|
||||
+ byte[] responseSerialized = null;
|
||||
if (responseSerialized == null) {
|
||||
Log.e(
|
||||
TAG,
|
||||
@@ -587,8 +582,7 @@ public class CredManHelper {
|
||||
boolean requestPasswords,
|
||||
boolean preferImmediatelyAvailable,
|
||||
boolean ignoreGpm) {
|
||||
- final String requestAsJson =
|
||||
- Fido2CredentialRequestJni.get().getOptionsToJson(options.serialize());
|
||||
+ final String requestAsJson = "";
|
||||
final byte[] clientDataHash =
|
||||
maybeClientDataHash != null
|
||||
? maybeClientDataHash
|
||||
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManMetricsHelper.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManMetricsHelper.java
|
||||
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManMetricsHelper.java
|
||||
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/cred_man/CredManMetricsHelper.java
|
||||
@@ -7,7 +7,7 @@ package org.chromium.components.webauthn.cred_man;
|
||||
import androidx.annotation.IntDef;
|
||||
|
||||
import org.chromium.base.metrics.RecordHistogram;
|
||||
-import org.chromium.components.webauthn.Fido2CredentialRequest.ConditionalUiState;
|
||||
+import org.chromium.components.webauthn.ConditionalUiState;
|
||||
|
||||
/**
|
||||
* This class is responsible for emitting histograms regarding CredMan usage in
|
||||
diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
|
||||
--- a/content/browser/push_messaging/push_messaging_manager.cc
|
||||
+++ b/content/browser/push_messaging/push_messaging_manager.cc
|
||||
|
||||
@@ -14,14 +14,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../feedback/SimplifiedNtpFeedbackSource.java | 38 +++++++++++
|
||||
.../identity_disc/IdentityDiscController.java | 5 +-
|
||||
.../NativePageNavigationDelegateImpl.java | 4 +-
|
||||
.../chrome/browser/ntp/NewTabPageLayout.java | 30 ++++++++-
|
||||
.../chrome/browser/ntp/NewTabPageLayout.java | 31 ++++++++-
|
||||
.../SuggestionsNavigationDelegate.java | 17 +++++
|
||||
.../flags/android/chrome_feature_list.cc | 1 +
|
||||
.../browser/flags/ChromeFeatureList.java | 1 +
|
||||
.../Restore-Simplified-NTP-launch.inc | 12 ++++
|
||||
.../Restore-Simplified-NTP-launch.inc | 3 +
|
||||
.../Restore-Simplified-NTP-launch.inc | 1 +
|
||||
15 files changed, 182 insertions(+), 5 deletions(-)
|
||||
15 files changed, 183 insertions(+), 5 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Restore-Simplified-NTP-launch.inc
|
||||
@@ -224,7 +224,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
@@ -37,6 +37,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.InvalidationAwareT
|
||||
@@ -18,6 +18,7 @@ import android.util.AttributeSet;
|
||||
import android.view.DragEvent;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
+import android.view.ViewStub;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -37,6 +38,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.InvalidationAwareT
|
||||
import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.lens.LensEntryPoint;
|
||||
@@ -232,7 +240,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
import org.chromium.chrome.browser.lens.LensMetrics;
|
||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
||||
import org.chromium.chrome.browser.logo.LogoBridge.Logo;
|
||||
@@ -107,6 +108,8 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -107,6 +109,8 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
private @Nullable DisplayStyleObserver mDisplayStyleObserver;
|
||||
private CallbackController mCallbackController = new CallbackController();
|
||||
|
||||
@@ -241,7 +249,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
/**
|
||||
* Whether the tiles shown in the layout have finished loading.
|
||||
* With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress.
|
||||
@@ -314,6 +317,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -314,6 +318,7 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
isScrollableMvtEnabled(),
|
||||
searchProviderIsGoogle);
|
||||
initializeSearchBoxBackground();
|
||||
@@ -249,7 +257,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
initializeSearchBoxTextView();
|
||||
initializeVoiceSearchButton();
|
||||
initializeLensButton();
|
||||
@@ -802,12 +806,15 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -802,12 +807,15 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
marginLayoutParams.leftMargin = lateralPaddingsForNtp;
|
||||
marginLayoutParams.rightMargin = lateralPaddingsForNtp;
|
||||
}
|
||||
@@ -266,7 +274,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
marginLayoutParams.bottomMargin =
|
||||
getResources()
|
||||
.getDimensionPixelSize(R.dimen.tile_carousel_layout_bottom_margin);
|
||||
@@ -815,7 +822,10 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -815,7 +823,10 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
// Set a bit more top padding on the tile grid if there is no logo.
|
||||
ViewGroup.LayoutParams layoutParams = mMvTilesContainerLayout.getLayoutParams();
|
||||
layoutParams.width = ViewGroup.LayoutParams.WRAP_CONTENT;
|
||||
@@ -278,7 +286,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
marginLayoutParams.bottomMargin = getGridMvtBottomMargin();
|
||||
}
|
||||
|
||||
@@ -1117,6 +1127,22 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
@@ -1117,6 +1128,22 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
return iphCommandBuilder;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,11 +11,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/share/ShareButtonController.java | 37 +++++++++++
|
||||
chrome/browser/about_flags.cc | 6 --
|
||||
chrome/browser/flag-metadata.json | 3 +-
|
||||
.../flags/android/chrome_feature_list.cc | 5 ++
|
||||
.../browser/flags/ChromeFeatureList.java | 1 +
|
||||
.../AdaptiveToolbarButtonController.java | 6 +-
|
||||
.../adaptive/AdaptiveToolbarFeatures.java | 65 ++++++++++++++++++-
|
||||
.../AdaptiveToolbarStatePredictor.java | 9 ++-
|
||||
.../AdaptiveToolbarStatePredictorTest.java | 15 +++++
|
||||
8 files changed, 132 insertions(+), 12 deletions(-)
|
||||
10 files changed, 138 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
@@ -121,6 +123,39 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
||||
},
|
||||
{
|
||||
"name": "adaptive-button-in-top-toolbar-translate",
|
||||
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
|
||||
@@ -150,6 +150,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&history_clusters::internal::kJourneys,
|
||||
&history_clusters::internal::kOmniboxAction,
|
||||
&history_clusters::internal::kOmniboxHistoryClusterProvider,
|
||||
+ &kAdaptiveButtonInTopToolbar,
|
||||
&kAdaptiveButtonInTopToolbarTranslate,
|
||||
&kAdaptiveButtonInTopToolbarAddToBookmarks,
|
||||
&kAdaptiveButtonInTopToolbarCustomizationV2,
|
||||
@@ -391,6 +392,10 @@ static jlong JNI_ChromeFeatureMap_GetNativeMap(JNIEnv* env) {
|
||||
|
||||
// Alphabetical:
|
||||
|
||||
+CROMITE_FEATURE(kAdaptiveButtonInTopToolbar,
|
||||
+ "AdaptiveButtonInTopToolbar",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+
|
||||
BASE_FEATURE(kAdaptiveButtonInTopToolbarTranslate,
|
||||
"AdaptiveButtonInTopToolbarTranslate",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
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
|
||||
@@ -142,6 +142,7 @@ public abstract class ChromeFeatureList {
|
||||
}
|
||||
|
||||
public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates";
|
||||
+ public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
|
||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE =
|
||||
"AdaptiveButtonInTopToolbarTranslate";
|
||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_ADD_TO_BOOKMARKS =
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java
|
||||
|
||||
@@ -6,14 +6,14 @@ Reverts acc8b6f4542703211e5f3c5181914fd3374c9e84
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../indicator/OfflineDetector.java | 41 ++++++++++++++++++-
|
||||
.../indicator/OfflineDetector.java | 40 ++++++++++++++++++-
|
||||
.../tabbed_mode/TabbedRootUiCoordinator.java | 8 +++-
|
||||
.../flags/android/chrome_feature_list.cc | 1 +
|
||||
.../browser/flags/ChromeFeatureList.java | 1 +
|
||||
.../Restore-offline-indicator-v2-flag.inc | 12 ++++++
|
||||
.../Restore-offline-indicator-v2-flag.inc | 3 ++
|
||||
.../Restore-offline-indicator-v2-flag.inc | 1 +
|
||||
7 files changed, 64 insertions(+), 3 deletions(-)
|
||||
7 files changed, 63 insertions(+), 3 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Restore-offline-indicator-v2-flag.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-offline-indicator-v2-flag.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Restore-offline-indicator-v2-flag.inc
|
||||
@@ -29,7 +29,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
@@ -17,8 +18,13 @@ import org.chromium.base.Callback;
|
||||
@@ -17,8 +18,12 @@ import org.chromium.base.Callback;
|
||||
import org.chromium.base.Log;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.base.version_info.VersionInfo;
|
||||
@@ -39,11 +39,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
||||
+import org.chromium.chrome.browser.net.connectivitydetector.ConnectivityDetector;
|
||||
+import org.chromium.chrome.browser.net.connectivitydetector.ConnectivityDetector.ConnectionState;
|
||||
+import org.chromium.components.variations.VariationsAssociatedData;
|
||||
+import org.chromium.components.version_info.VersionInfo;
|
||||
|
||||
/**
|
||||
* Class that detects if the network is offline. Waits for the network to stablize before notifying
|
||||
@@ -127,8 +133,9 @@ class OfflineDetector
|
||||
@@ -127,8 +132,9 @@ class OfflineDetector
|
||||
mIsForegroundCallback = isForegroundCallback;
|
||||
mContext = context;
|
||||
mHandler = new Handler();
|
||||
@@ -55,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
||||
|
||||
mUpdateOfflineStatusIndicatorDelayedRunnable =
|
||||
() -> {
|
||||
@@ -384,4 +391,34 @@ class OfflineDetector
|
||||
@@ -384,4 +390,34 @@ class OfflineDetector
|
||||
timeNeededAfterConnectionChangeFromOnlineToOffline),
|
||||
timeNeededAfterConnectionChangeFromAirplaneToOffline));
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -2976,6 +2976,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id,
|
||||
@@ -2978,6 +2978,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;
|
||||
|
||||
@@ -8,11 +8,11 @@ need: Add-cromite-flags-support.patch
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../tab_management/TabUiFeatureUtilities.java | 4 +--
|
||||
.../java/res/xml/privacy_preferences.xml | 7 +++++
|
||||
.../flags/cromite/sTabSwitcherListMode.java | 31 +++++++++++++++++++
|
||||
.../Use-list-mode-for-tab-switcher.grdp | 9 ++++++
|
||||
.../java/res/xml/privacy_preferences.xml | 7 ++++
|
||||
.../flags/cromite/sTabSwitcherListMode.java | 33 +++++++++++++++++++
|
||||
.../Use-list-mode-for-tab-switcher.grdp | 9 +++++
|
||||
.../tab-switcher-list-mode.inc | 3 ++
|
||||
5 files changed, 52 insertions(+), 2 deletions(-)
|
||||
5 files changed, 54 insertions(+), 2 deletions(-)
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sTabSwitcherListMode.java
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Use-list-mode-for-tab-switcher.grdp
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/tab-switcher-list-mode.inc
|
||||
@@ -41,7 +41,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
|
||||
@@ -73,6 +73,13 @@ found in the LICENSE file.
|
||||
@@ -74,6 +74,13 @@ found in the LICENSE file.
|
||||
android:summary="@string/settings_incognito_tab_lock_summary_android_setting_off"
|
||||
android:persistent="false" />
|
||||
|
||||
@@ -59,7 +59,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sTabSwitcherListMode.java
|
||||
@@ -0,0 +1,31 @@
|
||||
@@ -0,0 +1,33 @@
|
||||
+/*
|
||||
+ This file is part of Cromite.
|
||||
+
|
||||
@@ -79,11 +79,13 @@ new file mode 100644
|
||||
+
|
||||
+package org.chromium.chrome.browser.flags.cromite;
|
||||
+
|
||||
+import org.chromium.chrome.browser.flags.CachedFlag;
|
||||
+import org.chromium.base.cached_flags.CachedFlag;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureMap;
|
||||
+
|
||||
+public class sTabSwitcherListMode {
|
||||
+ private static final CachedFlag sInstance =
|
||||
+ new CachedFlag("TabSwitcherListMode", false);
|
||||
+ new CachedFlag(ChromeFeatureMap.getInstance(),
|
||||
+ "TabSwitcherListMode", false);
|
||||
+
|
||||
+ private sTabSwitcherListMode() {}
|
||||
+
|
||||
|
||||
@@ -17,11 +17,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../firstrun/FirstRunActivityBase.java | 6 +-
|
||||
.../firstrun/FirstRunFlowSequencer.java | 63 +---
|
||||
.../browser/firstrun/FirstRunUtils.java | 15 +-
|
||||
.../firstrun/ToSAndUMAFirstRunFragment.java | 336 ++++++++++++++++++
|
||||
.../firstrun/ToSAndUMAFirstRunFragment.java | 335 +++++++++++++++++
|
||||
.../firstrun/TosAndUmaFragmentView.java | 336 ++++++++++++++++++
|
||||
.../browser/locale/LocaleManagerDelegate.java | 5 +-
|
||||
.../strings/android_chrome_strings.grd | 24 +-
|
||||
15 files changed, 914 insertions(+), 101 deletions(-)
|
||||
15 files changed, 913 insertions(+), 101 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/fre_tosanduma.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFragmentView.java
|
||||
@@ -577,7 +577,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAnd
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
|
||||
@@ -0,0 +1,336 @@
|
||||
@@ -0,0 +1,335 @@
|
||||
+// Copyright 2015 The Chromium Authors
|
||||
+// Use of this source code is governed by a BSD-style license that can be
|
||||
+// found in the LICENSE file.
|
||||
@@ -608,7 +608,6 @@ new file mode 100644
|
||||
+import org.chromium.base.metrics.RecordHistogram;
|
||||
+import org.chromium.chrome.R;
|
||||
+import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
|
||||
+import org.chromium.components.version_info.VersionInfo;
|
||||
+import org.chromium.ui.modaldialog.ModalDialogManagerHolder;
|
||||
+import org.chromium.ui.text.NoUnderlineClickableSpan;
|
||||
+import org.chromium.ui.text.SpanApplier;
|
||||
|
||||
@@ -16,7 +16,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 | 13 ++
|
||||
.../commerce/core/commerce_feature_list.cc | 65 ++------
|
||||
.../core/browser/browser_policy_connector.cc | 3 +
|
||||
.../common/command_line_policy_provider.cc | 3 +
|
||||
.../core/common/policy_loader_command_line.cc | 140 ++++++++++++++++--
|
||||
@@ -32,7 +32,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
components/signin/features.gni | 2 +-
|
||||
.../gaia_cookie_manager_service.cc | 4 +
|
||||
google_apis/gaia/gaia_auth_fetcher.cc | 1 +
|
||||
28 files changed, 318 insertions(+), 97 deletions(-)
|
||||
28 files changed, 318 insertions(+), 149 deletions(-)
|
||||
|
||||
diff --git a/base/win/win_util.cc b/base/win/win_util.cc
|
||||
--- a/base/win/win_util.cc
|
||||
@@ -475,26 +475,102 @@ 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
|
||||
@@ -304,6 +304,19 @@ const char kParcelTrackingTestDataParamDelivered[] = "Delivered";
|
||||
@@ -55,56 +55,6 @@ const CountryLocaleMap& GetAllowedCountryToLocaleMap() {
|
||||
return *allowed_map;
|
||||
}
|
||||
|
||||
-constexpr base::FeatureParam<std::string> kRulePartnerMerchantPattern{
|
||||
- &ntp_features::kNtpChromeCartModule, "partner-merchant-pattern",
|
||||
- // This regex does not match anything.
|
||||
- "\\b\\B"};
|
||||
-
|
||||
-constexpr base::FeatureParam<std::string> kCouponPartnerMerchantPattern{
|
||||
- &commerce::kRetailCoupons, "coupon-partner-merchant-pattern",
|
||||
- // This regex does not match anything.
|
||||
- "\\b\\B"};
|
||||
-
|
||||
-const re2::RE2& GetRulePartnerMerchantPattern() {
|
||||
-#if !BUILDFLAG(IS_ANDROID)
|
||||
- auto* pattern_from_component =
|
||||
- commerce_heuristics::CommerceHeuristicsData::GetInstance()
|
||||
- .GetRuleDiscountPartnerMerchantPattern();
|
||||
- if (pattern_from_component && kRulePartnerMerchantPattern.Get() ==
|
||||
- kRulePartnerMerchantPattern.default_value) {
|
||||
- CommerceHeuristicsDataMetricsHelper::RecordPartnerMerchantPatternSource(
|
||||
- CommerceHeuristicsDataMetricsHelper::HeuristicsSource::FROM_COMPONENT);
|
||||
- return *pattern_from_component;
|
||||
- }
|
||||
-#endif // !BUILDFLAG(IS_ANDROID)
|
||||
- re2::RE2::Options options;
|
||||
- options.set_case_sensitive(false);
|
||||
- static base::NoDestructor<re2::RE2> instance(
|
||||
- kRulePartnerMerchantPattern.Get(), options);
|
||||
- CommerceHeuristicsDataMetricsHelper::RecordPartnerMerchantPatternSource(
|
||||
- CommerceHeuristicsDataMetricsHelper::HeuristicsSource::
|
||||
- FROM_FEATURE_PARAMETER);
|
||||
- return *instance;
|
||||
-}
|
||||
-
|
||||
-const re2::RE2& GetCouponPartnerMerchantPattern() {
|
||||
-#if !BUILDFLAG(IS_ANDROID)
|
||||
- auto* pattern_from_component =
|
||||
- commerce_heuristics::CommerceHeuristicsData::GetInstance()
|
||||
- .GetCouponDiscountPartnerMerchantPattern();
|
||||
- if (pattern_from_component &&
|
||||
- kCouponPartnerMerchantPattern.Get() ==
|
||||
- kCouponPartnerMerchantPattern.default_value) {
|
||||
- return *pattern_from_component;
|
||||
- }
|
||||
-#endif // !BUILDFLAG(IS_ANDROID)
|
||||
- re2::RE2::Options options;
|
||||
- options.set_case_sensitive(false);
|
||||
- static base::NoDestructor<re2::RE2> instance(
|
||||
- kCouponPartnerMerchantPattern.Get(), options);
|
||||
- return *instance;
|
||||
-}
|
||||
-
|
||||
} // namespace
|
||||
|
||||
namespace switches {
|
||||
@@ -304,6 +254,16 @@ const char kParcelTrackingTestDataParamDelivered[] = "Delivered";
|
||||
const char kParcelTrackingTestDataParamInProgress[] = "InProgress";
|
||||
const char kParcelTrackingTestDataParamOutForDelivery[] = "OutForDelivery";
|
||||
|
||||
+SET_CROMITE_FEATURE_DISABLED(kCommerceHintAndroid);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kCommercePriceTrackingRegionLaunched);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kShoppingListRegionLaunched);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kMerchantWidePromotion);
|
||||
+
|
||||
+SET_CROMITE_FEATURE_DISABLED(kParcelTracking);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kParcelTrackingRegionLaunched);
|
||||
+
|
||||
+SET_CROMITE_FEATURE_DISABLED(kEnableDiscountInfoApi);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kEnableDiscountInfoApiRegionLaunched);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kShowDiscountOnNavigation);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kShowDiscountOnNavigationRegionLaunched);
|
||||
+
|
||||
// Params for Discount Consent V2 in the NTP Cart module.
|
||||
const char kNtpChromeCartModuleDiscountConsentNtpVariationParam[] =
|
||||
"discount-consent-ntp-variation";
|
||||
@@ -429,11 +389,11 @@ bool IsPartnerMerchant(const GURL& url) {
|
||||
}
|
||||
|
||||
bool IsRuleDiscountPartnerMerchant(const GURL& url) {
|
||||
- return RE2::PartialMatch(url.spec(), GetRulePartnerMerchantPattern());
|
||||
+ return false;
|
||||
}
|
||||
|
||||
bool IsCouponDiscountPartnerMerchant(const GURL& url) {
|
||||
- return RE2::PartialMatch(url.spec(), GetCouponPartnerMerchantPattern());
|
||||
+ return false;
|
||||
}
|
||||
|
||||
bool IsCartDiscountFeatureEnabled() {
|
||||
@@ -516,6 +476,7 @@ base::TimeDelta GetDiscountFetchDelay() {
|
||||
}
|
||||
|
||||
bool IsNoDiscountMerchant(const GURL& url) {
|
||||
+ if ((true)) return true;
|
||||
auto* pattern_from_component =
|
||||
commerce_heuristics::CommerceHeuristicsData::GetInstance()
|
||||
.GetNoDiscountMerchantPattern();
|
||||
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
|
||||
|
||||
@@ -16,10 +16,10 @@ Subject: bromite build utils
|
||||
chrome/browser/flags/BUILD.gn | 10 +-
|
||||
.../flags/android/cromite_native_utils.cc | 41 +++++++
|
||||
.../flags/android/cromite_native_utils.h | 14 +++
|
||||
.../browser/flags/CromiteNativeUtils.java | 46 ++++++++
|
||||
.../browser/flags/CromiteNativeUtils.java | 47 ++++++++
|
||||
tools/grit/grit/grd_reader.py | 27 ++++-
|
||||
tools/grit/preprocess_if_expr.py | 32 +++++-
|
||||
16 files changed, 467 insertions(+), 16 deletions(-)
|
||||
16 files changed, 468 insertions(+), 16 deletions(-)
|
||||
create mode 100644 build/bromite/bromite_utils.gni
|
||||
create mode 100644 build/bromite/gyp/cpp_bromite_include.py
|
||||
create mode 100644 build/bromite/gyp/cpp_bromite_include.pydeps
|
||||
@@ -575,9 +575,10 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
new file mode 100755
|
||||
--- /dev/null
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CromiteNativeUtils.java
|
||||
@@ -0,0 +1,46 @@
|
||||
@@ -0,0 +1,47 @@
|
||||
+package org.chromium.chrome.browser.flags;
|
||||
+
|
||||
+import org.chromium.base.cached_flags.CachedFlag;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
|
||||
@@ -140,7 +140,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3432,6 +3432,17 @@ static_library("browser") {
|
||||
@@ -3433,6 +3433,17 @@ static_library("browser") {
|
||||
"webauthn/android/webauthn_request_delegate_android.h",
|
||||
]
|
||||
|
||||
@@ -158,7 +158,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
|
||||
public_deps += [
|
||||
"//chrome/android/features/dev_ui:buildflags",
|
||||
@@ -3619,6 +3630,9 @@ static_library("browser") {
|
||||
@@ -3621,6 +3632,9 @@ static_library("browser") {
|
||||
"//url",
|
||||
]
|
||||
|
||||
@@ -1282,7 +1282,7 @@ new file mode 100644
|
||||
+ const base::android::JavaParamRef<jstring>& allowed_domain) {
|
||||
+ auto* configuration = GetConfigurationWithName(env, configuration_name);
|
||||
+ if (configuration) {
|
||||
+ configuration->RemoveAllowedDomain(ConvertJavaStringToUTF8(allowed_domain));
|
||||
+ configuration->RemoveAllowedDomain(base::android::ConvertJavaStringToUTF8(allowed_domain));
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
@@ -1302,7 +1302,7 @@ new file mode 100644
|
||||
+ const base::android::JavaParamRef<jstring>& custom_filter) {
|
||||
+ auto* configuration = GetConfigurationWithName(env, configuration_name);
|
||||
+ if (configuration) {
|
||||
+ configuration->AddCustomFilter(ConvertJavaStringToUTF8(custom_filter));
|
||||
+ configuration->AddCustomFilter(base::android::ConvertJavaStringToUTF8(custom_filter));
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
|
||||
@@ -20,7 +20,7 @@ Based on Chromium 118.0.5993.48
|
||||
.../content/browser/adblock_filter_match.h | 30 +
|
||||
.../adblock_telemetry_service_factory_base.cc | 100 ++
|
||||
.../adblock_telemetry_service_factory_base.h | 54 +
|
||||
.../browser/adblock_url_loader_factory.cc | 747 +++++++++
|
||||
.../browser/adblock_url_loader_factory.cc | 748 +++++++++
|
||||
.../browser/adblock_url_loader_factory.h | 100 ++
|
||||
.../adblock_url_loader_factory_for_test.cc | 436 +++++
|
||||
.../adblock_url_loader_factory_for_test.h | 70 +
|
||||
@@ -223,7 +223,7 @@ Based on Chromium 118.0.5993.48
|
||||
tools/eyeo/generate_modules.sh | 209 +++
|
||||
tools/eyeo/snippets_deps.py | 61 +
|
||||
tools/gritsettings/resource_ids.spec | 8 +
|
||||
219 files changed, 22060 insertions(+), 3 deletions(-)
|
||||
219 files changed, 22061 insertions(+), 3 deletions(-)
|
||||
create mode 100644 components/adblock/CHANGELOG.md
|
||||
create mode 100644 components/adblock/LICENSE
|
||||
create mode 100644 components/adblock/README.md
|
||||
@@ -2540,7 +2540,7 @@ diff --git a/components/adblock/content/browser/adblock_url_loader_factory.cc b/
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/adblock/content/browser/adblock_url_loader_factory.cc
|
||||
@@ -0,0 +1,747 @@
|
||||
@@ -0,0 +1,748 @@
|
||||
+/*
|
||||
+ * This file is part of eyeo Chromium SDK,
|
||||
+ * Copyright (C) 2006-present eyeo GmbH
|
||||
@@ -2623,6 +2623,7 @@ new file mode 100644
|
||||
+ case network::mojom::RequestDestination::kWorker:
|
||||
+ case network::mojom::RequestDestination::kSharedWorker:
|
||||
+ case network::mojom::RequestDestination::kServiceWorker:
|
||||
+ case network::mojom::RequestDestination::kJson:
|
||||
+ return ContentType::Script;
|
||||
+ case network::mojom::RequestDestination::kImage:
|
||||
+ return ContentType::Image;
|
||||
|
||||
@@ -177,7 +177,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"//components/assist_ranker",
|
||||
"//components/autofill/content/browser",
|
||||
"//components/autofill/core/browser",
|
||||
@@ -3405,6 +3431,8 @@ static_library("browser") {
|
||||
@@ -3406,6 +3432,8 @@ static_library("browser") {
|
||||
"webauthn/android/webauthn_request_delegate_android.cc",
|
||||
"webauthn/android/webauthn_request_delegate_android.h",
|
||||
]
|
||||
@@ -186,7 +186,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
public_deps += [
|
||||
"//chrome/android/features/dev_ui:buildflags",
|
||||
"//components/image_fetcher/core",
|
||||
@@ -3591,6 +3619,7 @@ static_library("browser") {
|
||||
@@ -3593,6 +3621,7 @@ static_library("browser") {
|
||||
"//url",
|
||||
]
|
||||
|
||||
@@ -2629,7 +2629,7 @@ new file mode 100644
|
||||
+mojom("mojo_bindings") {
|
||||
+ sources = [ "adblock_internals.mojom" ]
|
||||
+ webui_module_path = "/"
|
||||
+ use_typescript_sources = true
|
||||
+ #use_typescript_sources = true
|
||||
+}
|
||||
diff --git a/chrome/browser/ui/webui/adblock_internals/adblock_internals.mojom b/chrome/browser/ui/webui/adblock_internals/adblock_internals.mojom
|
||||
new file mode 100644
|
||||
|
||||
@@ -8,10 +8,10 @@ Chromium would still send background requests. Kill it.
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../component_updater/component_updater_url_constants.cc | 4 ++--
|
||||
components/component_updater/configurator_impl.cc | 6 +++---
|
||||
components/component_updater/configurator_impl.h | 1 -
|
||||
3 files changed, 5 insertions(+), 6 deletions(-)
|
||||
.../component_updater_url_constants.cc | 4 ++--
|
||||
components/component_updater/configurator_impl.cc | 10 ++++------
|
||||
components/component_updater/configurator_impl.h | 1 -
|
||||
3 files changed, 6 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/components/component_updater/component_updater_url_constants.cc b/components/component_updater/component_updater_url_constants.cc
|
||||
--- a/components/component_updater/component_updater_url_constants.cc
|
||||
@@ -41,7 +41,7 @@ diff --git a/components/component_updater/configurator_impl.cc b/components/comp
|
||||
url_source_override_(config_policy.UrlSourceOverride()),
|
||||
initial_delay_(config_policy.InitialDelay()) {
|
||||
if (config_policy.TestRequest()) {
|
||||
@@ -77,6 +76,7 @@ base::TimeDelta ConfiguratorImpl::UpdateDelay() const {
|
||||
@@ -77,22 +76,21 @@ base::TimeDelta ConfiguratorImpl::UpdateDelay() const {
|
||||
|
||||
std::vector<GURL> ConfiguratorImpl::UpdateUrl() const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
@@ -49,7 +49,16 @@ diff --git a/components/component_updater/configurator_impl.cc b/components/comp
|
||||
if (url_source_override_.is_valid()) {
|
||||
return {GURL(url_source_override_)};
|
||||
}
|
||||
@@ -92,7 +92,7 @@ std::vector<GURL> ConfiguratorImpl::UpdateUrl() const {
|
||||
|
||||
std::vector<GURL> urls{GURL(kUpdaterJSONDefaultUrl),
|
||||
GURL(kUpdaterJSONFallbackUrl)};
|
||||
- if (require_encryption_) {
|
||||
- update_client::RemoveUnsecureUrls(&urls);
|
||||
- }
|
||||
+ update_client::RemoveUnsecureUrls(&urls);
|
||||
|
||||
return urls;
|
||||
}
|
||||
|
||||
std::vector<GURL> ConfiguratorImpl::PingUrl() const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
|
||||
Reference in New Issue
Block a user