patches for v121 (fixed)

This commit is contained in:
Carmelo Messina
2024-01-21 15:50:27 +01:00
parent a68bb3a3ab
commit 07ed430d73
42 changed files with 635 additions and 320 deletions
+12 -1
View File
@@ -61,8 +61,13 @@ enable_jxl_decoder = true
# see https://github.com/uazo/cromite/issues/697
use_minikin_hyphenation = false
# disable automatic update of sync-related cookies
# initial commit: https://source.chromium.org/chromium/chromium/src/+/fd9a841f7a63b9f5510f6b713d9c833d259c63ad
enable_bound_session_credentials = false
declare_args() {
_is_debug_build = ""
build_webview = false
}
not_needed(["_target_build", "_is_debug_build"])
@@ -76,7 +81,8 @@ if (target_os == "android") {
#enable_kythe_annotations = true
chrome_public_manifest_package = "org.cromite.cromite"
system_webview_package_name="org.cromite.webview"
system_webview_package_name="org.cromite.webview" #"com.android.webview"
system_webview_shell_package_name="org.cromite.webview_shell"
if (getenv("USE_KEYSTORE") != "") {
android_keystore_path = "/home/lg/working_dir/cromite.keystore"
@@ -98,6 +104,11 @@ if (target_os == "android") {
} else {
generate_linker_map = true
}
if (build_webview) {
# only 64bit
skip_secondary_abi_for_cq = true
}
}
if (target_os == "win") {
@@ -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
@@ -342,12 +342,6 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestError(
@@ -343,12 +343,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_);
@@ -386,7 +380,7 @@ void AdblockURLLoaderFactory::InProgressRequest::CheckFilterMatch(
@@ -387,7 +381,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(),
@@ -675,12 +669,14 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestFilterMatchResult(
@@ -676,12 +670,14 @@ void AdblockURLLoaderFactory::InProgressRequest::OnRequestFilterMatchResult(
AdblockURLLoaderFactory::AdblockURLLoaderFactory(
AdblockURLLoaderFactoryConfig config,
@@ -333,21 +333,21 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
settings_api::PrefType::kNumber;
+ (*s_allowlist)[browsing_data::prefs::kDeleteBrowsingHistoryAtStart] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
+ (*s_allowlist)[browsing_data::prefs::kDeleteDownloadHistoryAtStart] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
+ (*s_allowlist)[browsing_data::prefs::kDeleteCacheAtStart] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
+ (*s_allowlist)[browsing_data::prefs::kDeleteCookiesAtStart] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
+ (*s_allowlist)[browsing_data::prefs::kDeletePasswordsAtStart] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
+ (*s_allowlist)[browsing_data::prefs::kDeleteFormDataAtStart] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
+ (*s_allowlist)[browsing_data::prefs::kDeleteSiteSettingsAtStart] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
+ (*s_allowlist)[browsing_data::prefs::kDeleteHostedAppsDataAtStart] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
+
// Accessibility.
(*s_allowlist)[::prefs::kAccessibilityImageLabelsEnabled] =
@@ -16,7 +16,7 @@ diff --git a/third_party/blink/renderer/modules/document_picture_in_picture/pict
return;
}
+ if (!opener.GetFrame()->GetContentSettingsClient()->AllowPopupsAndRedirects(false)) {
+ if (!opener.GetFrame()->GetContentSettings()->allow_popup) {
+ exception_state.ThrowDOMException(DOMExceptionCode::kNotAllowedError,
+ "Document PiP requires user popup permission");
+ resolver->Reject(exception_state);
@@ -185,7 +185,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
api::webstore_private::ExtensionInstallStatus
ConvertExtensionInstallStatusForAPI(ExtensionInstallStatus status) {
+ if (!base::FeatureList::IsEnabled(extensions_features::kEnableExtensionManagementToChromeStore))
+ return api::webstore_private::EXTENSION_INSTALL_STATUS_INSTALLABLE;
+ return api::webstore_private::ExtensionInstallStatus::kInstallable;
switch (status) {
case kCanRequest:
return api::webstore_private::ExtensionInstallStatus::kCanRequest;
@@ -14,9 +14,9 @@ in android there is a test function accessible in the developer settings.
chrome/app/chrome_main_delegate.cc | 2 +-
chrome/browser/platform_util_android.cc | 32 +++++++++++++++++++
.../chrome/browser/util/PlatformUtil.java | 10 ++++++
components/gwp_asan/client/gwp_asan.cc | 11 ++++---
components/gwp_asan/client/gwp_asan.cc | 10 +++---
components/memory_system/memory_system.cc | 1 +
10 files changed, 77 insertions(+), 8 deletions(-)
10 files changed, 76 insertions(+), 8 deletions(-)
diff --git a/android_webview/lib/aw_main_delegate.cc b/android_webview/lib/aw_main_delegate.cc
--- a/android_webview/lib/aw_main_delegate.cc
@@ -199,13 +199,12 @@ diff --git a/chrome/browser/util/android/java/src/org/chromium/chrome/browser/ut
diff --git a/components/gwp_asan/client/gwp_asan.cc b/components/gwp_asan/client/gwp_asan.cc
--- a/components/gwp_asan/client/gwp_asan.cc
+++ b/components/gwp_asan/client/gwp_asan.cc
@@ -76,21 +76,22 @@ constexpr int kDefaultMaxMetadata = 210;
@@ -76,21 +76,21 @@ constexpr int kDefaultMaxMetadata = 210;
constexpr int kDefaultTotalPages = kCpuIs64Bit ? 2048 : kDefaultMaxMetadata * 2;
constexpr int kDefaultAllocationSamplingMultiplier = 1500;
constexpr int kDefaultAllocationSamplingRange = 16;
-constexpr double kDefaultProcessSamplingProbability = 0.01;
+constexpr double kDefaultProcessSamplingProbability = 0.5;
+constexpr int kDefaultProcessSamplingBoost2 = 10;
#elif BUILDFLAG(IS_ANDROID)
constexpr int kDefaultMaxAllocations = 70;
constexpr int kDefaultMaxMetadata = 255;
@@ -225,7 +224,7 @@ diff --git a/components/gwp_asan/client/gwp_asan.cc b/components/gwp_asan/client
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
// BUILDFLAG(IS_FUCHSIA)
constexpr int kDefaultProcessSamplingBoost2 = 10;
@@ -415,7 +416,7 @@ void EnableForMalloc(bool boost_sampling, const char* process_type) {
@@ -415,7 +415,7 @@ void EnableForMalloc(bool boost_sampling, const char* process_type) {
std::ignore = init_once;
#else
std::ignore = internal::kGwpAsanMalloc;
@@ -234,7 +233,7 @@ diff --git a/components/gwp_asan/client/gwp_asan.cc b/components/gwp_asan/client
#endif // BUILDFLAG(USE_ALLOCATOR_SHIM)
}
@@ -435,7 +436,7 @@ void EnableForPartitionAlloc(bool boost_sampling, const char* process_type) {
@@ -435,7 +435,7 @@ void EnableForPartitionAlloc(bool boost_sampling, const char* process_type) {
std::ignore = init_once;
#else
std::ignore = internal::kGwpAsanPartitionAlloc;
@@ -1253,7 +1253,7 @@ diff --git a/components/adblock/android/BUILD.gn b/components/adblock/android/BU
source_set("java_bindings") {
sources = [
@@ -120,7 +121,7 @@ android_resources("java_ui_resources") {
@@ -119,7 +120,7 @@ android_resources("java_ui_resources") {
"java/res/layout/adblock_custom_item_settings.xml",
"java/res/layout/adblock_filter_lists_list_item.xml",
"java/res/xml/adblock_more_options.xml",
@@ -3280,7 +3280,7 @@ diff --git a/components/adblock/core/configuration/filtering_configuration.h b/c
diff --git a/components/adblock/core/configuration/persistent_filtering_configuration.cc b/components/adblock/core/configuration/persistent_filtering_configuration.cc
--- a/components/adblock/core/configuration/persistent_filtering_configuration.cc
+++ b/components/adblock/core/configuration/persistent_filtering_configuration.cc
@@ -25,6 +25,7 @@
@@ -24,6 +24,7 @@
#include "components/adblock/core/configuration/filtering_configuration_prefs.h"
#include "components/prefs/pref_service.h"
#include "components/prefs/scoped_user_pref_update.h"
@@ -3288,7 +3288,7 @@ diff --git a/components/adblock/core/configuration/persistent_filtering_configur
#include "base/logging.h"
@@ -135,6 +136,7 @@ const std::string& PersistentFilteringConfiguration::GetName() const {
@@ -134,6 +135,7 @@ const std::string& PersistentFilteringConfiguration::GetName() const {
}
void PersistentFilteringConfiguration::SetEnabled(bool enabled) {
@@ -3296,7 +3296,7 @@ diff --git a/components/adblock/core/configuration/persistent_filtering_configur
if (IsEnabled() == enabled) {
return;
}
@@ -143,6 +145,14 @@ void PersistentFilteringConfiguration::SetEnabled(bool enabled) {
@@ -142,6 +144,14 @@ void PersistentFilteringConfiguration::SetEnabled(bool enabled) {
NotifyEnabledStateChanged();
}
@@ -3763,15 +3763,15 @@ diff --git a/components/adblock/core/subscription/filtering_configuration_mainta
diff --git a/components/adblock/core/subscription/ongoing_subscription_request_impl.cc b/components/adblock/core/subscription/ongoing_subscription_request_impl.cc
--- a/components/adblock/core/subscription/ongoing_subscription_request_impl.cc
+++ b/components/adblock/core/subscription/ongoing_subscription_request_impl.cc
@@ -22,6 +22,7 @@
#include "base/strings/string_piece_forward.h"
@@ -21,6 +21,7 @@
#include "base/task/thread_pool.h"
#include "base/trace_event/trace_event.h"
+#include "net/base/load_flags.h"
#include "net/http/http_request_headers.h"
#include "services/network/public/cpp/resource_request.h"
#include "services/network/public/mojom/url_response_head.mojom.h"
@@ -44,11 +45,23 @@ const net::NetworkTrafficAnnotationTag kTrafficAnnotation =
@@ -43,11 +44,23 @@ const net::NetworkTrafficAnnotationTag kTrafficAnnotation =
"Application name (ex. Chromium) "
"Application version (93.0.4572.0) "
destination: WEBSITE
@@ -3796,7 +3796,7 @@ diff --git a/components/adblock/core/subscription/ongoing_subscription_request_i
policy_exception_justification: "Not implemented."
})");
@@ -66,7 +79,7 @@ OngoingSubscriptionRequestImpl::OngoingSubscriptionRequestImpl(
@@ -65,7 +78,7 @@ OngoingSubscriptionRequestImpl::OngoingSubscriptionRequestImpl(
OngoingSubscriptionRequestImpl::~OngoingSubscriptionRequestImpl() {
if (!url_.is_empty()) {
@@ -3805,7 +3805,7 @@ diff --git a/components/adblock/core/subscription/ongoing_subscription_request_i
}
net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this);
}
@@ -92,7 +105,7 @@ void OngoingSubscriptionRequestImpl::Retry() {
@@ -91,7 +104,7 @@ void OngoingSubscriptionRequestImpl::Retry() {
return;
}
backoff_entry_->InformOfRequest(false);
@@ -3814,7 +3814,7 @@ diff --git a/components/adblock/core/subscription/ongoing_subscription_request_i
<< backoff_entry_->GetTimeUntilRelease();
retry_timer_->Start(
FROM_HERE, backoff_entry_->GetTimeUntilRelease(),
@@ -106,7 +119,7 @@ void OngoingSubscriptionRequestImpl::Redirect(GURL redirect_url) {
@@ -105,7 +118,7 @@ void OngoingSubscriptionRequestImpl::Redirect(GURL redirect_url) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK(!url_.is_empty()) << "Redirect() called before Start()";
DCHECK(url_ != redirect_url) << "Invalid redirect. Same URL";
@@ -3823,7 +3823,7 @@ diff --git a/components/adblock/core/subscription/ongoing_subscription_request_i
++number_of_redirects_;
url_ = std::move(redirect_url);
StartInternal();
@@ -126,10 +139,15 @@ void OngoingSubscriptionRequestImpl::StartInternal() {
@@ -125,10 +138,15 @@ void OngoingSubscriptionRequestImpl::StartInternal() {
// indefinitely.
return;
}
@@ -3840,7 +3840,7 @@ diff --git a/components/adblock/core/subscription/ongoing_subscription_request_i
loader_ =
network::SimpleURLLoader::Create(std::move(request), kTrafficAnnotation);
@@ -152,11 +170,8 @@ void OngoingSubscriptionRequestImpl::OnDownloadFinished(
@@ -151,11 +169,8 @@ void OngoingSubscriptionRequestImpl::OnDownloadFinished(
base::FilePath downloaded_file) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
TRACE_EVENT_NESTABLE_ASYNC_END0("eyeo", "Downloading subscription", this);
@@ -3990,7 +3990,7 @@ diff --git a/components/adblock/core/subscription/subscription_config.cc b/compo
diff --git a/components/adblock/core/subscription/subscription_config.h b/components/adblock/core/subscription/subscription_config.h
--- a/components/adblock/core/subscription/subscription_config.h
+++ b/components/adblock/core/subscription/subscription_config.h
@@ -37,7 +37,7 @@ enum class SubscriptionUiVisibility { Visible, Invisible };
@@ -36,7 +36,7 @@ enum class SubscriptionUiVisibility { Visible, Invisible };
enum class SubscriptionFirstRunBehavior {
// Download and install as soon as possible.
@@ -3999,7 +3999,7 @@ diff --git a/components/adblock/core/subscription/subscription_config.h b/compon
// Download and install as soon as possible but only if the device's region
// matches one of the |languages| defined in KnownSubscriptionInfo.
SubscribeIfLocaleMatch,
@@ -48,7 +48,7 @@ enum class SubscriptionFirstRunBehavior {
@@ -47,7 +47,7 @@ enum class SubscriptionFirstRunBehavior {
// Privileged filters include:
// - Snippet filters
// - Header filters
@@ -4008,7 +4008,7 @@ diff --git a/components/adblock/core/subscription/subscription_config.h b/compon
// Description of a subscription that's known to exist in the Internet.
// Can be used to populate a list of proposed or recommended subscriptions in
@@ -72,7 +72,7 @@ struct KnownSubscriptionInfo {
@@ -71,7 +71,7 @@ struct KnownSubscriptionInfo {
std::vector<std::string> languages;
SubscriptionUiVisibility ui_visibility = SubscriptionUiVisibility::Visible;
SubscriptionFirstRunBehavior first_run =
@@ -4114,7 +4114,7 @@ diff --git a/components/adblock/core/subscription/subscription_persistent_metada
diff --git a/components/adblock/core/subscription/subscription_persistent_metadata_impl.cc b/components/adblock/core/subscription/subscription_persistent_metadata_impl.cc
--- a/components/adblock/core/subscription/subscription_persistent_metadata_impl.cc
+++ b/components/adblock/core/subscription/subscription_persistent_metadata_impl.cc
@@ -22,6 +22,7 @@
@@ -21,6 +21,7 @@
#include "base/time/time.h"
#include "base/values.h"
#include "components/adblock/core/common/adblock_prefs.h"
@@ -4122,7 +4122,7 @@ diff --git a/components/adblock/core/subscription/subscription_persistent_metada
#include "components/prefs/scoped_user_pref_update.h"
namespace adblock {
@@ -146,6 +147,12 @@ void SubscriptionPersistentMetadataImpl::UpdatePrefs() {
@@ -145,6 +146,12 @@ void SubscriptionPersistentMetadataImpl::UpdatePrefs() {
prefs_->SetDict(common::prefs::kSubscriptionMetadata, std::move(dict));
}
+26 -1
View File
@@ -6,8 +6,10 @@ because of
https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10
---
BUILD.gn | 1 -
.../chrome_browsing_data_model_delegate.cc | 1 +
.../navigation_predictor_metrics_document_data.h | 2 ++
chrome/browser/safe_browsing/BUILD.gn | 1 +
.../browser/metrics/shadow_prediction_metrics.cc | 2 +-
.../omnibox/browser/autocomplete_classifier.cc | 4 ++--
components/omnibox/browser/omnibox_field_trial.cc | 4 ++--
.../phishing_classifier/phishing_image_embedder.cc | 14 +++-----------
@@ -15,7 +17,7 @@ https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10
crypto/BUILD.gn | 3 +++
net/BUILD.gn | 1 +
third_party/libevent/BUILD.gn | 2 ++
10 files changed, 17 insertions(+), 16 deletions(-)
12 files changed, 19 insertions(+), 17 deletions(-)
diff --git a/BUILD.gn b/BUILD.gn
--- a/BUILD.gn
@@ -28,6 +30,17 @@ diff --git a/BUILD.gn b/BUILD.gn
"//android_webview/tools/sdk_sandbox",
"//android_webview/tools/system_webview_shell",
"//chrome/android:chrome_junit_tests",
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_model_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_model_delegate.cc
--- a/chrome/browser/browsing_data/chrome_browsing_data_model_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_model_delegate.cc
@@ -221,6 +221,7 @@ bool ChromeBrowsingDataModelDelegate::IsCookieDeletionDisabled(
auto* client = permissions::PermissionsClient::Get();
return client->IsCookieDeletionDisabled(profile_, url);
}
+ return false;
#else
return false;
#endif
diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
--- a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
+++ b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h
@@ -51,6 +64,18 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
]
if (safe_browsing_mode == 1) {
# "Safe Browsing Full" files in addition to the "basic" ones to use for
diff --git a/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
@@ -61,7 +61,7 @@ int GetShadowPrediction(ServerFieldType current,
}
void LogShadowPredictionComparison(const AutofillField& field) {
- const auto& submitted_types = field.possible_types();
+ [[maybe_unused]] const auto& submitted_types = field.possible_types();
#if BUILDFLAG(USE_INTERNAL_AUTOFILL_PATTERNS)
base::UmaHistogramSparse(
diff --git a/components/omnibox/browser/autocomplete_classifier.cc b/components/omnibox/browser/autocomplete_classifier.cc
--- a/components/omnibox/browser/autocomplete_classifier.cc
+++ b/components/omnibox/browser/autocomplete_classifier.cc
@@ -6,10 +6,9 @@ and, in windows, hide the presence of the webcam if the user has not given permi
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
components/media_device_salt/media_device_salt_service.cc | 3 +++
content/browser/media/media_devices_util.cc | 3 +++
content/browser/renderer_host/media/media_devices_manager.cc | 5 +++++
.../features_cc/Partition-MediaDeviceId-by-default.inc | 1 +
3 files changed, 9 insertions(+)
create mode 100644 cromite_flags/content/common/features_cc/Partition-MediaDeviceId-by-default.inc
3 files changed, 11 insertions(+)
diff --git a/components/media_device_salt/media_device_salt_service.cc b/components/media_device_salt/media_device_salt_service.cc
--- a/components/media_device_salt/media_device_salt_service.cc
@@ -24,6 +23,19 @@ diff --git a/components/media_device_salt/media_device_salt_service.cc b/compone
namespace {
scoped_refptr<base::SequencedTaskRunner> CreateDatabaseTaskRunner() {
diff --git a/content/browser/media/media_devices_util.cc b/content/browser/media/media_devices_util.cc
--- a/content/browser/media/media_devices_util.cc
+++ b/content/browser/media/media_devices_util.cc
@@ -166,6 +166,9 @@ blink::WebMediaDeviceInfo TranslateMediaDeviceInfo(
bool has_permission,
const MediaDeviceSaltAndOrigin& salt_and_origin,
const blink::WebMediaDeviceInfo& device_info) {
+ // If device permission is not granted by the user,
+ // media-device enumeration will provide at most one device per type and the
+ // device IDs will not be available.
if (has_permission) {
return blink::WebMediaDeviceInfo(
GetHMACForRawMediaDeviceID(salt_and_origin, device_info.device_id),
diff --git a/content/browser/renderer_host/media/media_devices_manager.cc b/content/browser/renderer_host/media/media_devices_manager.cc
--- a/content/browser/renderer_host/media/media_devices_manager.cc
+++ b/content/browser/renderer_host/media/media_devices_manager.cc
@@ -39,11 +51,5 @@ diff --git a/content/browser/renderer_host/media/media_devices_manager.cc b/cont
GetAudioInputCapabilities(video_input_capabilities_requested,
audio_input_capabilities_requested,
diff --git a/cromite_flags/content/common/features_cc/Partition-MediaDeviceId-by-default.inc b/cromite_flags/content/common/features_cc/Partition-MediaDeviceId-by-default.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/content/common/features_cc/Partition-MediaDeviceId-by-default.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_ENABLED(kEnumerateDevicesHideDeviceIDs);
--
2.25.1
@@ -14,7 +14,7 @@ diff --git a/content/browser/file_system_access/features.cc b/content/browser/fi
"FileSystemAccessDirectoryIterationSymbolicLinkCheck",
base::FEATURE_DISABLED_BY_DEFAULT);
+CROMITE_SET_FEATURE_ENABLED(kFileSystemAccessDragAndDropCheckBlocklist);
+SET_CROMITE_FEATURE_ENABLED(kFileSystemAccessDragAndDropCheckBlocklist);
} // namespace content::features
--
2.25.1
@@ -397,7 +397,7 @@ new file mode 100644
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+import {$} from 'chrome://resources/js/util_ts.js';
+import {$} from 'chrome://resources/js/util.js';
+
+/**
+ * Main entry point called once the page has loaded.
@@ -11,13 +11,13 @@ Require: Content-settings-infrastructure.patch
.../res/drawable-xhdpi/settings_autoplay.png | Bin 0 -> 551 bytes
.../res/drawable-xxhdpi/settings_autoplay.png | Bin 0 -> 792 bytes
.../drawable-xxxhdpi/settings_autoplay.png | Bin 0 -> 1064 bytes
.../impl/BromiteAutoplayContentSetting.java | 92 ++++++++++++++++++
.../impl/BromiteAutoplayContentSetting.java | 93 ++++++++++++++++++
.../bromite_content_settings/autoplay.grdp | 21 ++++
.../bromite_content_settings/autoplay.inc | 12 +++
.../core/browser/content_settings_registry.cc | 2 +-
.../core/html/media/autoplay_policy.cc | 14 +++
.../core/html/media/autoplay_policy.h | 4 +
11 files changed, 144 insertions(+), 1 deletion(-)
11 files changed, 145 insertions(+), 1 deletion(-)
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/settings_autoplay.png
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/settings_autoplay.png
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/settings_autoplay.png
@@ -139,7 +139,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteAutoplayContentSetting.java
@@ -0,0 +1,92 @@
@@ -0,0 +1,93 @@
+/*
+ This file is part of Bromite.
+
@@ -192,7 +192,8 @@ new file mode 100644
+ /*defaultEnabledValue*/ getDefaultEnabledValue(),
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
+ /*enabledSummary*/ R.string.website_settings_category_autoplay_enabled,
+ /*disabledSummary*/ R.string.website_settings_category_autoplay_disabled);
+ /*disabledSummary*/ R.string.website_settings_category_autoplay_disabled,
+ /*summaryOverrideForScreenReader*/ 0);
+ }
+
+ @Override
@@ -6,27 +6,27 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/menu/main_menu.xml | 7 ++
.../chrome/browser/ChromeTabbedActivity.java | 24 +++++++
.../browser/bookmarks/BookmarkBridge.java | 66 +++++++++++++++++++
.../bookmarks/android/bookmark_bridge.cc | 44 +++++++++++++
.../browser/bookmarks/BookmarkBridge.java | 67 +++++++++++++++++++
.../bookmarks/android/bookmark_bridge.cc | 44 ++++++++++++
.../bookmarks/android/bookmark_bridge.h | 8 +++
.../browser/bookmarks/bookmark_html_writer.cc | 8 ++-
.../dialogs/DownloadLocationCustomView.java | 4 +-
.../strings/android_chrome_strings.grd | 3 +
components/bookmark_bar_strings.grdp | 6 ++
.../bookmarks/browser/bookmark_client.cc | 2 +
.../bookmarks/browser/bookmark_codec.cc | 22 +++++--
.../bookmarks/browser/bookmark_codec.cc | 22 ++++--
components/bookmarks/browser/bookmark_codec.h | 7 +-
.../browser/bookmark_load_details.cc | 4 ++
.../bookmarks/browser/bookmark_load_details.h | 3 +
.../bookmarks/browser/bookmark_model.cc | 3 +-
components/bookmarks/browser/bookmark_model.h | 7 ++
components/bookmarks/browser/bookmark_node.cc | 11 ++++
components/bookmarks/browser/bookmark_node.cc | 11 +++
components/bookmarks/browser/bookmark_node.h | 4 ++
.../bookmarks/browser/bookmark_uuids.cc | 3 +
components/bookmarks/browser/bookmark_uuids.h | 1 +
components/bookmarks/browser/model_loader.cc | 3 +-
.../bookmark_specifics_conversions.cc | 1 +
22 files changed, 231 insertions(+), 10 deletions(-)
22 files changed, 232 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
@@ -111,10 +111,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.base.ObserverList;
import org.chromium.base.ThreadUtils;
import org.chromium.base.metrics.RecordHistogram;
@@ -39,6 +40,10 @@ import org.chromium.base.metrics.RecordUserAction;
@@ -39,6 +40,11 @@ import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.read_later.ReadingListUtils;
+import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController;
@@ -122,7 +123,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkItem;
import org.chromium.components.bookmarks.BookmarkType;
@@ -83,6 +88,8 @@ import java.io.File;
@@ -83,6 +89,8 @@ import java.io.File;
class BookmarkBridge {
private final ObserverList<BookmarkModelObserver> mObservers = new ObserverList<>();
@@ -131,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private long mNativeBookmarkBridge;
private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges;
@@ -374,6 +381,16 @@ class BookmarkBridge {
@@ -374,6 +382,16 @@ class BookmarkBridge {
return mMobileFolderId;
}
@@ -148,7 +149,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Id representing the special "other" folder from bookmark model.
*/
@@ -1018,6 +1035,50 @@ class BookmarkBridge {
@@ -1018,6 +1036,50 @@ class BookmarkBridge {
return BookmarkBridgeJni.get().addToReadingList(mNativeBookmarkBridge, title, url);
}
@@ -199,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Helper method to mark an article as read.
*
@@ -1243,6 +1304,9 @@ class BookmarkBridge {
@@ -1243,6 +1305,9 @@ class BookmarkBridge {
BookmarkId getMostRecentlyAddedUserBookmarkIdForUrl(long nativeBookmarkBridge, GURL url);
@@ -209,7 +210,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
BookmarkItem getBookmarkById(long nativeBookmarkBridge, long id, int type);
void getTopLevelFolderIds(long nativeBookmarkBridge, List<BookmarkId> bookmarksList);
@@ -1254,6 +1318,8 @@ class BookmarkBridge {
@@ -1254,6 +1319,8 @@ class BookmarkBridge {
BookmarkId getRootFolderId(long nativeBookmarkBridge);
+5 -4
View File
@@ -9,7 +9,7 @@ Requires patch: Content-settings-infrastructure.patch
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../impl/BromiteWebGLContentSetting.java | 92 +++++++++++++++++++
.../impl/BromiteWebGLContentSetting.java | 93 +++++++++++++++++++
.../bromite_content_settings/webgl.grdp | 27 ++++++
.../bromite_content_settings/webgl.inc | 22 +++++
.../common/bromite_content_settings/WEBGL.inc | 1 +
@@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../execution_context/execution_context.h | 2 +
.../webgl/webgl_rendering_context_base.cc | 32 +++----
.../webgl/webgl_rendering_context_base.h | 2 +
8 files changed, 166 insertions(+), 19 deletions(-)
8 files changed, 167 insertions(+), 19 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteWebGLContentSetting.java
create mode 100644 components/browser_ui/strings/bromite_content_settings/webgl.grdp
create mode 100644 components/content_settings/core/browser/bromite_content_settings/webgl.inc
@@ -27,7 +27,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteWebGLContentSetting.java
@@ -0,0 +1,92 @@
@@ -0,0 +1,93 @@
+/*
+ This file is part of Bromite.
+
@@ -80,7 +80,8 @@ new file mode 100644
+ /*defaultEnabledValue*/ getDefaultEnabledValue(),
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
+ /*enabledSummary*/ R.string.website_settings_category_webgl_enabled,
+ /*disabledSummary*/ R.string.website_settings_category_webgl_disabled);
+ /*disabledSummary*/ R.string.website_settings_category_webgl_disabled,
+ /*summaryOverrideForScreenReader*/ 0);
+ }
+
+ @Override
+5 -4
View File
@@ -7,14 +7,14 @@ Requires patch: Content-settings-infrastructure.patch
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../impl/BromiteWebRTCContentSetting.java | 93 +++++++++++++++++++
.../impl/BromiteWebRTCContentSetting.java | 94 +++++++++++++++++++
.../bromite_content_settings/webrtc.grdp | 27 ++++++
.../bromite_content_settings/webrtc.inc | 22 +++++
.../bromite_content_settings/WEBRTC.inc | 1 +
.../peer_connection_dependency_factory.cc | 6 ++
.../peerconnection/rtc_rtp_receiver.cc | 10 ++
.../modules/peerconnection/rtc_rtp_sender.cc | 10 ++
7 files changed, 169 insertions(+)
7 files changed, 170 insertions(+)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteWebRTCContentSetting.java
create mode 100644 components/browser_ui/strings/bromite_content_settings/webrtc.grdp
create mode 100644 components/content_settings/core/browser/bromite_content_settings/webrtc.inc
@@ -24,7 +24,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteWebRTCContentSetting.java
@@ -0,0 +1,93 @@
@@ -0,0 +1,94 @@
+/*
+ This file is part of Bromite.
+
@@ -77,7 +77,8 @@ new file mode 100644
+ /*defaultEnabledValue*/ getDefaultEnabledValue(),
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
+ /*enabledSummary*/ R.string.website_settings_category_webrtc_enabled,
+ /*disabledSummary*/ R.string.website_settings_category_webrtc_disabled);
+ /*disabledSummary*/ R.string.website_settings_category_webrtc_disabled,
+ /*summaryOverrideForScreenReader*/ 0);
+ }
+
+ @Override
@@ -14,10 +14,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../privacy_sandbox/privacy_sandbox_prompt.cc | 1 +
.../history/core/browser/history_backend.cc | 13 +---------
.../privacy_sandbox_attestations.cc | 2 --
.../privacy_sandbox_features.cc | 5 ++++
.../privacy_sandbox_features.cc | 6 ++++-
.../privacy_sandbox/privacy_sandbox_prefs.cc | 4 ++--
.../privacy_sandbox_settings_impl.cc | 24 +++++++++++++------
8 files changed, 30 insertions(+), 23 deletions(-)
8 files changed, 30 insertions(+), 24 deletions(-)
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
@@ -91,12 +91,19 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_san
diff --git a/components/privacy_sandbox/privacy_sandbox_features.cc b/components/privacy_sandbox/privacy_sandbox_features.cc
--- a/components/privacy_sandbox/privacy_sandbox_features.cc
+++ b/components/privacy_sandbox/privacy_sandbox_features.cc
@@ -152,4 +152,9 @@ BASE_FEATURE(kTrackingProtectionNoticeRequestTracking,
@@ -145,11 +145,15 @@ BASE_FEATURE(kAttributionDebugReportingCookieDeprecationTesting,
BASE_FEATURE(kPrivateAggregationDebugReportingCookieDeprecationTesting,
"PrivateAggregationDebugReportingCookieDeprecationTesting",
base::FEATURE_DISABLED_BY_DEFAULT);
-
+
#if BUILDFLAG(IS_ANDROID)
BASE_FEATURE(kTrackingProtectionNoticeRequestTracking,
"TrackingProtectionNoticeRequestTracking",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_ANDROID)
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxSettings4);
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxSettings3);
+SET_CROMITE_FEATURE_ENABLED(kDisablePrivacySandboxPrompts);
+SET_CROMITE_FEATURE_DISABLED(kEnforcePrivacySandboxAttestations);
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxFirstPartySetsUI);
@@ -25,7 +25,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../attribution_storage_sql.cc | 8 +-
content/browser/storage_partition_impl.cc | 9 -
content/public/android/BUILD.gn | 2 -
.../browser/AttributionOsLevelManager.java | 291 +-----------------
.../browser/AttributionOsLevelManager.java | 296 +-----------------
.../public/browser/content_browser_client.cc | 7 +-
.../public/browser/navigation_controller.cc | 1 -
.../Disable-conversion-measurement-api.inc | 1 +
@@ -35,7 +35,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../network/public/cpp/attribution_utils.cc | 2 +
third_party/blink/renderer/core/page/page.cc | 2 +-
ui/events/android/motion_event_android.cc | 6 +-
24 files changed, 66 insertions(+), 316 deletions(-)
24 files changed, 64 insertions(+), 323 deletions(-)
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-conversion-measurement-api.inc
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-conversion-measurement-api.inc
@@ -296,14 +296,13 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
private static final String TAG = "AttributionManager";
// TODO: replace with constant in android.Manifest.permission once it becomes available in U.
private static final String PERMISSION_ACCESS_ADSERVICES_ATTRIBUTION =
@@ -116,63 +107,14 @@ public class AttributionOsLevelManager {
@@ -116,62 +107,11 @@ public class AttributionOsLevelManager {
}
private static boolean supportsAttribution() {
- return Build.VERSION.SDK_INT >= Build.VERSION_CODES.R;
+ return false;
}
- }
-
- private static @OperationResult int convertToOperationResult(Throwable thrown) {
- if (thrown instanceof IllegalArgumentException) {
- return OperationResult.ERROR_ILLEGAL_ARGUMENT;
@@ -327,12 +326,11 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
- } else {
- return OperationResult.ERROR_UNKNOWN;
- }
+ private MeasurementManagerFutures getManager() {
+ return null;
+ return false;
}
- private static void recordOperationResult(
- @OperationType int type, @OperationResult int result) {
private static void recordOperationResult(
@OperationType int type, @OperationResult int result) {
- String suffix = "";
- switch (type) {
- case OperationType.REGISTER_SOURCE:
@@ -354,16 +352,15 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
- suffix = "DeleteRegistrations";
- break;
- }
-
- assert suffix.length() > 0;
-
- RecordHistogram.recordEnumeratedHistogram(
- "Conversions.AndroidOperationResult." + suffix, result, OperationResult.COUNT);
- }
}
@CalledByNative
private AttributionOsLevelManager(long nativePtr) {
@@ -180,22 +122,7 @@ public class AttributionOsLevelManager {
@@ -180,22 +120,7 @@ public class AttributionOsLevelManager {
}
private MeasurementManagerFutures getManager() {
@@ -387,10 +384,15 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
}
private void onRegistrationCompleted(
@@ -214,21 +141,6 @@ public class AttributionOsLevelManager {
if (!supportsAttribution()) {
return;
@@ -209,28 +134,6 @@ public class AttributionOsLevelManager {
}
}
- private void addRegistrationFutureCallback(
- int requestId, @OperationType int type, ListenableFuture<?> future) {
- if (!supportsAttribution()) {
- return;
- }
- Futures.addCallback(
- future,
- new FutureCallback<Object>() {
@@ -406,10 +408,12 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
- }
- },
- ContextUtils.getApplicationContext().getMainExecutor());
}
- }
-
/**
@@ -249,25 +161,6 @@ public class AttributionOsLevelManager {
* Registers a web attribution source with native, see `registerWebSourceAsync()`:
* https://developer.android.com/reference/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFutures.
@@ -249,25 +152,6 @@ public class AttributionOsLevelManager {
OperationResult.ERROR_VERSION_UNSUPPORTED);
return;
}
@@ -435,7 +439,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
}
/**
@@ -283,15 +176,6 @@ public class AttributionOsLevelManager {
@@ -283,15 +167,6 @@ public class AttributionOsLevelManager {
OperationResult.ERROR_VERSION_UNSUPPORTED);
return;
}
@@ -451,7 +455,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
}
/**
@@ -308,22 +192,6 @@ public class AttributionOsLevelManager {
@@ -308,22 +183,6 @@ public class AttributionOsLevelManager {
OperationResult.ERROR_VERSION_UNSUPPORTED);
return;
}
@@ -474,7 +478,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
}
/**
@@ -339,15 +207,6 @@ public class AttributionOsLevelManager {
@@ -339,15 +198,6 @@ public class AttributionOsLevelManager {
OperationResult.ERROR_VERSION_UNSUPPORTED);
return;
}
@@ -490,7 +494,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
}
private void onDataDeletionCompleted(int requestId) {
@@ -382,96 +241,7 @@ public class AttributionOsLevelManager {
@@ -382,96 +232,7 @@ public class AttributionOsLevelManager {
onDataDeletionCompleted(requestId);
return;
}
@@ -588,7 +592,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
}
private static void onMeasurementStateReturned(int status, @OperationResult int result) {
@@ -487,6 +257,10 @@ public class AttributionOsLevelManager {
@@ -487,6 +248,10 @@ public class AttributionOsLevelManager {
private static void getMeasurementApiStatus() {
ThreadUtils.assertOnBackgroundThread();
@@ -599,7 +603,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
if (sManagerForTesting != null) {
AttributionOsLevelManagerJni.get().onMeasurementStateReturned(1);
return;
@@ -506,49 +280,6 @@ public class AttributionOsLevelManager {
@@ -506,49 +271,6 @@ public class AttributionOsLevelManager {
onMeasurementStateReturned(/* status= */ 0, OperationResult.ERROR_PERMISSION_UNGRANTED);
return;
}
+14 -3
View File
@@ -4,19 +4,30 @@ Subject: Disable idle detection
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../common/content_features_cc/Disable-idle-detection.inc | 1 +
.../common/content_features_cc/Disable-idle-detection.inc | 4 ++++
.../common/content_features_h/Disable-idle-detection.inc | 1 +
.../permissions_policy/permissions_policy_features.json5 | 1 +
third_party/blink/renderer/modules/idle/idle_detector.idl | 3 ++-
.../blink/renderer/platform/runtime_enabled_features.json5 | 5 +++++
4 files changed, 9 insertions(+), 1 deletion(-)
5 files changed, 13 insertions(+), 1 deletion(-)
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-idle-detection.inc
create mode 100644 cromite_flags/content/public/common/content_features_h/Disable-idle-detection.inc
diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-idle-detection.inc b/cromite_flags/content/public/common/content_features_cc/Disable-idle-detection.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/content/public/common/content_features_cc/Disable-idle-detection.inc
@@ -0,0 +1,4 @@
+// This is intended as a kill switch for the Idle Detection feature. To enable
+// this feature, the experimental web platform features flag should be set,
+// or the site should obtain an Origin Trial token.
+CROMITE_FEATURE(kIdleDetection, "IdleDetection", base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/cromite_flags/content/public/common/content_features_h/Disable-idle-detection.inc b/cromite_flags/content/public/common/content_features_h/Disable-idle-detection.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/content/public/common/content_features_h/Disable-idle-detection.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kIdleDetection);
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kIdleDetection);
diff --git a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
--- a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
+++ b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
@@ -17,15 +17,19 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 1 +
.../settings/PasswordSettings.java | 81 ++++++++++++++++++-
.../chromium/chrome/browser/tab/TabImpl.java | 52 ++++++++++++
.../chromium/chrome/browser/tab/TabImpl.java | 55 +++++++++++++
.../browser/tab/TabViewAndroidDelegate.java | 14 ++++
chrome/browser/BUILD.gn | 7 ++
chrome/browser/android/tab_android.cc | 15 ++++
chrome/browser/android/tab_android.h | 2 +
.../strings/android_chrome_strings.grd | 6 ++
.../ui/autofill/chrome_autofill_client.cc | 8 +-
components/android_autofill/browser/BUILD.gn | 1 +
.../browser/android_autofill_manager.cc | 2 +-
.../browser/android_autofill_manager.h | 4 +-
.../autofill/AutofillManagerWrapper.java | 5 +-
.../components/autofill/AutofillProvider.java | 7 ++
.../BrowserSelectionActionMenuDelegate.java | 62 ++++++++++++++
.../browser/content_autofill_driver.cc | 53 ++++++++++++
.../content/browser/content_autofill_driver.h | 9 ++-
.../content_autofill_driver_factory.cc | 11 ++-
@@ -34,8 +38,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../autofill/core/common/autofill_prefs.cc | 6 ++
.../autofill/core/common/autofill_prefs.h | 2 +
.../embedder_support/view/ContentView.java | 46 +++++++++++
.../selection/FloatingPastePopupMenu.java | 3 +-
.../chromium/ui/base/ViewAndroidDelegate.java | 8 ++
20 files changed, 325 insertions(+), 8 deletions(-)
25 files changed, 404 insertions(+), 10 deletions(-)
create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
@@ -177,7 +183,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
@@ -74,6 +74,17 @@ import org.chromium.url.GURL;
@@ -74,6 +74,18 @@ import org.chromium.url.GURL;
import java.nio.ByteBuffer;
@@ -187,7 +193,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
+import android.view.ViewStructure;
+import android.view.autofill.AutofillValue;
+import org.chromium.components.autofill.AutofillProvider;
+import org.chromium.components.autofill.AutofillSelectionMenuItemProvider;
+import org.chromium.components.autofill.AutofillSelectionMenuItemHelper;
+import org.chromium.components.autofill.BrowserSelectionActionMenuDelegate;
+import org.chromium.content_public.browser.SelectionPopupController;
+import org.chromium.chrome.browser.preferences.Pref;
+import org.chromium.components.user_prefs.UserPrefs;
@@ -195,7 +202,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This
* class is not intended to be extended.
@@ -224,6 +235,8 @@ class TabImpl implements Tab {
@@ -224,6 +236,8 @@ class TabImpl implements Tab {
*/
private @Nullable @TabLaunchType Integer mTabLaunchTypeAtCreation;
@@ -204,7 +211,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Creates an instance of a {@link TabImpl}. Package-private. Use {@link TabBuilder} to create
* an instance.
@@ -844,6 +857,11 @@ class TabImpl implements Tab {
@@ -844,6 +858,11 @@ class TabImpl implements Tab {
for (TabObserver observer : mObservers) observer.onDestroyed(this);
mObservers.clear();
@@ -216,7 +223,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
mUserDataHost.destroy();
mTabViewManager.destroy();
hideNativePage(false, null);
@@ -1424,6 +1442,16 @@ class TabImpl implements Tab {
@@ -1424,6 +1443,16 @@ class TabImpl implements Tab {
return mWebContentsState == null ? -1 : mWebContentsState.version();
}
@@ -233,7 +240,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Initializes the {@link WebContents}. Completes the browser content components initialization
* around a native WebContents pointer.
@@ -1491,6 +1519,28 @@ class TabImpl implements Tab {
@@ -1491,6 +1520,30 @@ class TabImpl implements Tab {
this));
mWebContents.notifyRendererPreferenceUpdate();
@@ -254,15 +261,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
+ TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
+ mAutofillProvider.setWebContents(webContents);
+ cv.setWebContents(webContents);
+ selectionController.setNonSelectionAdditionalMenuItemProvider(
+ new AutofillSelectionMenuItemProvider(
+ getContext(), mAutofillProvider));
+ BrowserSelectionActionMenuDelegate selectionActionMenuDelegate =
+ new BrowserSelectionActionMenuDelegate();
+ selectionActionMenuDelegate.setAutofillSelectionMenuItemHelper(
+ new AutofillSelectionMenuItemHelper(getContext(), mAutofillProvider));
+ selectionController.setSelectionActionMenuDelegate(selectionActionMenuDelegate);
+ }
+ }
TabHelpers.initWebContentsHelpers(this);
notifyContentChanged();
} finally {
@@ -1954,6 +2004,8 @@ class TabImpl implements Tab {
@@ -1954,6 +2007,8 @@ class TabImpl implements Tab {
boolean handleNonNavigationAboutURL(GURL url);
@@ -394,6 +403,17 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows
content::WebContentsObserver(web_contents),
log_manager_(
// TODO(crbug.com/928595): Replace the closure with a callback to the
diff --git a/components/android_autofill/browser/BUILD.gn b/components/android_autofill/browser/BUILD.gn
--- a/components/android_autofill/browser/BUILD.gn
+++ b/components/android_autofill/browser/BUILD.gn
@@ -40,6 +40,7 @@ android_library("java") {
"java/src/org/chromium/components/autofill/AutofillProviderUMA.java",
"java/src/org/chromium/components/autofill/AutofillRequest.java",
"java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java",
+ "java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java",
"java/src/org/chromium/components/autofill/FormData.java",
"java/src/org/chromium/components/autofill/FormFieldData.java",
"java/src/org/chromium/components/autofill/PrefillRequest.java",
diff --git a/components/android_autofill/browser/android_autofill_manager.cc b/components/android_autofill/browser/android_autofill_manager.cc
--- a/components/android_autofill/browser/android_autofill_manager.cc
+++ b/components/android_autofill/browser/android_autofill_manager.cc
@@ -424,6 +444,140 @@ diff --git a/components/android_autofill/browser/android_autofill_manager.h b/co
void OnFormSubmittedImpl(const FormData& form,
bool known_success,
mojom::SubmissionSource source) override;
diff --git a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillManagerWrapper.java b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillManagerWrapper.java
--- a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillManagerWrapper.java
+++ b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillManagerWrapper.java
@@ -51,6 +51,7 @@ public class AutofillManagerWrapper {
AutofillManagerWrapper manager = mManager.get();
if (manager == null) return;
manager.mIsAutofillInputUIShowing = (event == EVENT_INPUT_SHOWN);
+ if (manager.isLoggable()) manager.log("onAutofillEvent isAutofillInputUIShowing: " + manager.mIsAutofillInputUIShowing);
if (event == EVENT_INPUT_SHOWN) manager.notifyInputUIChange();
}
}
@@ -89,6 +90,7 @@ public class AutofillManagerWrapper {
// Uses Exception to catch various cases. (refer to crbug.com/1186406)
Log.e(TAG, "getAutofillServiceComponentName", e);
}
+ if (isLoggable()) log("componentName=" + componentName);
if (componentName != null) {
mIsAwGCurrentAutofillService =
AWG_COMPONENT_NAME.equals(componentName.flattenToString());
@@ -247,7 +249,7 @@ public class AutofillManagerWrapper {
/** Always check isLoggable() before call this method. */
public static void log(String log) {
// Log.i() instead of Log.d() is used here because log.d() is stripped out in release build.
- Log.i(TAG, log);
+ Log.i(TAG, "---" + log);
}
public static boolean isLoggable() {
@@ -260,6 +262,7 @@ public class AutofillManagerWrapper {
// NOTE: See the comment on TAG above for why this is still AwAutofillManager.
// Check the system setting directly.
sIsLoggable = android.util.Log.isLoggable(TAG, Log.DEBUG);
+ // sIsLoggable = true; // to force enable the log
}
}
diff --git a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java
--- a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java
+++ b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java
@@ -190,13 +190,19 @@ public class AutofillProvider {
/** @return whether query autofill suggestion. */
public boolean shouldQueryAutofillSuggestion() {
+ AutofillManagerWrapper.log("---shouldQueryAutofillSuggestion" +
+ " mRequest != null=" + (mRequest != null) +
+ " mRequest.getFocusField() != null=" + (mRequest != null && mRequest.getFocusField() != null) +
+ " !mAutofillManager.isAutofillInputUIShowing()=" + ( !mAutofillManager.isAutofillInputUIShowing()));
return mRequest != null
&& mRequest.getFocusField() != null
&& !mAutofillManager.isAutofillInputUIShowing();
}
public void queryAutofillSuggestion() {
+ AutofillManagerWrapper.log("queryAutofillSuggestion start");
if (shouldQueryAutofillSuggestion()) {
+ AutofillManagerWrapper.log("calling requestAutofill");
FocusField focusField = mRequest.getFocusField();
mAutofillManager.requestAutofill(
mContainerView,
@@ -256,6 +262,7 @@ public class AutofillProvider {
float width,
float height,
boolean hasServerPrediction) {
+ AutofillManagerWrapper.log("startAutofillSession");
// Check focusField inside short value? Autofill Manager might have session that wasn't
// started by AutofillProvider, we just always cancel existing session here.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
diff --git a/components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java b/components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java
new file mode 100644
--- /dev/null
+++ b/components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java
@@ -0,0 +1,62 @@
+// Copyright 2023 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.autofill;
+
+import android.content.pm.ResolveInfo;
+
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
+
+import org.chromium.base.metrics.RecordHistogram;
+import org.chromium.components.autofill.AutofillSelectionMenuItemHelper;
+import org.chromium.content_public.browser.SelectionMenuItem;
+import org.chromium.content_public.browser.SelectionPopupController;
+import org.chromium.content_public.browser.selection.SelectionActionMenuDelegate;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.chromium.base.Log;
+
+/** Interface for customizing text selection menu items in {@link SelectionPopupController} */
+public class BrowserSelectionActionMenuDelegate implements SelectionActionMenuDelegate {
+ private AutofillSelectionMenuItemHelper mAutofillSelectionMenuItemHelper;
+
+ public BrowserSelectionActionMenuDelegate() {
+ }
+
+ @Override
+ public void modifyDefaultMenuItems(
+ List<SelectionMenuItem.Builder> menuItemBuilders,
+ boolean isSelectionPassword,
+ @NonNull String selectedText) {
+ }
+
+ @Override
+ public List<ResolveInfo> filterTextProcessingActivities(List<ResolveInfo> activities) {
+ return activities;
+ }
+
+ @NonNull
+ @Override
+ public List<SelectionMenuItem> getAdditionalNonSelectionItems() {
+ if (mAutofillSelectionMenuItemHelper != null) {
+ return mAutofillSelectionMenuItemHelper.getAdditionalItems();
+ }
+ return new ArrayList<>();
+ }
+
+ @NonNull
+ @Override
+ public List<SelectionMenuItem> getAdditionalTextProcessingItems() {
+ return new ArrayList<>();
+ }
+
+ public void setAutofillSelectionMenuItemHelper(AutofillSelectionMenuItemHelper provider) {
+ mAutofillSelectionMenuItemHelper = provider;
+ }
+}
diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc
--- a/components/autofill/content/browser/content_autofill_driver.cc
+++ b/components/autofill/content/browser/content_autofill_driver.cc
@@ -775,6 +929,25 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
+ }
+ }
}
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/FloatingPastePopupMenu.java b/content/public/android/java/src/org/chromium/content/browser/selection/FloatingPastePopupMenu.java
--- a/content/public/android/java/src/org/chromium/content/browser/selection/FloatingPastePopupMenu.java
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/FloatingPastePopupMenu.java
@@ -133,13 +133,14 @@ public class FloatingPastePopupMenu implements PastePopupMenu {
SortedSet<SelectionMenuGroup> nonSelectionMenuItems =
SelectActionMenuHelper.getNonSelectionMenuItems(
mContext, actionMenuDelegate, mSelectionActionMenuDelegate);
+ mCustomMenuItemClickListeners.clear();
SelectionPopupControllerImpl.initializeActionMenu(
mContext, nonSelectionMenuItems, menu, mCustomMenuItemClickListeners, null);
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
- mCustomMenuItemClickListeners.clear();
+ // fixed a bug, moved above
return false;
}
diff --git a/ui/android/java/src/org/chromium/ui/base/ViewAndroidDelegate.java b/ui/android/java/src/org/chromium/ui/base/ViewAndroidDelegate.java
--- a/ui/android/java/src/org/chromium/ui/base/ViewAndroidDelegate.java
+++ b/ui/android/java/src/org/chromium/ui/base/ViewAndroidDelegate.java
+12 -4
View File
@@ -13,18 +13,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/chrome_java_resources.gni | 1 +
chrome/android/chrome_java_sources.gni | 1 +
chrome/android/java/AndroidManifest.xml | 24 +++-
.../res/layout/sharing_intent_content.xml | 87 +++++++++++++
.../res/layout/sharing_intent_content.xml | 87 ++++++++++++
.../chrome/browser/IntentHandler.java | 16 ++-
.../browser/LaunchIntentDispatcher.java | 2 +-
.../init/ProcessInitializationHandler.java | 3 +
.../SharedIntentShareActivity.java | 119 ++++++++++++++++++
.../SharedIntentShareActivity.java | 127 ++++++++++++++++++
.../flags/android/chrome_feature_list.cc | 1 +
.../browser/flags/ChromeFeatureList.java | 1 +
.../strings/android_chrome_strings.grd | 13 ++
.../about_flags_cc/Enable-share-intent.inc | 12 ++
.../Enable-share-intent.inc | 3 +
.../Enable-share-intent.inc | 1 +
14 files changed, 276 insertions(+), 8 deletions(-)
14 files changed, 284 insertions(+), 8 deletions(-)
create mode 100644 chrome/android/java/res/layout/sharing_intent_content.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_intent/SharedIntentShareActivity.java
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Enable-share-intent.inc
@@ -263,7 +263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_intent/SharedIntentShareActivity.java
@@ -0,0 +1,119 @@
@@ -0,0 +1,127 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -286,12 +286,15 @@ new file mode 100644
+import org.chromium.base.ThreadUtils;
+import org.chromium.base.task.PostTask;
+import org.chromium.base.task.TaskTraits;
+import org.chromium.base.supplier.OneshotSupplier;
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.chrome.browser.init.ActivityProfileProvider;
+import org.chromium.chrome.browser.init.AsyncInitializationActivity;
+import org.chromium.chrome.browser.LaunchIntentDispatcher;
+import org.chromium.chrome.browser.IntentHandler;
+import org.chromium.chrome.browser.profiles.ProfileProvider;
+import org.chromium.ui.widget.ButtonCompat;
+
+/**
@@ -300,6 +303,11 @@ new file mode 100644
+public class SharedIntentShareActivity
+ extends AsyncInitializationActivity {
+
+ @Override
+ protected OneshotSupplier<ProfileProvider> createProfileProvider() {
+ return new ActivityProfileProvider(getLifecycleDispatcher());
+ }
+
+ /**
+ * Checks whether sending shared clipboard message is enabled for the user and enables/disables
+ * the SharedIntentShareActivity appropriately. This call requires native to be loaded.
@@ -94,7 +94,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/user_scripts/common/host_id.h | 35 +
.../user_scripts/common/script_constants.h | 33 +
components/user_scripts/common/url_pattern.cc | 803 ++++++++++++++++++
components/user_scripts/common/url_pattern.h | 302 +++++++
components/user_scripts/common/url_pattern.h | 303 +++++++
.../user_scripts/common/url_pattern_set.cc | 335 ++++++++
.../user_scripts/common/url_pattern_set.h | 160 ++++
components/user_scripts/common/user_script.cc | 329 +++++++
@@ -112,7 +112,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../user_scripts_renderer_resources.grd | 14 +
.../user_scripts/renderer/script_context.cc | 191 +++++
.../user_scripts/renderer/script_context.h | 67 ++
.../user_scripts/renderer/script_injection.cc | 293 +++++++
.../user_scripts/renderer/script_injection.cc | 295 +++++++
.../user_scripts/renderer/script_injection.h | 155 ++++
.../renderer/script_injection_manager.cc | 415 +++++++++
.../renderer/script_injection_manager.h | 100 +++
@@ -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, 9489 insertions(+), 2 deletions(-)
107 files changed, 9492 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
@@ -912,7 +912,7 @@ new file mode 100755
+ deps = [
+ ":java_resources",
+ "//base:base_java",
+ "//base:jni_java",
+ "//third_party/jni_zero:jni_zero_java",
+ "//components/embedder_support/android:browser_context_java",
+ "//components/browser_ui/settings/android:java",
+ "//components/browser_ui/widget/android:java",
@@ -1068,7 +1068,7 @@ new file mode 100644
+
+ </LinearLayout>
+
+ <org.chromium.components.browser_ui.widget.listmenu.ListMenuButton
+ <org.chromium.ui.listmenu.ListMenuButton
+ android:id="@+id/more"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
@@ -1109,7 +1109,6 @@ new file mode 100644
+
+ </LinearLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/components/user_scripts/android/java/res/layout/accept_script_list.xml b/components/user_scripts/android/java/res/layout/accept_script_list.xml
new file mode 100644
--- /dev/null
@@ -1528,8 +1527,8 @@ new file mode 100644
+
+import org.chromium.components.browser_ui.widget.dragreorder.DragReorderableListAdapter;
+import org.chromium.components.browser_ui.widget.dragreorder.DragStateDelegate;
+import org.chromium.components.browser_ui.widget.listmenu.ListMenuButton;
+import org.chromium.components.browser_ui.widget.listmenu.ListMenuButtonDelegate;
+import org.chromium.ui.listmenu.ListMenuButton;
+import org.chromium.ui.listmenu.ListMenuButtonDelegate;
+import org.chromium.ui.widget.ChromeImageView;
+
+import java.util.ArrayList;
@@ -1676,8 +1675,7 @@ new file mode 100644
+
+package org.chromium.components.user_scripts;
+
+import static org.chromium.components.browser_ui.widget.listmenu.BasicListMenu.buildMenuListItem;
+import static org.chromium.components.browser_ui.widget.listmenu.BasicListMenu.buildMenuListItemWithEndIcon;
+import static org.chromium.components.browser_ui.widget.BrowserUiListMenuUtils.buildMenuListItem;
+
+import android.content.Context;
+import android.content.Intent;
@@ -1700,9 +1698,10 @@ new file mode 100644
+import org.chromium.base.ApplicationStatus;
+import org.chromium.base.ContextUtils;
+import org.chromium.components.browser_ui.widget.TintedDrawable;
+import org.chromium.components.browser_ui.widget.listmenu.BasicListMenu;
+import org.chromium.components.browser_ui.widget.listmenu.ListMenu;
+import org.chromium.components.browser_ui.widget.listmenu.ListMenuItemProperties;
+import org.chromium.components.browser_ui.widget.BrowserUiListMenuUtils;
+import org.chromium.ui.listmenu.BasicListMenu;
+import org.chromium.ui.listmenu.ListMenu;
+import org.chromium.ui.listmenu.ListMenuItemProperties;
+import org.chromium.ui.modelutil.MVCListAdapter.ModelList;
+
+import org.chromium.components.user_scripts.ScriptListBaseAdapter;
@@ -1741,7 +1740,7 @@ new file mode 100644
+ }
+ };
+ ((ScriptInfoRowViewHolder) holder)
+ .setMenuButtonDelegate(() -> new BasicListMenu(mContext, menuItems, delegate));
+ .setMenuButtonDelegate(() -> BrowserUiListMenuUtils.getBasicListMenu(mContext, menuItems, delegate));
+ ((ScriptInfoRowViewHolder) holder)
+ .setItemListener(new ScriptListBaseAdapter.ItemClickListener() {
+ @Override
@@ -2628,7 +2627,7 @@ new file mode 100644
+++ b/components/user_scripts/browser/resources/user-script-ui/user-scripts-ui.js
@@ -0,0 +1,9 @@
+import {sendWithPromise} from 'chrome://resources/js/cr.js';
+import {$} from 'chrome://resources/js/util_ts.js';
+import {$} from 'chrome://resources/js/util.js';
+
+document.addEventListener('DOMContentLoaded', function() {
+ const urlParams = new URLSearchParams(window.location.search);
@@ -5592,7 +5591,7 @@ diff --git a/components/user_scripts/common/url_pattern.h b/components/user_scri
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/common/url_pattern.h
@@ -0,0 +1,302 @@
@@ -0,0 +1,303 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -5606,6 +5605,7 @@ new file mode 100755
+
+#include "base/strings/string_piece.h"
+#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
+
+class GURL;
+
@@ -8023,7 +8023,7 @@ diff --git a/components/user_scripts/renderer/script_injection.cc b/components/u
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/script_injection.cc
@@ -0,0 +1,293 @@
@@ -0,0 +1,295 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -8115,7 +8115,9 @@ new file mode 100755
+ ~FrameWatcher() override {}
+
+ private:
+ void WillDetach() override { injection_->invalidate_render_frame(); }
+ void WillDetach(blink::DetachReason detach_reason) override {
+ injection_->invalidate_render_frame();
+ }
+ void OnDestruct() override { injection_->invalidate_render_frame(); }
+
+ ScriptInjection* injection_;
@@ -8557,7 +8559,7 @@ new file mode 100755
+ void DidCreateDocumentElement() override;
+ void DidFailProvisionalLoad() override;
+ void DidDispatchDOMContentLoadedEvent() override;
+ void WillDetach() override;
+ void WillDetach(blink::DetachReason detach_reason) override;
+ void OnDestruct() override;
+ void OnStop() override;
+
@@ -8681,7 +8683,7 @@ new file mode 100755
+ weak_factory_.GetWeakPtr()));
+}
+
+void ScriptInjectionManager::RFOHelper::WillDetach() {
+void ScriptInjectionManager::RFOHelper::WillDetach(blink::DetachReason detach_reason) {
+ // The frame is closing - invalidate.
+ constexpr bool kForceReset = true;
+ InvalidateAndResetFrame(kForceReset);
@@ -168,7 +168,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
(*s_allowlist)[::prefs::kShowHomeButton] = settings_api::PrefType::kBoolean;
+ (*s_allowlist)[::prefs::kExpireDaysThreshold] =
+ settings_api::PrefType::PREF_TYPE_NUMBER;
+ settings_api::PrefType::kNumber;
+
// Appearance settings.
(*s_allowlist)[::prefs::kCurrentThemeID] = settings_api::PrefType::kString;
+5 -4
View File
@@ -18,11 +18,11 @@ Require: Content-settings-infrastructure.patch
.../permission_javascript_jit.png | Bin 0 -> 518 bytes
.../permission_javascript_jit.png | Bin 0 -> 629 bytes
.../permission_javascript_jit.png | Bin 0 -> 797 bytes
.../BromiteJavascriptJITContentSetting.java | 92 ++++++++++++++++++
.../BromiteJavascriptJITContentSetting.java | 93 ++++++++++++++++++
.../javascript_jit.grdp | 21 ++++
.../javascript_jit.inc | 12 +++
.../core/browser/content_settings_registry.cc | 2 +-
9 files changed, 126 insertions(+), 1 deletion(-)
9 files changed, 127 insertions(+), 1 deletion(-)
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/permission_javascript_jit.png
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/permission_javascript_jit.png
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/permission_javascript_jit.png
@@ -134,7 +134,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteJavascriptJITContentSetting.java
@@ -0,0 +1,92 @@
@@ -0,0 +1,93 @@
+/*
+ This file is part of Bromite.
+
@@ -187,7 +187,8 @@ new file mode 100644
+ /*defaultEnabledValue*/ getDefaultEnabledValue(),
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
+ /*enabledSummary*/ R.string.website_settings_category_javascript_jit_enabled,
+ /*disabledSummary*/ R.string.website_settings_category_javascript_jit_disabled);
+ /*disabledSummary*/ R.string.website_settings_category_javascript_jit_disabled,
+ /*summaryOverrideForScreenReader*/ 0);
+ }
+
+ @Override
@@ -36,7 +36,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../overlays/strip/StripLayoutHelper.java | 2 +-
.../strip/StripLayoutHelperManager.java | 33 ++++++-
.../scene_layer/StaticTabSceneLayer.java | 7 +-
.../scene_layer/TabListSceneLayer.java | 13 +++
.../scene_layer/TabListSceneLayer.java | 8 ++
.../scene_layer/TabStripSceneLayer.java | 21 ++++-
.../browser/findinpage/FindToolbarTablet.java | 10 ++-
.../fullscreen/BrowserControlsManager.java | 12 +++
@@ -49,9 +49,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/settings/SettingsActivity.java | 5 ++
.../StatusIndicatorCoordinator.java | 9 ++
.../StatusIndicatorSceneLayer.java | 6 +-
.../browser/toolbar/ToolbarManager.java | 44 ++++++++--
.../browser/toolbar/ToolbarManager.java | 46 ++++++++--
.../chrome/browser/ui/BottomContainer.java | 18 ++++
.../ui/system/StatusBarColorController.java | 9 ++
.../android/compositor/layer/toolbar_layer.cc | 10 ++-
.../scene_layer/tab_strip_scene_layer.cc | 16 +++-
.../BrowserControlsMarginSupplier.java | 5 ++
.../BrowserControlsStateProvider.java | 6 ++
@@ -86,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 +++
73 files changed, 884 insertions(+), 80 deletions(-)
74 files changed, 889 insertions(+), 82 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
@@ -1143,18 +1144,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen
// TODO(crbug.com/1070281): Use Supplier to get viewport and forward it to native, then
// updateLayer can become obsolete.
TabListSceneLayerJni.get()
@@ -125,6 +133,11 @@ public class TabListSceneLayer extends SceneLayer {
boolean useIncognitoColors = t.isIncognito();
int defaultThemeColor = ChromeColors.getDefaultThemeColor(context, useIncognitoColors);
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ toolbarYOffset = 0;
+ contentOffset = 0;
+ }
+
// TODO(dtrainor, clholgat): remove "* dpToPx" once the native part fully supports dp.
TabListSceneLayerJni.get()
.putTabLayer(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
@@ -1636,7 +1625,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
mBottomControlsCoordinatorSupplier.set(bottomControlsCoordinator);
if (mBackPressManager != null) {
mBackPressManager.addHandler(
@@ -2532,6 +2557,15 @@ public class ToolbarManager
@@ -2133,6 +2158,8 @@ public class ToolbarManager
private int getToolbarExtraYOffset() {
int toolbarHairlineHeight =
mControlContainer.findViewById(R.id.toolbar_hairline).getHeight();
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
+ toolbarHairlineHeight = 0;
int extraYOffset =
mBrowserControlsSizer.getTopControlsHeight()
- (mControlContainer.getHeight() - toolbarHairlineHeight);
@@ -2532,6 +2559,15 @@ public class ToolbarManager
private void setControlContainerTopMargin(int margin) {
final ViewGroup.MarginLayoutParams layoutParams =
((ViewGroup.MarginLayoutParams) mControlContainer.getLayoutParams());
@@ -1721,6 +1719,33 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/Statu
}
/**
diff --git a/chrome/browser/android/compositor/layer/toolbar_layer.cc b/chrome/browser/android/compositor/layer/toolbar_layer.cc
--- a/chrome/browser/android/compositor/layer/toolbar_layer.cc
+++ b/chrome/browser/android/compositor/layer/toolbar_layer.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/android/compositor/layer/toolbar_layer.h"
#include "base/feature_list.h"
+#include "cc/base/features.h"
#include "cc/resources/scoped_ui_resource.h"
#include "cc/slim/layer.h"
#include "cc/slim/nine_patch_layer.h"
@@ -113,8 +114,13 @@ void ToolbarLayer::PushResource(int toolbar_resource_id,
debug_layer_->RemoveFromParent();
// Position the toolbar at the bottom of the space available for top controls.
- layer_->SetPosition(
- gfx::PointF(x_offset, content_offset - layer_->bounds().height()));
+ if (base::FeatureList::IsEnabled(::features::kMoveTopToolbarToBottom)) {
+ layer_->SetPosition(
+ gfx::PointF(x_offset, content_offset + layer_->bounds().height()));
+ } else {
+ layer_->SetPosition(
+ gfx::PointF(x_offset, content_offset - layer_->bounds().height()));
+ }
}
int ToolbarLayer::GetIndexOfLayer(scoped_refptr<cc::slim::Layer> layer) {
diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc b/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc
--- a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc
+++ b/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc
@@ -93,7 +93,7 @@ new file mode 100644
+ "CloseAllTabsModalDialog",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+SET_CROMITE_FEATURE_ENABLED(kCloseTabSuggestions);
+SET_CROMITE_FEATURE_ENABLED(kArchiveTabService);
+
+#endif
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc
@@ -380,12 +380,12 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -206,6 +206,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[::prefs::kExpireDaysThreshold] =
settings_api::PrefType::PREF_TYPE_NUMBER;
settings_api::PrefType::kNumber;
+ (*s_allowlist)[::prefs::kEnableReferrers] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
+ (*s_allowlist)[::prefs::kReferrersPolicy] =
+ settings_api::PrefType::PREF_TYPE_NUMBER;
+ settings_api::PrefType::kNumber;
+
// Appearance settings.
(*s_allowlist)[::prefs::kCurrentThemeID] = settings_api::PrefType::kString;
@@ -66,7 +66,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../gcm_driver/GoogleCloudMessagingV2.java | 2 +
components/gcm_driver/gcm_client_impl.cc | 4 +
.../gcm_driver/instance_id/android/BUILD.gn | 3 -
.../instance_id/InstanceIDBridge.java | 48 +-
.../instance_id/InstanceIDBridge.java | 55 +-
.../media_router/browser/android/BUILD.gn | 11 -
.../media_router/BrowserMediaRouter.java | 21 +-
.../components/media_router/MediaSink.java | 44 +-
@@ -105,7 +105,7 @@ 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 -
81 files changed, 98 insertions(+), 2206 deletions(-)
81 files changed, 98 insertions(+), 2213 deletions(-)
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
@@ -187,7 +187,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
+ "//third_party/androidx:androidx_recyclerview_recyclerview_java",
+ "//third_party/androidx:androidx_vectordrawable_vectordrawable_java",
+ "//base:base_java",
+ "//base:jni_java",
+ "//third_party/jni_zero:jni_zero_java",
+
"//third_party/android_deps:chromium_play_services_availability_java",
- "//third_party/android_deps:com_google_code_findbugs_jsr305_java",
@@ -1592,7 +1592,20 @@ diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/com
}
@Override
@@ -240,11 +205,6 @@ public class InstanceIDBridge {
@@ -227,24 +192,12 @@ public class InstanceIDBridge {
protected abstract void sendResultToNative(Result result);
public void execute() {
- if (sBlockOnAsyncTasksForTesting) {
- if (mInstanceID == null) {
- mInstanceID = InstanceIDWithSubtype.getInstance(mSubtype);
- }
- sendResultToNative(doBackgroundWork());
- return;
- }
AsyncTask<Result> task =
new AsyncTask<Result>() {
@Override
@SuppressWarnings(
"NoSynchronizedThisCheck") // Only used/accessible by native.
protected Result doInBackground() {
@@ -118,7 +118,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
+ value,
+ "",
+ /* isEmbargoed= */ false);
+ setContentSettingException(type, exception)
+ setContentSettingException(type, exception);
+ }
+ } else if (type == ContentSettingsType.COOKIES) {
+ // It is possible to set the permission without having an existing exception
+5 -4
View File
@@ -11,12 +11,12 @@ Require: Content-settings-infrastructure.patch
.../res/drawable-xhdpi/permission_images.png | Bin 0 -> 316 bytes
.../res/drawable-xxhdpi/permission_images.png | Bin 0 -> 449 bytes
.../drawable-xxxhdpi/permission_images.png | Bin 0 -> 532 bytes
.../impl/BromiteImagesContentSetting.java | 92 ++++++++++++++++++
.../impl/BromiteImagesContentSetting.java | 93 ++++++++++++++++++
.../bromite_content_settings/images.grdp | 23 +++++
.../bromite_content_settings/images.inc | 6 ++
.../core/browser/content_settings_registry.cc | 2 +-
.../core/browser/content_settings_utils.cc | 7 +-
10 files changed, 123 insertions(+), 7 deletions(-)
10 files changed, 124 insertions(+), 7 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/permission_images.png
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/permission_images.png
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/permission_images.png
@@ -112,7 +112,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteImagesContentSetting.java
@@ -0,0 +1,92 @@
@@ -0,0 +1,93 @@
+/*
+ This file is part of Bromite.
+
@@ -165,7 +165,8 @@ new file mode 100644
+ /*defaultEnabledValue*/ getDefaultEnabledValue(),
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
+ /*enabledSummary*/ R.string.website_settings_category_images_enabled,
+ /*disabledSummary*/ R.string.website_settings_category_images_disabled);
+ /*disabledSummary*/ R.string.website_settings_category_images_disabled,
+ /*summaryOverrideForScreenReader*/ 0);
+ }
+
+ @Override
+5 -4
View File
@@ -15,7 +15,7 @@ Require: Content-settings-infrastructure.patch
...ezoneoverride_site_settings_preference.xml | 68 ++++++
...imezoneOverrideSiteSettingsPreference.java | 196 ++++++++++++++++++
.../WebsitePreferenceBridge.java | 10 +
...BromiteTimezoneOverrideContentSetting.java | 147 +++++++++++++
...BromiteTimezoneOverrideContentSetting.java | 148 +++++++++++++
.../android/website_preference_bridge.cc | 16 ++
.../bromite_content_settings/timezone.grdp | 39 ++++
.../timezone_override.inc | 23 ++
@@ -33,7 +33,7 @@ Require: Content-settings-infrastructure.patch
.../content_settings/core/common/pref_names.h | 2 +
.../renderer/content_settings_agent_impl.cc | 80 +++++++
.../renderer/content_settings_agent_impl.h | 11 +
23 files changed, 681 insertions(+), 1 deletion(-)
23 files changed, 682 insertions(+), 1 deletion(-)
create mode 100755 components/browser_ui/site_settings/android/java/res/layout/time_zone_select_dialog.xml
create mode 100755 components/browser_ui/site_settings/android/java/res/layout/timezoneoverride_site_settings_preference.xml
create mode 100755 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java
@@ -408,7 +408,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteTimezoneOverrideContentSetting.java
@@ -0,0 +1,147 @@
@@ -0,0 +1,148 @@
+/*
+ This file is part of Bromite.
+
@@ -467,7 +467,8 @@ new file mode 100644
+ /*defaultEnabledValue*/ getDefaultEnabledValue(),
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
+ /*enabledSummary*/ R.string.website_settings_category_timezone_override_custom,
+ /*disabledSummary*/ R.string.website_settings_category_timezone_override_random);
+ /*disabledSummary*/ R.string.website_settings_category_timezone_override_random,
+ /*summaryOverrideForScreenReader*/ 0);
+ }
+
+ @Override
+14 -6
View File
@@ -8,12 +8,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../engine/SplitCompatEngine.java | 77 +------------------
.../engine/SplitCompatEngineFacade.java | 29 ++-----
.../module_installer/logger/Logger.java | 16 +---
.../logger/PlayCoreLogger.java | 42 +---------
.../logger/PlayCoreLogger.java | 50 ++----------
.../logger/SplitAvailabilityLogger.java | 40 ----------
.../logger/SplitInstallStatusLogger.java | 30 +-------
.../module_installer/util/ModuleUtil.java | 5 --
.../util/SplitCompatInitializer.java | 6 --
9 files changed, 15 insertions(+), 232 deletions(-)
9 files changed, 19 insertions(+), 236 deletions(-)
diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn
--- a/components/module_installer/android/BUILD.gn
@@ -280,7 +280,7 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java
@@ -4,15 +4,8 @@
@@ -4,74 +4,38 @@
package org.chromium.components.module_installer.logger;
@@ -295,9 +295,17 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component
-
public PlayCoreLogger() {
this(
new SplitInstallFailureLogger(),
@@ -24,54 +17,25 @@ public class PlayCoreLogger implements Logger {
SplitInstallFailureLogger failureLogger,
- new SplitInstallFailureLogger(),
- new SplitInstallStatusLogger(),
- new SplitAvailabilityLogger());
+ null,
+ null,
+ null);
}
public PlayCoreLogger(
- SplitInstallFailureLogger failureLogger,
+ Object failureLogger,
SplitInstallStatusLogger statusLogger,
SplitAvailabilityLogger availabilityLogger) {
- mFailureLogger = failureLogger;
+6 -6
View File
@@ -531,7 +531,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
@@ -85,6 +85,11 @@ import org.chromium.content_public.browser.SelectionPopupController;
@@ -86,6 +86,11 @@ import org.chromium.content_public.browser.SelectionPopupController;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.components.user_prefs.UserPrefs;
@@ -543,7 +543,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This
* class is not intended to be extended.
@@ -600,6 +605,32 @@ class TabImpl implements Tab {
@@ -601,6 +606,32 @@ class TabImpl implements Tab {
params.setOverrideUserAgent(calculateUserAgentOverrideOption(null));
}
@@ -576,7 +576,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
@TabLoadStatus int result = loadUrlInternal(params, fixedUrl);
for (TabObserver observer : mObservers) {
@@ -1493,9 +1524,16 @@ class TabImpl implements Tab {
@@ -1494,9 +1525,16 @@ class TabImpl implements Tab {
mWebContents.setImportance(mImportance);
@@ -596,7 +596,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
mContentView.addOnAttachStateChangeListener(mAttachStateChangeListener);
updateInteractableState();
@@ -1680,6 +1718,10 @@ class TabImpl implements Tab {
@@ -1683,6 +1721,10 @@ class TabImpl implements Tab {
}
mIsBeingRestored = true;
for (TabObserver observer : mObservers) observer.onRestoreStarted(this);
@@ -607,7 +607,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
} finally {
TraceEvent.end("Tab.restoreIfNeeded");
}
@@ -1892,6 +1934,13 @@ class TabImpl implements Tab {
@@ -1895,6 +1937,13 @@ class TabImpl implements Tab {
}
private @UserAgentOverrideOption int calculateUserAgentOverrideOption(@Nullable GURL url) {
@@ -621,7 +621,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
WebContents webContents = getWebContents();
boolean currentRequestDesktopSite = TabUtils.isUsingDesktopUserAgent(webContents);
@TabUserAgent int tabUserAgent = TabUtils.getTabUserAgent(this);
@@ -1969,6 +2018,42 @@ class TabImpl implements Tab {
@@ -1972,6 +2021,42 @@ class TabImpl implements Tab {
mLaunchType = launchType;
}
+6 -5
View File
@@ -9,7 +9,7 @@ The feature is controlled by a feature flag (default enabled)
Require: Content-settings-infrastructure.patch
---
.../impl/BromiteViewportContentSetting.java | 93 +++++++++++++++++++
.../impl/BromiteViewportContentSetting.java | 94 +++++++++++++++++++
.../bromite_content_settings/viewport.grdp | 27 ++++++
.../bromite_content_settings/viewport.inc | 22 +++++
.../bromite_content_settings/VIEWPORT.inc | 1 +
@@ -32,9 +32,9 @@ Require: Content-settings-infrastructure.patch
.../core/frame/web_frame_widget_impl.cc | 8 ++
.../core/frame/web_remote_frame_impl.cc | 3 +-
.../blink/renderer/core/input/touch.cc | 17 +++-
third_party/blink/renderer/core/page/page.cc | 93 +++++++++++++++++++
third_party/blink/renderer/core/page/page.cc | 93 ++++++++++++++++++
third_party/blink/renderer/core/page/page.h | 9 ++
25 files changed, 434 insertions(+), 20 deletions(-)
25 files changed, 435 insertions(+), 20 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteViewportContentSetting.java
create mode 100644 components/browser_ui/strings/bromite_content_settings/viewport.grdp
create mode 100644 components/content_settings/core/browser/bromite_content_settings/viewport.inc
@@ -47,7 +47,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteViewportContentSetting.java
@@ -0,0 +1,93 @@
@@ -0,0 +1,94 @@
+/*
+ This file is part of Bromite.
+
@@ -100,7 +100,8 @@ new file mode 100644
+ /*defaultEnabledValue*/ getDefaultEnabledValue(),
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
+ /*enabledSummary*/ R.string.website_settings_category_viewport_enabled,
+ /*disabledSummary*/ R.string.website_settings_category_viewport_disabled);
+ /*disabledSummary*/ R.string.website_settings_category_viewport_disabled,
+ /*summaryOverrideForScreenReader*/ 0);
+ }
+
+ @Override
+32 -13
View File
@@ -10,15 +10,15 @@ Do not skip google.com domains for password generation (csagan5)
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/prefs/browser_prefs.cc | 6 +--
.../ui/autofill/chrome_autofill_client.cc | 7 +--
chrome/browser/prefs/browser_prefs.cc | 6 +-
.../ui/autofill/chrome_autofill_client.cc | 7 +-
.../core/browser/browser_autofill_manager.h | 4 +-
.../autofill_crowdsourcing_manager.cc | 43 +++----------------
.../autofill_crowdsourcing_manager.cc | 66 ++-----------------
.../autofill_crowdsourcing_manager.h | 2 -
.../autofill/core/common/autofill_features.cc | 1 +
.../autofill/core/common/autofill_prefs.cc | 10 ++---
.../autofill/core/common/autofill_prefs.cc | 10 +--
.../password_generation_frame_helper.cc | 4 --
8 files changed, 19 insertions(+), 58 deletions(-)
8 files changed, 17 insertions(+), 83 deletions(-)
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
@@ -124,19 +124,38 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci
}
} // namespace
@@ -732,6 +697,11 @@ size_t AutofillCrowdsourcingManager::GetPayloadLength(
@@ -732,34 +697,13 @@ size_t AutofillCrowdsourcingManager::GetPayloadLength(
std::tuple<GURL, std::string> AutofillCrowdsourcingManager::GetRequestURLAndMethod(
const FormRequestData& request_data) const {
- // ID of the resource to add to the API request URL. Nothing will be added if
- // `resource_id` is empty.
- std::string resource_id;
- std::string method = "POST";
-
- if (request_data.request_type == AutofillCrowdsourcingManager::REQUEST_QUERY) {
- if (GetPayloadLength(request_data.payload) <= kMaxQueryGetSize) {
- resource_id = request_data.payload;
- method = "GET";
- base::UmaHistogramBoolean(kUmaApiUrlIsTooLong, false);
- } else {
- base::UmaHistogramBoolean(kUmaApiUrlIsTooLong, true);
- }
- base::UmaHistogramBoolean(kUmaMethod, method != "GET");
- }
-
- // Make the canonical URL to query the API, e.g.,
- // https://autofill.googleapis.com/v1/forms/1234?alt=proto.
- GURL url = autofill_server_url_.Resolve(
- GetAPIMethodUrl(request_data.request_type, resource_id, method));
-
- // Add the query parameter to set the response format to a serialized proto.
- url = net::AppendQueryParameter(url, "alt", "proto");
-
- return std::make_tuple(std::move(url), std::move(method));
+ std::string method2("GET");
+ GURL url2 = GURL("about:blank");
+ if ((true))
+ return std::make_tuple(std::move(url2), std::move(method2));
+
// ID of the resource to add to the API request URL. Nothing will be added if
// `resource_id` is empty.
std::string resource_id;
@@ -760,6 +730,7 @@ std::tuple<GURL, std::string> AutofillCrowdsourcingManager::GetRequestURLAndMeth
+ return std::make_tuple(std::move(url2), std::move(method2));
}
bool AutofillCrowdsourcingManager::StartRequest(FormRequestData request_data) {
@@ -16,7 +16,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
}
+ if (is_clang) {
+ cflags += [ "-ftrivial-auto-var-init=zero", "-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang", "-Wno-unused-command-line-argument" ]
+ cflags += [ "-ftrivial-auto-var-init=zero", "-Wno-unused-command-line-argument" ]
+ }
+
# Linker warnings.
@@ -750,7 +750,7 @@ new file mode 100644
+ srcjar_deps = [ ":jni_headers" ]
+ deps = [
+ "//base:base_java",
+ "//base:jni_java",
+ "//third_party/jni_zero:jni_zero_java",
+ "//third_party/androidx:androidx_annotation_annotation_java",
+ ]
+
@@ -12,7 +12,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module and Android API
.../adblock/AdblockFilterFragmentTest.java | 63 +++++
.../adblock/AdblockPopupInfoBarTest.java | 118 +++++++++
.../adblock/AdblockPopupMessageTest.java | 103 ++++++++
components/adblock/android/BUILD.gn | 68 +++++
components/adblock/android/BUILD.gn | 67 +++++
components/adblock/android/README.md | 13 +
.../adblock/android/adblock_strings.grd | 238 ++++++++++++++++++
.../fragment_adblock_custom_item_add.png | Bin 0 -> 490 bytes
@@ -124,7 +124,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module and Android API
.../translations/adblock_strings_zh-HK.xtb | 4 +
.../translations/adblock_strings_zh-TW.xtb | 13 +
.../translations/adblock_strings_zu.xtb | 4 +
118 files changed, 2444 insertions(+), 3 deletions(-)
118 files changed, 2443 insertions(+), 3 deletions(-)
create mode 100644 chrome/browser/adblock/android/javatests/src/org/chromium/chrome/browser/adblock/AdblockFilterFragmentTest.java
create mode 100644 chrome/browser/adblock/android/javatests/src/org/chromium/chrome/browser/adblock/AdblockPopupInfoBarTest.java
create mode 100644 chrome/browser/adblock/android/javatests/src/org/chromium/chrome/browser/adblock/AdblockPopupMessageTest.java
@@ -637,7 +637,7 @@ new file mode 100644
diff --git a/components/adblock/android/BUILD.gn b/components/adblock/android/BUILD.gn
--- a/components/adblock/android/BUILD.gn
+++ b/components/adblock/android/BUILD.gn
@@ -66,6 +66,74 @@ android_library("adblock_controller_java") {
@@ -66,6 +66,73 @@ android_library("adblock_controller_java") {
resources_package = "org.chromium.components.adblock.controller"
}
@@ -658,7 +658,6 @@ diff --git a/components/adblock/android/BUILD.gn b/components/adblock/android/BU
+ ":adblock_controller_java",
+ ":java_ui_resources",
+ "//base:base_java",
+ "//base:jni_java",
+ "//build/android:build_java",
+ "//chrome/browser/preferences:java",
+ "//chrome/browser/profiles/android:java",
@@ -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 | 746 +++++
.../browser/adblock_url_loader_factory.cc | 747 +++++
.../browser/adblock_url_loader_factory.h | 100 +
.../adblock_url_loader_factory_for_test.cc | 436 +++
.../adblock_url_loader_factory_for_test.h | 70 +
@@ -77,8 +77,8 @@ Based on Chromium 118.0.5993.48
.../classifier/resource_classifier_impl.h | 64 +
.../test/mock_resource_classifier.cc | 26 +
.../test/mock_resource_classifier.h | 66 +
.../test/resource_classifier_impl_test.cc | 625 +++++
.../test/resource_classifier_perftest.cc | 235 ++
.../test/resource_classifier_impl_test.cc | 624 +++++
.../test/resource_classifier_perftest.cc | 234 ++
components/adblock/core/common/BUILD.gn | 110 +
.../adblock/core/common/adblock_constants.cc | 164 ++
.../adblock/core/common/adblock_constants.h | 48 +
@@ -102,7 +102,7 @@ Based on Chromium 118.0.5993.48
.../configuration/filtering_configuration.h | 90 +
.../filtering_configuration_prefs.cc | 33 +
.../filtering_configuration_prefs.h | 30 +
.../persistent_filtering_configuration.cc | 274 ++
.../persistent_filtering_configuration.cc | 273 ++
.../persistent_filtering_configuration.h | 86 +
.../test/fake_filtering_configuration.cc | 115 +
.../test/fake_filtering_configuration.h | 66 +
@@ -161,31 +161,31 @@ Based on Chromium 118.0.5993.48
...filtering_configuration_maintainer_impl.cc | 489 ++++
.../filtering_configuration_maintainer_impl.h | 119 +
.../subscription/installed_subscription.cc | 42 +
.../subscription/installed_subscription.h | 138 +
.../installed_subscription_impl.cc | 554 ++++
.../subscription/installed_subscription.h | 137 +
.../installed_subscription_impl.cc | 553 ++++
.../installed_subscription_impl.h | 150 +
.../ongoing_subscription_request.h | 50 +
.../ongoing_subscription_request_impl.cc | 191 ++
.../ongoing_subscription_request_impl.h | 75 +
.../core/subscription/pattern_matcher.cc | 266 ++
.../core/subscription/pattern_matcher.h | 34 +
.../ongoing_subscription_request_impl.cc | 190 ++
.../ongoing_subscription_request_impl.h | 74 +
.../core/subscription/pattern_matcher.cc | 265 ++
.../core/subscription/pattern_matcher.h | 33 +
.../preloaded_subscription_provider.h | 56 +
.../preloaded_subscription_provider_impl.cc | 121 +
.../preloaded_subscription_provider_impl.h | 52 +
.../core/subscription/regex_matcher.cc | 163 ++
.../adblock/core/subscription/regex_matcher.h | 74 +
.../preloaded_subscription_provider_impl.h | 50 +
.../core/subscription/regex_matcher.cc | 162 ++
.../adblock/core/subscription/regex_matcher.h | 73 +
.../adblock/core/subscription/subscription.cc | 24 +
.../adblock/core/subscription/subscription.h | 78 +
.../subscription/subscription_collection.h | 99 +
.../subscription/subscription_collection.h | 98 +
.../subscription_collection_impl.cc | 353 +++
.../subscription_collection_impl.h | 97 +
.../core/subscription/subscription_config.cc | 338 +++
.../core/subscription/subscription_config.h | 121 +
.../core/subscription/subscription_config.h | 120 +
.../subscription/subscription_downloader.h | 66 +
.../subscription_downloader_impl.cc | 289 ++
.../subscription_downloader_impl.h | 102 +
.../subscription_persistent_metadata.h | 86 +
.../subscription_persistent_metadata_impl.cc | 171 ++
.../subscription_persistent_metadata_impl.cc | 170 ++
.../subscription_persistent_metadata_impl.h | 62 +
.../subscription_persistent_storage.h | 60 +
.../subscription_persistent_storage_impl.cc | 229 ++
@@ -199,7 +199,7 @@ Based on Chromium 118.0.5993.48
.../subscription/subscription_validator.h | 59 +
.../subscription_validator_impl.cc | 145 +
.../subscription_validator_impl.h | 53 +
...ring_configuration_maintainer_impl_test.cc | 908 ++++++
...ring_configuration_maintainer_impl_test.cc | 907 ++++++
.../test/installed_subscription_impl_test.cc | 111 +
.../test/load_gzipped_test_file.cc | 43 +
.../test/load_gzipped_test_file.h | 35 +
@@ -221,22 +221,22 @@ Based on Chromium 118.0.5993.48
.../test/mock_subscription_service.h | 75 +
.../test/mock_subscription_updater.cc | 25 +
.../test/mock_subscription_updater.h | 38 +
.../ongoing_subscription_request_impl_test.cc | 337 +++
.../test/pattern_matcher_perftest.cc | 69 +
.../subscription/test/pattern_matcher_test.cc | 351 +++
.../ongoing_subscription_request_impl_test.cc | 336 +++
.../test/pattern_matcher_perftest.cc | 68 +
.../subscription/test/pattern_matcher_test.cc | 350 +++
...eloaded_subscription_provider_impl_test.cc | 149 +
.../test/regex_matcher_perftest.cc | 83 +
.../test/subscription_collection_impl_test.cc | 1020 +++++++
.../test/subscription_downloader_impl_test.cc | 578 ++++
.../test/regex_matcher_perftest.cc | 82 +
.../test/subscription_collection_impl_test.cc | 1019 +++++++
.../test/subscription_downloader_impl_test.cc | 577 ++++
...scription_persistent_metadata_impl_test.cc | 213 ++
...bscription_persistent_storage_impl_test.cc | 347 +++
...bscription_persistent_storage_impl_test.cc | 346 +++
.../test/subscription_service_impl_test.cc | 287 ++
.../test/subscription_updater_impl_test.cc | 98 +
.../test/subscription_validator_impl_test.cc | 252 ++
.../test/url_keyword_extractor_test.cc | 74 +
.../subscription/url_keyword_extractor.cc | 68 +
.../core/subscription/url_keyword_extractor.h | 61 +
...ctiveping_telemetry_topic_provider_test.cc | 328 +++
.../subscription/url_keyword_extractor.cc | 67 +
.../core/subscription/url_keyword_extractor.h | 60 +
...ctiveping_telemetry_topic_provider_test.cc | 327 +++
.../core/test/adblock_controller_impl_test.cc | 449 +++
.../adblock_telemetry_service_unittest.cc | 409 +++
.../core/test/bundled_subscription_test.cc | 49 +
@@ -314,7 +314,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 +
310 files changed, 37069 insertions(+), 3 deletions(-)
310 files changed, 37043 insertions(+), 3 deletions(-)
create mode 100644 components/adblock/CHANGELOG.md
create mode 100644 components/adblock/LICENSE
create mode 100644 components/adblock/README.md
@@ -2720,7 +2720,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,746 @@
@@ -0,0 +1,747 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -2794,6 +2794,7 @@ new file mode 100644
+ case network::mojom::RequestDestination::kIframe:
+ case network::mojom::RequestDestination::kFrame:
+ case network::mojom::RequestDestination::kFencedframe:
+ case network::mojom::RequestDestination::kSpeculationRules:
+ return ContentType::Subdocument;
+ case network::mojom::RequestDestination::kStyle:
+ case network::mojom::RequestDestination::kXslt:
@@ -11238,7 +11239,7 @@ diff --git a/components/adblock/core/classifier/test/resource_classifier_impl_te
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/classifier/test/resource_classifier_impl_test.cc
@@ -0,0 +1,625 @@
@@ -0,0 +1,624 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -11260,7 +11261,6 @@ new file mode 100644
+
+#include "absl/types/optional.h"
+#include "base/memory/raw_ptr.h"
+#include "base/strings/string_piece_forward.h"
+#include "components/adblock/core/subscription/test/mock_subscription_collection.h"
+#include "gmock/gmock-actions.h"
+#include "gmock/gmock-matchers.h"
@@ -11868,7 +11868,7 @@ diff --git a/components/adblock/core/classifier/test/resource_classifier_perftes
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/classifier/test/resource_classifier_perftest.cc
@@ -0,0 +1,235 @@
@@ -0,0 +1,234 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -11894,7 +11894,6 @@ new file mode 100644
+#include "base/logging.h"
+#include "base/path_service.h"
+#include "base/strings/string_piece.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/timer/elapsed_timer.h"
+#include "components/adblock/core/classifier/resource_classifier_impl.h"
+#include "components/adblock/core/common/adblock_constants.h"
@@ -13321,7 +13320,7 @@ new file mode 100644
+#ifndef COMPONENTS_ADBLOCK_CORE_COMMON_KEYWORD_EXTRACTOR_UTILS_H_
+#define COMPONENTS_ADBLOCK_CORE_COMMON_KEYWORD_EXTRACTOR_UTILS_H_
+
+#include "base/strings/string_piece_forward.h"
+#include "base/strings/string_piece.h"
+
+namespace adblock {
+namespace utils {
@@ -13397,7 +13396,7 @@ new file mode 100644
+#define COMPONENTS_ADBLOCK_CORE_COMMON_REGEX_FILTER_PATTERN_H_
+
+#include "absl/types/optional.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/strings/string_piece.h"
+
+namespace adblock {
+
@@ -13810,7 +13809,7 @@ diff --git a/components/adblock/core/configuration/persistent_filtering_configur
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/configuration/persistent_filtering_configuration.cc
@@ -0,0 +1,274 @@
@@ -0,0 +1,273 @@
+
+/*
+ * This file is part of eyeo Chromium SDK,
@@ -13833,7 +13832,6 @@ new file mode 100644
+
+#include <string>
+
+#include "base/strings/string_piece_forward.h"
+#include "base/strings/string_util.h"
+#include "components/adblock/core/configuration/filtering_configuration_prefs.h"
+#include "components/prefs/pref_service.h"
@@ -18133,7 +18131,7 @@ new file mode 100644
+#include <string>
+
+#include "absl/types/optional.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/strings/string_piece.h"
+#include "third_party/re2/src/re2/re2.h"
+#include "url/gurl.h"
+
@@ -22991,7 +22989,7 @@ diff --git a/components/adblock/core/subscription/installed_subscription.h b/com
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/installed_subscription.h
@@ -0,0 +1,138 @@
@@ -0,0 +1,137 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -23019,7 +23017,6 @@ new file mode 100644
+
+#include "absl/types/optional.h"
+
+#include "base/strings/string_piece_forward.h"
+#include "base/time/time.h"
+#include "components/adblock/core/common/content_type.h"
+#include "components/adblock/core/common/header_filter_data.h"
@@ -23134,7 +23131,7 @@ diff --git a/components/adblock/core/subscription/installed_subscription_impl.cc
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/installed_subscription_impl.cc
@@ -0,0 +1,554 @@
@@ -0,0 +1,553 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -23162,7 +23159,6 @@ new file mode 100644
+#include "base/logging.h"
+#include "base/ranges/algorithm.h"
+#include "base/strings/string_piece.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/strings/string_util.h"
+#include "base/trace_event/trace_event.h"
+#include "components/adblock/core/common/adblock_constants.h"
@@ -23903,7 +23899,7 @@ diff --git a/components/adblock/core/subscription/ongoing_subscription_request_i
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/ongoing_subscription_request_impl.cc
@@ -0,0 +1,191 @@
@@ -0,0 +1,190 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -23925,7 +23921,6 @@ new file mode 100644
+
+#include <memory>
+
+#include "base/strings/string_piece_forward.h"
+#include "base/task/thread_pool.h"
+#include "base/trace_event/trace_event.h"
+#include "net/http/http_request_headers.h"
@@ -24099,7 +24094,7 @@ diff --git a/components/adblock/core/subscription/ongoing_subscription_request_i
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/ongoing_subscription_request_impl.h
@@ -0,0 +1,75 @@
@@ -0,0 +1,74 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -24125,7 +24120,6 @@ new file mode 100644
+#include "base/functional/callback.h"
+
+#include "base/files/file_path.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/timer/timer.h"
+#include "components/adblock/core/subscription/ongoing_subscription_request.h"
+#include "components/adblock/core/subscription/subscription_downloader.h"
@@ -24179,7 +24173,7 @@ diff --git a/components/adblock/core/subscription/pattern_matcher.cc b/component
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/pattern_matcher.cc
@@ -0,0 +1,266 @@
@@ -0,0 +1,265 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -24204,7 +24198,6 @@ new file mode 100644
+#include "base/notreached.h"
+#include "base/ranges/algorithm.h"
+#include "base/strings/string_piece.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/strings/string_util.h"
+#include "components/adblock/core/common/regex_filter_pattern.h"
+
@@ -24450,7 +24443,7 @@ diff --git a/components/adblock/core/subscription/pattern_matcher.h b/components
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/pattern_matcher.h
@@ -0,0 +1,34 @@
@@ -0,0 +1,33 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -24471,7 +24464,6 @@ new file mode 100644
+#ifndef COMPONENTS_ADBLOCK_CORE_SUBSCRIPTION_PATTERN_MATCHER_H_
+#define COMPONENTS_ADBLOCK_CORE_SUBSCRIPTION_PATTERN_MATCHER_H_
+
+#include "base/strings/string_piece_forward.h"
+#include "url/gurl.h"
+
+namespace adblock {
@@ -24676,7 +24668,7 @@ diff --git a/components/adblock/core/subscription/preloaded_subscription_provide
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/preloaded_subscription_provider_impl.h
@@ -0,0 +1,52 @@
@@ -0,0 +1,50 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -24701,8 +24693,6 @@ new file mode 100644
+
+#include "components/adblock/core/subscription/preloaded_subscription_provider.h"
+
+#include "base/strings/string_piece_forward.h"
+
+namespace adblock {
+
+class PreloadedSubscriptionProviderImpl final
@@ -24733,7 +24723,7 @@ diff --git a/components/adblock/core/subscription/regex_matcher.cc b/components/
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/regex_matcher.cc
@@ -0,0 +1,163 @@
@@ -0,0 +1,162 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -24756,7 +24746,6 @@ new file mode 100644
+#include "base/logging.h"
+#include "base/memory/ptr_util.h"
+#include "base/notreached.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/strings/string_util.h"
+#include "base/timer/elapsed_timer.h"
+#include "components/adblock/core/common/adblock_utils.h"
@@ -24901,7 +24890,7 @@ diff --git a/components/adblock/core/subscription/regex_matcher.h b/components/a
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/regex_matcher.h
@@ -0,0 +1,74 @@
@@ -0,0 +1,73 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -24923,7 +24912,6 @@ new file mode 100644
+#define COMPONENTS_ADBLOCK_CORE_SUBSCRIPTION_REGEX_MATCHER_H_
+
+#include <map>
+#include "base/strings/string_piece_forward.h"
+#include "components/adblock/core/schema/filter_list_schema_generated.h"
+#include "third_party/icu/source/i18n/unicode/regex.h"
+#include "third_party/re2/src/re2/re2.h"
@@ -25092,7 +25080,7 @@ diff --git a/components/adblock/core/subscription/subscription_collection.h b/co
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/subscription_collection.h
@@ -0,0 +1,99 @@
@@ -0,0 +1,98 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -25119,7 +25107,6 @@ new file mode 100644
+#include "absl/types/optional.h"
+#include "base/containers/span.h"
+#include "base/strings/string_piece.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/values.h"
+#include "components/adblock/core/common/content_type.h"
+#include "components/adblock/core/common/header_filter_data.h"
@@ -25999,7 +25986,7 @@ diff --git a/components/adblock/core/subscription/subscription_config.h b/compon
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/subscription_config.h
@@ -0,0 +1,121 @@
@@ -0,0 +1,120 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -26022,7 +26009,6 @@ new file mode 100644
+
+#include <vector>
+
+#include "base/strings/string_piece_forward.h"
+#include "url/gurl.h"
+
+namespace adblock {
@@ -26688,7 +26674,7 @@ diff --git a/components/adblock/core/subscription/subscription_persistent_metada
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/subscription_persistent_metadata_impl.cc
@@ -0,0 +1,171 @@
@@ -0,0 +1,170 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -26709,7 +26695,6 @@ new file mode 100644
+#include "components/adblock/core/subscription/subscription_persistent_metadata_impl.h"
+
+#include "base/json/values_util.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/time/time.h"
+#include "base/values.h"
+#include "components/adblock/core/common/adblock_prefs.h"
@@ -28164,7 +28149,7 @@ diff --git a/components/adblock/core/subscription/test/filtering_configuration_m
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/test/filtering_configuration_maintainer_impl_test.cc
@@ -0,0 +1,908 @@
@@ -0,0 +1,907 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -28194,7 +28179,6 @@ new file mode 100644
+#include "base/memory/raw_ptr.h"
+#include "base/memory/scoped_refptr.h"
+#include "base/ranges/algorithm.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/test/gmock_callback_support.h"
+#include "base/test/gmock_move_support.h"
+#include "base/test/mock_callback.h"
@@ -30206,7 +30190,7 @@ diff --git a/components/adblock/core/subscription/test/ongoing_subscription_requ
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/test/ongoing_subscription_request_impl_test.cc
@@ -0,0 +1,337 @@
@@ -0,0 +1,336 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -30230,7 +30214,6 @@ new file mode 100644
+
+#include "base/files/file_util.h"
+#include "base/functional/callback_helpers.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/test/mock_callback.h"
+#include "base/test/task_environment.h"
+#include "net/base/mock_network_change_notifier.h"
@@ -30548,7 +30531,7 @@ diff --git a/components/adblock/core/subscription/test/pattern_matcher_perftest.
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/test/pattern_matcher_perftest.cc
@@ -0,0 +1,69 @@
@@ -0,0 +1,68 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -30573,7 +30556,6 @@ new file mode 100644
+
+#include "base/ranges/algorithm.h"
+#include "base/strings/string_piece.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/strings/string_split.h"
+#include "base/time/time.h"
+#include "base/timer/elapsed_timer.h"
@@ -30622,7 +30604,7 @@ diff --git a/components/adblock/core/subscription/test/pattern_matcher_test.cc b
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/test/pattern_matcher_test.cc
@@ -0,0 +1,351 @@
@@ -0,0 +1,350 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -30645,7 +30627,6 @@ new file mode 100644
+#include <string>
+
+#include "base/strings/string_piece.h"
+#include "base/strings/string_piece_forward.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace adblock {
@@ -31132,7 +31113,7 @@ diff --git a/components/adblock/core/subscription/test/regex_matcher_perftest.cc
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/test/regex_matcher_perftest.cc
@@ -0,0 +1,83 @@
@@ -0,0 +1,82 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -31157,7 +31138,6 @@ new file mode 100644
+
+#include "base/ranges/algorithm.h"
+#include "base/strings/string_piece.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/strings/string_split.h"
+#include "base/time/time.h"
+#include "base/timer/elapsed_timer.h"
@@ -31220,7 +31200,7 @@ diff --git a/components/adblock/core/subscription/test/subscription_collection_i
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/test/subscription_collection_impl_test.cc
@@ -0,0 +1,1020 @@
@@ -0,0 +1,1019 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -31244,7 +31224,6 @@ new file mode 100644
+
+#include "absl/types/optional.h"
+#include "base/memory/scoped_refptr.h"
+#include "base/strings/string_piece_forward.h"
+#include "components/adblock/core/subscription/subscription.h"
+#include "components/adblock/core/subscription/test/mock_installed_subscription.h"
+#include "gmock/gmock-actions.h"
@@ -32245,7 +32224,7 @@ diff --git a/components/adblock/core/subscription/test/subscription_downloader_i
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/test/subscription_downloader_impl_test.cc
@@ -0,0 +1,578 @@
@@ -0,0 +1,577 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -32271,7 +32250,6 @@ new file mode 100644
+#include "base/files/file_path.h"
+#include "base/functional/bind.h"
+#include "base/functional/callback_helpers.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/strings/string_split.h"
+#include "base/test/bind.h"
+#include "base/test/mock_callback.h"
@@ -33046,7 +33024,7 @@ diff --git a/components/adblock/core/subscription/test/subscription_persistent_s
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/test/subscription_persistent_storage_impl_test.cc
@@ -0,0 +1,347 @@
@@ -0,0 +1,346 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -33081,7 +33059,6 @@ new file mode 100644
+#include "base/memory/raw_ptr.h"
+#include "base/memory/scoped_refptr.h"
+#include "base/path_service.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/test/bind.h"
+#include "base/test/mock_callback.h"
+#include "base/test/task_environment.h"
@@ -34129,7 +34106,7 @@ diff --git a/components/adblock/core/subscription/url_keyword_extractor.cc b/com
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/url_keyword_extractor.cc
@@ -0,0 +1,68 @@
@@ -0,0 +1,67 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -34153,7 +34130,6 @@ new file mode 100644
+#include <cctype>
+
+#include "base/ranges/algorithm.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/strings/string_util.h"
+#include "components/adblock/core/common/keyword_extractor_utils.h"
+
@@ -34202,7 +34178,7 @@ diff --git a/components/adblock/core/subscription/url_keyword_extractor.h b/comp
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/subscription/url_keyword_extractor.h
@@ -0,0 +1,61 @@
@@ -0,0 +1,60 @@
+
+/*
+ * This file is part of eyeo Chromium SDK,
@@ -34229,7 +34205,6 @@ new file mode 100644
+#include "absl/types/optional.h"
+
+#include "base/strings/string_piece.h"
+#include "base/strings/string_piece_forward.h"
+#include "url/gurl.h"
+
+namespace adblock {
@@ -34268,7 +34243,7 @@ diff --git a/components/adblock/core/test/activeping_telemetry_topic_provider_te
new file mode 100644
--- /dev/null
+++ b/components/adblock/core/test/activeping_telemetry_topic_provider_test.cc
@@ -0,0 +1,328 @@
@@ -0,0 +1,327 @@
+/*
+ * This file is part of eyeo Chromium SDK,
+ * Copyright (C) 2006-present eyeo GmbH
@@ -34291,7 +34266,6 @@ new file mode 100644
+#include <string>
+
+#include "base/json/json_reader.h"
+#include "base/strings/string_piece_forward.h"
+#include "base/system/sys_info.h"
+#include "base/test/mock_callback.h"
+#include "base/test/task_environment.h"
@@ -7462,7 +7462,7 @@ new file mode 100644
+// You should have received a copy of the GNU General Public License
+// along with eyeo Chromium SDK. If not, see <http://www.gnu.org/licenses/>.
+
+import {getRequiredElement} from 'chrome://resources/js/util_ts.js';
+import {getRequiredElement} from 'chrome://resources/js/util.js';
+import {AdblockInternalsPageHandler} from './adblock_internals.mojom-webui.js';
+
+async function debugInfo(): Promise<string> {
@@ -3507,17 +3507,17 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
+ // Adblock settings
+ (*s_allowlist)[adblock::common::prefs::kEnableAdblockLegacy] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
+ (*s_allowlist)[adblock::common::prefs::kEnableAcceptableAdsLegacy] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
+ (*s_allowlist)[adblock::common::prefs::kAdblockSubscriptionsLegacy] =
+ settings_api::PrefType::PREF_TYPE_LIST;
+ settings_api::PrefType::kList;
+ (*s_allowlist)[adblock::common::prefs::kAdblockCustomSubscriptionsLegacy] =
+ settings_api::PrefType::PREF_TYPE_LIST;
+ settings_api::PrefType::kList;
+ (*s_allowlist)[adblock::common::prefs::kAdblockAllowedDomainsLegacy] =
+ settings_api::PrefType::PREF_TYPE_LIST;
+ settings_api::PrefType::kList;
+ (*s_allowlist)[adblock::common::prefs::kAdblockCustomFiltersLegacy] =
+ settings_api::PrefType::PREF_TYPE_LIST;
+ settings_api::PrefType::kList;
+
// Miscellaneous
(*s_allowlist)[::embedder_support::kAlternateErrorPagesEnabled] =
+21 -5
View File
@@ -4,8 +4,8 @@ Subject: kill Auth
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../signin/SystemAccountManagerDelegate.java | 60 +------------------
1 file changed, 3 insertions(+), 57 deletions(-)
.../signin/SystemAccountManagerDelegate.java | 69 +------------------
1 file changed, 3 insertions(+), 66 deletions(-)
diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
--- a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
@@ -36,7 +36,23 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s
// Account seeding relies on GoogleAuthUtil.getAccountId to get GAIA ids,
// so don't report any accounts if Google Play Services are out of date.
return new Account[] {};
@@ -127,31 +115,12 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@@ -108,15 +96,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
if (!isGooglePlayServicesAvailable()) {
throw new AccountManagerDelegateException("Can't use Google Play Services");
}
- if (hasGetAccountsPermission()) {
- long startTime = SystemClock.elapsedRealtime();
- Account[] accounts =
- mAccountManager.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
- RecordHistogram.recordTimesHistogram(
- "Signin.AndroidGetAccountsTime_AccountManager",
- SystemClock.elapsedRealtime() - startTime);
- return accounts;
- }
// Don't report any accounts if we don't have permission.
// TODO(crbug.com/1502123): Throw an exception if permission was denied.
return new Account[] {};
@@ -127,31 +106,12 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
throws AuthException {
ThreadUtils.assertOnBackgroundThread();
assert AccountUtils.GOOGLE_ACCOUNT_TYPE.equals(account.type);
@@ -70,7 +86,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s
}
@Override
@@ -188,24 +157,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@@ -188,24 +148,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@SuppressLint("MissingPermission")
@Override
public void createAddAccountIntent(Callback<Intent> callback) {
@@ -95,7 +111,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s
}
// No permission is needed on 23+ and Chrome always has MANAGE_ACCOUNTS permission on lower APIs
@@ -240,12 +191,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@@ -240,12 +182,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@Nullable
@Override
public String getAccountGaiaId(String accountEmail) {
@@ -4,9 +4,9 @@ Subject: kill Location, fall back to system
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
services/device/geolocation/BUILD.gn | 1 -
.../chromium/device/geolocation/LocationProviderFactory.java | 4 +++-
2 files changed, 3 insertions(+), 2 deletions(-)
services/device/geolocation/BUILD.gn | 1 -
.../device/geolocation/LocationProviderFactory.java | 11 ++---------
2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/BUILD.gn
--- a/services/device/geolocation/BUILD.gn
@@ -22,7 +22,7 @@ diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/
diff --git a/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java b/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java
--- a/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java
+++ b/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java
@@ -26,11 +26,13 @@ public class LocationProviderFactory {
@@ -26,19 +26,12 @@ public class LocationProviderFactory {
@CalledByNative
public static void useGmsCoreLocationProvider() {
@@ -32,10 +32,17 @@ diff --git a/services/device/geolocation/android/java/src/org/chromium/device/ge
public static LocationProvider create() {
if (sProviderImpl != null) return sProviderImpl;
-
- if (sUseGmsCoreLocationProvider
- && LocationProviderGmsCore.isGooglePlayServicesAvailable(
- ContextUtils.getApplicationContext())) {
- sProviderImpl = new LocationProviderGmsCore(ContextUtils.getApplicationContext());
- } else {
- sProviderImpl = new LocationProviderAndroid();
- }
+ sProviderImpl = new LocationProviderAndroid();
+ return sProviderImpl;
if (sUseGmsCoreLocationProvider
&& LocationProviderGmsCore.isGooglePlayServicesAvailable(
return sProviderImpl;
}
}
--
2.25.1