Release 78.0.3904.130

This commit is contained in:
csagan5 2019-12-09 11:51:40 +01:00
parent c941fcf137
commit bc3ef3746a
No known key found for this signature in database
GPG key ID: 64190A51D85DC0C5
8 changed files with 621 additions and 13 deletions

View file

@ -1,3 +1,11 @@
# 78.0.3904.130
* support user-specified subresources filter URL (fixes https://github.com/bromite/bromite/issues/2)
* revert removal of flag for disabling pull-to-refresh effect
* fix crash when entering no DoH URL (fixes https://github.com/bromite/bromite/issues/430)
* added Peter Lowe's Ad and tracking server list (fixes https://github.com/bromite/bromite/issues/423)
* removed Startpage
* enabled dav1d_decoder
# 78.0.3904.119
* replace fixed DNS-over-HTTPS feature flag with user-customizable option
* fix background playback issue (fixes https://github.com/bromite/bromite/issues/424)

View file

@ -161,7 +161,7 @@ Bromite uses an unindexed filter file, which is periodically published at https:
* [EasyList](https://easylist.to/#easylist)
* [EasyPrivacy](https://easylist.to/#easyprivacy)
* [uBlock Origin](https://github.com/uBlockOrigin)
* [Peter Lowe's Ad and tracking server list](https://pgl.yoyo.org/adservers/)
# License
The patches published as part of the Bromite project are released under [GNU GPL v3](./LICENSE).

View file

@ -5,6 +5,7 @@ debuggable_apks=false
disable_android_lint=true
enable_ac3_eac3_audio_demuxing=true enable_hevc_demuxing=true enable_iterator_debugging=false
enable_av1_decoder=true
enable_dav1d_decoder=true
enable_gvr_services=false
enable_hangout_services_extension=false
enable_mdns=false

View file

@ -140,4 +140,6 @@ Disable-HEAD-requests-for-single-word-Omnibar-searches.patch
Block-all-connection-requests-with-qjz9zk-in-the-domain-name-or-with-a-trk-scheme.patch
Disable-some-signed-exchange-features.patch
Add-flag-to-disable-WebGL.patch
Add-user-setting-for-DNS-over-HTTPS-custom-URL.patch
Add-user-setting-for-DNS-over-HTTPS-DoH-custom-URL.patch
Revert-flags-remove-disable-pull-to-refresh-effect.patch
Add-option-to-configure-the-ad-blocker-filters-URL.patch

View file

@ -0,0 +1,516 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 5 Dec 2019 22:41:25 +0100
Subject: Add option to configure the ad blocker filters URL
---
chrome/android/chrome_java_sources.gni | 2 +
chrome/android/java/res/layout/adblock_editor.xml | 65 ++++++++++++++++
chrome/android/java/res/values/values.xml | 2 +
.../android/java/res/xml/adblock_preferences.xml | 25 ++++++
chrome/android/java/res/xml/main_preferences.xml | 11 ++-
.../chrome/browser/preferences/AdBlockEditor.java | 91 ++++++++++++++++++++++
.../browser/preferences/AdBlockPreferences.java | 53 +++++++++++++
.../chrome/browser/util/FeatureUtilities.java | 10 +++
.../java/strings/android_chrome_strings.grd | 14 ++++
chrome/app/generated_resources.grd | 10 +++
chrome/browser/android/feature_utilities.cc | 8 ++
chrome/browser/browser_process_impl.cc | 3 +-
.../browser/net/system_network_context_manager.cc | 3 +
chrome/common/pref_names.cc | 3 +
chrome/common/pref_names.h | 1 +
.../component_updater/adblock_updater_service.cc | 6 +-
.../component_updater/adblock_updater_service.h | 3 +-
17 files changed, 302 insertions(+), 8 deletions(-)
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockEditor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockPreferences.java
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -1266,6 +1266,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/preferences/PreferenceUtils.java",
"java/src/org/chromium/chrome/browser/preferences/Preferences.java",
"java/src/org/chromium/chrome/browser/preferences/PreferencesLauncher.java",
+ "java/src/org/chromium/chrome/browser/preferences/AdBlockEditor.java",
+ "java/src/org/chromium/chrome/browser/preferences/AdBlockPreferences.java",
"java/src/org/chromium/chrome/browser/preferences/SearchEngineAdapter.java",
"java/src/org/chromium/chrome/browser/preferences/SearchEnginePreference.java",
"java/src/org/chromium/chrome/browser/preferences/SearchUtils.java",
diff --git a/chrome/android/java/res/layout/adblock_editor.xml b/chrome/android/java/res/layout/adblock_editor.xml
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/res/layout/adblock_editor.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2015 The Chromium Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style license that can be
+ found in the LICENSE file. -->
+
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:id="@+id/scroll_view"
+ android:fillViewport="true" >
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:focusableInTouchMode="true" >
+
+ <org.chromium.chrome.browser.widget.ChromeTextInputLayout
+ android:id="@+id/adblock_url"
+ style="@style/PreferenceScreenLayout"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+ <!-- TODO(crbug.com/900912): Fix and remove lint ignore -->
+ <EditText
+ tools:ignore="Autofill"
+ android:id="@+id/adblock_url_edit"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textUri"
+ android:singleLine="true"
+ android:hint="@string/options_adblock_edit_label" />
+ </org.chromium.chrome.browser.widget.ChromeTextInputLayout>
+
+ <Space style="@style/ButtonBarTopSpacer" />
+ <View style="@style/ButtonBarTopDivider" />
+
+ <LinearLayout style="@style/ButtonBar" >
+ <org.chromium.ui.widget.ButtonCompat
+ android:id="@+id/adblock_reset"
+ style="@style/ButtonBarButton"
+ android:text="@string/reset" />
+
+ <org.chromium.ui.widget.ButtonCompat
+ android:id="@+id/adblock_cancel"
+ style="@style/ButtonBarButton"
+ android:text="@string/cancel" />
+
+ <org.chromium.ui.widget.ButtonCompat
+ android:id="@+id/adblock_save"
+ style="@style/ButtonBarButton"
+ android:text="@string/save" />
+ </LinearLayout>
+ </LinearLayout>
+ </ScrollView>
+
+ <include layout="@layout/preferences_action_bar_shadow"/>
+
+</FrameLayout>
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
--- a/chrome/android/java/res/values/values.xml
+++ b/chrome/android/java/res/values/values.xml
@@ -68,6 +68,8 @@
<!-- Our manage space activity. Default pre-KitKat to be nothing. -->
<string name="manage_space_activity"></string>
+ <string name="adblock_help_url">https://www.bromite.org/custom-filters</string>
+
<!-- Value for scaleX to mirror drawables correctly for LTR / RTL layouts. -->
<integer name="automirror_scale_x_reverse">-1</integer>
diff --git a/chrome/android/java/res/xml/adblock_preferences.xml b/chrome/android/java/res/xml/adblock_preferences.xml
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/res/xml/adblock_preferences.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2015 The Chromium Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style license that can be
+ found in the LICENSE file. -->
+
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <org.chromium.chrome.browser.preferences.ChromeSwitchPreference
+ android:key="adblock_switch"
+ android:summaryOn="@string/text_on"
+ android:summaryOff="@string/text_off" />
+
+ <org.chromium.chrome.browser.preferences.HyperlinkPreference
+ android:key="adblock_help"
+ android:title="@string/adblock_help"
+ app:url="@string/adblock_help_url" />
+
+ <Preference
+ android:key="adblock_edit"
+ android:title="@string/options_adblock_edit_label"
+ android:fragment="org.chromium.chrome.browser.preferences.AdBlockEditor" />
+
+</PreferenceScreen>
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -61,19 +61,24 @@
android:order="13"
android:title="@string/prefs_privacy"/>
<Preference
+ android:fragment="org.chromium.chrome.browser.preferences.AdBlockPreferences"
+ android:key="adblock"
+ android:order="14"
+ android:title="@string/prefs_adblock"/>
+ <Preference
android:fragment="org.chromium.chrome.browser.preferences.AccessibilityPreferences"
android:key="accessibility"
- android:order="14"
+ android:order="15"
android:title="@string/prefs_accessibility"/>
<Preference
android:fragment="org.chromium.chrome.browser.preferences.website.SiteSettingsPreferences"
android:key="content_settings"
- android:order="15"
+ android:order="16"
android:title="@string/prefs_site_settings"/>
<Preference
android:fragment="org.chromium.chrome.browser.preferences.languages.LanguagesPreferences"
android:key="languages"
- android:order="16"
+ android:order="17"
android:title="@string/prefs_languages"/>
<org.chromium.chrome.browser.preferences.ChromeBasePreference
android:fragment="org.chromium.chrome.browser.preferences.download.DownloadPreferences"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockEditor.java
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockEditor.java
@@ -0,0 +1,91 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.preferences;
+
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
+
+import org.chromium.chrome.browser.util.FeatureUtilities;
+import org.chromium.chrome.R;
+import org.chromium.components.url_formatter.UrlFormatter;
+
+/**
+ * Provides the Java-UI for editing the DNS-over-HTTPS (AdBlock) preference.
+ */
+public class AdBlockEditor extends Fragment implements TextWatcher {
+ private EditText mAdBlockFiltersUrlEdit;
+ private Button mSaveButton;
+ private Button mResetButton;
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ getActivity().setTitle(R.string.options_adblock_edit_title);
+
+ View v = inflater.inflate(R.layout.adblock_editor, container, false);
+ View scrollView = v.findViewById(R.id.scroll_view);
+ scrollView.getViewTreeObserver().addOnScrollChangedListener(
+ PreferenceUtils.getShowShadowOnScrollListener(v, v.findViewById(R.id.shadow)));
+ mAdBlockFiltersUrlEdit = (EditText) v.findViewById(R.id.adblock_url_edit);
+ mAdBlockFiltersUrlEdit.setText(FeatureUtilities.getAdBlockFiltersURL());
+ mAdBlockFiltersUrlEdit.addTextChangedListener(this);
+ mAdBlockFiltersUrlEdit.requestFocus();
+
+ initializeSaveCancelResetButtons(v);
+ return v;
+ }
+
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ mSaveButton.setEnabled(s.length() != 0);
+ mResetButton.setEnabled(true);
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ }
+
+ private void initializeSaveCancelResetButtons(View v) {
+ mResetButton = (Button) v.findViewById(R.id.adblock_reset);
+ mResetButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mAdBlockFiltersUrlEdit.setText(FeatureUtilities.getAdBlockFiltersURL());
+ getActivity().finish();
+ }
+ });
+
+ mSaveButton = (Button) v.findViewById(R.id.adblock_save);
+ mSaveButton.setEnabled(false);
+ mSaveButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ FeatureUtilities.setAdBlockFiltersURL(
+ UrlFormatter.fixupUrl(mAdBlockFiltersUrlEdit.getText().toString()));
+ getActivity().finish();
+ }
+ });
+
+ Button button = (Button) v.findViewById(R.id.adblock_cancel);
+ button.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ getActivity().finish();
+ }
+ });
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockPreferences.java
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockPreferences.java
@@ -0,0 +1,53 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.preferences;
+
+import android.os.Bundle;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceFragmentCompat;
+
+import org.chromium.chrome.browser.ContentSettingsType;
+import org.chromium.chrome.browser.util.FeatureUtilities;
+import org.chromium.base.VisibleForTesting;
+import org.chromium.chrome.R;
+
+/**
+ * Fragment that allows the user to configure AdBlock related preferences.
+ */
+public class AdBlockPreferences extends PreferenceFragmentCompat {
+ @VisibleForTesting
+ public static final String PREF_ADBLOCK_SWITCH = "adblock_switch";
+ private static final String PREF_ADBLOCK_EDIT = "adblock_edit";
+
+ private Preference mAdBlockEdit;
+
+ @Override
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+ getActivity().setTitle(R.string.options_adblock_title);
+ PreferenceUtils.addPreferencesFromResource(this, R.xml.adblock_preferences);
+
+ ChromeSwitchPreference mAdBlockSwitch =
+ (ChromeSwitchPreference) findPreference(PREF_ADBLOCK_SWITCH);
+ boolean isAdBlockEnabled = !PrefServiceBridge.getInstance().isCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_ADS);
+ mAdBlockSwitch.setChecked(isAdBlockEnabled);
+ mAdBlockSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
+ PrefServiceBridge.getInstance().setCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_ADS, !(boolean) newValue);
+ return true;
+ });
+
+ mAdBlockEdit = findPreference(PREF_ADBLOCK_EDIT);
+ updateCurrentAdBlockUrl();
+ }
+
+ private void updateCurrentAdBlockUrl() {
+ mAdBlockEdit.setSummary(FeatureUtilities.getAdBlockFiltersURL());
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ updateCurrentAdBlockUrl();
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
@@ -237,6 +237,14 @@ public class FeatureUtilities {
cacheServiceManagerForBackgroundPrefetch();
}
+ public static void setAdBlockFiltersURL(String url) {
+ nativeSetAdBlockFiltersURL(url);
+ }
+
+ public static String getAdBlockFiltersURL() {
+ return nativeGetAdBlockFiltersURL();
+ }
+
/**
* @return True if tab model merging for Android N+ is enabled.
*/
@@ -924,4 +932,6 @@ public class FeatureUtilities {
private static native String nativeGetDoHTemplates();
private static native void nativeSetIsInMultiWindowMode(boolean isInMultiWindowMode);
private static native boolean nativeIsNetworkServiceWarmUpEnabled();
+ private static native void nativeSetAdBlockFiltersURL(String url);
+ private static native String nativeGetAdBlockFiltersURL();
}
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
@@ -898,6 +898,20 @@ Your Google account may have other forms of browsing history like searches and a
Captions
</message>
+ <!-- AdBlock settings -->
+ <message name="IDS_PREFS_ADBLOCK" desc="Title of the AdBlock Settings screen. [CHAR-LIMIT=32]">
+ AdBlock settings
+ </message>
+ <message name="IDS_OPTIONS_ADBLOCK_EDIT_TITLE" desc="The title of the screen that allows users to change the URL that is used to fetch the ad blocker filters.">
+ Edit filters URL
+ </message>
+ <message name="IDS_OPTIONS_ADBLOCK_EDIT_LABEL" desc="The label for the edit text field that allows the user to change the URL that is used to fetch the ad blocker filters.">
+ Filters URL
+ </message>
+ <message name="IDS_ADBLOCK_HELP" desc="The title of the hyperlink that allows users to visit the web page with instructions for custom ad blocker filters.">
+ Visit help page
+ </message>
+
<!-- Site settings -->
<message name="IDS_PREFS_SITE_SETTINGS" desc="Title of the Website Settings screen. [CHAR-LIMIT=32]">
Site settings
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
@@ -9505,6 +9505,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
+ <!-- Ad Blocking preferences -->
+ <if expr="is_android">
+ <message name="IDS_OPTIONS_ADBLOCK_TITLE" desc="The title of the Ad Blocking option on Android" formatter_data="android_java">
+ Ad Blocking
+ </message>
+ <message name="IDS_OPTIONS_ADBLOCK_SUMMARY" desc="The title of the Ad Blocking summary on Android" formatter_data="android_java">
+ Configure Ad Blocking and filters URL
+ </message>
+ </if>
+
<!-- Ad Blocking UI strings. -->
<message name="IDS_ALWAYS_ALLOW_ADS" desc="Explanation associated with a toggle to allow ads after ads have been blocked on the page. To be used on pages where the ad blocking UI is governed by a persistent permissions-based whitelist.">
Always allow ads on this site
diff --git a/chrome/browser/android/feature_utilities.cc b/chrome/browser/android/feature_utilities.cc
--- a/chrome/browser/android/feature_utilities.cc
+++ b/chrome/browser/android/feature_utilities.cc
@@ -58,6 +58,14 @@ std::string GetReachedCodeProfilerTrialGroup() {
} // namespace android
} // namespace chrome
+static ScopedJavaLocalRef<jstring> JNI_FeatureUtilities_GetAdBlockFiltersURL(JNIEnv* env) {
+ return base::android::ConvertUTF8ToJavaString(env, g_browser_process->local_state()->GetString(prefs::kAdBlockFiltersURL));
+}
+
+static void JNI_FeatureUtilities_SetAdBlockFiltersURL(JNIEnv* env, const JavaParamRef<jstring>& url) {
+ g_browser_process->local_state()->SetString(prefs::kAdBlockFiltersURL, base::android::ConvertJavaStringToUTF8(env, url));
+}
+
static void JNI_FeatureUtilities_SetCustomTabVisible(
JNIEnv* env,
jboolean visible) {
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -1032,7 +1032,8 @@ BrowserProcessImpl::adblock_updater() {
adblock_updater_ = std::make_unique<adblock_updater::AdBlockUpdaterService>(
g_browser_process->system_network_context_manager()->GetSharedURLLoaderFactory(),
std::move(scheduler),
- g_browser_process->subresource_filter_ruleset_service());
+ g_browser_process->subresource_filter_ruleset_service(),
+ local_state()->GetString(prefs::kAdBlockFiltersURL));
return adblock_updater_.get();
}
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -391,6 +391,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
ssl_config_service_manager_(
SSLConfigServiceManager::CreateDefaultManager(local_state_)),
proxy_config_monitor_(local_state_) {
+ local_state_->SetDefaultPrefValue(prefs::kAdBlockFiltersURL,
+ base::Value("https://www.bromite.org/filters/filters.dat"));
#if !defined(OS_ANDROID)
// QuicAllowed was not part of Android policy.
const base::Value* value =
@@ -462,6 +464,7 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
}
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
+ registry->RegisterStringPref(prefs::kAdBlockFiltersURL, std::string());
// Register the DnsClient and DoH preferences. The feature list has not been
// initialized yet, so setting the preference defaults here to reflect the
// corresponding features will only cause the preference defaults to reflect
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -1871,6 +1871,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
// capture devices without prompt.
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
+// Holds the URL to an indexed subresource filters file.
+const char kAdBlockFiltersURL[] = "adblock.filters_url";
+
// A pref holding the value of the policy used to explicitly allow or deny
// access to video capture devices. When enabled or not set, the user is
// prompted for device access. When disabled, access to video capture devices
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -30,6 +30,7 @@ extern const char kDownloadRestrictions[];
extern const char kForceEphemeralProfiles[];
extern const char kHomePageIsNewTabPage[];
extern const char kHomePage[];
+extern const char kAdBlockFiltersURL[];
extern const char kImportantSitesDialogHistory[];
#if defined(OS_WIN)
extern const char kLastProfileResetTimestamp[];
diff --git a/components/component_updater/adblock_updater_service.cc b/components/component_updater/adblock_updater_service.cc
--- a/components/component_updater/adblock_updater_service.cc
+++ b/components/component_updater/adblock_updater_service.cc
@@ -46,12 +46,12 @@ const int initial_check_delay = 5,
next_check_delay = 60*60*24*7, // 1 week
on_demand_check_delay = 60; // minimum 1 minute between each on-demand check
-AdBlockUpdaterService::AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler, subresource_filter::RulesetService* ruleset_service)
+AdBlockUpdaterService::AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler,
+ subresource_filter::RulesetService* ruleset_service, std::string filters_url)
: ruleset_service_(ruleset_service), shared_url_network_factory_(shared_url_network_factory), scheduler_(std::move(scheduler)) {
DCHECK(ruleset_service);
- //TODO: retrieve filters URL from config/prefs
- filters_url_ = "https://www.bromite.org/filters/filters.dat";
+ filters_url_ = filters_url;
}
AdBlockUpdaterService::~AdBlockUpdaterService() {
diff --git a/components/component_updater/adblock_updater_service.h b/components/component_updater/adblock_updater_service.h
--- a/components/component_updater/adblock_updater_service.h
+++ b/components/component_updater/adblock_updater_service.h
@@ -54,7 +54,8 @@ class Observer {
// All methods are safe to call ONLY from the browser's main thread.
class AdBlockUpdaterService {
public:
- AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler, subresource_filter::RulesetService* ruleset_service);
+ AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler,
+ subresource_filter::RulesetService* ruleset_service, std::string filters_url);
~AdBlockUpdaterService();
// Adds an observer for this class. An observer should not be added more
--
2.11.0

View file

@ -1,6 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 23 Nov 2019 10:55:16 +0100
Subject: Add user setting for DNS-over-HTTPS custom URL
Subject: Add user setting for DNS-over-HTTPS (DoH) custom URL
---
chrome/android/chrome_java_sources.gni | 2 +
@ -14,9 +14,9 @@ Subject: Add user setting for DNS-over-HTTPS custom URL
.../java/strings/android_chrome_strings.grd | 11 +++
chrome/app/generated_resources.grd | 6 ++
chrome/browser/android/feature_utilities.cc | 23 ++++++
.../browser/net/system_network_context_manager.cc | 36 +--------
.../browser/net/system_network_context_manager.cc | 46 +++--------
chrome/common/chrome_features.cc | 4 +-
13 files changed, 313 insertions(+), 34 deletions(-)
13 files changed, 320 insertions(+), 37 deletions(-)
create mode 100644 chrome/android/java/res/layout/doh_editor.xml
create mode 100644 chrome/android/java/res/xml/doh_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/preferences/DoHEditor.java
@ -220,7 +220,7 @@ new file mode 100644
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ mSaveButton.setEnabled(true);
+ mSaveButton.setEnabled(s.length() != 0);
+ mResetButton.setEnabled(true);
+ }
+
@ -434,15 +434,25 @@ diff --git a/chrome/browser/android/feature_utilities.cc b/chrome/browser/androi
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -134,6 +134,7 @@ void GetStubResolverConfig(
@@ -134,9 +134,14 @@ void GetStubResolverConfig(
std::string doh_templates =
local_state->GetString(prefs::kDnsOverHttpsTemplates);
- std::string server_method;
- if (!doh_templates.empty() &&
- *secure_dns_mode != net::DnsConfig::SecureDnsMode::OFF) {
+ if (doh_templates.empty()) {
+ *secure_dns_mode = net::DnsConfig::SecureDnsMode::OFF;
+ doh_mode = chrome_browser_net::kDnsOverHttpsModeOff;
+ }
+
+ LOG(INFO) << "DoH templates: '" << doh_templates << "' with mode " << doh_mode;
std::string server_method;
if (!doh_templates.empty() &&
*secure_dns_mode != net::DnsConfig::SecureDnsMode::OFF) {
@@ -404,40 +405,11 @@ SystemNetworkContextManager::SystemNetworkContextManager(
+ if (*secure_dns_mode != net::DnsConfig::SecureDnsMode::OFF) {
+ std::string server_method;
for (const std::string& server_template :
SplitString(doh_templates, " ", base::TRIM_WHITESPACE,
base::SPLIT_WANT_NONEMPTY)) {
@@ -404,40 +409,11 @@ SystemNetworkContextManager::SystemNetworkContextManager(
// features before registering change callbacks for these preferences.
local_state_->SetDefaultPrefValue(prefs::kBuiltInDnsClientEnabled,
base::Value(ShouldEnableAsyncDns()));

View file

@ -404,7 +404,7 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
<message name="IDS_CONTEXTUAL_SEARCH_TITLE" desc="Name for the Contextual Search feature, which allows users to search for a term in a web page by tapping on it.">
Tap to Search
</message>
@@ -4038,9 +4008,6 @@ The site does NOT gain access to the camera. The camera images are only visible
@@ -4041,9 +4011,6 @@ The site does NOT gain access to the camera. The camera images are only visible
<message name="IDS_USAGE_STATS_CONSENT_PROMPT" desc="Consent prompt when authorizing Digital Wellbeing to access Chrome usage data">
You can see sites you visit in Chrome and set timers for them.\n\nGoogle gets info about the sites you set timers for and how long you visit them. This info is used to make Digital Wellbeing better.
</message>
@ -417,7 +417,7 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3037,8 +3037,6 @@ jumbo_split_static_library("browser") {
@@ -3039,8 +3039,6 @@ jumbo_split_static_library("browser") {
"download/download_commands.h",
"download/download_crx_util.cc",
"download/download_crx_util.h",

View file

@ -0,0 +1,71 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 2 Dec 2019 21:15:32 +0100
Subject: Revert "flags: remove disable-pull-to-refresh-effect"
This reverts commit 4e598f38a0e6dd3dbede009c6a99b2a520a94e1f.
---
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag-metadata.json | 5 +++++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
4 files changed, 16 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
@@ -1927,6 +1927,10 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE(switches::kHostedAppQuitNotification)},
#endif // OS_MACOSX
#if defined(OS_ANDROID)
+ {"disable-pull-to-refresh-effect",
+ flag_descriptions::kPullToRefreshEffectName,
+ flag_descriptions::kPullToRefreshEffectDescription, kOsAndroid,
+ SINGLE_DISABLE_VALUE_TYPE(switches::kDisablePullToRefreshEffect)},
{"translate-force-trigger-on-english",
flag_descriptions::kTranslateForceTriggerOnEnglishName,
flag_descriptions::kTranslateForceTriggerOnEnglishDescription, kOsAndroid,
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -681,6 +681,11 @@
"expiry_milestone": 83
},
{
+ "name": "disable-pull-to-refresh-effect",
+ // "owners": [ "your-team" ],
+ "expiry_milestone": -1
+ },
+ {
// See https://crbug.com/882238.
"name": "disable-pushstate-throttle",
"owners": [ "arthursonzogni@ch40m1um.qjz9zk", "palmer@ch40m1um.qjz9zk" ],
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
@@ -2679,6 +2679,10 @@ extern const char kProcessSharingWithStrictSiteInstancesDescription[] =
"separated like strict site isolation, but process selection puts multiple "
"site instances in a single process.";
+const char kPullToRefreshEffectName[] = "The pull-to-refresh effect";
+const char kPullToRefreshEffectDescription[] =
+ "Page reloads triggered by vertically overscrolling content.";
+
const char kReaderModeHeuristicsName[] = "Reader Mode triggering";
const char kReaderModeHeuristicsDescription[] =
"Determines what pages the Reader Mode infobar is shown on.";
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
@@ -1583,6 +1583,9 @@ extern const char kProcessSharingWithDefaultSiteInstancesDescription[];
extern const char kProcessSharingWithStrictSiteInstancesName[];
extern const char kProcessSharingWithStrictSiteInstancesDescription[];
+extern const char kPullToRefreshEffectName[];
+extern const char kPullToRefreshEffectDescription[];
+
extern const char kReaderModeHeuristicsName[];
extern const char kReaderModeHeuristicsDescription[];
extern const char kReaderModeHeuristicsMarkup[];
--
2.11.0