Release 68.0.3440.72
This commit is contained in:
parent
7b7a1a4c75
commit
776d4f859e
91 changed files with 2780 additions and 1230 deletions
|
@ -1,4 +1,6 @@
|
|||
# 68.x
|
||||
# 68.0.3440.72
|
||||
* fix crash during some canvas rendering (fixes https://github.com/bromite/bromite/issues/95)
|
||||
* new approach to adblock filtering (fixes https://github.com/bromite/bromite/issues/90)
|
||||
* add a flag to enable higher maximum connections per host limit (fixes https://github.com/bromite/bromite/issues/61)
|
||||
* add a flag to disable custom tab intents (fixes https://github.com/bromite/bromite/issues/81)
|
||||
* add a flag to have an always-empty new tab page (fixes https://github.com/bromite/bromite/issues/82)
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,32 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Fri, 18 May 2018 10:10:00 +0200
|
||||
Subject: Increase maximum connections per host from 6 to 15
|
||||
|
||||
---
|
||||
net/socket/client_socket_pool_manager.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
|
||||
--- a/net/socket/client_socket_pool_manager.cc
|
||||
+++ b/net/socket/client_socket_pool_manager.cc
|
||||
@@ -34,7 +34,7 @@ static_assert(arraysize(g_max_sockets_per_pool) ==
|
||||
HttpNetworkSession::NUM_SOCKET_POOL_TYPES,
|
||||
"max sockets per pool length mismatch");
|
||||
|
||||
-// Default to allow up to 6 connections per host. Experiment and tuning may
|
||||
+// Default to allow up to 15 connections per host. Experiment and tuning may
|
||||
// try other values (greater than 0). Too large may cause many problems, such
|
||||
// as home routers blocking the connections!?!? See http://crbug.com/12066.
|
||||
//
|
||||
@@ -43,7 +43,7 @@ static_assert(arraysize(g_max_sockets_per_pool) ==
|
||||
// be the same as the limit for ws. Also note that Firefox uses a limit of 200.
|
||||
// See http://crbug.com/486800
|
||||
int g_max_sockets_per_group[] = {
|
||||
- 6, // NORMAL_SOCKET_POOL
|
||||
+ 15, // NORMAL_SOCKET_POOL
|
||||
255 // WEBSOCKET_SOCKET_POOL
|
||||
};
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
77
patches/BRM003_Battery-API-return-nothing.patch
Normal file
77
patches/BRM003_Battery-API-return-nothing.patch
Normal file
|
@ -0,0 +1,77 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 22 Mar 2018 22:11:57 +0100
|
||||
Subject: Battery API: return nothing
|
||||
|
||||
---
|
||||
services/device/battery/battery_status_service.cc | 2 +-
|
||||
.../renderer/modules/battery/battery_manager.cc | 25 ++++------------------
|
||||
2 files changed, 5 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/services/device/battery/battery_status_service.cc b/services/device/battery/battery_status_service.cc
|
||||
--- a/services/device/battery/battery_status_service.cc
|
||||
+++ b/services/device/battery/battery_status_service.cc
|
||||
@@ -41,7 +41,7 @@ BatteryStatusService::AddCallback(const BatteryUpdateCallback& callback) {
|
||||
if (!battery_fetcher_)
|
||||
battery_fetcher_ = BatteryStatusManager::Create(update_callback_);
|
||||
|
||||
-#if 0
|
||||
+#if !defined(OS_ANDROID)
|
||||
if (callback_list_.empty()) {
|
||||
bool success = battery_fetcher_->StartListeningBatteryChange();
|
||||
// On failure pass the default values back.
|
||||
diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
--- a/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
+++ b/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
@@ -42,45 +42,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
|
||||
}
|
||||
|
||||
bool BatteryManager::charging() {
|
||||
- return battery_status_.Charging();
|
||||
+ return false;
|
||||
}
|
||||
|
||||
double BatteryManager::chargingTime() {
|
||||
- return battery_status_.charging_time();
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
double BatteryManager::dischargingTime() {
|
||||
- return battery_status_.discharging_time();
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
double BatteryManager::level() {
|
||||
- return battery_status_.Level();
|
||||
+ return 1;
|
||||
}
|
||||
|
||||
void BatteryManager::DidUpdateData() {
|
||||
DCHECK(battery_property_);
|
||||
|
||||
- BatteryStatus old_status = battery_status_;
|
||||
- battery_status_ = *BatteryDispatcher::Instance().LatestData();
|
||||
-
|
||||
if (battery_property_->GetState() == ScriptPromisePropertyBase::kPending) {
|
||||
battery_property_->Resolve(this);
|
||||
return;
|
||||
}
|
||||
-
|
||||
- Document* document = ToDocument(GetExecutionContext());
|
||||
- DCHECK(document);
|
||||
- if (document->IsContextPaused() || document->IsContextDestroyed())
|
||||
- return;
|
||||
-
|
||||
- if (battery_status_.Charging() != old_status.Charging())
|
||||
- DispatchEvent(Event::Create(EventTypeNames::chargingchange));
|
||||
- if (battery_status_.charging_time() != old_status.charging_time())
|
||||
- DispatchEvent(Event::Create(EventTypeNames::chargingtimechange));
|
||||
- if (battery_status_.discharging_time() != old_status.discharging_time())
|
||||
- DispatchEvent(Event::Create(EventTypeNames::dischargingtimechange));
|
||||
- if (battery_status_.Level() != old_status.Level())
|
||||
- DispatchEvent(Event::Create(EventTypeNames::levelchange));
|
||||
}
|
||||
|
||||
void BatteryManager::RegisterWithDispatcher() {
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -26,7 +26,7 @@ diff --git a/components/gcm_driver/gcm_channel_status_request.cc b/components/gc
|
|||
|
||||
void GCMChannelStatusRequest::Start() {
|
||||
+#if 0
|
||||
DCHECK(!url_fetcher_.get());
|
||||
DCHECK(!url_fetcher_);
|
||||
|
||||
GURL request_url(channel_status_request_url_);
|
||||
@@ -112,6 +115,9 @@ void GCMChannelStatusRequest::Start() {
|
||||
|
|
|
@ -6,94 +6,59 @@ Despite auto-updater being arguably disabled (see previous commit),
|
|||
Chromium would still send background requests. Kill it.
|
||||
(trk:170, trk:171)
|
||||
---
|
||||
.../component_updater/component_updater_url_constants.cc | 4 ++--
|
||||
components/component_updater/configurator_impl.cc | 11 +++++++----
|
||||
components/component_updater/configurator_impl.h | 1 -
|
||||
3 files changed, 9 insertions(+), 7 deletions(-)
|
||||
components/component_updater/component_updater_url_constants.cc | 4 ++--
|
||||
components/component_updater/configurator_impl.cc | 5 +----
|
||||
components/component_updater/configurator_impl.h | 1 -
|
||||
3 files changed, 3 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/components/component_updater/component_updater_url_constants.cc b/components/component_updater/component_updater_url_constants.cc
|
||||
--- a/components/component_updater/component_updater_url_constants.cc
|
||||
+++ b/components/component_updater/component_updater_url_constants.cc
|
||||
@@ -14,9 +14,9 @@ namespace component_updater {
|
||||
//
|
||||
@@ -15,9 +15,9 @@ namespace component_updater {
|
||||
// The value of |kDefaultUrlSource| can be overridden with
|
||||
// --component-updater=url-source=someurl.
|
||||
-const char kUpdaterDefaultUrl[] = "https://clients2.google.com/service/update2";
|
||||
+const char kUpdaterDefaultUrl[] = "about:blank";
|
||||
const char kUpdaterDefaultUrl[] =
|
||||
- "https://update.googleapis.com/service/update2";
|
||||
+ "about:blank";
|
||||
|
||||
-const char kUpdaterFallbackUrl[] = "http://clients2.google.com/service/update2";
|
||||
+const char kUpdaterFallbackUrl[] = "about:blank";
|
||||
const char kUpdaterFallbackUrl[] =
|
||||
- "http://update.googleapis.com/service/update2";
|
||||
+ "about:blank";
|
||||
|
||||
const char kUpdaterDefaultUrlAlt[] =
|
||||
"https://update.googleapis.com/service/update2";
|
||||
} // namespace component_updater
|
||||
diff --git a/components/component_updater/configurator_impl.cc b/components/component_updater/configurator_impl.cc
|
||||
--- a/components/component_updater/configurator_impl.cc
|
||||
+++ b/components/component_updater/configurator_impl.cc
|
||||
@@ -43,7 +43,9 @@ const char kSwitchRequestParam[] = "test-request";
|
||||
|
||||
// Disables pings. Pings are the requests sent to the update server that report
|
||||
// the success or the failure of component install or update attempts.
|
||||
+#if 0
|
||||
const char kSwitchDisablePings[] = "disable-pings";
|
||||
+#endif
|
||||
|
||||
// Sets the URL for updates.
|
||||
const char kSwitchUrlSource[] = "url-source";
|
||||
@@ -56,8 +58,10 @@ const char kSwitchDisableDeltaUpdates[] = "disable-delta-updates";
|
||||
const char kSwitchDisableBackgroundDownloads[] = "disable-background-downloads";
|
||||
#endif // defined(OS_WIN)
|
||||
|
||||
+#if 0
|
||||
const base::Feature kAlternateComponentUrls{"AlternateComponentUrls",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+#endif
|
||||
|
||||
// If there is an element of |vec| of the form |test|=.*, returns the right-
|
||||
// hand side of that assignment. Otherwise, returns an empty string.
|
||||
@@ -86,14 +90,12 @@ ConfiguratorImpl::ConfiguratorImpl(const base::CommandLine* cmdline,
|
||||
: fast_update_(false),
|
||||
pings_enabled_(false),
|
||||
deltas_enabled_(false),
|
||||
- background_downloads_enabled_(false),
|
||||
- require_encryption_(require_encryption) {
|
||||
+ background_downloads_enabled_(false) {
|
||||
// Parse comma-delimited debug flags.
|
||||
std::vector<std::string> switch_values = base::SplitString(
|
||||
cmdline->GetSwitchValueASCII(switches::kComponentUpdater), ",",
|
||||
base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
|
||||
fast_update_ = base::ContainsValue(switch_values, kSwitchFastUpdate);
|
||||
- pings_enabled_ = !base::ContainsValue(switch_values, kSwitchDisablePings);
|
||||
deltas_enabled_ =
|
||||
!base::ContainsValue(switch_values, kSwitchDisableDeltaUpdates);
|
||||
|
||||
@@ -140,6 +142,7 @@ std::vector<GURL> ConfiguratorImpl::UpdateUrl() const {
|
||||
return urls;
|
||||
@@ -39,8 +39,7 @@ ConfiguratorImpl::ConfiguratorImpl(
|
||||
: background_downloads_enabled_(config_policy.BackgroundDownloadsEnabled()),
|
||||
deltas_enabled_(config_policy.DeltaUpdatesEnabled()),
|
||||
fast_update_(config_policy.FastUpdate()),
|
||||
- pings_enabled_(config_policy.PingsEnabled()),
|
||||
- require_encryption_(require_encryption),
|
||||
+ pings_enabled_(false),
|
||||
url_source_override_(config_policy.UrlSourceOverride()) {
|
||||
if (config_policy.TestRequest())
|
||||
extra_info_ += "testrequest=\"1\"";
|
||||
@@ -70,8 +69,6 @@ std::vector<GURL> ConfiguratorImpl::UpdateUrl() const {
|
||||
}
|
||||
|
||||
+#if 0
|
||||
if (base::FeatureList::IsEnabled(kAlternateComponentUrls)) {
|
||||
urls.push_back(GURL(kUpdaterDefaultUrlAlt));
|
||||
urls.push_back(GURL(kUpdaterFallbackUrlAlt));
|
||||
@@ -150,7 +153,7 @@ std::vector<GURL> ConfiguratorImpl::UpdateUrl() const {
|
||||
std::vector<GURL> urls{GURL(kUpdaterDefaultUrl), GURL(kUpdaterFallbackUrl)};
|
||||
- if (require_encryption_)
|
||||
- update_client::RemoveUnsecureUrls(&urls);
|
||||
|
||||
if (require_encryption_)
|
||||
update_client::RemoveUnsecureUrls(&urls);
|
||||
-
|
||||
+#endif
|
||||
return urls;
|
||||
}
|
||||
|
||||
diff --git a/components/component_updater/configurator_impl.h b/components/component_updater/configurator_impl.h
|
||||
--- a/components/component_updater/configurator_impl.h
|
||||
+++ b/components/component_updater/configurator_impl.h
|
||||
@@ -89,7 +89,6 @@ class ConfiguratorImpl {
|
||||
bool pings_enabled_;
|
||||
@@ -91,7 +91,6 @@ class ConfiguratorImpl {
|
||||
bool deltas_enabled_;
|
||||
bool background_downloads_enabled_;
|
||||
bool fast_update_;
|
||||
bool pings_enabled_;
|
||||
- bool require_encryption_;
|
||||
GURL url_source_override_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ConfiguratorImpl);
|
||||
};
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
|
|
@ -14,9 +14,9 @@ diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc
|
|||
--- a/net/cert/ev_root_ca_metadata.cc
|
||||
+++ b/net/cert/ev_root_ca_metadata.cc
|
||||
@@ -46,6 +46,16 @@ struct EVMetadata {
|
||||
base::StringPiece policy_oids[kMaxOIDsPerCA];
|
||||
};
|
||||
|
||||
// These certificates may be found in net/data/ssl/ev_roots.
|
||||
static const EVMetadata ev_root_ca_metadata[] = {
|
||||
+ // need some dummy thing to make compiler happy, because
|
||||
+ // arraysize() is implemented as a convoluted template rather than
|
||||
+ // the traditional sizeof(x)/sizeof(*x)
|
||||
|
@ -27,10 +27,10 @@ diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc
|
|||
+ }
|
||||
+ },
|
||||
+#if 0
|
||||
// These certificates may be found in net/data/ssl/ev_roots.
|
||||
static const EVMetadata kEvRootCaMetadata[] = {
|
||||
// AC Camerfirma S.A. Chambers of Commerce Root - 2008
|
||||
// https://www.camerfirma.com
|
||||
{
|
||||
@@ -748,7 +758,9 @@ static const EVMetadata ev_root_ca_metadata[] = {
|
||||
@@ -750,7 +760,9 @@ static const EVMetadata kEvRootCaMetadata[] = {
|
||||
0xd2, 0x09, 0xb7, 0x37, 0xcb, 0xe2, 0xc1, 0x8c, 0xfb, 0x2c, 0x10,
|
||||
0xc0, 0xff, 0x0b, 0xcf, 0x0d, 0x32, 0x86, 0xfc, 0x1a, 0xa2}},
|
||||
{"2.16.840.1.114404.1.1.2.4.1", ""},
|
||||
|
@ -40,7 +40,7 @@ diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc
|
|||
+};
|
||||
|
||||
#endif // defined(PLATFORM_USES_CHROMIUM_EV_METADATA)
|
||||
|
||||
} // namespace
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ Disable all omissions (already shadowed by first flag)
|
|||
diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc
|
||||
--- a/components/url_formatter/url_formatter.cc
|
||||
+++ b/components/url_formatter/url_formatter.cc
|
||||
@@ -402,12 +402,12 @@ bool IDNToUnicodeOneComponent(const base::char16* comp,
|
||||
@@ -407,12 +407,12 @@ bool IDNToUnicodeOneComponent(const base::char16* comp,
|
||||
} // namespace
|
||||
|
||||
const FormatUrlType kFormatUrlOmitNothing = 0;
|
||||
|
@ -26,9 +26,9 @@ diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatte
|
|||
+const FormatUrlType kFormatUrlOmitHTTPS = 0 << 3;
|
||||
+const FormatUrlType kFormatUrlExperimentalElideAfterHost = 0 << 4;
|
||||
+const FormatUrlType kFormatUrlOmitTrivialSubdomains = 0 << 5;
|
||||
const FormatUrlType kFormatUrlTrimAfterHost = 1 << 6;
|
||||
|
||||
const FormatUrlType kFormatUrlOmitDefaults =
|
||||
kFormatUrlOmitUsernamePassword | kFormatUrlOmitHTTP |
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/brows
|
|||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -990,7 +990,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
|
||||
@@ -1015,7 +1015,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
|
||||
void ChromeContentBrowserClient::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
|
||||
|
@ -48,7 +48,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
|||
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
|
||||
--- a/chrome/browser/io_thread.cc
|
||||
+++ b/chrome/browser/io_thread.cc
|
||||
@@ -615,7 +615,7 @@ void IOThread::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
@@ -569,7 +569,7 @@ void IOThread::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
std::string());
|
||||
registry->RegisterBooleanPref(prefs::kEnableReferrers, true);
|
||||
data_reduction_proxy::RegisterPrefs(registry);
|
||||
|
@ -56,7 +56,7 @@ diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
|
|||
+ registry->RegisterBooleanPref(prefs::kBuiltInDnsClientEnabled, false);
|
||||
registry->RegisterListPref(prefs::kDnsOverHttpsServers);
|
||||
registry->RegisterListPref(prefs::kDnsOverHttpsServerMethods);
|
||||
registry->RegisterBooleanPref(prefs::kQuickCheckEnabled, true);
|
||||
#if defined(OS_POSIX)
|
||||
diff --git a/chrome/browser/net/prediction_options.cc b/chrome/browser/net/prediction_options.cc
|
||||
--- a/chrome/browser/net/prediction_options.cc
|
||||
+++ b/chrome/browser/net/prediction_options.cc
|
||||
|
@ -84,7 +84,7 @@ diff --git a/chrome/browser/net/prediction_options.h b/chrome/browser/net/predic
|
|||
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
|
||||
--- a/chrome/browser/profiles/profile.cc
|
||||
+++ b/chrome/browser/profiles/profile.cc
|
||||
@@ -138,7 +138,7 @@ const char Profile::kNoHostedDomainFound[] = "NO_HOSTED_DOMAIN";
|
||||
@@ -137,7 +137,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
|
||||
void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kSearchSuggestEnabled,
|
||||
|
@ -100,9 +100,9 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h
|
|||
</paper-button>
|
||||
</div>
|
||||
<div slot="footer">
|
||||
- <paper-checkbox id="sendSettings" checked>
|
||||
+ <paper-checkbox id="sendSettings">
|
||||
$i18nRaw{resetPageFeedback}</paper-checkbox>
|
||||
- <cr-checkbox id="sendSettings" checked>
|
||||
+ <cr-checkbox id="sendSettings">
|
||||
$i18nRaw{resetPageFeedback}</cr-checkbox>
|
||||
</div>
|
||||
</cr-dialog>
|
||||
diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signin_promo.cc
|
||||
|
@ -133,9 +133,9 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
|
|||
registry->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, true);
|
||||
- registry->RegisterBooleanPref(prefs::kCloudPrintSubmitEnabled, true);
|
||||
+ registry->RegisterBooleanPref(prefs::kCloudPrintSubmitEnabled, false);
|
||||
registry->RegisterBooleanPref(prefs::kDevToolsDisabled, false);
|
||||
registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement);
|
||||
registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacementPopup);
|
||||
registry->RegisterDictionaryPref(prefs::kAppWindowPlacement);
|
||||
diff --git a/chrome/browser/ui/navigation_correction_tab_observer.cc b/chrome/browser/ui/navigation_correction_tab_observer.cc
|
||||
--- a/chrome/browser/ui/navigation_correction_tab_observer.cc
|
||||
+++ b/chrome/browser/ui/navigation_correction_tab_observer.cc
|
||||
|
@ -177,15 +177,15 @@ diff --git a/chrome/service/cloud_print/connector_settings.cc b/chrome/service/c
|
|||
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
|
||||
--- a/components/autofill/core/browser/autofill_manager.cc
|
||||
+++ b/components/autofill/core/browser/autofill_manager.cc
|
||||
@@ -227,7 +227,7 @@ void AutofillManager::RegisterProfilePrefs(
|
||||
@@ -210,7 +210,7 @@ void AutofillManager::RegisterProfilePrefs(
|
||||
registry->RegisterIntegerPref(
|
||||
prefs::kAutofillCreditCardSigninPromoImpressionCount, 0);
|
||||
registry->RegisterBooleanPref(
|
||||
- prefs::kAutofillEnabled, true,
|
||||
+ prefs::kAutofillEnabled, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kAutofillProfileUseDatesFixed, false,
|
||||
registry->RegisterIntegerPref(
|
||||
prefs::kAutofillLastVersionDeduped, 0,
|
||||
diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmarks/browser/bookmark_utils.cc
|
||||
--- a/components/bookmarks/browser/bookmark_utils.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_utils.cc
|
||||
|
@ -207,7 +207,7 @@ diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmar
|
|||
diff --git a/components/safe_browsing/common/safe_browsing_prefs.cc b/components/safe_browsing/common/safe_browsing_prefs.cc
|
||||
--- a/components/safe_browsing/common/safe_browsing_prefs.cc
|
||||
+++ b/components/safe_browsing/common/safe_browsing_prefs.cc
|
||||
@@ -374,9 +374,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
@@ -370,9 +370,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
|
||||
registry->RegisterBooleanPref(
|
||||
|
@ -222,7 +222,7 @@ diff --git a/components/safe_browsing/common/safe_browsing_prefs.cc b/components
|
|||
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
|
||||
--- a/extensions/common/extension.cc
|
||||
+++ b/extensions/common/extension.cc
|
||||
@@ -368,14 +368,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
|
||||
@@ -365,14 +365,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
|
||||
if (is_theme())
|
||||
return false;
|
||||
|
||||
|
|
23
patches/BRM011_Disable-ads-metrics-by-default.patch
Normal file
23
patches/BRM011_Disable-ads-metrics-by-default.patch
Normal file
|
@ -0,0 +1,23 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Wed, 11 Jul 2018 11:17:53 +0200
|
||||
Subject: Disable ads metrics by default
|
||||
|
||||
---
|
||||
chrome/common/chrome_features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
|
||||
--- a/chrome/common/chrome_features.cc
|
||||
+++ b/chrome/common/chrome_features.cc
|
||||
@@ -15,7 +15,7 @@ namespace features {
|
||||
// All features in alphabetical order.
|
||||
|
||||
// Enables Ads Metrics.
|
||||
-const base::Feature kAdsFeature{"AdsMetrics", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+const base::Feature kAdsFeature{"AdsMetrics", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
const base::Feature kAllowAutoplayUnmutedInWebappManifestScope{
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -9,7 +9,7 @@ Subject: Do not store passwords by default
|
|||
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
|
||||
--- a/components/password_manager/core/browser/password_manager.cc
|
||||
+++ b/components/password_manager/core/browser/password_manager.cc
|
||||
@@ -244,10 +244,10 @@ PasswordFormManager* FindMatchedManager(
|
||||
@@ -228,10 +228,10 @@ PasswordFormManager* FindMatchedManager(
|
||||
void PasswordManager::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(
|
|
@ -9,7 +9,7 @@ Subject: Disable NTP remote suggestions by default
|
|||
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
|
||||
--- a/components/ntp_snippets/features.cc
|
||||
+++ b/components/ntp_snippets/features.cc
|
||||
@@ -41,16 +41,16 @@ const base::Feature kArticleSuggestionsExpandableHeader{
|
||||
@@ -38,13 +38,13 @@ const base::Feature kArticleSuggestionsExpandableHeader{
|
||||
"NTPArticleSuggestionsExpandableHeader", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kArticleSuggestionsFeature{
|
||||
|
@ -20,15 +20,12 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu
|
|||
- "NTPBookmarkSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "NTPBookmarkSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kRecentOfflineTabSuggestionsFeature{
|
||||
"NTPOfflinePageSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kIncreasedVisibility{"NTPSnippetsIncreasedVisibility",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kPhysicalWebPageSuggestionsFeature{
|
||||
"NTPPhysicalWebPageSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
const base::Feature kForeignSessionsSuggestionsFeature{
|
||||
"NTPForeignSessionsSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -9,9 +9,9 @@ Subject: Disable WebRTC by default
|
|||
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
||||
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
@@ -89,10 +89,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -87,10 +87,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
false);
|
||||
#endif
|
||||
#if BUILDFLAG(ENABLE_WEBRTC)
|
||||
// TODO(guoweis): Remove next 2 options at M50.
|
||||
- registry->RegisterBooleanPref(prefs::kWebRTCMultipleRoutesEnabled, true);
|
||||
- registry->RegisterBooleanPref(prefs::kWebRTCNonProxiedUdpEnabled, true);
|
||||
|
@ -21,8 +21,8 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
|
|||
- content::kWebRTCIPHandlingDefault);
|
||||
+ content::kWebRTCIPHandlingDisableNonProxiedUdp);
|
||||
registry->RegisterStringPref(prefs::kWebRTCUDPPortRange, std::string());
|
||||
#endif
|
||||
|
||||
// Dictionaries to keep track of default tasks in the file browser.
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -11,7 +11,7 @@ Subject: Disable data saver
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
@@ -140,7 +140,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
@@ -141,7 +141,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
boolean notifyAdapter = false;
|
||||
// An optional Data Saver page.
|
||||
if (mFreProperties.getBoolean(SHOW_DATA_REDUCTION_PAGE)) {
|
||||
|
@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
|
||||
@@ -149,6 +149,7 @@ public class DataReductionProxySettings {
|
||||
@@ -150,6 +150,7 @@ public class DataReductionProxySettings {
|
||||
// DataReductionProxySettings is a singleton that lives forever and there's no clean
|
||||
// shutdown of Chrome on Android
|
||||
mNativeDataReductionProxySettings = nativeInit();
|
||||
|
@ -30,7 +30,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/D
|
|||
}
|
||||
|
||||
/** Returns true if the SPDY proxy promo is allowed to be shown. */
|
||||
@@ -171,6 +172,7 @@ public class DataReductionProxySettings {
|
||||
@@ -172,6 +173,7 @@ public class DataReductionProxySettings {
|
||||
* data reduction statistics if this is the first time the SPDY proxy has been enabled.
|
||||
*/
|
||||
public void setDataReductionProxyEnabled(Context context, boolean enabled) {
|
|
@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAnd
|
|||
+
|
||||
mTosAndPrivacy.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
|
||||
NoUnderlineClickableSpan clickableTermsSpan = new NoUnderlineClickableSpan() {
|
||||
NoUnderlineClickableSpan clickableTermsSpan = new NoUnderlineClickableSpan((view1) -> {
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -42,7 +42,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
@@ -114,7 +114,7 @@ import org.chromium.chrome.browser.printing.TabPrinter;
|
||||
@@ -115,7 +115,7 @@ import org.chromium.chrome.browser.printing.TabPrinter;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.share.ShareMenuActionHandler;
|
||||
import org.chromium.chrome.browser.snackbar.BottomContainer;
|
||||
|
@ -51,7 +51,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
|
|||
import org.chromium.chrome.browser.snackbar.DataUseSnackbarController;
|
||||
import org.chromium.chrome.browser.snackbar.SnackbarManager;
|
||||
import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable;
|
||||
@@ -255,7 +255,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -258,7 +258,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
private SnackbarManager mSnackbarManager;
|
||||
private ModalDialogManager mModalDialogManager;
|
||||
private DataUseSnackbarController mDataUseSnackbarController;
|
||||
|
@ -60,7 +60,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
|
|||
private AppMenuPropertiesDelegate mAppMenuPropertiesDelegate;
|
||||
private AppMenuHandler mAppMenuHandler;
|
||||
private ToolbarManager mToolbarManager;
|
||||
@@ -576,6 +576,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -577,6 +577,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
mDataUseSnackbarController.showDataUseTrackingEndedBar();
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
|
|||
// Only alert about data savings once the first paint has happened. It doesn't make
|
||||
// sense to show a snackbar about savings when nothing has been displayed yet.
|
||||
if (DataReductionProxySettings.getInstance().isSnackbarPromoAllowed(tab.getUrl())) {
|
||||
@@ -588,6 +589,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -589,6 +590,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
DataReductionProxySettings.getInstance()
|
||||
.getTotalHttpContentLengthSaved());
|
||||
}
|
||||
|
@ -88,8 +88,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
|||
import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
|
||||
-import org.chromium.chrome.browser.preferences.datareduction.DataReductionPreferences;
|
||||
+//import org.chromium.chrome.browser.preferences.datareduction.DataReductionPreferences;
|
||||
import org.chromium.chrome.browser.search_engines.TemplateUrl;
|
||||
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
|
||||
import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl;
|
||||
import org.chromium.chrome.browser.signin.SigninManager;
|
||||
@@ -35,20 +35,20 @@ import java.util.Map;
|
||||
*/
|
||||
|
@ -177,7 +177,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
|||
updateSearchEnginePreference();
|
||||
|
||||
if (HomepageManager.shouldShowHomepageSetting()) {
|
||||
@@ -187,9 +185,11 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -190,9 +188,11 @@ public class MainPreferences extends PreferenceFragment
|
||||
removePreferenceIfPresent(PREF_CONTEXTUAL_SUGGESTIONS);
|
||||
}
|
||||
|
||||
|
@ -189,7 +189,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
|||
}
|
||||
|
||||
private Preference addPreferenceIfAbsent(String key) {
|
||||
@@ -260,9 +260,11 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -263,9 +263,11 @@ public class MainPreferences extends PreferenceFragment
|
||||
if (PREF_SAVED_PASSWORDS.equals(preference.getKey())) {
|
||||
return PrefServiceBridge.getInstance().isRememberPasswordsManaged();
|
||||
}
|
||||
|
@ -201,7 +201,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
|||
if (PREF_SEARCH_ENGINE.equals(preference.getKey())) {
|
||||
return TemplateUrlService.getInstance().isDefaultSearchManaged();
|
||||
}
|
||||
@@ -280,11 +282,13 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -283,11 +285,13 @@ public class MainPreferences extends PreferenceFragment
|
||||
return prefs.isRememberPasswordsManaged()
|
||||
&& !prefs.isRememberPasswordsEnabled();
|
||||
}
|
|
@ -9,7 +9,7 @@ Subject: Disable signin/data reduction promos
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -562,7 +562,7 @@ public class ChromeTabbedActivity
|
||||
@@ -554,7 +554,7 @@ public class ChromeTabbedActivity
|
||||
// TODO(tedchoc): Unify promo dialog logic as the search engine promo dialog checks
|
||||
// might not have completed at this point and we could show multiple
|
||||
// promos.
|
||||
|
@ -18,15 +18,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||
// Promo dialogs in multiwindow mode are broken on some devices: http://crbug.com/354696
|
||||
boolean isLegacyMultiWindow = MultiWindowUtils.getInstance().isLegacyMultiWindow(this);
|
||||
if (!isShowingPromo && !mIntentWithEffect && FirstRunStatus.getFirstRunFlowComplete()
|
||||
@@ -581,7 +581,7 @@ public class ChromeTabbedActivity
|
||||
@@ -574,7 +574,7 @@ public class ChromeTabbedActivity
|
||||
preferenceManager.setPromosSkippedOnFirstStart(true);
|
||||
}
|
||||
|
||||
- if (!isShowingPromo) {
|
||||
+ if (!isShowingPromo) */ {
|
||||
final Tracker tracker =
|
||||
TrackerFactory.getTrackerForProfile(Profile.getLastUsedProfile());
|
||||
tracker.addOnInitializedCallback(
|
||||
ToolbarButtonInProductHelpController.maybeShowColdStartIPH(this);
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -34,7 +34,7 @@ diff --git a/chrome/android/java/res/drawable-xxxhdpi/settings_translate.png b/c
|
|||
deleted file mode 100644
|
||||
index 058b50b84dd216d983e9dea2ea264b39773ac318..0000000000000000000000000000000000000000
|
||||
diff --git a/chrome/android/java/res/xml/site_settings_preferences.xml b/chrome/android/java/res/xml/site_settings_preferences.xml
|
||||
index afb425b..a545372 100644
|
||||
index 1159fd1..4a13a36 100644
|
||||
--- a/chrome/android/java/res/xml/site_settings_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/site_settings_preferences.xml
|
||||
@@ -44,9 +44,9 @@
|
||||
|
@ -64,10 +64,10 @@ index afb425b..a545372 100644
|
|||
<!-- TODO(finnur): Move this over to the new Usage screen, once it exists. -->
|
||||
<org.chromium.chrome.browser.preferences.website.SiteSettingsPreference
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
|
||||
index 24b3a7d..dc1c609 100644
|
||||
index 2da84aa9..f3ee0d2 100644
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
|
||||
@@ -38,7 +38,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
@@ -39,7 +39,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
static final String ALL_SITES_KEY = "all_sites";
|
||||
static final String ADS_KEY = "ads";
|
||||
static final String AUTOPLAY_KEY = "autoplay";
|
||||
|
@ -76,7 +76,7 @@ index 24b3a7d..dc1c609 100644
|
|||
static final String CAMERA_KEY = "camera";
|
||||
static final String CLIPBOARD_KEY = "clipboard";
|
||||
static final String COOKIES_KEY = "cookies";
|
||||
@@ -51,7 +51,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
@@ -52,7 +52,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
static final String PROTECTED_CONTENT_KEY = "protected_content";
|
||||
static final String SOUND_KEY = "sound";
|
||||
static final String STORAGE_KEY = "use_storage";
|
||||
|
@ -85,7 +85,7 @@ index 24b3a7d..dc1c609 100644
|
|||
static final String USB_KEY = "usb";
|
||||
|
||||
// Whether the Protected Content menu is available for display.
|
||||
@@ -86,8 +86,8 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
@@ -87,8 +87,8 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
return ContentSettingsType.CONTENT_SETTINGS_TYPE_ADS;
|
||||
} else if (AUTOPLAY_KEY.equals(key)) {
|
||||
return ContentSettingsType.CONTENT_SETTINGS_TYPE_AUTOPLAY;
|
||||
|
@ -96,7 +96,7 @@ index 24b3a7d..dc1c609 100644
|
|||
} else if (CAMERA_KEY.equals(key)) {
|
||||
return ContentSettingsType.CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA;
|
||||
} else if (CLIPBOARD_KEY.equals(key)) {
|
||||
@@ -118,7 +118,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
@@ -127,7 +127,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
// menus.
|
||||
getPreferenceScreen().removePreference(findPreference(ALL_SITES_KEY));
|
||||
getPreferenceScreen().removePreference(findPreference(ADS_KEY));
|
||||
|
@ -105,7 +105,7 @@ index 24b3a7d..dc1c609 100644
|
|||
getPreferenceScreen().removePreference(findPreference(CAMERA_KEY));
|
||||
getPreferenceScreen().removePreference(findPreference(CLIPBOARD_KEY));
|
||||
getPreferenceScreen().removePreference(findPreference(COOKIES_KEY));
|
||||
@@ -130,7 +130,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
@@ -139,7 +139,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
getPreferenceScreen().removePreference(findPreference(POPUPS_KEY));
|
||||
getPreferenceScreen().removePreference(findPreference(SOUND_KEY));
|
||||
getPreferenceScreen().removePreference(findPreference(STORAGE_KEY));
|
||||
|
@ -114,7 +114,7 @@ index 24b3a7d..dc1c609 100644
|
|||
getPreferenceScreen().removePreference(findPreference(USB_KEY));
|
||||
} else {
|
||||
// If both Autoplay and Protected Content menus are available, they'll be tucked under
|
||||
@@ -156,9 +156,9 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
@@ -165,9 +165,9 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
}
|
||||
// The new Languages Preference *feature* is an advanced version of this translate
|
||||
// preference. Once Languages Preference is enabled, remove this setting.
|
||||
|
@ -126,7 +126,7 @@ index 24b3a7d..dc1c609 100644
|
|||
}
|
||||
}
|
||||
|
||||
@@ -166,10 +166,10 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
@@ -175,10 +175,10 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
PrefServiceBridge prefServiceBridge = PrefServiceBridge.getInstance();
|
||||
|
||||
// Translate preference.
|
||||
|
@ -139,7 +139,7 @@ index 24b3a7d..dc1c609 100644
|
|||
|
||||
// Preferences that navigate to Website Settings.
|
||||
List<String> websitePrefs = new ArrayList<String>();
|
||||
@@ -183,7 +183,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
@@ -192,7 +192,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
// When showing the main menu, if Protected Content is not available, only Autoplay
|
||||
// will be visible.
|
||||
if (!mProtectedContentMenuAvailable) websitePrefs.add(AUTOPLAY_KEY);
|
||||
|
@ -148,7 +148,7 @@ index 24b3a7d..dc1c609 100644
|
|||
websitePrefs.add(CAMERA_KEY);
|
||||
if (ChromeFeatureList.isEnabled(ChromeFeatureList.CLIPBOARD_CONTENT_SETTING)) {
|
||||
websitePrefs.add(CLIPBOARD_KEY);
|
||||
@@ -208,8 +208,8 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
@@ -218,8 +218,8 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
checked = PrefServiceBridge.getInstance().adsEnabled();
|
||||
} else if (AUTOPLAY_KEY.equals(prefName)) {
|
||||
checked = PrefServiceBridge.getInstance().isAutoplayEnabled();
|
|
@ -12,7 +12,7 @@ diff --git a/chrome/browser/tracing/crash_service_uploader.cc b/chrome/browser/t
|
|||
@@ -122,6 +122,9 @@ void TraceCrashServiceUploader::DoUpload(
|
||||
std::unique_ptr<const base::DictionaryValue> metadata,
|
||||
const UploadProgressCallback& progress_callback,
|
||||
const UploadDoneCallback& done_callback) {
|
||||
UploadDoneCallback done_callback) {
|
||||
+
|
||||
+ return;
|
||||
+
|
|
@ -9,7 +9,7 @@ Subject: Never fetch popular sites
|
|||
diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/popular_sites_impl.cc
|
||||
--- a/components/ntp_tiles/popular_sites_impl.cc
|
||||
+++ b/components/ntp_tiles/popular_sites_impl.cc
|
||||
@@ -289,6 +289,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
|
||||
@@ -291,6 +291,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
|
||||
DCHECK(!callback_);
|
||||
callback_ = callback;
|
||||
|
|
@ -10,20 +10,20 @@ Subject: ungoogled-chromium: Disable signin
|
|||
diff --git a/chrome/browser/ui/chrome_pages.cc b/chrome/browser/ui/chrome_pages.cc
|
||||
--- a/chrome/browser/ui/chrome_pages.cc
|
||||
+++ b/chrome/browser/ui/chrome_pages.cc
|
||||
@@ -77,12 +77,6 @@ void OpenBookmarkManagerForNode(Browser* browser, int64_t node_id) {
|
||||
ShowSingletonTabOverwritingNTP(browser, params);
|
||||
@@ -76,12 +76,6 @@ void OpenBookmarkManagerForNode(Browser* browser, int64_t node_id) {
|
||||
ShowSingletonTabOverwritingNTP(browser, std::move(params));
|
||||
}
|
||||
|
||||
-void NavigateToSingletonTab(Browser* browser, const GURL& url) {
|
||||
- NavigateParams params(GetSingletonTabNavigateParams(browser, url));
|
||||
- params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE;
|
||||
- ShowSingletonTabOverwritingNTP(browser, params);
|
||||
- ShowSingletonTabOverwritingNTP(browser, std::move(params));
|
||||
-}
|
||||
-
|
||||
// Shows either the help app or the appropriate help page for |source|. If
|
||||
// |browser| is NULL and the help page is used (vs the app), the help page is
|
||||
// shown in the last active browser. If there is no such browser, a new browser
|
||||
@@ -397,6 +391,7 @@ void ShowSearchEngineSettings(Browser* browser) {
|
||||
@@ -396,6 +390,7 @@ void ShowSearchEngineSettings(Browser* browser) {
|
||||
#if !defined(OS_ANDROID)
|
||||
void ShowBrowserSignin(Browser* browser,
|
||||
signin_metrics::AccessPoint access_point) {
|
||||
|
@ -31,9 +31,9 @@ diff --git a/chrome/browser/ui/chrome_pages.cc b/chrome/browser/ui/chrome_pages.
|
|||
Profile* original_profile = browser->profile()->GetOriginalProfile();
|
||||
SigninManagerBase* manager =
|
||||
SigninManagerFactory::GetForProfile(original_profile);
|
||||
@@ -442,6 +437,7 @@ void ShowBrowserSignin(Browser* browser,
|
||||
BrowserWindow::AVATAR_BUBBLE_MODE_SIGNIN,
|
||||
signin::ManageAccountsParams(), access_point, false);
|
||||
@@ -444,6 +439,7 @@ void ShowBrowserSignin(Browser* browser,
|
||||
profiles::BUBBLE_VIEW_MODE_GAIA_SIGNIN, browser, access_point);
|
||||
#endif
|
||||
}
|
||||
+#endif
|
||||
}
|
|
@ -9,7 +9,7 @@ Subject: ungoogled-chromium: Disable webRTC log uploader
|
|||
diff --git a/chrome/browser/media/webrtc/webrtc_log_uploader.cc b/chrome/browser/media/webrtc/webrtc_log_uploader.cc
|
||||
--- a/chrome/browser/media/webrtc/webrtc_log_uploader.cc
|
||||
+++ b/chrome/browser/media/webrtc/webrtc_log_uploader.cc
|
||||
@@ -115,30 +115,7 @@ void WebRtcLogUploader::LoggingStoppedDoUpload(
|
||||
@@ -114,30 +114,7 @@ void WebRtcLogUploader::LoggingStoppedDoUpload(
|
||||
DCHECK(meta_data.get());
|
||||
DCHECK(!upload_done_data.log_path.empty());
|
||||
|
||||
|
@ -41,7 +41,7 @@ diff --git a/chrome/browser/media/webrtc/webrtc_log_uploader.cc b/chrome/browser
|
|||
}
|
||||
|
||||
void WebRtcLogUploader::PrepareMultipartPostData(
|
||||
@@ -149,6 +126,9 @@ void WebRtcLogUploader::PrepareMultipartPostData(
|
||||
@@ -148,6 +125,9 @@ void WebRtcLogUploader::PrepareMultipartPostData(
|
||||
DCHECK(!compressed_log.empty());
|
||||
DCHECK(meta_data.get());
|
||||
|
||||
|
@ -49,8 +49,8 @@ diff --git a/chrome/browser/media/webrtc/webrtc_log_uploader.cc b/chrome/browser
|
|||
+ return;
|
||||
+
|
||||
std::unique_ptr<std::string> post_data(new std::string());
|
||||
SetupMultipart(post_data.get(),
|
||||
compressed_log,
|
||||
SetupMultipart(post_data.get(), compressed_log,
|
||||
upload_done_data.incoming_rtp_dump,
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -16,7 +16,7 @@ Disable additional URLs that are not caught by the "trk" scheme
|
|||
diff --git a/chrome/browser/android/rlz/rlz_ping_handler.cc b/chrome/browser/android/rlz/rlz_ping_handler.cc
|
||||
--- a/chrome/browser/android/rlz/rlz_ping_handler.cc
|
||||
+++ b/chrome/browser/android/rlz/rlz_ping_handler.cc
|
||||
@@ -66,7 +66,7 @@ void RlzPingHandler::Ping(
|
||||
@@ -73,7 +73,7 @@ void RlzPingHandler::Ping(
|
||||
DCHECK_EQ(id.length(), 50u);
|
||||
|
||||
GURL request_url(base::StringPrintf(
|
||||
|
@ -91,7 +91,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_model_loader.h b/chrome/br
|
|||
diff --git a/rlz/lib/financial_ping.cc b/rlz/lib/financial_ping.cc
|
||||
--- a/rlz/lib/financial_ping.cc
|
||||
+++ b/rlz/lib/financial_ping.cc
|
||||
@@ -351,7 +351,7 @@ FinancialPing::PingResponse FinancialPing::PingServer(const char* request,
|
||||
@@ -350,7 +350,7 @@ FinancialPing::PingResponse FinancialPing::PingServer(const char* request,
|
||||
|
||||
// Open network connection.
|
||||
InternetHandle connection_handle = InternetConnectA(inet_handle,
|
||||
|
@ -100,7 +100,7 @@ diff --git a/rlz/lib/financial_ping.cc b/rlz/lib/financial_ping.cc
|
|||
INTERNET_FLAG_NO_CACHE_WRITE, 0);
|
||||
if (!connection_handle)
|
||||
return PING_FAILURE;
|
||||
@@ -395,7 +395,7 @@ FinancialPing::PingResponse FinancialPing::PingServer(const char* request,
|
||||
@@ -394,7 +394,7 @@ FinancialPing::PingResponse FinancialPing::PingServer(const char* request,
|
||||
return PING_SUCCESSFUL;
|
||||
#else
|
||||
std::string url =
|
|
@ -1,74 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 28 Oct 2017 10:09:41 +0200
|
||||
Subject: Cure AMP and tracking from search results
|
||||
|
||||
---
|
||||
third_party/blink/renderer/core/dom/BUILD.gn | 1 +
|
||||
third_party/blink/renderer/core/dom/document.cc | 20 +++++++++++++++++++-
|
||||
.../renderer/core/dom/extensions/anti_amp_cure.h | 6 ++++++
|
||||
3 files changed, 26 insertions(+), 1 deletion(-)
|
||||
create mode 100644 third_party/blink/renderer/core/dom/extensions/anti_amp_cure.h
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/dom/BUILD.gn b/third_party/blink/renderer/core/dom/BUILD.gn
|
||||
--- a/third_party/blink/renderer/core/dom/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/core/dom/BUILD.gn
|
||||
@@ -147,6 +147,7 @@ blink_core_sources("dom") {
|
||||
"events/tree_scope_event_context.h",
|
||||
"events/window_event_context.cc",
|
||||
"events/window_event_context.h",
|
||||
+ "extensions/dont-track-me.h",
|
||||
"exception_code.h",
|
||||
"first_letter_pseudo_element.cc",
|
||||
"first_letter_pseudo_element.h",
|
||||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -276,6 +276,8 @@
|
||||
#include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/time.h"
|
||||
|
||||
+#include "extensions/anti_amp_cure.h"
|
||||
+
|
||||
#ifndef NDEBUG
|
||||
using WeakDocumentSet =
|
||||
blink::PersistentHeapHashSet<blink::WeakMember<blink::Document>>;
|
||||
@@ -5839,8 +5841,24 @@ void Document::FinishedParsing() {
|
||||
fetcher_->ClearResourcesFromPreviousFetcher();
|
||||
}
|
||||
|
||||
- if (IsPrefetchOnly())
|
||||
+ if (IsPrefetchOnly()) {
|
||||
WebPrerenderingSupport::Current()->PrefetchFinished();
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // determine whether this is a Google search results page
|
||||
+ const SecurityOrigin *origin = GetSecurityOrigin();
|
||||
+ if (origin) {
|
||||
+ WTF::String domain = origin->Domain();
|
||||
+ size_t pos = domain.Find(".google.");
|
||||
+ auto* bodyElement = body();
|
||||
+ if (bodyElement && (pos != WTF::kNotFound) && (domain.length() - pos - 8 < 4)) {
|
||||
+ LOG(INFO) << "injecting anti-AMP-cure Javascript payload";
|
||||
+ HTMLScriptElement* e = HTMLScriptElement::Create(*this, CreateElementFlags());
|
||||
+ e->setText(ANTI_AMP_CURE_JS);
|
||||
+ bodyElement->AppendChild(e);
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
void Document::ElementDataCacheClearTimerFired(TimerBase*) {
|
||||
diff --git a/third_party/blink/renderer/core/dom/extensions/anti_amp_cure.h b/third_party/blink/renderer/core/dom/extensions/anti_amp_cure.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/third_party/blink/renderer/core/dom/extensions/anti_amp_cure.h
|
||||
@@ -0,0 +1,6 @@
|
||||
+#ifndef anti_amp_cure_h
|
||||
+#define anti_amp_cure_h
|
||||
+
|
||||
+#define ANTI_AMP_CURE_JS "/* Bromite click-tracking and AMP removal v0.3.5 */\n\nfunction recreateHyperlink(a) {\n // skip already-sanitized hyperlinks\n if (a.sane) return false;\n\n // create new A element - old one has event listeners attached\n var newA = document.createElement('a');\n newA.referrerPolicy = 'origin';\n // property set when hyperlink has been created by this script\n newA.sane = 1;\n\n // remove AMP class, get actual page URL\n var ampCur = a.getAttribute('data-amp-cur');\n if (ampCur) {\n newA.href = ampCur;\n a.classList.remove('amp_r');\n } else {\n var realLink = getRealLinkFromGoogleUrl(a);\n if (realLink) {\n newA.href = realLink;\n } else {\n // might not be an actual hyperlink, ignore it\n if (!a.href) {\n return false;\n }\n // leave original href unchanged\n newA.href = a.href;\n }\n }\n // copy CSS classes\n newA.className = a.className;\n\n // copy nodes inside the hyperlink\n while (a.firstChild) {\n newA.appendChild(a.lastChild);\n }\n // replace hyperlink\n a.parentNode.replaceChild(newA, a);\n return true;\n}\n\nfunction isResult(a) {\n if (a.getAttribute('data-amp-cur'))\n return true;\n var inlineMousedown = a.getAttribute('onmousedown');\n if (!inlineMousedown)\n\treturn false;\n // return rwt(....); // E.g Google search results.\n // return google.rwt(...); // E.g. sponsored search results\n // return google.arwt(this); // E.g. sponsored search results (dec 2016).\n return /\\ba?rwt\\(/.test(inlineMousedown) || /\\bctpacw\\b/.test(inlineMousedown);\n}\n\n/**\n * @returns {String} the real URL if the given link is a Google redirect URL.\n */\nfunction getRealLinkFromGoogleUrl(a) {\n if ((a.hostname === location.hostname || a.hostname.indexOf('www.google.') == 0) &&\n /^\\/(local_)?url$/.test(a.pathname)) {\n // Google Maps / Dito (/local_url?q=<url>)\n // Mobile (/url?q=<url>)\n var url = /[?&](?:q|url)=((?:https?|ftp)[%:][^&]+)/.exec(a.search);\n if (url) {\n return decodeURIComponent(url[1]);\n }\n // Help pages, e.g. safe browsing (/url?...&q=%2Fsupport%2Fanswer...)\n url = /[?&](?:q|url)=((?:%2[Ff]|\\/)[^&]+)/.exec(a.search);\n if (url) {\n return a.origin + decodeURIComponent(url[1]);\n }\n }\n}\n\nfunction sanitizeAds() {\n // scan all divs\n var div = document.getElementById('tads');\n if (div) {\n div.style.display = 'none';\n\treturn true;\n }\n return false;\n}\n\nfunction sanitizeAll() {\n console.log(\"ads removed: \", sanitizeAds());\n console.log(\"hyperlinks sanitized: \", sanitizeAllHyperlinks(document));\n}\n\nfunction hookMoreResults() {\n var extrares = document.getElementById('extrares');\n if (!extrares) {\n console.log(\"could not hook more results\");\n return;\n }\n // mutation observers are great but they don't work\n extrares.addEventListener(\"DOMNodeInserted\", function(e) {\n var node = e.target;\n if (node.id && node.id.startsWith(\"arc-srp\"))\n console.log(\"hyperlinks sanitized on new result node: \", sanitizeAllHyperlinks(node));\n });\n}\n\nfunction setMlogoClick() {\n var mlogo = document.getElementById('qslc');\n if (mlogo && mlogo.children[0]) {\n mlogo = mlogo.children[0];\n mlogo.removeAttribute(\"href\");\n mlogo.setAttribute(\"onclick\", \"sanitizeAll()\");\n console.log(\"logo link replaced\");\n } else {\n console.log(\"could not replace logo link\");\n }\n}\n\nfunction sanitizeAllHyperlinks(rootNode) {\n var saned = 0, total = 0;\n rootNode.querySelectorAll('div[data-hveid]:not([data-hveid=\"\"]) a').forEach(function(a) {\n\ttotal++;\n\tvar res = recreateHyperlink(a);\n\tif (res) saned++;\n });\n console.log(\"sanitized \", saned, \"/\", total, \" hyperlinks\");\n\n return saned;\n}\n\n// avoid running cleanup on non-search pages\nif ((document.location.host.indexOf(\"images.google.\") == -1) && (document.location.host.indexOf(\"news.google.\") == -1)) {\n sanitizeAll();\n}\nsetMlogoClick();\n\nhookMoreResults();\n"
|
||||
+
|
||||
+#endif // anti_amp_cure_h
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -25,7 +25,7 @@ diff --git a/components/translate/content/renderer/translate_helper.cc b/compone
|
|||
diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc
|
||||
--- a/components/translate/core/browser/translate_manager.cc
|
||||
+++ b/components/translate/core/browser/translate_manager.cc
|
||||
@@ -102,7 +102,7 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) {
|
||||
@@ -131,7 +131,7 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) {
|
||||
if (net::NetworkChangeNotifier::IsOffline())
|
||||
return;
|
||||
|
|
@ -5,11 +5,11 @@ Subject: ungoogled-chromium: Disable Google host detection
|
|||
Disables various detections of Google hosts and functionality specific to them
|
||||
---
|
||||
.../page_load_metrics/page_load_metrics_util.cc | 4 +-
|
||||
.../page_load_metrics/page_load_metrics_util.cc | 33 +---
|
||||
components/google/core/browser/google_util.cc | 193 ++-------------------
|
||||
.../page_load_metrics/page_load_metrics_util.cc | 33 +----
|
||||
components/google/core/browser/google_util.cc | 138 +++++----------------
|
||||
components/search_engines/template_url.cc | 6 +-
|
||||
net/base/url_util.cc | 22 ---
|
||||
5 files changed, 14 insertions(+), 244 deletions(-)
|
||||
net/base/url_util.cc | 22 ----
|
||||
5 files changed, 31 insertions(+), 172 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/page_load_metrics/page_load_metrics_util.cc b/chrome/browser/page_load_metrics/page_load_metrics_util.cc
|
||||
--- a/chrome/browser/page_load_metrics/page_load_metrics_util.cc
|
||||
|
@ -191,7 +191,7 @@ diff --git a/components/google/core/browser/google_util.cc b/components/google/c
|
|||
}
|
||||
|
||||
void SetMockLinkDoctorBaseURLForTesting() {
|
||||
@@ -166,119 +64,50 @@ std::string GetGoogleLocale(const std::string& application_locale) {
|
||||
@@ -166,11 +64,11 @@ std::string GetGoogleLocale(const std::string& application_locale) {
|
||||
|
||||
GURL AppendGoogleLocaleParam(const GURL& url,
|
||||
const std::string& application_locale) {
|
||||
|
@ -201,61 +201,52 @@ diff --git a/components/google/core/browser/google_util.cc b/components/google/c
|
|||
}
|
||||
|
||||
std::string GetGoogleCountryCode(const GURL& google_homepage_url) {
|
||||
- base::StringPiece google_hostname = google_homepage_url.host_piece();
|
||||
- // TODO(igorcov): This needs a fix for case when the host has a trailing dot,
|
||||
- // like "google.com./". https://crbug.com/720295.
|
||||
- const size_t last_dot = google_hostname.find_last_of('.');
|
||||
- DCHECK_NE(std::string::npos, last_dot);
|
||||
- base::StringPiece country_code = google_hostname.substr(last_dot + 1);
|
||||
- // Assume the com TLD implies the US.
|
||||
- if (country_code == "com")
|
||||
- return "us";
|
||||
- // Google uses the Unicode Common Locale Data Repository (CLDR), and the CLDR
|
||||
- // code for the UK is "gb".
|
||||
- if (country_code == "uk")
|
||||
- return "gb";
|
||||
- // Catalonia does not have a CLDR country code, since it's a region in Spain,
|
||||
- // so use Spain instead.
|
||||
- if (country_code == "cat")
|
||||
- return "es";
|
||||
- return country_code.as_string();
|
||||
+#if 0
|
||||
base::StringPiece google_hostname = google_homepage_url.host_piece();
|
||||
// TODO(igorcov): This needs a fix for case when the host has a trailing dot,
|
||||
// like "google.com./". https://crbug.com/720295.
|
||||
@@ -190,18 +88,24 @@ std::string GetGoogleCountryCode(const GURL& google_homepage_url) {
|
||||
if (country_code == "cat")
|
||||
return "es";
|
||||
return country_code.as_string();
|
||||
+#endif
|
||||
+ return "nolocale";
|
||||
}
|
||||
|
||||
GURL GetGoogleSearchURL(const GURL& google_homepage_url) {
|
||||
- // To transform the homepage URL into the corresponding search URL, add the
|
||||
- // "search" and the "q=" query string.
|
||||
- GURL::Replacements replacements;
|
||||
- replacements.SetPathStr("search");
|
||||
- replacements.SetQueryStr("q=");
|
||||
- return google_homepage_url.ReplaceComponents(replacements);
|
||||
+#if 0
|
||||
// To transform the homepage URL into the corresponding search URL, add the
|
||||
// "search" and the "q=" query string.
|
||||
GURL::Replacements replacements;
|
||||
replacements.SetPathStr("search");
|
||||
replacements.SetQueryStr("q=");
|
||||
return google_homepage_url.ReplaceComponents(replacements);
|
||||
+#endif
|
||||
+ return google_homepage_url;
|
||||
}
|
||||
|
||||
const GURL& CommandLineGoogleBaseURL() {
|
||||
- // Unit tests may add command-line flags after the first call to this
|
||||
- // function, so we don't simply initialize a static |base_url| directly and
|
||||
- // then unconditionally return it.
|
||||
- CR_DEFINE_STATIC_LOCAL(std::string, switch_value, ());
|
||||
CR_DEFINE_STATIC_LOCAL(GURL, base_url, ());
|
||||
- std::string current_switch_value(
|
||||
- base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
|
||||
- switches::kGoogleBaseURL));
|
||||
- if (current_switch_value != switch_value) {
|
||||
- switch_value = current_switch_value;
|
||||
- base_url = url_formatter::FixupURL(switch_value, std::string());
|
||||
- if (!base_url.is_valid() || base_url.has_query() || base_url.has_ref())
|
||||
- base_url = GURL();
|
||||
- }
|
||||
+#if 0
|
||||
// Unit tests may add command-line flags after the first call to this
|
||||
// function, so we don't simply initialize a static |base_url| directly and
|
||||
// then unconditionally return it.
|
||||
@@ -216,31 +120,35 @@ const GURL& CommandLineGoogleBaseURL() {
|
||||
if (!base_url.is_valid() || base_url.has_query() || base_url.has_ref())
|
||||
base_url = GURL();
|
||||
}
|
||||
+#endif
|
||||
+ CR_DEFINE_STATIC_LOCAL(GURL, base_url, ());
|
||||
+ base_url = GURL();
|
||||
return base_url;
|
||||
}
|
||||
|
||||
bool StartsWithCommandLineGoogleBaseURL(const GURL& url) {
|
||||
- const GURL& base_url(CommandLineGoogleBaseURL());
|
||||
- return base_url.is_valid() &&
|
||||
- base::StartsWith(url.possibly_invalid_spec(), base_url.spec(),
|
||||
- base::CompareCase::SENSITIVE);
|
||||
+#if 0
|
||||
const GURL& base_url(CommandLineGoogleBaseURL());
|
||||
return base_url.is_valid() &&
|
||||
base::StartsWith(url.possibly_invalid_spec(), base_url.spec(),
|
||||
base::CompareCase::SENSITIVE);
|
||||
+#endif
|
||||
+ return false;
|
||||
}
|
||||
|
||||
|
@ -276,47 +267,41 @@ diff --git a/components/google/core/browser/google_util.cc b/components/google/c
|
|||
}
|
||||
|
||||
bool IsGoogleHomePageUrl(const GURL& url) {
|
||||
- // First check to see if this has a Google domain.
|
||||
- if (!IsGoogleDomainUrl(url, DISALLOW_SUBDOMAIN,
|
||||
- DISALLOW_NON_STANDARD_PORTS) &&
|
||||
- !IsGoogleSearchSubdomainUrl(url)) {
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- // Make sure the path is a known home page path.
|
||||
- base::StringPiece path(url.path_piece());
|
||||
- return IsPathHomePageBase(path) ||
|
||||
- base::StartsWith(path, "/ig", base::CompareCase::INSENSITIVE_ASCII);
|
||||
+#if 0
|
||||
// First check to see if this has a Google domain.
|
||||
if (!IsGoogleDomainUrl(url, DISALLOW_SUBDOMAIN,
|
||||
DISALLOW_NON_STANDARD_PORTS) &&
|
||||
@@ -252,9 +160,13 @@ bool IsGoogleHomePageUrl(const GURL& url) {
|
||||
base::StringPiece path(url.path_piece());
|
||||
return IsPathHomePageBase(path) ||
|
||||
base::StartsWith(path, "/ig", base::CompareCase::INSENSITIVE_ASCII);
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
}
|
||||
|
||||
bool IsGoogleSearchUrl(const GURL& url) {
|
||||
- // First check to see if this has a Google domain.
|
||||
- if (!IsGoogleDomainUrl(url, DISALLOW_SUBDOMAIN,
|
||||
- DISALLOW_NON_STANDARD_PORTS) &&
|
||||
- !IsGoogleSearchSubdomainUrl(url)) {
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- // Make sure the path is a known search path.
|
||||
- base::StringPiece path(url.path_piece());
|
||||
- bool is_home_page_base = IsPathHomePageBase(path);
|
||||
- if (!is_home_page_base && (path != "/search"))
|
||||
- return false;
|
||||
-
|
||||
- // Check for query parameter in URL parameter and hash fragment, depending on
|
||||
- // the path type.
|
||||
- return HasGoogleSearchQueryParam(url.ref_piece()) ||
|
||||
- (!is_home_page_base && HasGoogleSearchQueryParam(url.query_piece()));
|
||||
+#if 0
|
||||
// First check to see if this has a Google domain.
|
||||
if (!IsGoogleDomainUrl(url, DISALLOW_SUBDOMAIN,
|
||||
DISALLOW_NON_STANDARD_PORTS) &&
|
||||
@@ -272,14 +184,20 @@ bool IsGoogleSearchUrl(const GURL& url) {
|
||||
// the path type.
|
||||
return HasGoogleSearchQueryParam(url.ref_piece()) ||
|
||||
(!is_home_page_base && HasGoogleSearchQueryParam(url.query_piece()));
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
}
|
||||
|
||||
bool IsYoutubeDomainUrl(const GURL& url,
|
||||
SubdomainPermission subdomain_permission,
|
||||
PortPermission port_permission) {
|
||||
- return IsValidURL(url, port_permission) &&
|
||||
- IsValidHostName(url.host_piece(), "youtube", subdomain_permission,
|
||||
- nullptr);
|
||||
+#if 0
|
||||
return IsValidURL(url, port_permission) &&
|
||||
IsValidHostName(url.host_piece(), "youtube", subdomain_permission,
|
||||
nullptr);
|
||||
+#endif
|
||||
+ return false;
|
||||
}
|
||||
|
||||
|
@ -324,7 +309,7 @@ diff --git a/components/google/core/browser/google_util.cc b/components/google/c
|
|||
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc
|
||||
--- a/components/search_engines/template_url.cc
|
||||
+++ b/components/search_engines/template_url.cc
|
||||
@@ -510,11 +510,7 @@ base::string16 TemplateURLRef::SearchTermToString16(
|
||||
@@ -498,11 +498,7 @@ base::string16 TemplateURLRef::SearchTermToString16(
|
||||
bool TemplateURLRef::HasGoogleBaseURLs(
|
||||
const SearchTermsData& search_terms_data) const {
|
||||
ParseIfNecessary(search_terms_data);
|
|
@ -24,7 +24,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc
|
|||
void GCMClientImpl::StartCheckin() {
|
||||
+ return;
|
||||
// Make sure no checkin is in progress.
|
||||
if (checkin_request_.get())
|
||||
if (checkin_request_)
|
||||
return;
|
||||
@@ -777,6 +779,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) {
|
||||
}
|
|
@ -18,7 +18,7 @@ See also: https://github.com/Eloston/ungoogled-chromium/issues/104
|
|||
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
|
||||
--- a/chrome/browser/browser_resources.grd
|
||||
+++ b/chrome/browser/browser_resources.grd
|
||||
@@ -301,7 +301,6 @@
|
||||
@@ -296,7 +296,6 @@
|
||||
<include name="IDR_INLINE_LOGIN_HTML" file="resources\inline_login\inline_login.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" />
|
||||
<include name="IDR_INLINE_LOGIN_CSS" file="resources\inline_login\inline_login.css" flattenhtml="true" type="BINDATA" />
|
||||
<include name="IDR_INLINE_LOGIN_JS" file="resources\inline_login\inline_login.js" flattenhtml="true" type="BINDATA" />
|
||||
|
@ -26,8 +26,8 @@ diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resou
|
|||
<include name="IDR_INSPECT_CSS" file="resources\inspect\inspect.css" flattenhtml="true" type="BINDATA" />
|
||||
<include name="IDR_INSPECT_HTML" file="resources\inspect\inspect.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" />
|
||||
<include name="IDR_INSPECT_JS" file="resources\inspect\inspect.js" flattenhtml="true" type="BINDATA" />
|
||||
@@ -436,7 +435,6 @@
|
||||
</if>
|
||||
@@ -431,7 +430,6 @@
|
||||
<include name="IDR_WEBRTC_LOGS_JS" file="resources\media\webrtc_logs.js" type="BINDATA" />
|
||||
<include name="IDR_WEBSTORE_MANIFEST" file="resources\webstore_app\manifest.json" type="BINDATA" />
|
||||
<include name="IDR_CRYPTOTOKEN_MANIFEST" file="resources\cryptotoken\manifest.json" type="BINDATA" />
|
||||
- <include name="IDR_GAIA_AUTH_MANIFEST" file="resources\gaia_auth\manifest.json" type="BINDATA" />
|
||||
|
@ -70,8 +70,8 @@ diff --git a/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc b/ch
|
|||
diff --git a/chrome/browser/resources/component_extension_resources.grd b/chrome/browser/resources/component_extension_resources.grd
|
||||
--- a/chrome/browser/resources/component_extension_resources.grd
|
||||
+++ b/chrome/browser/resources/component_extension_resources.grd
|
||||
@@ -40,8 +40,6 @@
|
||||
<include name="IDR_BOOKMARK_MANAGER_BOOKMARK_BMM_JS" file="bookmark_manager/js/bmm.js" type="BINDATA" />
|
||||
@@ -32,8 +32,6 @@
|
||||
|
||||
<!-- Material Design Bookmarks -->
|
||||
<include name="IDR_COMPONENT_MD_BOOKMARKS_BOOKMARKS_HTML" file="md_bookmarks/bookmarks.html" type="BINDATA" />
|
||||
- <!-- Gaia auth extension -->
|
|
@ -10,11 +10,10 @@ Adds a menu item under "More tools" to clear the HTTP authentication cache on de
|
|||
chrome/browser/ui/toolbar/app_menu_model.cc | 8 ++++++++
|
||||
chrome/browser/ui/toolbar/app_menu_model.h | 1 +
|
||||
chrome/browser/ui/views/frame/global_menu_bar_x11.cc | 1 +
|
||||
net/http/http_auth_cache.cc | 4 ++++
|
||||
net/http/http_auth_cache.h | 2 ++
|
||||
net/http/http_auth_cache.cc | 1 +
|
||||
tools/metrics/histograms/enums.xml | 1 +
|
||||
tools/metrics/histograms/histograms.xml | 1 +
|
||||
10 files changed, 32 insertions(+)
|
||||
9 files changed, 27 insertions(+)
|
||||
|
||||
diff --git a/chrome/app/chrome_command_ids.h b/chrome/app/chrome_command_ids.h
|
||||
--- a/chrome/app/chrome_command_ids.h
|
||||
|
@ -30,7 +29,7 @@ diff --git a/chrome/app/chrome_command_ids.h b/chrome/app/chrome_command_ids.h
|
|||
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
|
||||
--- a/chrome/app/generated_resources.grd
|
||||
+++ b/chrome/app/generated_resources.grd
|
||||
@@ -1053,6 +1053,9 @@ are declared in build/common.gypi.
|
||||
@@ -1058,6 +1058,9 @@ are declared in build/common.gypi.
|
||||
<message name="IDS_CLEAR_BROWSING_DATA" desc="The text label for the menu item for clearing of browsing data">
|
||||
&Clear browsing data...
|
||||
</message>
|
||||
|
@ -40,7 +39,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
|||
<message name="IDS_SHOW_DOWNLOADS" desc="The show downloads menu in the app menu">
|
||||
&Downloads
|
||||
</message>
|
||||
@@ -1091,6 +1094,9 @@ are declared in build/common.gypi.
|
||||
@@ -1096,6 +1099,9 @@ are declared in build/common.gypi.
|
||||
<message name="IDS_CLEAR_BROWSING_DATA" desc="In Title Case: The text label for the menu item for clearing of browsing data">
|
||||
&Clear Browsing Data...
|
||||
</message>
|
||||
|
@ -53,7 +52,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
|||
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
|
||||
--- a/chrome/browser/ui/browser_command_controller.cc
|
||||
+++ b/chrome/browser/ui/browser_command_controller.cc
|
||||
@@ -60,6 +60,9 @@
|
||||
@@ -61,6 +61,9 @@
|
||||
#include "extensions/browser/extension_system.h"
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "ui/events/keycodes/keyboard_codes.h"
|
||||
|
@ -63,17 +62,17 @@ diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui
|
|||
|
||||
#if defined(OS_MACOSX)
|
||||
#include "chrome/browser/ui/browser_commands_mac.h"
|
||||
@@ -629,6 +632,9 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
|
||||
@@ -630,6 +633,9 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
|
||||
case IDC_CLEAR_BROWSING_DATA:
|
||||
ShowClearBrowsingDataDialog(browser_);
|
||||
break;
|
||||
+ case IDC_CLEAR_HTTP_AUTH_CACHE:
|
||||
+ profile()->GetRequestContext()->GetURLRequestContext()->http_transaction_factory()->GetSession()->http_auth_cache()->Clear();
|
||||
+ profile()->GetRequestContext()->GetURLRequestContext()->http_transaction_factory()->GetSession()->http_auth_cache()->ClearAllEntries();
|
||||
+ break;
|
||||
case IDC_IMPORT_SETTINGS:
|
||||
ShowImportDialog(browser_);
|
||||
break;
|
||||
@@ -871,6 +877,7 @@ void BrowserCommandController::InitCommandState() {
|
||||
@@ -874,6 +880,7 @@ void BrowserCommandController::InitCommandState() {
|
||||
!profile()->IsOffTheRecord());
|
||||
command_updater_.UpdateCommandEnabled(IDC_CLEAR_BROWSING_DATA,
|
||||
!guest_session);
|
||||
|
@ -131,33 +130,18 @@ diff --git a/chrome/browser/ui/views/frame/global_menu_bar_x11.cc b/chrome/brows
|
|||
diff --git a/net/http/http_auth_cache.cc b/net/http/http_auth_cache.cc
|
||||
--- a/net/http/http_auth_cache.cc
|
||||
+++ b/net/http/http_auth_cache.cc
|
||||
@@ -250,6 +250,10 @@ bool HttpAuthCache::Remove(const GURL& origin,
|
||||
@@ -250,6 +250,7 @@ bool HttpAuthCache::Remove(const GURL& origin,
|
||||
return false;
|
||||
}
|
||||
}
|
||||
+
|
||||
return false;
|
||||
}
|
||||
|
||||
+void HttpAuthCache::Clear() {
|
||||
+ entries_.clear();
|
||||
+}
|
||||
+
|
||||
void HttpAuthCache::ClearEntriesAddedWithin(base::TimeDelta duration) {
|
||||
base::TimeTicks begin_time = base::TimeTicks::Now() - duration;
|
||||
base::EraseIf(entries_, [begin_time](const Entry& entry) {
|
||||
diff --git a/net/http/http_auth_cache.h b/net/http/http_auth_cache.h
|
||||
--- a/net/http/http_auth_cache.h
|
||||
+++ b/net/http/http_auth_cache.h
|
||||
@@ -166,6 +166,8 @@ class NET_EXPORT HttpAuthCache {
|
||||
HttpAuth::Scheme scheme,
|
||||
const AuthCredentials& credentials);
|
||||
|
||||
+ void Clear();
|
||||
+
|
||||
// Clears cache entries created within |duration| of base::TimeTicks::Now().
|
||||
void ClearEntriesAddedWithin(base::TimeDelta duration);
|
||||
|
||||
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
|
||||
--- a/tools/metrics/histograms/enums.xml
|
||||
+++ b/tools/metrics/histograms/enums.xml
|
||||
@@ -48315,6 +48315,7 @@ Full version information for the fingerprint enum values:
|
||||
@@ -49525,6 +49525,7 @@ Full version information for the fingerprint enum values:
|
||||
<int value="48" label="Open in Chrome"/>
|
||||
<int value="49" label="Site Settings"/>
|
||||
<int value="50" label="App Info"/>
|
||||
|
@ -168,7 +152,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums
|
|||
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
|
||||
--- a/tools/metrics/histograms/histograms.xml
|
||||
+++ b/tools/metrics/histograms/histograms.xml
|
||||
@@ -107956,6 +107956,7 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
|
||||
@@ -111319,6 +111319,7 @@ uploading your change for review.
|
||||
<suffix name="Overestimate"
|
||||
label="Tracks when the compositor's estimates were too high and by how
|
||||
much."/>
|
|
@ -15,8 +15,8 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
|
|||
|
||||
// Increment this if you change the data in ways that mean users with
|
||||
// existing data should get a new version.
|
||||
- "kCurrentDataVersion": 100
|
||||
+ "kCurrentDataVersion": 101
|
||||
- "kCurrentDataVersion": 102
|
||||
+ "kCurrentDataVersion": 103
|
||||
},
|
||||
|
||||
// The following engines are included in country lists and are added to the
|
|
@ -17,8 +17,8 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
|
|||
|
||||
// Increment this if you change the data in ways that mean users with
|
||||
// existing data should get a new version.
|
||||
- "kCurrentDataVersion": 101
|
||||
+ "kCurrentDataVersion": 102
|
||||
- "kCurrentDataVersion": 103
|
||||
+ "kCurrentDataVersion": 104
|
||||
},
|
||||
|
||||
// The following engines are included in country lists and are added to the
|
|
@ -15,8 +15,8 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
|
|||
|
||||
// Increment this if you change the data in ways that mean users with
|
||||
// existing data should get a new version.
|
||||
- "kCurrentDataVersion": 102
|
||||
+ "kCurrentDataVersion": 103
|
||||
- "kCurrentDataVersion": 104
|
||||
+ "kCurrentDataVersion": 105
|
||||
},
|
||||
|
||||
// The following engines are included in country lists and are added to the
|
|
@ -0,0 +1,61 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 28 Oct 2017 10:09:41 +0200
|
||||
Subject: Cure AMP and tracking from search results
|
||||
|
||||
---
|
||||
third_party/blink/renderer/core/dom/BUILD.gn | 1 +
|
||||
third_party/blink/renderer/core/dom/document.cc | 20 +++++++++++++++++++-
|
||||
2 files changed, 20 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/dom/BUILD.gn b/third_party/blink/renderer/core/dom/BUILD.gn
|
||||
--- a/third_party/blink/renderer/core/dom/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/core/dom/BUILD.gn
|
||||
@@ -147,6 +147,7 @@ blink_core_sources("dom") {
|
||||
"events/tree_scope_event_context.h",
|
||||
"events/window_event_context.cc",
|
||||
"events/window_event_context.h",
|
||||
+ "extensions/dont-track-me.h",
|
||||
"exception_code.h",
|
||||
"first_letter_pseudo_element.cc",
|
||||
"first_letter_pseudo_element.h",
|
||||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -277,6 +277,8 @@
|
||||
#include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/time.h"
|
||||
|
||||
+#include "extensions/anti_amp_cure.h"
|
||||
+
|
||||
#ifndef NDEBUG
|
||||
using WeakDocumentSet =
|
||||
blink::PersistentHeapHashSet<blink::WeakMember<blink::Document>>;
|
||||
@@ -5882,8 +5884,24 @@ void Document::FinishedParsing() {
|
||||
fetcher_->ClearResourcesFromPreviousFetcher();
|
||||
}
|
||||
|
||||
- if (IsPrefetchOnly())
|
||||
+ if (IsPrefetchOnly()) {
|
||||
WebPrerenderingSupport::Current()->PrefetchFinished();
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // determine whether this is a Google search results page
|
||||
+ const SecurityOrigin *origin = GetSecurityOrigin();
|
||||
+ if (origin) {
|
||||
+ WTF::String domain = origin->Domain();
|
||||
+ size_t pos = domain.Find(".google.");
|
||||
+ auto* bodyElement = body();
|
||||
+ if (bodyElement && (pos != WTF::kNotFound) && (domain.length() - pos - 8 < 4)) {
|
||||
+ LOG(INFO) << "injecting anti-AMP-cure Javascript payload";
|
||||
+ HTMLScriptElement* e = HTMLScriptElement::Create(*this, CreateElementFlags());
|
||||
+ e->setText(ANTI_AMP_CURE_JS);
|
||||
+ bodyElement->AppendChild(e);
|
||||
+ }
|
||||
+ }
|
||||
|
||||
FirstMeaningfulPaintDetector::From(*this).CheckNetworkStable();
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -5,11 +5,9 @@ Subject: Play videos in background
|
|||
Break Page Visibility API and Fullscreen API for youtube.com and vimeo.com
|
||||
Original Javascript code by timdream
|
||||
---
|
||||
third_party/blink/renderer/core/dom/BUILD.gn | 1 +
|
||||
third_party/blink/renderer/core/dom/document.cc | 17 +++++++++++++----
|
||||
.../blink/renderer/core/dom/extensions/video_bg_play.h | 6 ++++++
|
||||
3 files changed, 20 insertions(+), 4 deletions(-)
|
||||
create mode 100644 third_party/blink/renderer/core/dom/extensions/video_bg_play.h
|
||||
third_party/blink/renderer/core/dom/BUILD.gn | 1 +
|
||||
third_party/blink/renderer/core/dom/document.cc | 17 +++++++++++++----
|
||||
2 files changed, 14 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/dom/BUILD.gn b/third_party/blink/renderer/core/dom/BUILD.gn
|
||||
--- a/third_party/blink/renderer/core/dom/BUILD.gn
|
||||
|
@ -25,15 +23,15 @@ diff --git a/third_party/blink/renderer/core/dom/BUILD.gn b/third_party/blink/re
|
|||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -221,6 +221,7 @@
|
||||
@@ -222,6 +222,7 @@
|
||||
#include "third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.h"
|
||||
#include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
|
||||
#include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h"
|
||||
+#include "extensions/video_bg_play.h"
|
||||
#include "third_party/blink/renderer/core/paint/compositing/paint_layer_compositor.h"
|
||||
#include "third_party/blink/renderer/core/paint/first_meaningful_paint_detector.h"
|
||||
#include "third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h"
|
||||
#include "third_party/blink/renderer/core/policy/document_policy.h"
|
||||
@@ -5848,17 +5849,25 @@ void Document::FinishedParsing() {
|
||||
@@ -5891,17 +5892,25 @@ void Document::FinishedParsing() {
|
||||
|
||||
// determine whether this is a Google search results page
|
||||
const SecurityOrigin *origin = GetSecurityOrigin();
|
||||
|
@ -60,20 +58,9 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
|||
+ bodyElement->AppendChild(e);
|
||||
+ }
|
||||
+ } // has origin and body element
|
||||
}
|
||||
|
||||
void Document::ElementDataCacheClearTimerFired(TimerBase*) {
|
||||
diff --git a/third_party/blink/renderer/core/dom/extensions/video_bg_play.h b/third_party/blink/renderer/core/dom/extensions/video_bg_play.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/third_party/blink/renderer/core/dom/extensions/video_bg_play.h
|
||||
@@ -0,0 +1,6 @@
|
||||
+#ifndef video_bg_play_h
|
||||
+#define video_bg_play_h
|
||||
+
|
||||
+#define VIDEO_BG_PLAY_JS "'use strict';\n\n/* video background play fix - original version by timdream */\ndocument.videoBGFix = {};\n\n// Page Visibility API\nObject.defineProperties(document.videoBGFix,\n { 'hidden': {value: false}, 'visibilityState': {value: 'visible'} });\n\nwindow.addEventListener(\n 'visibilitychange', evt => evt.stopImmediatePropagation(), true);\nwindow.addEventListener(\n 'blur', evt => evt.stopImmediatePropagation(), true);\n\n// Fullscreen API\nwindow.addEventListener('fullscreenchange', evt => {\n Object.defineProperties(document.videoBGFix,\n { 'fullscreenEnabled': {value: true},\n 'fullscreen': {value: true},\n 'fullscreenElement': {value: document.fullscreenElement.videoBGFix}});\n window.addEventListener(\n 'fullscreenchange', evt => evt.stopImmediatePropagation(), true);\n}, { capture: true, once: true });\n"
|
||||
+
|
||||
+#endif // video_bg_play_h
|
||||
FirstMeaningfulPaintDetector::From(*this).CheckNetworkStable();
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -10,7 +10,7 @@ Subject: Allow playing audio in background
|
|||
diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
|
||||
--- a/media/blink/webmediaplayer_impl.cc
|
||||
+++ b/media/blink/webmediaplayer_impl.cc
|
||||
@@ -853,6 +853,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
|
||||
@@ -871,6 +871,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
|
||||
return pipeline_metadata_.has_audio;
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
|
|||
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
|
||||
const blink::WebVector<blink::WebMediaPlayer::TrackId>& enabledTrackIds) {
|
||||
DCHECK(main_task_runner_->BelongsToCurrentThread());
|
||||
@@ -2877,7 +2883,10 @@ bool WebMediaPlayerImpl::ShouldPauseVideoWhenHidden() const {
|
||||
@@ -2940,7 +2946,10 @@ bool WebMediaPlayerImpl::ShouldPauseVideoWhenHidden() const {
|
||||
// If suspending background video, pause any video that's not remoted or
|
||||
// not unlocked to play in the background.
|
||||
if (IsBackgroundedSuspendEnabled()) {
|
||||
|
@ -38,7 +38,7 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
|
|||
diff --git a/media/blink/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl.h
|
||||
--- a/media/blink/webmediaplayer_impl.h
|
||||
+++ b/media/blink/webmediaplayer_impl.h
|
||||
@@ -155,6 +155,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
|
||||
@@ -159,6 +159,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
|
||||
// True if the loaded media has a playable video/audio track.
|
||||
bool HasVideo() const override;
|
||||
bool HasAudio() const override;
|
|
@ -9,7 +9,7 @@ Subject: Open YouTube links in Bromite
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
|
||||
@@ -357,6 +357,13 @@ public class ExternalNavigationHandler {
|
||||
@@ -363,6 +363,13 @@ public class ExternalNavigationHandler {
|
||||
return OverrideUrlLoadingResult.NO_OVERRIDE;
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
From: Serg <serg.zhukovsky@gmail.com>
|
||||
Date: Tue, 31 Jan 2017 22:12:27 -0500
|
||||
Subject: Added exit menu item
|
||||
Subject: Add exit menu item
|
||||
|
||||
---
|
||||
chrome/android/java/res/menu/main_menu.xml | 2 ++
|
||||
|
@ -23,7 +23,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
@@ -1951,6 +1951,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -1986,6 +1986,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
RecordUserAction.record("MobileMenuSettings");
|
||||
} else if (id == R.id.show_menu) {
|
||||
showAppMenuForKeyboardEvent();
|
||||
|
@ -35,7 +35,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
|
|||
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
--- a/chrome/android/java/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
@@ -2563,6 +2563,9 @@ Google may use your browsing activity, content on some sites you visit, and othe
|
||||
@@ -2678,6 +2678,9 @@ To obtain new licenses, connect to the internet and play your downloaded content
|
||||
<message name="IDS_MENU_PREFERENCES" desc="Menu item for opening browser preferences. [CHAR-LIMIT=27]">
|
||||
Settings
|
||||
</message>
|
|
@ -12,7 +12,7 @@ Subject: Remove help menu item
|
|||
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
|
||||
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||
@@ -98,8 +98,6 @@
|
||||
@@ -74,8 +74,6 @@
|
||||
android:icon="@drawable/reader_mode_prefs_icon" />
|
||||
<item android:id="@+id/preferences_id"
|
||||
android:title="@string/menu_preferences" />
|
||||
|
@ -24,7 +24,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
@@ -1975,15 +1975,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -2010,15 +2010,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
|
||||
final Tab currentTab = getActivityTab();
|
||||
|
||||
|
@ -56,7 +56,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
|
||||
@@ -1016,7 +1016,7 @@ public class CustomTabActivity extends ChromeActivity {
|
||||
@@ -1038,7 +1038,7 @@ public class CustomTabActivity extends ChromeActivity {
|
||||
public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) {
|
||||
// Disable creating new tabs, bookmark, history, print, help, focus_url, etc.
|
||||
if (id == R.id.focus_url_bar || id == R.id.all_bookmarks_menu_id
|
|
@ -75,7 +75,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
@@ -2054,6 +2054,14 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -2079,6 +2079,14 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
final boolean usingDesktopUserAgent = currentTab.getUseDesktopUserAgent();
|
||||
currentTab.setUseDesktopUserAgent(!usingDesktopUserAgent, reloadOnChange);
|
||||
RecordUserAction.record("MobileMenuRequestDesktopSite");
|
||||
|
@ -93,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -1710,6 +1710,14 @@ public class ChromeTabbedActivity
|
||||
@@ -1644,6 +1644,14 @@ public class ChromeTabbedActivity
|
||||
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
|
||||
}
|
||||
RecordUserAction.record("MobileMenuDownloadManager");
|
||||
|
@ -111,7 +111,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
@@ -214,6 +214,8 @@ public class AppMenuPropertiesDelegate {
|
||||
@@ -192,6 +192,8 @@ public class AppMenuPropertiesDelegate {
|
||||
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
|
||||
|
||||
|
@ -120,9 +120,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
|
|||
// Only display reader mode settings menu option if the current page is in reader mode.
|
||||
menu.findItem(R.id.reader_mode_prefs_id)
|
||||
.setVisible(DomDistillerUrlUtils.isDistilledPage(currentTab.getUrl()));
|
||||
@@ -469,4 +471,39 @@ public class AppMenuPropertiesDelegate {
|
||||
|
||||
return chromeHomeMenuItemFlagEnabled && !sHideChromeHomeMenuItems;
|
||||
@@ -412,4 +414,39 @@ public class AppMenuPropertiesDelegate {
|
||||
? mActivity.getString(R.string.menu_request_desktop_site_on)
|
||||
: mActivity.getString(R.string.menu_request_desktop_site_off));
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
|
@ -174,7 +174,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
|||
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
--- a/chrome/android/java/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
@@ -2548,6 +2548,17 @@ Google may use your browsing activity, content on some sites you visit, and othe
|
||||
@@ -2663,6 +2663,17 @@ To obtain new licenses, connect to the internet and play your downloaded content
|
||||
<message name="IDS_MENU_FIND_IN_PAGE" desc="Menu item allowing users to find text within the current page. [CHAR-LIMIT=27]">
|
||||
Find in page
|
||||
</message>
|
|
@ -14,7 +14,7 @@ Subject: url_request: hooks and ad url data
|
|||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -1756,6 +1756,8 @@ component("net") {
|
||||
@@ -1734,6 +1734,8 @@ component("net") {
|
||||
"url_request/url_fetcher_response_writer.h",
|
||||
"url_request/url_range_request_job.cc",
|
||||
"url_request/url_range_request_job.h",
|
|
@ -6,23 +6,225 @@ Ported from NoChromo patch
|
|||
Make interception testable
|
||||
Add domain support
|
||||
Re-land: third-party filters support
|
||||
|
||||
Add menu option to toggle global Adblock preference
|
||||
|
||||
Allow toggling Chromium's "ads enabled" content settings option together with Bromite adblock engine.
|
||||
|
||||
Perform adblock interception in StartJob to address lagging issues
|
||||
---
|
||||
net/BUILD.gn | 9 +-
|
||||
net/url_request/adblock_intercept.cc | 324 ++++++++++++++++++++++++++++++++++
|
||||
net/url_request/adblock_intercept.h | 16 ++
|
||||
net/url_request/nochromo_intercept.cc | 116 ------------
|
||||
net/url_request/nochromo_intercept.h | 13 --
|
||||
net/url_request/url_request.cc | 19 +-
|
||||
6 files changed, 364 insertions(+), 133 deletions(-)
|
||||
chrome/android/java/res/menu/custom_tabs_menu.xml | 12 +
|
||||
chrome/android/java/res/menu/main_menu.xml | 11 +
|
||||
.../chromium/chrome/browser/ChromeActivity.java | 8 +
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 8 +
|
||||
.../browser/appmenu/AppMenuPropertiesDelegate.java | 38 +++
|
||||
.../CustomTabAppMenuPropertiesDelegate.java | 2 +
|
||||
.../java/strings/android_chrome_strings.grd | 11 +
|
||||
.../subresource_filter_content_settings_manager.cc | 3 +
|
||||
net/BUILD.gn | 9 +-
|
||||
net/url_request/adblock_intercept.cc | 326 +++++++++++++++++++++
|
||||
net/url_request/adblock_intercept.h | 18 ++
|
||||
net/url_request/nochromo_intercept.cc | 116 --------
|
||||
net/url_request/nochromo_intercept.h | 13 -
|
||||
net/url_request/url_request.cc | 36 ++-
|
||||
14 files changed, 477 insertions(+), 134 deletions(-)
|
||||
create mode 100644 net/url_request/adblock_intercept.cc
|
||||
create mode 100644 net/url_request/adblock_intercept.h
|
||||
delete mode 100644 net/url_request/nochromo_intercept.cc
|
||||
delete mode 100644 net/url_request/nochromo_intercept.h
|
||||
|
||||
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
@@ -74,6 +74,18 @@
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
+ <item android:id="@+id/enable_adblock_row_menu_id"
|
||||
+ android:title="@null"
|
||||
+ android:orderInCategory="2">
|
||||
+ <menu>
|
||||
+ <item android:id="@+id/enable_adblock_id"
|
||||
+ android:title="@string/menu_enable_adblock" />
|
||||
+ <item android:id="@+id/enable_adblock_check_id"
|
||||
+ android:title="@null"
|
||||
+ android:checkable="true" />
|
||||
+ </menu>
|
||||
+ </item>
|
||||
+
|
||||
<!-- Title is intentionally left blank in xml and will be set in java. -->
|
||||
<item android:id="@+id/open_in_browser_id"
|
||||
android:title=""
|
||||
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
|
||||
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||
@@ -82,6 +82,17 @@
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
+ <item android:id="@+id/enable_adblock_row_menu_id"
|
||||
+ android:title="@null">
|
||||
+ <menu>
|
||||
+ <item android:id="@+id/enable_adblock_id"
|
||||
+ android:title="@string/menu_enable_adblock" />
|
||||
+ <item android:id="@+id/enable_adblock_check_id"
|
||||
+ android:title="@null"
|
||||
+ android:checkable="true" />
|
||||
+ </menu>
|
||||
+ </item>
|
||||
+
|
||||
<item android:id="@+id/reader_mode_prefs_id"
|
||||
android:title="@string/menu_reader_mode_prefs"
|
||||
android:icon="@drawable/reader_mode_prefs_icon" />
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
@@ -2089,6 +2089,14 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
RecordUserAction.record("MobileMenuRequestEnableJavascript");
|
||||
} else if (id == R.id.reader_mode_prefs_id) {
|
||||
DomDistillerUIUtils.openSettings(currentTab.getWebContents());
|
||||
+ } else if (id == R.id.enable_adblock_id || id == R.id.enable_adblock_check_id) {
|
||||
+ final boolean reloadOnChange = !currentTab.isNativePage();
|
||||
+ final boolean adBlockEnabled = !PrefServiceBridge.getInstance().adsEnabled();
|
||||
+ PrefServiceBridge.getInstance().setAllowAdsEnabled(adBlockEnabled);
|
||||
+ if (reloadOnChange) {
|
||||
+ currentTab.reload();
|
||||
+ }
|
||||
+ RecordUserAction.record("MobileMenuRequestEnableAdBlock");
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -1658,6 +1658,14 @@ public class ChromeTabbedActivity
|
||||
RecordUserAction.record("MobileTabClosedUndoShortCut");
|
||||
} else if (id == R.id.enter_vr_id) {
|
||||
VrShellDelegate.enterVrIfNecessary();
|
||||
+ } else if (id == R.id.enable_adblock_id || id == R.id.enable_adblock_check_id) {
|
||||
+ final boolean reloadOnChange = !currentTab.isNativePage();
|
||||
+ final boolean adBlockEnabled = !PrefServiceBridge.getInstance().adsEnabled();
|
||||
+ PrefServiceBridge.getInstance().setAllowAdsEnabled(adBlockEnabled);
|
||||
+ if (reloadOnChange) {
|
||||
+ currentTab.reload();
|
||||
+ }
|
||||
+ RecordUserAction.record("MobileMenuRequestEnableAdBlock");
|
||||
} else {
|
||||
return super.onMenuOrKeyboardAction(id, fromMenu);
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
@@ -190,6 +190,8 @@ public class AppMenuPropertiesDelegate {
|
||||
&& !TextUtils.isEmpty(url);
|
||||
prepareAddToHomescreenMenuItem(menu, currentTab, canShowHomeScreenMenuItem);
|
||||
|
||||
+ updateEnableAdBlockMenuItem(menu, currentTab);
|
||||
+
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
|
||||
|
||||
updateEnableJavascriptMenuItem(menu, currentTab);
|
||||
@@ -449,4 +451,40 @@ public class AppMenuPropertiesDelegate {
|
||||
? mActivity.getString(R.string.menu_enable_javascript_on)
|
||||
: mActivity.getString(R.string.menu_enable_javascript_off));
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
+ * Updates the enable AdBlock item's state.
|
||||
+ *
|
||||
+ * @param menu {@link Menu} for enable adblock
|
||||
+ * @param currentTab Current tab being displayed.
|
||||
+ */
|
||||
+ protected void updateEnableAdBlockMenuItem(
|
||||
+ Menu menu, Tab currentTab) {
|
||||
+ MenuItem enableMenuRow = menu.findItem(R.id.enable_adblock_row_menu_id);
|
||||
+ MenuItem enableMenuLabel = menu.findItem(R.id.enable_adblock_id);
|
||||
+ MenuItem enableMenuCheck = menu.findItem(R.id.enable_adblock_check_id);
|
||||
+
|
||||
+
|
||||
+ // Hide enable adblock on all chrome:// pages except for the NTP.
|
||||
+ String url = currentTab.getUrl();
|
||||
+ boolean isChromeScheme = url.startsWith(UrlConstants.CHROME_URL_PREFIX)
|
||||
+ || url.startsWith(UrlConstants.CHROME_NATIVE_URL_PREFIX);
|
||||
+ // Also hide enable javascsript on Reader Mode.
|
||||
+ boolean isDistilledPage = DomDistillerUrlUtils.isDistilledPage(url);
|
||||
+
|
||||
+ boolean itemVisible = (!isChromeScheme || currentTab.isNativePage()) && !isDistilledPage;
|
||||
+ enableMenuRow.setVisible(itemVisible);
|
||||
+ if (!itemVisible) return;
|
||||
+
|
||||
+ boolean adBlockEnabled = !PrefServiceBridge.getInstance().adsEnabled();
|
||||
+
|
||||
+ // Mark the checkbox if adblock is globally activate.
|
||||
+ enableMenuCheck.setChecked(adBlockEnabled);
|
||||
+
|
||||
+ // This title doesn't seem to be displayed by Android, but it is used to set up
|
||||
+ // accessibility text in {@link AppMenuAdapter#setupMenuButton}.
|
||||
+ enableMenuLabel.setTitleCondensed(adBlockEnabled
|
||||
+ ? mActivity.getString(R.string.menu_enable_adblock_on)
|
||||
+ : mActivity.getString(R.string.menu_enable_adblock_off));
|
||||
+ }
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
@@ -170,6 +170,8 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
}
|
||||
}
|
||||
|
||||
+ updateEnableAdBlockMenuItem(menu, currentTab);
|
||||
+
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, requestDesktopSiteVisible);
|
||||
updateEnableJavascriptMenuItem(menu, currentTab);
|
||||
prepareAddToHomescreenMenuItem(menu, currentTab, addToHomeScreenVisible);
|
||||
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
--- a/chrome/android/java/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
@@ -2683,6 +2683,17 @@ To obtain new licenses, connect to the internet and play your downloaded content
|
||||
<message name="IDS_MENU_REQUEST_DESKTOP_SITE_OFF" desc="Accessibility description for when Request Desktop Site is disabled.">
|
||||
Turn on Request desktop site
|
||||
</message>
|
||||
+
|
||||
+ <message name="IDS_MENU_ENABLE_ADBLOCK" desc="Menu item in Chrome's overflow/options menu. If this menu item is unselected, Bromite will disable AdBlock engine for the page. [CHAR-LIMIT=27]">
|
||||
+ Enable AdBlock
|
||||
+ </message>
|
||||
+ <message name="IDS_MENU_ENABLE_ADBLOCK_ON" desc="Accessibility description for when Enable AdBlock is selected.">
|
||||
+ Turn off AdBlock
|
||||
+ </message>
|
||||
+ <message name="IDS_MENU_ENABLE_ADBLOCK_OFF" desc="Accessibility description for when Enable AdBlock is unselected.">
|
||||
+ Turn on AdBlock
|
||||
+ </message>
|
||||
+
|
||||
<message name="IDS_MENU_READER_MODE_PREFS" desc="Menu item to show reader mode preferences pane, which allows users to change the appearance (font size, theme, etc.) of the page. [CHAR-LIMIT=27]">
|
||||
Appearance
|
||||
</message>
|
||||
diff --git a/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc b/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
|
||||
--- a/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
|
||||
+++ b/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "components/keyed_service/core/service_access_type.h"
|
||||
#include "components/subresource_filter/core/browser/subresource_filter_features.h"
|
||||
#include "url/gurl.h"
|
||||
+#include "net/url_request/adblock_intercept.h"
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -160,9 +161,11 @@ void SubresourceFilterContentSettingsManager::OnContentSettingChanged(
|
||||
if (global_setting == CONTENT_SETTING_ALLOW) {
|
||||
ChromeSubresourceFilterClient::LogAction(
|
||||
kActionContentSettingsAllowedGlobal);
|
||||
+ net::adblock_enabled = false;
|
||||
} else if (global_setting == CONTENT_SETTING_BLOCK) {
|
||||
ChromeSubresourceFilterClient::LogAction(
|
||||
kActionContentSettingsBlockedGlobal);
|
||||
+ net::adblock_enabled = true;
|
||||
} else {
|
||||
NOTREACHED();
|
||||
}
|
||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -1756,8 +1756,6 @@ component("net") {
|
||||
@@ -1734,8 +1734,6 @@ component("net") {
|
||||
"url_request/url_fetcher_response_writer.h",
|
||||
"url_request/url_range_request_job.cc",
|
||||
"url_request/url_range_request_job.h",
|
||||
|
@ -31,7 +233,7 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn
|
|||
"url_request/url_request.cc",
|
||||
"url_request/url_request.h",
|
||||
"url_request/url_request_context.cc",
|
||||
@@ -1815,6 +1813,13 @@ component("net") {
|
||||
@@ -1793,6 +1791,13 @@ component("net") {
|
||||
"//third_party/zlib",
|
||||
]
|
||||
|
||||
|
@ -49,7 +251,7 @@ diff --git a/net/url_request/adblock_intercept.cc b/net/url_request/adblock_inte
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/net/url_request/adblock_intercept.cc
|
||||
@@ -0,0 +1,324 @@
|
||||
@@ -0,0 +1,326 @@
|
||||
+#include "url/gurl.h"
|
||||
+
|
||||
+#ifdef ADB_TESTER
|
||||
|
@ -71,6 +273,8 @@ new file mode 100644
|
|||
+
|
||||
+namespace net {
|
||||
+
|
||||
+bool adblock_enabled = true;
|
||||
+
|
||||
+const char *LOG_TAG = "Bromite";
|
||||
+
|
||||
+#ifdef ADB_TESTER
|
||||
|
@ -378,7 +582,7 @@ diff --git a/net/url_request/adblock_intercept.h b/net/url_request/adblock_inter
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/net/url_request/adblock_intercept.h
|
||||
@@ -0,0 +1,16 @@
|
||||
@@ -0,0 +1,18 @@
|
||||
+#ifndef NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
|
||||
+#define NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
|
||||
+
|
||||
|
@ -392,6 +596,8 @@ new file mode 100644
|
|||
+
|
||||
+int adblock_intercept(const GURL &url, const std::string &origin_host);
|
||||
+
|
||||
+extern bool adblock_enabled;
|
||||
+
|
||||
+} // namespace net
|
||||
+
|
||||
+#endif // NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
|
||||
|
@ -549,36 +755,52 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
|||
|
||||
#if BUILDFLAG(ENABLE_REPORTING)
|
||||
#include "net/network_error_logging/network_error_logging_service.h"
|
||||
@@ -559,7 +561,9 @@ URLRequest::URLRequest(const GURL& url,
|
||||
: context->network_delegate()),
|
||||
net_log_(NetLogWithSource::Make(context->net_log(),
|
||||
NetLogSourceType::URL_REQUEST)),
|
||||
+#if !defined(OS_ANDROID)
|
||||
url_chain_(1, url),
|
||||
+#endif
|
||||
attach_same_site_cookies_(false),
|
||||
method_("GET"),
|
||||
referrer_policy_(CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE),
|
||||
@@ -585,7 +589,18 @@ URLRequest::URLRequest(const GURL& url,
|
||||
@@ -585,8 +587,6 @@ URLRequest::URLRequest(const GURL& url,
|
||||
// Sanity check out environment.
|
||||
DCHECK(base::ThreadTaskRunnerHandle::IsSet());
|
||||
|
||||
- if (nochromo_intercept(url)) url_chain_.push_back(nochromo_intercepted);
|
||||
+#if defined(OS_ANDROID)
|
||||
+ std::string initiatorHost;
|
||||
+ if (initiator_.has_value()) {
|
||||
+ initiatorHost = initiator_.value().host();
|
||||
+ }
|
||||
+
|
||||
+ if (adblock_intercept(url, initiatorHost)) {
|
||||
+ url_chain_ = { url, GURL("http://127.0.0.1") };
|
||||
+ } else {
|
||||
+ url_chain_ = { url };
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
-
|
||||
context->url_requests()->insert(this);
|
||||
net_log_.BeginEvent(
|
||||
NetLogEventType::REQUEST_ALIVE,
|
||||
@@ -665,6 +665,36 @@ void URLRequest::StartJob(URLRequestJob* job) {
|
||||
}
|
||||
}
|
||||
|
||||
+#if defined(OS_ANDROID)
|
||||
+ if (net::adblock_enabled) {
|
||||
+ std::string initiatorHost;
|
||||
+ if (initiator_.has_value()) {
|
||||
+ initiatorHost = initiator_.value().host();
|
||||
+ }
|
||||
+
|
||||
+ if (adblock_intercept(url(), initiatorHost)) {
|
||||
+ std::string source("delegate");
|
||||
+ net_log_.AddEvent(NetLogEventType::CANCELLED,
|
||||
+ NetLog::StringCallback("source", &source));
|
||||
+
|
||||
+ job_.reset(new URLRequestErrorJob(
|
||||
+ this, network_delegate_, ERR_BLOCKED_BY_CLIENT));
|
||||
+
|
||||
+ job_->SetExtraRequestHeaders(extra_request_headers_);
|
||||
+ job_->SetPriority(priority_);
|
||||
+ job_->SetRequestHeadersCallback(request_headers_callback_);
|
||||
+ job_->SetResponseHeadersCallback(response_headers_callback_);
|
||||
+
|
||||
+ if (upload_data_stream_.get())
|
||||
+ job_->SetUpload(upload_data_stream_.get());
|
||||
+
|
||||
+ // on fallthrough the initial status will be ERR_IO_PENDING,
|
||||
+ // but the URLRequestErrorJob will then call NotifyResponseStarted
|
||||
+ // with the correct ERR_BLOCKED_BYCLIENT status
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
// Start() always completes asynchronously.
|
||||
//
|
||||
// Status is generally set by URLRequestJob itself, but Start() calls
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -1,130 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Fri, 30 Mar 2018 10:09:03 +0200
|
||||
Subject: Add fingerprinting mitigation for getClientRects,
|
||||
getBoundingClientRect
|
||||
|
||||
Scale the result of Range::getClientRects and Element::getBoundingClientRect
|
||||
by a random +/-3% of the original value for each float in the Rect/Quad.
|
||||
The random value is generated once for each Document and re-used for all the
|
||||
attached elements.
|
||||
The rationale is that such value, albeit constant within the rendered Document,
|
||||
is within the same order of magniture of the floating point precision being
|
||||
used for fingerprinting and sufficient to poison the well.
|
||||
|
||||
See also: http://www.gsd.inesc-id.pt/~mpc/pubs/fingerprinting-trustcom2016.pdf
|
||||
---
|
||||
third_party/blink/renderer/core/dom/document.cc | 14 ++++++++++++++
|
||||
third_party/blink/renderer/core/dom/document.h | 5 +++++
|
||||
third_party/blink/renderer/core/dom/element.cc | 7 +++++++
|
||||
third_party/blink/renderer/core/dom/range.cc | 8 +++++++-
|
||||
4 files changed, 33 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -279,6 +279,8 @@
|
||||
|
||||
#include "extensions/anti_amp_cure.h"
|
||||
|
||||
+#include "base/rand_util.h"
|
||||
+
|
||||
#ifndef NDEBUG
|
||||
using WeakDocumentSet =
|
||||
blink::PersistentHeapHashSet<blink::WeakMember<blink::Document>>;
|
||||
@@ -740,6 +742,10 @@ Document::Document(const DocumentInit& initializer,
|
||||
#ifndef NDEBUG
|
||||
liveDocumentSet().insert(this);
|
||||
#endif
|
||||
+
|
||||
+ // add +/- 3% noise against fingerprinting
|
||||
+ shuffleFactorX_ = 1 + (base::RandDouble() - 0.5) * 0.03;
|
||||
+ shuffleFactorY_ = 1 + (base::RandDouble() - 0.5) * 0.03;
|
||||
}
|
||||
|
||||
Document::~Document() {
|
||||
@@ -766,6 +772,14 @@ Range* Document::CreateRangeAdjustedToTreeScope(const TreeScope& tree_scope,
|
||||
Position::BeforeNode(*shadow_host));
|
||||
}
|
||||
|
||||
+double Document::GetShuffleFactorX() {
|
||||
+ return shuffleFactorX_;
|
||||
+}
|
||||
+
|
||||
+double Document::GetShuffleFactorY() {
|
||||
+ return shuffleFactorY_;
|
||||
+}
|
||||
+
|
||||
SelectorQueryCache& Document::GetSelectorQueryCache() {
|
||||
if (!selector_query_cache_)
|
||||
selector_query_cache_ = std::make_unique<SelectorQueryCache>();
|
||||
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
|
||||
--- a/third_party/blink/renderer/core/dom/document.h
|
||||
+++ b/third_party/blink/renderer/core/dom/document.h
|
||||
@@ -408,6 +408,9 @@ class CORE_EXPORT Document : public ContainerNode,
|
||||
|
||||
String origin() const;
|
||||
|
||||
+ double GetShuffleFactorX();
|
||||
+ double GetShuffleFactorY();
|
||||
+
|
||||
String visibilityState() const;
|
||||
mojom::PageVisibilityState GetPageVisibilityState() const;
|
||||
bool hidden() const;
|
||||
@@ -1670,6 +1673,8 @@ class CORE_EXPORT Document : public ContainerNode,
|
||||
|
||||
double start_time_;
|
||||
|
||||
+ double shuffleFactorX_, shuffleFactorY_;
|
||||
+
|
||||
TraceWrapperMember<ScriptRunner> script_runner_;
|
||||
|
||||
HeapVector<Member<ScriptElementBase>> current_script_stack_;
|
||||
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
|
||||
--- a/third_party/blink/renderer/core/dom/element.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/element.cc
|
||||
@@ -1348,6 +1348,11 @@ DOMRectList* Element::getClientRects() {
|
||||
DCHECK(element_layout_object);
|
||||
GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
|
||||
quads, *element_layout_object);
|
||||
+
|
||||
+ for (FloatQuad& quad : quads) {
|
||||
+ quad.Scale(GetDocument().GetShuffleFactorX(), GetDocument().GetShuffleFactorY());
|
||||
+ }
|
||||
+
|
||||
return DOMRectList::Create(quads);
|
||||
}
|
||||
|
||||
@@ -1365,6 +1370,8 @@ DOMRect* Element::getBoundingClientRect() {
|
||||
DCHECK(element_layout_object);
|
||||
GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
|
||||
*element_layout_object);
|
||||
+ result.Scale(GetDocument().GetShuffleFactorX(), GetDocument().GetShuffleFactorY());
|
||||
+
|
||||
return DOMRect::FromFloatRect(result);
|
||||
}
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/renderer/core/dom/range.cc
|
||||
--- a/third_party/blink/renderer/core/dom/range.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/range.cc
|
||||
@@ -1575,11 +1575,17 @@ DOMRectList* Range::getClientRects() const {
|
||||
Vector<FloatQuad> quads;
|
||||
GetBorderAndTextQuads(quads);
|
||||
|
||||
+ for (FloatQuad& quad : quads) {
|
||||
+ quad.Scale(owner_document_->GetShuffleFactorX(), owner_document_->GetShuffleFactorY());
|
||||
+ }
|
||||
+
|
||||
return DOMRectList::Create(quads);
|
||||
}
|
||||
|
||||
DOMRect* Range::getBoundingClientRect() const {
|
||||
- return DOMRect::FromFloatRect(BoundingRect());
|
||||
+ auto rect = BoundingRect();
|
||||
+ rect.Scale(owner_document_->GetShuffleFactorX(), owner_document_->GetShuffleFactorY());
|
||||
+ return DOMRect::FromFloatRect(rect);
|
||||
}
|
||||
|
||||
// TODO(editing-dev): We should make
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -10,9 +10,9 @@ Remove device name and build id
|
|||
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
|
||||
--- a/content/common/user_agent.cc
|
||||
+++ b/content/common/user_agent.cc
|
||||
@@ -79,26 +79,6 @@ std::string BuildOSCpuInfo() {
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
@@ -60,26 +60,6 @@ std::string BuildOSCpuInfo() {
|
||||
}
|
||||
#elif defined(OS_ANDROID)
|
||||
std::string android_version_str = base::SysInfo::OperatingSystemVersion();
|
||||
-
|
||||
- std::string android_info_str;
|
||||
|
@ -34,10 +34,10 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
|
|||
- }
|
||||
- android_info_str += " Build/" + android_build_id;
|
||||
- }
|
||||
#endif
|
||||
|
||||
base::StringAppendF(
|
||||
@@ -121,9 +101,8 @@ std::string BuildOSCpuInfo() {
|
||||
#elif (defined(OS_POSIX) && !defined(OS_MACOSX)) || defined(OS_FUCHSIA)
|
||||
// Should work on any Posix system.
|
||||
struct utsname unixinfo;
|
||||
@@ -115,9 +95,8 @@ std::string BuildOSCpuInfo() {
|
||||
os_minor_version,
|
||||
os_bugfix_version
|
||||
#elif defined(OS_ANDROID)
|
||||
|
@ -46,9 +46,9 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
|
|||
- android_info_str.c_str()
|
||||
+ "Android %s",
|
||||
+ android_version_str.c_str()
|
||||
#else
|
||||
"%s %s",
|
||||
unixinfo.sysname, // e.g. Linux
|
||||
#elif defined(OS_POSIX) || defined(OS_FUCHSIA)
|
||||
"%s %s",
|
||||
unixinfo.sysname, // e.g. Linux
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -43,7 +43,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/thir
|
|||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
@@ -261,7 +261,7 @@ void AudioContext::StopRendering() {
|
||||
@@ -271,7 +271,7 @@ void AudioContext::StopRendering() {
|
||||
}
|
||||
|
||||
double AudioContext::baseLatency() const {
|
|
@ -1,84 +1,21 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 24 Mar 2018 05:18:03 +0100
|
||||
Subject: Canvas: fingerprinting mitigations for image data, font metrics and
|
||||
webGL
|
||||
Subject: Canvas: fingerprinting mitigations for image data and webGL
|
||||
|
||||
Disable webGL renderer info, add shuffling to TextMetrics.
|
||||
Additionally, the color data returned by ToBlob, ToDataURL and getImageData
|
||||
will contain randomly manipulated pixels (maximum 10) that slightly
|
||||
change the color of the R,G,B components without a visible effect.
|
||||
Disable webGL renderer info and modify the color data returned by ToBlob,
|
||||
ToDataURL and getImageData so that it will contain randomly manipulated
|
||||
pixels (maximum 10) that slightly change the color of the R,G,B components
|
||||
without a visible effect.
|
||||
|
||||
Credits to Slaviro (https://github.com/Slaviro) for coming up with a better
|
||||
approach to change color components.
|
||||
---
|
||||
.../renderer/core/html/canvas/text_metrics.cc | 20 +++
|
||||
.../blink/renderer/core/html/canvas/text_metrics.h | 2 +
|
||||
.../canvas/canvas2d/canvas_rendering_context_2d.cc | 6 +-
|
||||
.../modules/webgl/webgl_debug_renderer_info.cc | 4 +-
|
||||
.../platform/graphics/image_data_buffer.cc | 4 +
|
||||
.../platform/graphics/static_bitmap_image.cc | 151 +++++++++++++++++++++
|
||||
.../platform/graphics/image_data_buffer.cc | 5 +
|
||||
.../platform/graphics/static_bitmap_image.cc | 153 +++++++++++++++++++++
|
||||
.../platform/graphics/static_bitmap_image.h | 2 +
|
||||
7 files changed, 186 insertions(+), 3 deletions(-)
|
||||
4 files changed, 162 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
|
||||
--- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc
|
||||
+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
|
||||
@@ -47,6 +47,26 @@ float TextMetrics::GetFontBaseline(const TextBaseline& text_baseline,
|
||||
return 0;
|
||||
}
|
||||
|
||||
+void TextMetrics::Shuffle(const double amt) {
|
||||
+ double adjusted = 1 + amt;
|
||||
+
|
||||
+ // x-direction
|
||||
+ width_ *= adjusted;
|
||||
+ actual_bounding_box_left_ *= adjusted;
|
||||
+ actual_bounding_box_right_ *= adjusted;
|
||||
+
|
||||
+ // y-direction
|
||||
+ font_bounding_box_ascent_ *= adjusted;
|
||||
+ font_bounding_box_descent_ *= adjusted;
|
||||
+ actual_bounding_box_ascent_ *= adjusted;
|
||||
+ actual_bounding_box_descent_ *= adjusted;
|
||||
+ em_height_ascent_ *= adjusted;
|
||||
+ em_height_descent_ *= adjusted;
|
||||
+ hanging_baseline_ *= adjusted;
|
||||
+ alphabetic_baseline_ *= adjusted;
|
||||
+ ideographic_baseline_ *= adjusted;
|
||||
+}
|
||||
+
|
||||
void TextMetrics::Update(const Font& font,
|
||||
const TextDirection& direction,
|
||||
const TextBaseline& baseline,
|
||||
diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_party/blink/renderer/core/html/canvas/text_metrics.h
|
||||
--- a/third_party/blink/renderer/core/html/canvas/text_metrics.h
|
||||
+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.h
|
||||
@@ -67,6 +67,8 @@ class CORE_EXPORT TextMetrics final : public ScriptWrappable {
|
||||
|
||||
static float GetFontBaseline(const TextBaseline&, const FontMetrics&);
|
||||
|
||||
+ void Shuffle(const double amt);
|
||||
+
|
||||
private:
|
||||
void Update(const Font&,
|
||||
const TextDirection&,
|
||||
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
|
||||
--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
|
||||
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
|
||||
@@ -773,8 +773,12 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
|
||||
else
|
||||
direction = ToTextDirection(GetState().GetDirection(), canvas());
|
||||
|
||||
- return TextMetrics::Create(font, direction, GetState().GetTextBaseline(),
|
||||
+ TextMetrics* textMetrics = TextMetrics::Create(font, direction, GetState().GetTextBaseline(),
|
||||
GetState().GetTextAlign(), text);
|
||||
+
|
||||
+ textMetrics->Shuffle(canvas()->GetDocument().GetShuffleFactorX());
|
||||
+
|
||||
+ return textMetrics;
|
||||
}
|
||||
|
||||
void CanvasRenderingContext2D::DrawTextInternal(
|
||||
diff --git a/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc b/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc
|
||||
--- a/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc
|
||||
+++ b/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc
|
||||
|
@ -99,16 +36,17 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.
|
|||
diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b/third_party/blink/renderer/platform/graphics/image_data_buffer.cc
|
||||
--- a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc
|
||||
+++ b/third_party/blink/renderer/platform/graphics/image_data_buffer.cc
|
||||
@@ -35,6 +35,7 @@
|
||||
@@ -35,6 +35,8 @@
|
||||
#include <memory>
|
||||
|
||||
#include "base/memory/ptr_util.h"
|
||||
+#include "base/rand_util.h"
|
||||
+#include "base/logging.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
|
||||
#include "third_party/blink/renderer/platform/image-encoders/image_encoder.h"
|
||||
#include "third_party/blink/renderer/platform/network/mime/mime_type_registry.h"
|
||||
@@ -121,6 +122,9 @@ bool ImageDataBuffer::EncodeImage(const String& mime_type,
|
||||
Vector<unsigned char>* encoded_image) const {
|
||||
@@ -129,6 +131,9 @@ bool ImageDataBuffer::EncodeImageInternal(const String& mime_type,
|
||||
const SkPixmap& pixmap) const {
|
||||
DCHECK(is_valid_);
|
||||
|
||||
+ // shuffle subchannel color data within the pixmap
|
||||
|
@ -126,9 +64,9 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
|
|||
|
||||
+#include "base/rand_util.h"
|
||||
#include "gpu/command_buffer/client/gles2_interface.h"
|
||||
#include "skia/ext/texture_handle.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/accelerated_static_bitmap_image.h"
|
||||
@@ -16,6 +17,7 @@
|
||||
#include "third_party/blink/renderer/platform/graphics/graphics_context.h"
|
||||
@@ -15,6 +16,7 @@
|
||||
#include "third_party/skia/include/core/SkCanvas.h"
|
||||
#include "third_party/skia/include/core/SkImage.h"
|
||||
#include "third_party/skia/include/core/SkPaint.h"
|
||||
|
@ -136,13 +74,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
|
|||
#include "third_party/skia/include/gpu/GrContext.h"
|
||||
|
||||
namespace blink {
|
||||
@@ -149,15 +151,164 @@ bool StaticBitmapImage::ConvertToArrayBufferContents(
|
||||
rect.Width(), rect.Height(), color_type, kUnpremul_SkAlphaType,
|
||||
color_params.GetSkColorSpaceForSkSurfaces());
|
||||
sk_sp<SkImage> sk_image = src_image->PaintImageForCurrentFrame().GetSkImage();
|
||||
+
|
||||
bool read_pixels_successful = sk_image->readPixels(
|
||||
info, result.Data(), info.minRowBytes(), rect.X(), rect.Y());
|
||||
@@ -161,10 +163,161 @@ bool StaticBitmapImage::ConvertToArrayBufferContents(
|
||||
DCHECK(read_pixels_successful ||
|
||||
!sk_image->bounds().intersect(SkIRect::MakeXYWH(
|
||||
rect.X(), rect.Y(), info.width(), info.height())));
|
||||
|
@ -161,8 +93,8 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
|
|||
+void StaticBitmapImage::ShuffleSubchannelColorData(const void *addr, const SkImageInfo& info, int srcX, int srcY) {
|
||||
+ auto w = info.width() - srcX, h = info.height() - srcY;
|
||||
+
|
||||
+ // skip tiny images
|
||||
+ if (w + h <= 16) {
|
||||
+ // skip tiny images; info.width()/height() can also be 0
|
||||
+ if ((w < 8) || (h < 8)) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
|
@ -180,6 +112,8 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
|
|||
+ auto colorType = info.colorType();
|
||||
+ auto fRowBytes = info.minRowBytes(); // stride
|
||||
+
|
||||
+ LOG(DEBUG) << "BRM: ShuffleSubchannelColorData() w=" << w << " h=" << h << " colorType=" << colorType << " fRowBytes=" << fRowBytes;
|
||||
+
|
||||
+ // second random number (for y/height)
|
||||
+ double shuffleY = base::RandDouble();
|
||||
+
|
||||
|
@ -278,6 +212,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
|
|||
+ break;
|
||||
+ default:
|
||||
+ // the remaining formats are not expected to be used in Chromium
|
||||
+ LOG(INFO) << "BRM: ShuffleSubchannelColorData(): Ignoring pixel format";
|
||||
+ return;
|
||||
+ }
|
||||
+
|
|
@ -0,0 +1,175 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Fri, 30 Mar 2018 10:09:03 +0200
|
||||
Subject: getClientRects, getBoundingClientRect, measureText: add
|
||||
fingerprinting mitigation
|
||||
|
||||
Scale the result of Range::getClientRects, Element::getBoundingClientRect and
|
||||
Canvas::measureText by a random +/-3/10000th of the original value for each
|
||||
float in the returned Rect/Quad.
|
||||
|
||||
Rationale is that the returned values are within the same order of magnitude
|
||||
of the floating point precision being used for fingerprinting and sufficient
|
||||
to poison the well.
|
||||
|
||||
See also: http://www.gsd.inesc-id.pt/~mpc/pubs/fingerprinting-trustcom2016.pdf
|
||||
---
|
||||
third_party/blink/renderer/core/dom/element.cc | 17 +++++++++++++++++
|
||||
third_party/blink/renderer/core/dom/range.cc | 20 +++++++++++++++++++-
|
||||
.../blink/renderer/core/html/canvas/text_metrics.cc | 18 ++++++++++++++++++
|
||||
.../blink/renderer/core/html/canvas/text_metrics.h | 2 ++
|
||||
.../canvas/canvas2d/canvas_rendering_context_2d.cc | 10 +++++++++-
|
||||
5 files changed, 65 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
|
||||
--- a/third_party/blink/renderer/core/dom/element.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/element.cc
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "third_party/blink/renderer/core/dom/element.h"
|
||||
|
||||
#include <memory>
|
||||
+#include "base/rand_util.h"
|
||||
|
||||
#include "third_party/blink/public/platform/web_scroll_into_view_params.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/dictionary.h"
|
||||
@@ -1356,6 +1357,15 @@ DOMRectList* Element::getClientRects() {
|
||||
DCHECK(element_layout_object);
|
||||
GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
|
||||
quads, *element_layout_object);
|
||||
+
|
||||
+ // scale all quads by 3/10000th
|
||||
+ auto shuffleX = 1 + (base::RandDouble() - 0.5) * 0.0003;
|
||||
+ auto shuffleY = 1 + (base::RandDouble() - 0.5) * 0.0003;
|
||||
+
|
||||
+ for (FloatQuad& quad : quads) {
|
||||
+ quad.Scale(shuffleX, shuffleY);
|
||||
+ }
|
||||
+
|
||||
return DOMRectList::Create(quads);
|
||||
}
|
||||
|
||||
@@ -1373,6 +1383,13 @@ DOMRect* Element::getBoundingClientRect() {
|
||||
DCHECK(element_layout_object);
|
||||
GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
|
||||
*element_layout_object);
|
||||
+
|
||||
+ // scale rect by 3/10000th
|
||||
+ auto shuffleX = 1 + (base::RandDouble() - 0.5) * 0.0003;
|
||||
+ auto shuffleY = 1 + (base::RandDouble() - 0.5) * 0.0003;
|
||||
+
|
||||
+ result.Scale(shuffleX, shuffleY);
|
||||
+
|
||||
return DOMRect::FromFloatRect(result);
|
||||
}
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/renderer/core/dom/range.cc
|
||||
--- a/third_party/blink/renderer/core/dom/range.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/range.cc
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
#include "third_party/blink/renderer/core/dom/range.h"
|
||||
|
||||
+#include "base/rand_util.h"
|
||||
+
|
||||
#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
|
||||
#include "third_party/blink/renderer/core/dom/character_data.h"
|
||||
#include "third_party/blink/renderer/core/dom/container_node.h"
|
||||
@@ -1575,11 +1577,27 @@ DOMRectList* Range::getClientRects() const {
|
||||
Vector<FloatQuad> quads;
|
||||
GetBorderAndTextQuads(quads);
|
||||
|
||||
+ // scale all quads by 3/10000th
|
||||
+ auto shuffleX = 1 + (base::RandDouble() - 0.5) * 0.0003;
|
||||
+ auto shuffleY = 1 + (base::RandDouble() - 0.5) * 0.0003;
|
||||
+
|
||||
+ for (FloatQuad& quad : quads) {
|
||||
+ quad.Scale(shuffleX, shuffleY);
|
||||
+ }
|
||||
+
|
||||
return DOMRectList::Create(quads);
|
||||
}
|
||||
|
||||
DOMRect* Range::getBoundingClientRect() const {
|
||||
- return DOMRect::FromFloatRect(BoundingRect());
|
||||
+ auto rect = BoundingRect();
|
||||
+
|
||||
+ // scale rect by 3/10000th
|
||||
+ auto shuffleX = 1 + (base::RandDouble() - 0.5) * 0.0003;
|
||||
+ auto shuffleY = 1 + (base::RandDouble() - 0.5) * 0.0003;
|
||||
+
|
||||
+ rect.Scale(shuffleX, shuffleY);
|
||||
+
|
||||
+ return DOMRect::FromFloatRect(rect);
|
||||
}
|
||||
|
||||
// TODO(editing-dev): We should make
|
||||
diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
|
||||
--- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc
|
||||
+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
|
||||
@@ -47,6 +47,24 @@ float TextMetrics::GetFontBaseline(const TextBaseline& text_baseline,
|
||||
return 0;
|
||||
}
|
||||
|
||||
+void TextMetrics::Shuffle(const double factor) {
|
||||
+ // x-direction
|
||||
+ width_ *= factor;
|
||||
+ actual_bounding_box_left_ *= factor;
|
||||
+ actual_bounding_box_right_ *= factor;
|
||||
+
|
||||
+ // y-direction
|
||||
+ font_bounding_box_ascent_ *= factor;
|
||||
+ font_bounding_box_descent_ *= factor;
|
||||
+ actual_bounding_box_ascent_ *= factor;
|
||||
+ actual_bounding_box_descent_ *= factor;
|
||||
+ em_height_ascent_ *= factor;
|
||||
+ em_height_descent_ *= factor;
|
||||
+ hanging_baseline_ *= factor;
|
||||
+ alphabetic_baseline_ *= factor;
|
||||
+ ideographic_baseline_ *= factor;
|
||||
+}
|
||||
+
|
||||
void TextMetrics::Update(const Font& font,
|
||||
const TextDirection& direction,
|
||||
const TextBaseline& baseline,
|
||||
diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_party/blink/renderer/core/html/canvas/text_metrics.h
|
||||
--- a/third_party/blink/renderer/core/html/canvas/text_metrics.h
|
||||
+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.h
|
||||
@@ -67,6 +67,8 @@ class CORE_EXPORT TextMetrics final : public ScriptWrappable {
|
||||
|
||||
static float GetFontBaseline(const TextBaseline&, const FontMetrics&);
|
||||
|
||||
+ void Shuffle(const double factor);
|
||||
+
|
||||
private:
|
||||
void Update(const Font&,
|
||||
const TextDirection&,
|
||||
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
|
||||
--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
|
||||
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
|
||||
@@ -33,6 +33,8 @@
|
||||
|
||||
#include "third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.h"
|
||||
|
||||
+#include "base/rand_util.h"
|
||||
+
|
||||
#include "third_party/blink/public/platform/platform.h"
|
||||
#include "third_party/blink/public/platform/task_type.h"
|
||||
#include "third_party/blink/public/platform/web_scroll_into_view_params.h"
|
||||
@@ -776,8 +778,14 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
|
||||
else
|
||||
direction = ToTextDirection(GetState().GetDirection(), canvas());
|
||||
|
||||
- return TextMetrics::Create(font, direction, GetState().GetTextBaseline(),
|
||||
+ TextMetrics* textMetrics = TextMetrics::Create(font, direction, GetState().GetTextBaseline(),
|
||||
GetState().GetTextAlign(), text);
|
||||
+
|
||||
+ // scale text metrics by 3/10000th
|
||||
+ auto shuffleFactor = 1 + (base::RandDouble() - 0.5) * 0.0003;
|
||||
+ textMetrics->Shuffle(shuffleFactor);
|
||||
+
|
||||
+ return textMetrics;
|
||||
}
|
||||
|
||||
void CanvasRenderingContext2D::DrawTextInternal(
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -10,10 +10,10 @@ Originally from http://bazaar.launchpad.net/~saiarcot895/chromium-browser/chromi
|
|||
diff --git a/chrome/common/chrome_content_client.cc b/chrome/common/chrome_content_client.cc
|
||||
--- a/chrome/common/chrome_content_client.cc
|
||||
+++ b/chrome/common/chrome_content_client.cc
|
||||
@@ -526,7 +526,7 @@ void ChromeContentClient::AddContentDecryptionModules(
|
||||
bool supports_persistent_license = false;
|
||||
@@ -536,7 +536,7 @@ void ChromeContentClient::AddContentDecryptionModules(
|
||||
if (IsWidevineAvailable(&cdm_path, &video_codecs_supported,
|
||||
&supports_persistent_license)) {
|
||||
&supports_persistent_license,
|
||||
&encryption_modes_supported)) {
|
||||
- const base::Version version(WIDEVINE_CDM_VERSION_STRING);
|
||||
+ const base::Version version("1.0.123.456");
|
||||
DCHECK(version.IsValid());
|
|
@ -9,7 +9,7 @@ Subject: Disable metrics on all I/O threads
|
|||
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
|
||||
--- a/chrome/browser/profiles/profile_io_data.cc
|
||||
+++ b/chrome/browser/profiles/profile_io_data.cc
|
||||
@@ -964,7 +964,7 @@ void ProfileIOData::InitializeMetricsEnabledStateOnUIThread() {
|
||||
@@ -949,7 +949,7 @@ void ProfileIOData::InitializeMetricsEnabledStateOnUIThread() {
|
||||
|
||||
bool ProfileIOData::GetMetricsEnabledStateOnIOThread() const {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
|
@ -23,7 +23,7 @@ See also: https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -395,6 +395,12 @@ const FeatureEntry::Choice kChromeHomeSwipeLogicChoices[] = {
|
||||
@@ -400,6 +400,12 @@ const FeatureEntry::Choice kChromeHomeSwipeLogicChoices[] = {
|
||||
switches::kChromeHomeSwipeLogicType, "velocity"},
|
||||
};
|
||||
|
||||
|
@ -36,7 +36,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
#endif // OS_ANDROID
|
||||
|
||||
const FeatureEntry::Choice kNumRasterThreadsChoices[] = {
|
||||
@@ -3544,6 +3550,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3489,6 +3495,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kAsyncDns)},
|
||||
#endif // defined(OS_ANDROID)
|
||||
|
||||
|
@ -52,7 +52,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1849,6 +1849,9 @@ const char kAndroidPaymentAppsDescription[] =
|
||||
@@ -1952,6 +1952,9 @@ const char kAndroidPaymentAppsDescription[] =
|
||||
const char kAsyncDnsName[] = "Async DNS resolver";
|
||||
const char kAsyncDnsDescription[] = "Enables the built-in DNS resolver.";
|
||||
|
||||
|
@ -65,7 +65,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1133,6 +1133,9 @@ extern const char kAndroidPaymentAppsDescription[];
|
||||
@@ -1188,6 +1188,9 @@ extern const char kAndroidPaymentAppsDescription[];
|
||||
extern const char kAsyncDnsName[];
|
||||
extern const char kAsyncDnsDescription[];
|
||||
|
||||
|
@ -78,7 +78,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
|||
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
|
||||
--- a/chrome/browser/io_thread.cc
|
||||
+++ b/chrome/browser/io_thread.cc
|
||||
@@ -53,6 +53,7 @@
|
||||
@@ -50,6 +50,7 @@
|
||||
#include "components/metrics/metrics_service.h"
|
||||
#include "components/net_log/chrome_net_log.h"
|
||||
#include "components/network_session_configurator/common/network_features.h"
|
||||
|
@ -86,7 +86,7 @@ diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
|
|||
#include "components/policy/core/common/policy_service.h"
|
||||
#include "components/policy/policy_constants.h"
|
||||
#include "components/prefs/pref_registry_simple.h"
|
||||
@@ -383,13 +384,16 @@ IOThread::IOThread(
|
||||
@@ -373,13 +374,16 @@ IOThread::IOThread(
|
||||
base::Unretained(this)));
|
||||
dns_client_enabled_.MoveToThread(io_thread_proxy);
|
||||
|
||||
|
@ -111,9 +111,9 @@ diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
|
|||
diff --git a/components/network_session_configurator/common/network_features.cc b/components/network_session_configurator/common/network_features.cc
|
||||
--- a/components/network_session_configurator/common/network_features.cc
|
||||
+++ b/components/network_session_configurator/common/network_features.cc
|
||||
@@ -9,7 +9,8 @@ namespace features {
|
||||
const base::Feature kTokenBinding{"token-binding",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
@@ -14,7 +14,8 @@ const base::Feature kTokenBinding{"token-binding",
|
||||
// TODO(nharper): Disable kChannelID on all platforms in M69.
|
||||
const base::Feature kChannelID{"channel-id", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
-const base::Feature kDnsOverHttps{"dns-over-https",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
@ -125,9 +125,9 @@ diff --git a/components/network_session_configurator/common/network_features.cc
|
|||
diff --git a/components/network_session_configurator/common/network_features.h b/components/network_session_configurator/common/network_features.h
|
||||
--- a/components/network_session_configurator/common/network_features.h
|
||||
+++ b/components/network_session_configurator/common/network_features.h
|
||||
@@ -14,9 +14,10 @@ namespace features {
|
||||
// (https://www.ietf.org/id/draft-ietf-tokbind-protocol-04.txt).
|
||||
NETWORK_SESSION_CONFIGURATOR_EXPORT extern const base::Feature kTokenBinding;
|
||||
@@ -17,9 +17,10 @@ NETWORK_SESSION_CONFIGURATOR_EXPORT extern const base::Feature kTokenBinding;
|
||||
// Enables Channel ID.
|
||||
NETWORK_SESSION_CONFIGURATOR_EXPORT extern const base::Feature kChannelID;
|
||||
|
||||
-// Enabled DNS over HTTPS
|
||||
+// DNS over HTTPS server endpoint choices
|
||||
|
@ -168,7 +168,7 @@ diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h
|
|||
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
|
||||
--- a/net/dns/dns_transaction.cc
|
||||
+++ b/net/dns/dns_transaction.cc
|
||||
@@ -391,30 +391,8 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
|
||||
@@ -390,30 +390,8 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
|
||||
|
||||
HttpRequestHeaders extra_request_headers;
|
||||
extra_request_headers.SetHeader("Accept", kDnsOverHttpResponseContentType);
|
||||
|
@ -201,7 +201,7 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
|
|||
net_log_ = request_->net_log();
|
||||
|
||||
if (use_post) {
|
||||
@@ -432,6 +410,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
|
||||
@@ -431,6 +409,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
|
||||
request_->SetLoadFlags(request_->load_flags() | LOAD_DISABLE_CACHE |
|
||||
LOAD_BYPASS_PROXY | LOAD_DO_NOT_SEND_COOKIES |
|
||||
LOAD_DO_NOT_SAVE_COOKIES |
|
||||
|
@ -209,7 +209,7 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
|
|||
LOAD_DO_NOT_SEND_AUTH_DATA);
|
||||
}
|
||||
|
||||
@@ -851,7 +830,7 @@ class DnsTransactionImpl : public DnsTransaction,
|
||||
@@ -850,7 +829,7 @@ class DnsTransactionImpl : public DnsTransaction,
|
||||
had_tcp_attempt_(false),
|
||||
doh_attempt_(false),
|
||||
first_server_index_(0),
|
|
@ -11,7 +11,7 @@ Do not read experiment value for cronet async DNS configuration
|
|||
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
|
||||
--- a/chrome/browser/io_thread.cc
|
||||
+++ b/chrome/browser/io_thread.cc
|
||||
@@ -258,15 +258,7 @@ void UpdateMetricsUsagePrefsOnUIThread(const std::string& service_name,
|
||||
@@ -252,15 +252,7 @@ void UpdateMetricsUsagePrefsOnUIThread(const std::string& service_name,
|
||||
// Check the AsyncDns field trial and return true if it should be enabled. On
|
||||
// Android this includes checking the Android version in the field trial.
|
||||
bool ShouldEnableAsyncDns() {
|
||||
|
@ -31,7 +31,7 @@ diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
|
|||
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc
|
||||
--- a/components/cronet/url_request_context_config.cc
|
||||
+++ b/components/cronet/url_request_context_config.cc
|
||||
@@ -398,7 +398,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
|
||||
@@ -366,7 +366,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
|
||||
effective_experimental_options->Remove(it.key(), nullptr);
|
||||
continue;
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Wed, 2 May 2018 01:04:07 +0200
|
||||
Subject: Disable custom tab activities permanently
|
||||
|
||||
---
|
||||
.../src/org/chromium/chrome/browser/LaunchIntentDispatcher.java | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
@@ -149,9 +149,10 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
|
||||
recordIntentMetrics();
|
||||
|
||||
mIsVrIntent = VrIntentUtils.isVrIntent(mIntent);
|
||||
- boolean isCustomTabIntent = (!mIsVrIntent && isCustomTabIntent(mIntent))
|
||||
- || (mIsVrIntent && VrIntentUtils.isCustomTabVrIntent(mIntent));
|
||||
- mIsCustomTabIntent = isCustomTabIntent;
|
||||
+ //boolean isCustomTabIntent = (!mIsVrIntent && isCustomTabIntent(mIntent))
|
||||
+ // || (mIsVrIntent && VrIntentUtils.isCustomTabVrIntent(mIntent));
|
||||
+ //mIsCustomTabIntent = isCustomTabIntent;
|
||||
+ mIsCustomTabIntent = false;
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -0,0 +1,158 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 8 Jul 2018 22:42:04 +0200
|
||||
Subject: Add flag to configure maximum connections per host
|
||||
|
||||
With the introduction of this flag it is possible to increase the maximum
|
||||
allowed connections per host; this can however be detrimental to devices
|
||||
with limited CPU/memory resources and it is disabled by default.
|
||||
---
|
||||
chrome/browser/about_flags.cc | 9 +++++++++
|
||||
chrome/browser/flag_descriptions.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
.../common/network_features.cc | 4 ++++
|
||||
.../common/network_features.h | 4 ++++
|
||||
.../common/network_switch_list.h | 4 ++++
|
||||
net/socket/client_socket_pool_manager.cc | 17 +++++++++++++++++
|
||||
7 files changed, 45 insertions(+)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -798,6 +798,12 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
|
||||
net::kEffectiveConnectionType4G},
|
||||
};
|
||||
|
||||
+const FeatureEntry::Choice kMaxConnectionsPerHostChoices[] = {
|
||||
+ {features::kMaxConnectionsPerHostChoiceDefault, "", "0"},
|
||||
+ {features::kMaxConnectionsPerHostChoice6, switches::kMaxConnectionsPerHost, "6"},
|
||||
+ {features::kMaxConnectionsPerHostChoice15, switches::kMaxConnectionsPerHost, "15"},
|
||||
+};
|
||||
+
|
||||
// Ensure that all effective connection types returned by Network Quality
|
||||
// Estimator (NQE) are also exposed via flags.
|
||||
static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
|
||||
@@ -2398,6 +2404,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kMaterialDesignIncognitoNTPName,
|
||||
flag_descriptions::kMaterialDesignIncognitoNTPDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(features::kMaterialDesignIncognitoNTP)},
|
||||
+ {"max-connections-per-host", flag_descriptions::kMaxConnectionsPerHostName,
|
||||
+ flag_descriptions::kMaxConnectionsPerHostDescription, kOsAll,
|
||||
+ MULTI_VALUE_TYPE(kMaxConnectionsPerHostChoices)},
|
||||
{"safe-search-url-reporting",
|
||||
flag_descriptions::kSafeSearchUrlReportingName,
|
||||
flag_descriptions::kSafeSearchUrlReportingDescription, kOsAll,
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -975,6 +975,10 @@ const char kMaterialDesignIncognitoNTPDescription[] =
|
||||
"If enabled, the Incognito New Tab page uses the new material design with "
|
||||
"a better readable text.";
|
||||
|
||||
+const char kMaxConnectionsPerHostName[] = "Maximum connections per host";
|
||||
+const char kMaxConnectionsPerHostDescription[] =
|
||||
+ "Customize maximum allowed connections per host (experimental).";
|
||||
+
|
||||
const char kMediaRouterCastAllowAllIPsName[] =
|
||||
"Connect to Cast devices on all IP addresses";
|
||||
const char kMediaRouterCastAllowAllIPsDescription[] =
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -613,6 +613,9 @@ extern const char kMarkHttpAsWarningAndDangerousOnPasswordsAndCreditCards[];
|
||||
extern const char kMaterialDesignIncognitoNTPName[];
|
||||
extern const char kMaterialDesignIncognitoNTPDescription[];
|
||||
|
||||
+extern const char kMaxConnectionsPerHostName[];
|
||||
+extern const char kMaxConnectionsPerHostDescription[];
|
||||
+
|
||||
extern const char kMediaRouterCastAllowAllIPsName[];
|
||||
extern const char kMediaRouterCastAllowAllIPsDescription[];
|
||||
|
||||
diff --git a/components/network_session_configurator/common/network_features.cc b/components/network_session_configurator/common/network_features.cc
|
||||
--- a/components/network_session_configurator/common/network_features.cc
|
||||
+++ b/components/network_session_configurator/common/network_features.cc
|
||||
@@ -8,6 +8,10 @@
|
||||
|
||||
namespace features {
|
||||
|
||||
+const char kMaxConnectionsPerHostChoiceDefault[] = "Default",
|
||||
+ kMaxConnectionsPerHostChoice6[] = "6",
|
||||
+ kMaxConnectionsPerHostChoice15[] = "15";
|
||||
+
|
||||
const base::Feature kTokenBinding{"token-binding",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
diff --git a/components/network_session_configurator/common/network_features.h b/components/network_session_configurator/common/network_features.h
|
||||
--- a/components/network_session_configurator/common/network_features.h
|
||||
+++ b/components/network_session_configurator/common/network_features.h
|
||||
@@ -10,6 +10,10 @@
|
||||
|
||||
namespace features {
|
||||
|
||||
+NETWORK_SESSION_CONFIGURATOR_EXPORT extern const char kMaxConnectionsPerHostChoiceDefault[],
|
||||
+ kMaxConnectionsPerHostChoice6[],
|
||||
+ kMaxConnectionsPerHostChoice15[];
|
||||
+
|
||||
// Enables token binding
|
||||
// (https://www.ietf.org/id/draft-ietf-tokbind-protocol-04.txt).
|
||||
NETWORK_SESSION_CONFIGURATOR_EXPORT extern const base::Feature kTokenBinding;
|
||||
diff --git a/components/network_session_configurator/common/network_switch_list.h b/components/network_session_configurator/common/network_switch_list.h
|
||||
--- a/components/network_session_configurator/common/network_switch_list.h
|
||||
+++ b/components/network_session_configurator/common/network_switch_list.h
|
||||
@@ -21,6 +21,10 @@ NETWORK_SWITCH(kEnableUserAlternateProtocolPorts,
|
||||
// Enables the QUIC protocol. This is a temporary testing flag.
|
||||
NETWORK_SWITCH(kEnableQuic, "enable-quic")
|
||||
|
||||
+// Allows specifying a higher number of maximum connections per host
|
||||
+// (15 instead of 6, mirroring the value Mozilla uses).
|
||||
+NETWORK_SWITCH(kMaxConnectionsPerHost, "max-connections-per-host")
|
||||
+
|
||||
// Enable use of experimental TCP sockets API for sending data in the
|
||||
// SYN packet.
|
||||
NETWORK_SWITCH(kEnableTcpFastOpen, "enable-tcp-fastopen")
|
||||
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
|
||||
--- a/net/socket/client_socket_pool_manager.cc
|
||||
+++ b/net/socket/client_socket_pool_manager.cc
|
||||
@@ -6,8 +6,10 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
+#include "base/command_line.h"
|
||||
#include "base/logging.h"
|
||||
#include "base/strings/stringprintf.h"
|
||||
+#include "base/strings/string_number_conversions.h"
|
||||
#include "net/base/load_flags.h"
|
||||
#include "net/http/http_proxy_client_socket_pool.h"
|
||||
#include "net/http/http_request_info.h"
|
||||
@@ -19,6 +21,7 @@
|
||||
#include "net/socket/ssl_client_socket_pool.h"
|
||||
#include "net/socket/transport_client_socket_pool.h"
|
||||
#include "net/ssl/ssl_config.h"
|
||||
+#include "components/network_session_configurator/common/network_switches.h"
|
||||
|
||||
namespace net {
|
||||
|
||||
@@ -316,6 +319,20 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
|
||||
int ClientSocketPoolManager::max_sockets_per_group(
|
||||
HttpNetworkSession::SocketPoolType pool_type) {
|
||||
DCHECK_LT(pool_type, HttpNetworkSession::NUM_SOCKET_POOL_TYPES);
|
||||
+
|
||||
+ if (pool_type == HttpNetworkSession::NORMAL_SOCKET_POOL) {
|
||||
+ int maxConnectionsPerHost;
|
||||
+ if (!base::StringToInt(base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switches::kMaxConnectionsPerHost),
|
||||
+ &maxConnectionsPerHost)) {
|
||||
+ LOG(DFATAL) << "--" << switches::kMaxConnectionsPerHost << " only accepts integers as arguments";
|
||||
+ maxConnectionsPerHost = 0;
|
||||
+ }
|
||||
+ if (maxConnectionsPerHost != 0) {
|
||||
+ return maxConnectionsPerHost;
|
||||
+ }
|
||||
+ // fallthrough for default value
|
||||
+ }
|
||||
+
|
||||
return g_max_sockets_per_group[pool_type];
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
116
patches/BRM059_Add-flag-to-show-hide-NTP-tiles.patch
Normal file
116
patches/BRM059_Add-flag-to-show-hide-NTP-tiles.patch
Normal file
|
@ -0,0 +1,116 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Mon, 9 Jul 2018 20:12:19 +0200
|
||||
Subject: Add flag to show/hide NTP tiles
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/android/ntp/most_visited_sites_bridge.cc | 8 ++++++++
|
||||
chrome/browser/flag_descriptions.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
chrome/common/chrome_switches.cc | 3 +++
|
||||
chrome/common/chrome_switches.h | 1 +
|
||||
6 files changed, 23 insertions(+)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -1285,6 +1285,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebrtcNewEncodeCpuLoadEstimatorDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(media::kNewEncodeCpuLoadEstimator)},
|
||||
#if defined(OS_ANDROID)
|
||||
+ {"hide-ntp-tiles",
|
||||
+ flag_descriptions::kHideNTPTilesName,
|
||||
+ flag_descriptions::kHideNTPTilesDescription, kOsAndroid,
|
||||
+ SINGLE_VALUE_TYPE(switches::kHideNTPTiles)},
|
||||
{"clear-old-browsing-data", flag_descriptions::kClearOldBrowsingDataName,
|
||||
flag_descriptions::kClearOldBrowsingDataDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(features::kClearOldBrowsingData)},
|
||||
diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
||||
--- a/chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
||||
+++ b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
||||
@@ -13,9 +13,11 @@
|
||||
#include "base/android/jni_array.h"
|
||||
#include "base/android/jni_string.h"
|
||||
#include "base/android/scoped_java_ref.h"
|
||||
+#include "base/command_line.h"
|
||||
#include "base/strings/string16.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "chrome/browser/browser_process.h"
|
||||
+#include "chrome/common/chrome_switches.h"
|
||||
#include "chrome/browser/history/history_service_factory.h"
|
||||
#include "chrome/browser/ntp_tiles/chrome_most_visited_sites_factory.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
@@ -167,6 +169,10 @@ void MostVisitedSitesBridge::JavaObserver::OnURLsAvailable(
|
||||
std::vector<int> sources;
|
||||
std::vector<int> section_types;
|
||||
std::vector<int64_t> data_generation_times;
|
||||
+
|
||||
+ // do not source any tile if NTP is disabled
|
||||
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
+ switches::kHideNTPTiles)) {
|
||||
for (const auto& section : sections) {
|
||||
const NTPTilesVector& tiles = section.second;
|
||||
section_types.resize(section_types.size() + tiles.size(),
|
||||
@@ -181,6 +187,8 @@ void MostVisitedSitesBridge::JavaObserver::OnURLsAvailable(
|
||||
tile.data_generation_time.ToJavaTime());
|
||||
}
|
||||
}
|
||||
+ }
|
||||
+
|
||||
Java_MostVisitedSitesBridge_onURLsAvailable(
|
||||
env, observer_, ToJavaArrayOfStrings(env, titles),
|
||||
ToJavaArrayOfStrings(env, urls), ToJavaIntArray(env, section_types),
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -106,6 +106,10 @@ const char kBackgroundVideoTrackOptimizationDescription[] =
|
||||
"Disable video tracks when the video is played in the background to "
|
||||
"optimize performance.";
|
||||
|
||||
+const char kHideNTPTilesName[] = "Hide NTP tiles";
|
||||
+const char kHideNTPTilesDescription[] =
|
||||
+ "Hide all tiles on the New Tab Page, making it effectively empty all the time.";
|
||||
+
|
||||
const char kBleAdvertisingInExtensionsName[] = "BLE Advertising in Chrome Apps";
|
||||
const char kBleAdvertisingInExtensionsDescription[] =
|
||||
"Enables BLE Advertising in Chrome Apps. BLE Advertising might interfere "
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -92,6 +92,9 @@ extern const char kAv1DecoderDescription[];
|
||||
extern const char kBackgroundVideoTrackOptimizationName[];
|
||||
extern const char kBackgroundVideoTrackOptimizationDescription[];
|
||||
|
||||
+extern const char kHideNTPTilesName[];
|
||||
+extern const char kHideNTPTilesDescription[];
|
||||
+
|
||||
extern const char kBleAdvertisingInExtensionsName[];
|
||||
extern const char kBleAdvertisingInExtensionsDescription[];
|
||||
|
||||
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
|
||||
--- a/chrome/common/chrome_switches.cc
|
||||
+++ b/chrome/common/chrome_switches.cc
|
||||
@@ -88,6 +88,9 @@ const char kAutoSelectDesktopCaptureSource[] =
|
||||
const char kBypassAppBannerEngagementChecks[] =
|
||||
"bypass-app-banner-engagement-checks";
|
||||
|
||||
+// Hide all New Tab Page tiles, making it effectively empty all the time.
|
||||
+const char kHideNTPTiles[] = "hide-ntp-tiles";
|
||||
+
|
||||
// How often (in seconds) to check for updates. Should only be used for testing
|
||||
// purposes.
|
||||
const char kCheckForUpdateIntervalSec[] = "check-for-update-interval";
|
||||
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
|
||||
--- a/chrome/common/chrome_switches.h
|
||||
+++ b/chrome/common/chrome_switches.h
|
||||
@@ -46,6 +46,7 @@ extern const char kAuthServerWhitelist[];
|
||||
extern const char kAutoOpenDevToolsForTabs[];
|
||||
extern const char kAutoSelectDesktopCaptureSource[];
|
||||
extern const char kBypassAppBannerEngagementChecks[];
|
||||
+extern const char kHideNTPTiles[];
|
||||
extern const char kCheckForUpdateIntervalSec[];
|
||||
extern const char kCipherSuiteBlacklist[];
|
||||
extern const char kCloudPrintFile[];
|
||||
--
|
||||
2.7.4
|
||||
|
117
patches/BRM060_Add-flag-to-disable-custom-tab-intents.patch
Normal file
117
patches/BRM060_Add-flag-to-disable-custom-tab-intents.patch
Normal file
|
@ -0,0 +1,117 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 8 Jul 2018 23:06:52 +0200
|
||||
Subject: Add flag to disable custom tab intents
|
||||
|
||||
Custom tab intents allow apps to open URLs with a minimal browser UI;
|
||||
this flag allows disabling this functionality altogether and all custom tab
|
||||
intents will instead open as regular URLs.
|
||||
---
|
||||
.../java/src/org/chromium/chrome/browser/ChromeSwitches.java | 3 +++
|
||||
.../src/org/chromium/chrome/browser/LaunchIntentDispatcher.java | 8 ++++++--
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
chrome/common/chrome_switches.cc | 3 +++
|
||||
chrome/common/chrome_switches.h | 1 +
|
||||
7 files changed, 24 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java
|
||||
@@ -177,6 +177,9 @@ public abstract class ChromeSwitches {
|
||||
/** Open all custom tabs in a new task. Used only for experimental purposes. */
|
||||
public static final String OPEN_CUSTOM_TABS_IN_NEW_TASK = "open-custom-tabs-in-new-task";
|
||||
|
||||
+ /** Disallow custom tab intents. */
|
||||
+ public static final String DISALLOW_CUSTOM_TAB_INTENT = "disallow-custom-tab-intent";
|
||||
+
|
||||
/**
|
||||
* Don't crash on undispatched VIEW intents sent to .Main.
|
||||
* See ChromeTabbedActivity.maybeDispatchExplicitMainViewIntent() for more info.
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
@@ -149,9 +149,13 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
|
||||
recordIntentMetrics();
|
||||
|
||||
mIsVrIntent = VrIntentUtils.isVrIntent(mIntent);
|
||||
- boolean isCustomTabIntent = (!mIsVrIntent && isCustomTabIntent(mIntent))
|
||||
+
|
||||
+ if (!CommandLine.getInstance().hasSwitch(ChromeSwitches.DISALLOW_CUSTOM_TAB_INTENT)) {
|
||||
+ mIsCustomTabIntent = (!mIsVrIntent && isCustomTabIntent(mIntent))
|
||||
|| (mIsVrIntent && VrIntentUtils.isCustomTabVrIntent(mIntent));
|
||||
- mIsCustomTabIntent = isCustomTabIntent;
|
||||
+ } else {
|
||||
+ mIsCustomTabIntent = false;
|
||||
+ }
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -1302,6 +1302,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kMediaScreenCaptureName,
|
||||
flag_descriptions::kMediaScreenCaptureDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(chrome::android::kUserMediaScreenCapturing)},
|
||||
+ {"disallow-custom-tab-intent",
|
||||
+ flag_descriptions::kDisallowCustomTabIntentName,
|
||||
+ flag_descriptions::kDisallowCustomTabIntentDescription, kOsAndroid,
|
||||
+ SINGLE_DISABLE_VALUE_TYPE(switches::kDisallowCustomTabIntent)},
|
||||
#endif // OS_ANDROID
|
||||
// Native client is compiled out if ENABLE_NACL is not set.
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -2043,6 +2043,10 @@ const char kContextualSearchSecondTapDescription[] =
|
||||
"Enables triggering on a second tap gesture even when Ranker would "
|
||||
"normally suppress that tap.";
|
||||
|
||||
+const char kDisallowCustomTabIntentName[] = "Disallow custom tab intent";
|
||||
+const char kDisallowCustomTabIntentDescription[] =
|
||||
+ "Do not allow apps to open custom tab intents and use a regular browsing interaction instead.";
|
||||
+
|
||||
const char kDontPrefetchLibrariesName[] = "Don't Prefetch Libraries";
|
||||
const char kDontPrefetchLibrariesDescription[] =
|
||||
"Don't prefetch libraries after loading.";
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1244,6 +1244,9 @@ extern const char kContextualSearchRankerQueryDescription[];
|
||||
extern const char kContextualSearchSecondTapName[];
|
||||
extern const char kContextualSearchSecondTapDescription[];
|
||||
|
||||
+extern const char kDisallowCustomTabIntentName[];
|
||||
+extern const char kDisallowCustomTabIntentDescription[];
|
||||
+
|
||||
extern const char kDontPrefetchLibrariesName[];
|
||||
extern const char kDontPrefetchLibrariesDescription[];
|
||||
|
||||
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
|
||||
--- a/chrome/common/chrome_switches.cc
|
||||
+++ b/chrome/common/chrome_switches.cc
|
||||
@@ -218,6 +218,9 @@ const char kDisableExtensions[] = "disable-extensions";
|
||||
// Disable extensions except those specified in a comma-separated list.
|
||||
const char kDisableExtensionsExcept[] = "disable-extensions-except";
|
||||
|
||||
+// Disallow apps to use custom tab intents and use a regular URL open intent instead.
|
||||
+const char kDisallowCustomTabIntent[] = "disallow-custom-tab-intent";
|
||||
+
|
||||
// Disable checking for user opt-in for extensions that want to inject script
|
||||
// into file URLs (ie, always allow it). This is used during automated testing.
|
||||
const char kDisableExtensionsFileAccessCheck[] =
|
||||
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
|
||||
--- a/chrome/common/chrome_switches.h
|
||||
+++ b/chrome/common/chrome_switches.h
|
||||
@@ -72,6 +72,7 @@ extern const char kDisableCastStreamingHWEncoding[];
|
||||
extern const char kDisableClientSidePhishingDetection[];
|
||||
extern const char kDisableComponentExtensionsWithBackgroundPages[];
|
||||
extern const char kDisableComponentUpdate[];
|
||||
+extern const char kDisallowCustomTabIntent[];
|
||||
extern const char kDisableDefaultApps[];
|
||||
extern const char kDisableDeviceDiscoveryNotifications[];
|
||||
extern const char kDisableDomainReliability[];
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -1,257 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 26 Apr 2018 10:37:05 +0200
|
||||
Subject: Add menu option to toggle global Adblock preference
|
||||
|
||||
Allow toggling Chromium's "ads enabled" content settings option together with Bromite adblock engine.
|
||||
---
|
||||
chrome/android/java/res/menu/custom_tabs_menu.xml | 12 +++++++
|
||||
chrome/android/java/res/menu/main_menu.xml | 11 +++++++
|
||||
.../chromium/chrome/browser/ChromeActivity.java | 8 +++++
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 8 +++++
|
||||
.../browser/appmenu/AppMenuPropertiesDelegate.java | 38 ++++++++++++++++++++++
|
||||
.../CustomTabAppMenuPropertiesDelegate.java | 2 ++
|
||||
.../java/strings/android_chrome_strings.grd | 11 +++++++
|
||||
.../subresource_filter_content_settings_manager.cc | 3 ++
|
||||
net/url_request/adblock_intercept.cc | 2 ++
|
||||
net/url_request/adblock_intercept.h | 2 ++
|
||||
net/url_request/url_request.cc | 4 +++
|
||||
11 files changed, 101 insertions(+)
|
||||
|
||||
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
@@ -74,6 +74,18 @@
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
+ <item android:id="@+id/enable_adblock_row_menu_id"
|
||||
+ android:title="@null"
|
||||
+ android:orderInCategory="2">
|
||||
+ <menu>
|
||||
+ <item android:id="@+id/enable_adblock_id"
|
||||
+ android:title="@string/menu_enable_adblock" />
|
||||
+ <item android:id="@+id/enable_adblock_check_id"
|
||||
+ android:title="@null"
|
||||
+ android:checkable="true" />
|
||||
+ </menu>
|
||||
+ </item>
|
||||
+
|
||||
<!-- Title is intentionally left blank in xml and will be set in java. -->
|
||||
<item android:id="@+id/open_in_browser_id"
|
||||
android:title=""
|
||||
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
|
||||
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||
@@ -82,6 +82,17 @@
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
+ <item android:id="@+id/enable_adblock_row_menu_id"
|
||||
+ android:title="@null">
|
||||
+ <menu>
|
||||
+ <item android:id="@+id/enable_adblock_id"
|
||||
+ android:title="@string/menu_enable_adblock" />
|
||||
+ <item android:id="@+id/enable_adblock_check_id"
|
||||
+ android:title="@null"
|
||||
+ android:checkable="true" />
|
||||
+ </menu>
|
||||
+ </item>
|
||||
+
|
||||
<item android:id="@+id/reader_mode_prefs_id"
|
||||
android:title="@string/menu_reader_mode_prefs"
|
||||
android:icon="@drawable/reader_mode_prefs_icon" />
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
@@ -2064,6 +2064,14 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
RecordUserAction.record("MobileMenuRequestEnableJavascript");
|
||||
} else if (id == R.id.reader_mode_prefs_id) {
|
||||
DomDistillerUIUtils.openSettings(currentTab.getWebContents());
|
||||
+ } else if (id == R.id.enable_adblock_id || id == R.id.enable_adblock_check_id) {
|
||||
+ final boolean reloadOnChange = !currentTab.isNativePage();
|
||||
+ final boolean adBlockEnabled = !PrefServiceBridge.getInstance().adsEnabled();
|
||||
+ PrefServiceBridge.getInstance().setAllowAdsEnabled(adBlockEnabled);
|
||||
+ if (reloadOnChange) {
|
||||
+ currentTab.reload();
|
||||
+ }
|
||||
+ RecordUserAction.record("MobileMenuRequestEnableAdBlock");
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -1724,6 +1724,14 @@ public class ChromeTabbedActivity
|
||||
RecordUserAction.record("MobileTabClosedUndoShortCut");
|
||||
} else if (id == R.id.enter_vr_id) {
|
||||
VrShellDelegate.enterVrIfNecessary();
|
||||
+ } else if (id == R.id.enable_adblock_id || id == R.id.enable_adblock_check_id) {
|
||||
+ final boolean reloadOnChange = !currentTab.isNativePage();
|
||||
+ final boolean adBlockEnabled = !PrefServiceBridge.getInstance().adsEnabled();
|
||||
+ PrefServiceBridge.getInstance().setAllowAdsEnabled(adBlockEnabled);
|
||||
+ if (reloadOnChange) {
|
||||
+ currentTab.reload();
|
||||
+ }
|
||||
+ RecordUserAction.record("MobileMenuRequestEnableAdBlock");
|
||||
} else {
|
||||
return super.onMenuOrKeyboardAction(id, fromMenu);
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
@@ -212,6 +212,8 @@ public class AppMenuPropertiesDelegate {
|
||||
&& !TextUtils.isEmpty(url);
|
||||
prepareAddToHomescreenMenuItem(menu, currentTab, canShowHomeScreenMenuItem);
|
||||
|
||||
+ updateEnableAdBlockMenuItem(menu, currentTab);
|
||||
+
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
|
||||
|
||||
updateEnableJavascriptMenuItem(menu, currentTab);
|
||||
@@ -445,6 +447,42 @@ public class AppMenuPropertiesDelegate {
|
||||
}
|
||||
|
||||
/**
|
||||
+ * Updates the enable AdBlock item's state.
|
||||
+ *
|
||||
+ * @param menu {@link Menu} for enable adblock
|
||||
+ * @param currentTab Current tab being displayed.
|
||||
+ */
|
||||
+ protected void updateEnableAdBlockMenuItem(
|
||||
+ Menu menu, Tab currentTab) {
|
||||
+ MenuItem enableMenuRow = menu.findItem(R.id.enable_adblock_row_menu_id);
|
||||
+ MenuItem enableMenuLabel = menu.findItem(R.id.enable_adblock_id);
|
||||
+ MenuItem enableMenuCheck = menu.findItem(R.id.enable_adblock_check_id);
|
||||
+
|
||||
+
|
||||
+ // Hide enable adblock on all chrome:// pages except for the NTP.
|
||||
+ String url = currentTab.getUrl();
|
||||
+ boolean isChromeScheme = url.startsWith(UrlConstants.CHROME_URL_PREFIX)
|
||||
+ || url.startsWith(UrlConstants.CHROME_NATIVE_URL_PREFIX);
|
||||
+ // Also hide enable javascsript on Reader Mode.
|
||||
+ boolean isDistilledPage = DomDistillerUrlUtils.isDistilledPage(url);
|
||||
+
|
||||
+ boolean itemVisible = (!isChromeScheme || currentTab.isNativePage()) && !isDistilledPage;
|
||||
+ enableMenuRow.setVisible(itemVisible);
|
||||
+ if (!itemVisible) return;
|
||||
+
|
||||
+ boolean adBlockEnabled = !PrefServiceBridge.getInstance().adsEnabled();
|
||||
+
|
||||
+ // Mark the checkbox if adblock is globally activate.
|
||||
+ enableMenuCheck.setChecked(adBlockEnabled);
|
||||
+
|
||||
+ // This title doesn't seem to be displayed by Android, but it is used to set up
|
||||
+ // accessibility text in {@link AppMenuAdapter#setupMenuButton}.
|
||||
+ enableMenuLabel.setTitleCondensed(adBlockEnabled
|
||||
+ ? mActivity.getString(R.string.menu_enable_adblock_on)
|
||||
+ : mActivity.getString(R.string.menu_enable_adblock_off));
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
* @return Whether bookmarks, downloads, and history should be shown in the menu.
|
||||
*/
|
||||
public static boolean shouldShowNavMenuItems() {
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
@@ -170,6 +170,8 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
}
|
||||
}
|
||||
|
||||
+ updateEnableAdBlockMenuItem(menu, currentTab);
|
||||
+
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, requestDesktopSiteVisible);
|
||||
updateEnableJavascriptMenuItem(menu, currentTab);
|
||||
prepareAddToHomescreenMenuItem(menu, currentTab, addToHomeScreenVisible);
|
||||
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
--- a/chrome/android/java/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
@@ -2568,6 +2568,17 @@ Google may use your browsing activity, content on some sites you visit, and othe
|
||||
<message name="IDS_MENU_REQUEST_DESKTOP_SITE_OFF" desc="Accessibility description for when Request Desktop Site is disabled.">
|
||||
Turn on Request desktop site
|
||||
</message>
|
||||
+
|
||||
+ <message name="IDS_MENU_ENABLE_ADBLOCK" desc="Menu item in Chrome's overflow/options menu. If this menu item is unselected, Bromite will disable AdBlock engine for the page. [CHAR-LIMIT=27]">
|
||||
+ Enable AdBlock
|
||||
+ </message>
|
||||
+ <message name="IDS_MENU_ENABLE_ADBLOCK_ON" desc="Accessibility description for when Enable AdBlock is selected.">
|
||||
+ Turn off AdBlock
|
||||
+ </message>
|
||||
+ <message name="IDS_MENU_ENABLE_ADBLOCK_OFF" desc="Accessibility description for when Enable AdBlock is unselected.">
|
||||
+ Turn on AdBlock
|
||||
+ </message>
|
||||
+
|
||||
<message name="IDS_MENU_READER_MODE_PREFS" desc="Menu item to show reader mode preferences pane, which allows users to change the appearance (font size, theme, etc.) of the page. [CHAR-LIMIT=27]">
|
||||
Appearance
|
||||
</message>
|
||||
diff --git a/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc b/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
|
||||
--- a/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
|
||||
+++ b/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "components/keyed_service/core/service_access_type.h"
|
||||
#include "components/subresource_filter/core/browser/subresource_filter_features.h"
|
||||
#include "url/gurl.h"
|
||||
+#include "net/url_request/adblock_intercept.h"
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -160,9 +161,11 @@ void SubresourceFilterContentSettingsManager::OnContentSettingChanged(
|
||||
if (global_setting == CONTENT_SETTING_ALLOW) {
|
||||
ChromeSubresourceFilterClient::LogAction(
|
||||
kActionContentSettingsAllowedGlobal);
|
||||
+ net::adblock_enabled = false;
|
||||
} else if (global_setting == CONTENT_SETTING_BLOCK) {
|
||||
ChromeSubresourceFilterClient::LogAction(
|
||||
kActionContentSettingsBlockedGlobal);
|
||||
+ net::adblock_enabled = true;
|
||||
} else {
|
||||
NOTREACHED();
|
||||
}
|
||||
diff --git a/net/url_request/adblock_intercept.cc b/net/url_request/adblock_intercept.cc
|
||||
--- a/net/url_request/adblock_intercept.cc
|
||||
+++ b/net/url_request/adblock_intercept.cc
|
||||
@@ -19,6 +19,8 @@
|
||||
|
||||
namespace net {
|
||||
|
||||
+bool adblock_enabled = true;
|
||||
+
|
||||
const char *LOG_TAG = "Bromite";
|
||||
|
||||
#ifdef ADB_TESTER
|
||||
diff --git a/net/url_request/adblock_intercept.h b/net/url_request/adblock_intercept.h
|
||||
--- a/net/url_request/adblock_intercept.h
|
||||
+++ b/net/url_request/adblock_intercept.h
|
||||
@@ -11,6 +11,8 @@ int adblock_rules_count();
|
||||
|
||||
int adblock_intercept(const GURL &url, const std::string &origin_host);
|
||||
|
||||
+extern bool adblock_enabled;
|
||||
+
|
||||
} // namespace net
|
||||
|
||||
#endif // NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
|
||||
diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
||||
--- a/net/url_request/url_request.cc
|
||||
+++ b/net/url_request/url_request.cc
|
||||
@@ -590,6 +590,7 @@ URLRequest::URLRequest(const GURL& url,
|
||||
DCHECK(base::ThreadTaskRunnerHandle::IsSet());
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
+ if (net::adblock_enabled) {
|
||||
std::string initiatorHost;
|
||||
if (initiator_.has_value()) {
|
||||
initiatorHost = initiator_.value().host();
|
||||
@@ -600,6 +601,9 @@ URLRequest::URLRequest(const GURL& url,
|
||||
} else {
|
||||
url_chain_ = { url };
|
||||
}
|
||||
+ } else {
|
||||
+ url_chain_ = { url };
|
||||
+ }
|
||||
#endif
|
||||
|
||||
context->url_requests()->insert(this);
|
||||
--
|
||||
2.7.4
|
||||
|
69
patches/BRM063_Disable-fetching-of-all-field-trials.patch
Normal file
69
patches/BRM063_Disable-fetching-of-all-field-trials.patch
Normal file
|
@ -0,0 +1,69 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 8 Jul 2018 18:16:34 +0200
|
||||
Subject: Disable fetching of all field trials
|
||||
|
||||
---
|
||||
.../src/org/chromium/chrome/browser/ChromeFeatureList.java | 12 +++---------
|
||||
components/variations/service/variations_service.cc | 4 ++++
|
||||
2 files changed, 7 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
|
||||
@@ -103,9 +103,7 @@ public abstract class ChromeFeatureList {
|
||||
*/
|
||||
public static int getFieldTrialParamByFeatureAsInt(
|
||||
String featureName, String paramName, int defaultValue) {
|
||||
- if (sTestFeatures != null) return defaultValue;
|
||||
- assert isInitialized();
|
||||
- return nativeGetFieldTrialParamByFeatureAsInt(featureName, paramName, defaultValue);
|
||||
+ return defaultValue;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -122,9 +120,7 @@ public abstract class ChromeFeatureList {
|
||||
*/
|
||||
public static double getFieldTrialParamByFeatureAsDouble(
|
||||
String featureName, String paramName, double defaultValue) {
|
||||
- if (sTestFeatures != null) return defaultValue;
|
||||
- assert isInitialized();
|
||||
- return nativeGetFieldTrialParamByFeatureAsDouble(featureName, paramName, defaultValue);
|
||||
+ return defaultValue;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -141,9 +137,7 @@ public abstract class ChromeFeatureList {
|
||||
*/
|
||||
public static boolean getFieldTrialParamByFeatureAsBoolean(
|
||||
String featureName, String paramName, boolean defaultValue) {
|
||||
- if (sTestFeatures != null) return defaultValue;
|
||||
- assert isInitialized();
|
||||
- return nativeGetFieldTrialParamByFeatureAsBoolean(featureName, paramName, defaultValue);
|
||||
+ return defaultValue;
|
||||
}
|
||||
|
||||
// Alphabetical:
|
||||
diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc
|
||||
--- a/components/variations/service/variations_service.cc
|
||||
+++ b/components/variations/service/variations_service.cc
|
||||
@@ -224,6 +224,7 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
|
||||
// Variations seed fetching is only enabled in official Chrome builds, if a URL
|
||||
// is specified on the command line, and for testing.
|
||||
bool IsFetchingEnabled() {
|
||||
+#if 0
|
||||
#if !defined(GOOGLE_CHROME_BUILD)
|
||||
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kVariationsServerURL) &&
|
||||
@@ -235,6 +236,9 @@ bool IsFetchingEnabled() {
|
||||
}
|
||||
#endif
|
||||
return true;
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
}
|
||||
|
||||
std::unique_ptr<SeedResponse> MaybeImportFirstRunSeed(
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -9,7 +9,7 @@ Subject: Disable plugins enumeration
|
|||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -1175,10 +1175,8 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
|
||||
@@ -1239,10 +1239,8 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
|
||||
}
|
||||
|
||||
PluginData* LocalFrame::GetPluginData() const {
|
|
@ -10,7 +10,7 @@ Subject: Remove google account access permission on reboot
|
|||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -784,8 +784,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
|
||||
@@ -790,8 +790,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
|
||||
resources = [
|
||||
"java/res_template/xml/file_paths.xml",
|
||||
"java/res_template/xml/launchershortcuts.xml",
|
||||
|
@ -23,7 +23,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||||
--- a/chrome/android/java/AndroidManifest.xml
|
||||
+++ b/chrome/android/java/AndroidManifest.xml
|
||||
@@ -804,14 +804,14 @@ by a child template that "extends" this file.
|
||||
@@ -831,14 +831,14 @@ by a child template that "extends" this file.
|
||||
</provider>
|
||||
|
||||
<!-- Sync adapter for browser invalidation. -->
|
|
@ -11,7 +11,7 @@ it as hidden as it was before?
|
|||
diff --git a/net/cert/x509_util.cc b/net/cert/x509_util.cc
|
||||
--- a/net/cert/x509_util.cc
|
||||
+++ b/net/cert/x509_util.cc
|
||||
@@ -190,7 +190,7 @@ bool GetTLSServerEndPointChannelBinding(const X509Certificate& certificate,
|
||||
@@ -191,7 +191,7 @@ bool GetTLSServerEndPointChannelBinding(const X509Certificate& certificate,
|
||||
}
|
||||
|
||||
// RSA keys created by CreateKeyAndSelfSignedCert will be of this length.
|
|
@ -1,54 +0,0 @@
|
|||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
Date: Thu, 11 Sep 2014 16:37:32 +0200
|
||||
Subject: autofill: disable autofill download manager
|
||||
|
||||
Disables the autofill download manager (trk:158).
|
||||
---
|
||||
components/autofill/core/browser/autofill_download_manager.cc | 9 +--------
|
||||
components/autofill/core/browser/autofill_manager.cc | 2 ++
|
||||
2 files changed, 3 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc
|
||||
--- a/components/autofill/core/browser/autofill_download_manager.cc
|
||||
+++ b/components/autofill/core/browser/autofill_download_manager.cc
|
||||
@@ -133,12 +133,6 @@ const net::BackoffEntry::Policy kAutofillBackoffPolicy = {
|
||||
false,
|
||||
};
|
||||
|
||||
-#if defined(GOOGLE_CHROME_BUILD)
|
||||
-const char kClientName[] = "Google Chrome";
|
||||
-#else
|
||||
-const char kClientName[] = "Chromium";
|
||||
-#endif // defined(GOOGLE_CHROME_BUILD)
|
||||
-
|
||||
size_t CountActiveFieldsInForms(const std::vector<FormStructure*>& forms) {
|
||||
size_t active_field_count = 0;
|
||||
for (const auto* form : forms)
|
||||
@@ -158,8 +152,7 @@ std::string RequestTypeToString(AutofillDownloadManager::RequestType type) {
|
||||
}
|
||||
|
||||
GURL GetRequestUrl(AutofillDownloadManager::RequestType request_type) {
|
||||
- return GURL("https://clients1.google.com/tbproxy/af/" +
|
||||
- RequestTypeToString(request_type) + "?client=" + kClientName);
|
||||
+ return GURL("about:blank/");
|
||||
}
|
||||
|
||||
std::ostream& operator<<(std::ostream& out,
|
||||
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
|
||||
--- a/components/autofill/core/browser/autofill_manager.cc
|
||||
+++ b/components/autofill/core/browser/autofill_manager.cc
|
||||
@@ -1255,9 +1255,11 @@ AutofillManager::AutofillManager(
|
||||
weak_ptr_factory_(this) {
|
||||
DCHECK(driver);
|
||||
DCHECK(client_);
|
||||
+#if 0
|
||||
if (enable_download_manager == ENABLE_AUTOFILL_DOWNLOAD_MANAGER) {
|
||||
download_manager_.reset(new AutofillDownloadManager(driver, this));
|
||||
}
|
||||
+#endif
|
||||
CountryNames::SetLocaleString(app_locale_);
|
||||
if (personal_data_ && client_)
|
||||
personal_data_->OnSyncServiceInitialized(client_->GetSyncService());
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -11,7 +11,7 @@ anyway), avoid sending to Google.
|
|||
diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc
|
||||
--- a/net/dns/host_resolver_impl.cc
|
||||
+++ b/net/dns/host_resolver_impl.cc
|
||||
@@ -109,10 +109,10 @@ const unsigned kMinimumTTLSeconds = kCacheEntryTTLSeconds;
|
||||
@@ -107,10 +107,10 @@ const unsigned kMinimumTTLSeconds = kCacheEntryTTLSeconds;
|
||||
// cached.
|
||||
const int kIPv6ProbePeriodMs = 1000;
|
||||
|
|
@ -16,7 +16,7 @@ any information.
|
|||
diff --git a/chrome/browser/profile_resetter/reset_report_uploader.cc b/chrome/browser/profile_resetter/reset_report_uploader.cc
|
||||
--- a/chrome/browser/profile_resetter/reset_report_uploader.cc
|
||||
+++ b/chrome/browser/profile_resetter/reset_report_uploader.cc
|
||||
@@ -18,7 +18,7 @@
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
namespace {
|
||||
const char kResetReportUrl[] =
|
|
@ -0,0 +1,73 @@
|
|||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
Date: Thu, 11 Sep 2014 16:37:32 +0200
|
||||
Subject: autofill: disable autofill download manager
|
||||
|
||||
Disables the autofill download manager (trk:158).
|
||||
---
|
||||
components/autofill/core/browser/autofill_download_manager.cc | 9 +++++++--
|
||||
components/autofill/core/browser/autofill_manager.cc | 2 ++
|
||||
2 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc
|
||||
--- a/components/autofill/core/browser/autofill_download_manager.cc
|
||||
+++ b/components/autofill/core/browser/autofill_download_manager.cc
|
||||
@@ -39,7 +39,6 @@ namespace autofill {
|
||||
|
||||
namespace {
|
||||
|
||||
-const size_t kMaxQueryGetSize = 1400; // 1.25KB
|
||||
const size_t kMaxFormCacheSize = 16;
|
||||
const size_t kMaxFieldsPerQueryRequest = 100;
|
||||
|
||||
@@ -69,11 +68,13 @@ const net::BackoffEntry::Policy kAutofillBackoffPolicy = {
|
||||
false,
|
||||
};
|
||||
|
||||
+#if 0
|
||||
#if defined(GOOGLE_CHROME_BUILD)
|
||||
const char kClientName[] = "Google+Chrome";
|
||||
#else
|
||||
const char kClientName[] = "Chromium";
|
||||
#endif // defined(GOOGLE_CHROME_BUILD)
|
||||
+#endif
|
||||
|
||||
const char kDefaultAutofillServerURL[] =
|
||||
"https://clients1.google.com/tbproxy/af/";
|
||||
@@ -371,7 +372,7 @@ bool AutofillDownloadManager::StartUploadRequest(
|
||||
std::tuple<GURL, net::URLFetcher::RequestType>
|
||||
AutofillDownloadManager::GetRequestURLAndMethod(
|
||||
const FormRequestData& request_data) const {
|
||||
- net::URLFetcher::RequestType method = net::URLFetcher::POST;
|
||||
+#if 0
|
||||
std::string query_str(base::StrCat({"client=", kClientName}));
|
||||
|
||||
if (request_data.request_type == AutofillDownloadManager::REQUEST_QUERY) {
|
||||
@@ -394,6 +395,10 @@ AutofillDownloadManager::GetRequestURLAndMethod(
|
||||
GURL url = autofill_server_url_
|
||||
.Resolve(RequestTypeToString(request_data.request_type))
|
||||
.ReplaceComponents(replacements);
|
||||
+#else
|
||||
+ net::URLFetcher::RequestType method = net::URLFetcher::GET;
|
||||
+ GURL url = GURL("about:blank");
|
||||
+#endif
|
||||
|
||||
return std::make_tuple(std::move(url), method);
|
||||
}
|
||||
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
|
||||
--- a/components/autofill/core/browser/autofill_manager.cc
|
||||
+++ b/components/autofill/core/browser/autofill_manager.cc
|
||||
@@ -1264,9 +1264,11 @@ AutofillManager::AutofillManager(
|
||||
weak_ptr_factory_(this) {
|
||||
DCHECK(driver);
|
||||
DCHECK(client_);
|
||||
+#if 0
|
||||
if (enable_download_manager == ENABLE_AUTOFILL_DOWNLOAD_MANAGER) {
|
||||
download_manager_.reset(new AutofillDownloadManager(driver, this));
|
||||
}
|
||||
+#endif
|
||||
CountryNames::SetLocaleString(app_locale_);
|
||||
if (personal_data_ && client_)
|
||||
personal_data_->OnSyncServiceInitialized(client_->GetSyncService());
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -46,7 +46,7 @@ diff --git a/chrome/browser/safe_browsing/incident_reporting/incident_reporting_
|
|||
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
|
||||
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
|
||||
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
|
||||
@@ -58,8 +58,7 @@ class SafeBrowsingBlockingPageFactoryImpl
|
||||
@@ -59,8 +59,7 @@ class SafeBrowsingBlockingPageFactoryImpl
|
||||
PrefService* prefs =
|
||||
Profile::FromBrowserContext(web_contents->GetBrowserContext())
|
||||
->GetPrefs();
|
||||
|
@ -59,7 +59,7 @@ diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc b/chrom
|
|||
diff --git a/chrome/browser/safe_browsing/safe_browsing_service.cc b/chrome/browser/safe_browsing/safe_browsing_service.cc
|
||||
--- a/chrome/browser/safe_browsing/safe_browsing_service.cc
|
||||
+++ b/chrome/browser/safe_browsing/safe_browsing_service.cc
|
||||
@@ -353,8 +353,10 @@ SafeBrowsingDatabaseManager* SafeBrowsingService::CreateDatabaseManager() {
|
||||
@@ -371,8 +371,10 @@ SafeBrowsingDatabaseManager* SafeBrowsingService::CreateDatabaseManager() {
|
||||
|
||||
void SafeBrowsingService::RegisterAllDelayedAnalysis() {
|
||||
#if defined(FULL_SAFE_BROWSING)
|
|
@ -12,7 +12,7 @@ This prevents trk:148 (phishing) and trk:149 (malware).
|
|||
diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chrome/browser/safe_browsing/client_side_detection_service.cc
|
||||
--- a/chrome/browser/safe_browsing/client_side_detection_service.cc
|
||||
+++ b/chrome/browser/safe_browsing/client_side_detection_service.cc
|
||||
@@ -62,11 +62,13 @@ enum MalwareReportTypes {
|
||||
@@ -64,11 +64,13 @@ enum MalwareReportTypes {
|
||||
REPORT_RESULT_MAX
|
||||
};
|
||||
|
||||
|
@ -26,7 +26,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
|
|||
|
||||
} // namespace
|
||||
|
||||
@@ -283,6 +285,10 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
|
||||
@@ -285,6 +287,10 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -37,7 +37,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
|
|||
// Fill in metadata about which model we used.
|
||||
if (is_extended_reporting) {
|
||||
request->set_model_filename(model_loader_extended_->name());
|
||||
@@ -361,6 +367,7 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
|
||||
@@ -367,6 +373,7 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
|
||||
|
||||
// Record that we made a request
|
||||
phishing_report_times_.push(base::Time::Now());
|
||||
|
@ -45,7 +45,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
|
|||
}
|
||||
|
||||
void ClientSideDetectionService::StartClientReportMalwareRequest(
|
||||
@@ -375,6 +382,10 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
|
||||
@@ -381,6 +388,10 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -56,7 +56,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
|
|||
std::string request_data;
|
||||
if (!request->SerializeToString(&request_data)) {
|
||||
UpdateEnumUMAHistogram(REPORT_FAILED_SERIALIZATION);
|
||||
@@ -444,6 +455,7 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
|
||||
@@ -450,6 +461,7 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
|
||||
|
||||
// Record that we made a malware request
|
||||
malware_report_times_.push(base::Time::Now());
|
|
@ -17,7 +17,7 @@ References: https://github.com/iridium-browser/iridium-browser/issues/37
|
|||
diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chrome/browser/safe_browsing/client_side_detection_service.cc
|
||||
--- a/chrome/browser/safe_browsing/client_side_detection_service.cc
|
||||
+++ b/chrome/browser/safe_browsing/client_side_detection_service.cc
|
||||
@@ -348,7 +348,7 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
|
||||
@@ -354,7 +354,7 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
|
||||
auto resource_request = std::make_unique<network::ResourceRequest>();
|
||||
resource_request->url = GetClientReportUrl(kClientReportPhishingUrl);
|
||||
resource_request->method = "POST";
|
||||
|
@ -26,7 +26,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
|
|||
auto loader = network::SimpleURLLoader::Create(std::move(resource_request),
|
||||
traffic_annotation);
|
||||
loader->AttachStringForUpload(request_data, "application/octet-stream");
|
||||
@@ -430,7 +430,7 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
|
||||
@@ -436,7 +436,7 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
|
||||
auto resource_request = std::make_unique<network::ResourceRequest>();
|
||||
resource_request->url = GetClientReportUrl(kClientReportMalwareUrl);
|
||||
resource_request->method = "POST";
|
||||
|
@ -38,7 +38,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
|
|||
diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
|
||||
--- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
|
||||
+++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
|
||||
@@ -1008,7 +1008,7 @@ void CheckClientDownloadRequest::SendRequest() {
|
||||
@@ -1022,7 +1022,7 @@ void CheckClientDownloadRequest::SendRequest() {
|
||||
auto resource_request = std::make_unique<network::ResourceRequest>();
|
||||
resource_request->url = PPAPIDownloadRequest::GetDownloadRequestUrl();
|
||||
resource_request->method = "POST";
|
||||
|
@ -50,7 +50,7 @@ diff --git a/chrome/browser/safe_browsing/download_protection/check_client_downl
|
|||
diff --git a/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc b/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc
|
||||
--- a/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc
|
||||
+++ b/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc
|
||||
@@ -242,7 +242,7 @@ void PPAPIDownloadRequest::SendRequest() {
|
||||
@@ -248,7 +248,7 @@ void PPAPIDownloadRequest::SendRequest() {
|
||||
auto resource_request = std::make_unique<network::ResourceRequest>();
|
||||
resource_request->url = GetDownloadRequestUrl();
|
||||
resource_request->method = "POST";
|
|
@ -18,7 +18,7 @@ References: https://github.com/iridium-browser/iridium-browser/issues/28
|
|||
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
|
||||
--- a/extensions/common/extension.cc
|
||||
+++ b/extensions/common/extension.cc
|
||||
@@ -380,9 +380,12 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
|
||||
@@ -377,9 +377,12 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
|
||||
}
|
||||
|
||||
bool Extension::ShouldExposeViaManagementAPI() const {
|
|
@ -9,7 +9,7 @@ Subject: lint: suppress hardcoded text warnings
|
|||
diff --git a/build/android/lint/suppressions.xml b/build/android/lint/suppressions.xml
|
||||
--- a/build/android/lint/suppressions.xml
|
||||
+++ b/build/android/lint/suppressions.xml
|
||||
@@ -96,10 +96,8 @@ Still reading?
|
||||
@@ -94,10 +94,8 @@ Still reading?
|
||||
<ignore regexp="chromecast/internal" />
|
||||
<ignore regexp="remoting/android/java/src/org/chromium/chromoting/TapGestureDetector.java" />
|
||||
</issue>
|
|
@ -35,10 +35,10 @@ diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detect
|
|||
|
||||
-import com.google.android.gms.vision.Frame;
|
||||
-
|
||||
import org.chromium.mojo_base.BigBufferUtil;
|
||||
import org.chromium.skia.mojom.ColorType;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
@@ -41,14 +39,4 @@ public class BitmapUtils {
|
||||
@@ -44,14 +42,4 @@ public class BitmapUtils {
|
||||
|
||||
return bitmap;
|
||||
}
|
|
@ -54,7 +54,7 @@ diff --git a/build/secondary/third_party/android_tools/support/BUILD.gn b/build/
|
|||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -261,7 +261,6 @@ android_library("chrome_java") {
|
||||
@@ -260,7 +260,6 @@ android_library("chrome_java") {
|
||||
"//third_party/android_swipe_refresh:android_swipe_refresh_java",
|
||||
"//third_party/android_tools:android_arch_lifecycle_common_java",
|
||||
"//third_party/android_tools:android_arch_lifecycle_runtime_java",
|
||||
|
@ -65,7 +65,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||||
--- a/chrome/android/java/AndroidManifest.xml
|
||||
+++ b/chrome/android/java/AndroidManifest.xml
|
||||
@@ -72,22 +72,17 @@ by a child template that "extends" this file.
|
||||
@@ -74,22 +74,17 @@ by a child template that "extends" this file.
|
||||
<permission android:name="{{ manifest_package }}.permission.CHILD_SERVICE" android:protectionLevel="signature" />
|
||||
<permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" android:protectionLevel="signatureOrSystem" />
|
||||
<permission android:name="{{ manifest_package }}.TOS_ACKED" android:protectionLevel="signatureOrSystem" />
|
||||
|
@ -88,7 +88,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
|
|||
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
|
||||
|
||||
<uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS" />
|
||||
@@ -886,43 +881,6 @@ by a child template that "extends" this file.
|
||||
@@ -913,43 +908,6 @@ by a child template that "extends" this file.
|
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
|
||||
android:hardwareAccelerated="false" />
|
||||
|
||||
|
@ -132,7 +132,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
|
|||
<!-- Notification service for sync. -->
|
||||
<meta-data android:name="ipc.invalidation.ticl.listener_service_class"
|
||||
android:value="org.chromium.chrome.browser.invalidation.ChromeInvalidationClientService"/>
|
||||
@@ -934,8 +892,6 @@ by a child template that "extends" this file.
|
||||
@@ -961,8 +919,6 @@ by a child template that "extends" this file.
|
||||
</service>
|
||||
<service android:name="com.google.ipc.invalidation.ticl.android2.TiclService"
|
||||
android:exported="false"/>
|
||||
|
@ -141,7 +141,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
|
|||
<receiver android:name="com.google.ipc.invalidation.ticl.android2.AndroidInternalScheduler$AlarmReceiver"
|
||||
android:exported="false"/>
|
||||
<receiver android:name="com.google.ipc.invalidation.external.client.contrib.AndroidListener$AlarmReceiver"
|
||||
@@ -962,24 +918,6 @@ by a child template that "extends" this file.
|
||||
@@ -989,24 +945,6 @@ by a child template that "extends" this file.
|
||||
android:exported="false"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE"/>
|
||||
|
||||
|
@ -259,8 +259,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/In
|
|||
-
|
||||
import org.chromium.base.ApplicationState;
|
||||
import org.chromium.base.ApplicationStatus;
|
||||
import org.chromium.base.FieldTrialList;
|
||||
@@ -201,16 +199,7 @@ public class InvalidationController implements ApplicationStatus.ApplicationStat
|
||||
import org.chromium.base.Log;
|
||||
@@ -200,16 +198,7 @@ public class InvalidationController implements ApplicationStatus.ApplicationStat
|
||||
* Registers for Google Cloud Messaging (GCM) for Invalidations.
|
||||
*/
|
||||
private void ensureGcmIsInitialized() {
|
||||
|
@ -413,7 +413,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/In
|
|||
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
|
||||
--- a/chrome/android/java_sources.gni
|
||||
+++ b/chrome/android/java_sources.gni
|
||||
@@ -22,7 +22,6 @@ chrome_java_sources = [
|
||||
@@ -24,7 +24,6 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/ChromeActivity.java",
|
||||
"java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java",
|
||||
"java/src/org/chromium/chrome/browser/ChromeApplication.java",
|
||||
|
@ -421,7 +421,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
|
|||
"java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
|
||||
"java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java",
|
||||
"java/src/org/chromium/chrome/browser/ChromeFeatureList.java",
|
||||
@@ -1112,7 +1111,6 @@ chrome_java_sources = [
|
||||
@@ -1159,7 +1158,6 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java",
|
||||
"java/src/org/chromium/chrome/browser/services/AndroidEduOwnerCheckCallback.java",
|
||||
"java/src/org/chromium/chrome/browser/services/GoogleServicesManager.java",
|
|
@ -10,9 +10,9 @@ Subject: kill remaining Play Services checks
|
|||
chrome/android/java_sources.gni | 3 --
|
||||
.../components/signin/AccountIdProvider.java | 10 +-----
|
||||
.../signin/GmsAvailabilityException.java | 4 +--
|
||||
.../signin/SystemAccountManagerDelegate.java | 15 +-------
|
||||
.../signin/SystemAccountManagerDelegate.java | 18 ++--------
|
||||
.../shape_detection/FaceDetectionProviderImpl.java | 8 +----
|
||||
9 files changed, 9 insertions(+), 102 deletions(-)
|
||||
9 files changed, 11 insertions(+), 103 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionInfo.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionInfo.java
|
||||
|
@ -198,9 +198,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMen
|
|||
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
|
||||
--- a/chrome/android/java_sources.gni
|
||||
+++ b/chrome/android/java_sources.gni
|
||||
@@ -485,10 +485,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java",
|
||||
@@ -540,10 +540,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/fullscreen/FullscreenManager.java",
|
||||
"java/src/org/chromium/chrome/browser/fullscreen/FullscreenOptions.java",
|
||||
"java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClient.java",
|
||||
- "java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/gcore/ConnectedTask.java",
|
||||
|
@ -287,6 +287,17 @@ diff --git a/components/signin/core/browser/android/java/src/org/chromium/compon
|
|||
+ throw new GmsAvailabilityException("Can't use Google Play Services: CFOSS",0);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -207,8 +194,9 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
|
||||
callback.onResult(null);
|
||||
}
|
||||
};
|
||||
- mAccountManager.addAccount(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE, null, null, null, null,
|
||||
+ /*mAccountManager.addAccount(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE, null, null, null, null,
|
||||
accountManagerCallback, null);
|
||||
+ */
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java b/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java
|
||||
--- a/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java
|
|
@ -22,7 +22,7 @@ diff --git a/chrome/android/java/res/xml/languages_preferences.xml b/chrome/andr
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
@@ -23,6 +23,7 @@ import org.chromium.chrome.browser.metrics.UmaUtils;
|
||||
@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.metrics.UmaUtils;
|
||||
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
|
||||
import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils;
|
||||
import org.chromium.chrome.browser.preferences.datareduction.DataReductionProxyUma;
|
||||
|
@ -30,7 +30,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
|
|||
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
|
||||
import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider;
|
||||
import org.chromium.ui.base.LocalizationUtils;
|
||||
@@ -142,6 +143,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
@@ -143,6 +144,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
if (mFreProperties.getBoolean(SHOW_DATA_REDUCTION_PAGE)) {
|
||||
mFreProgressStates.add(FRE_PROGRESS_DATA_SAVER_SHOWN);
|
||||
notifyAdapter = true;
|
Loading…
Add table
Reference in a new issue