v120 final patches

This commit is contained in:
Carmelo Messina
2023-12-02 22:58:24 +01:00
parent b441c2af1b
commit 86bb2672a7
30 changed files with 488 additions and 258 deletions
+38 -17
View File
@@ -28,8 +28,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/common/chrome_features.cc | 1 +
.../content_settings/core/common/features.cc | 1 +
components/flags_ui/flags_state.cc | 21 +++
components/flags_ui/resources/app.html | 33 +++-
components/flags_ui/resources/app.ts | 37 ++++-
components/flags_ui/resources/app.html | 42 ++++-
components/flags_ui/resources/app.ts | 41 ++++-
components/flags_ui/resources/experiment.html | 7 +-
components/flags_ui/resources/experiment.ts | 16 ++
.../flags_ui/resources/flags_browser_proxy.ts | 5 +
@@ -70,7 +70,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
services/network/public/cpp/features.h | 1 +
third_party/blink/common/features.cc | 1 +
third_party/blink/public/common/features.h | 1 +
56 files changed, 475 insertions(+), 13 deletions(-)
56 files changed, 488 insertions(+), 13 deletions(-)
create mode 100755 cromite_flags/BUILD.gn
create mode 100755 cromite_flags/chrome/browser/about_flags_cc/placeholder.txt
create mode 100755 cromite_flags/chrome/browser/browser_features_cc/placeholder.txt
@@ -483,10 +483,13 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
diff --git a/components/flags_ui/resources/app.html b/components/flags_ui/resources/app.html
--- a/components/flags_ui/resources/app.html
+++ b/components/flags_ui/resources/app.html
@@ -473,6 +473,24 @@
@@ -473,7 +473,32 @@
padding-top: 1.5rem;
}
}
+ #appcontainer {
+ overflow-y: scroll;
+ }
+ .cromite #header {
+ display: none;
+ }
@@ -504,11 +507,16 @@ diff --git a/components/flags_ui/resources/app.html b/components/flags_ui/resour
+ }
+ .cromite #tab-content-cromite {
+ display: block !important;
+ }
+ .cromite .section-header-title {
+ display: none;
+ }
</style>
+<div id="appcontainer">
<div id="header">
<div class="flex-container">
@@ -545,6 +563,11 @@
<div class="flex search-container">
@@ -545,6 +570,11 @@
aria-selected="false" aria-controls="panel2"
tabindex="-1">$i18n{unavailable}</a>
</if>
@@ -520,7 +528,7 @@ diff --git a/components/flags_ui/resources/app.html b/components/flags_ui/resour
</div>
<div id="tabpanels">
<div id="tab-content-available" class="tab-content selected"
@@ -564,6 +587,14 @@
@@ -564,6 +594,14 @@
</div>
</div>
</if>
@@ -535,17 +543,27 @@ diff --git a/components/flags_ui/resources/app.html b/components/flags_ui/resour
</div>
<div id="needs-restart">
<div class="flex-container">
@@ -578,4 +609,4 @@
@@ -578,4 +616,6 @@
</div>
</div>
</div>
-</div>
\ No newline at end of file
+</div>
+
+</div>
diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resources/app.ts
--- a/components/flags_ui/resources/app.ts
+++ b/components/flags_ui/resources/app.ts
@@ -204,6 +204,10 @@ export class FlagsAppElement extends CustomElement {
@@ -193,6 +193,7 @@ export class FlagsAppElement extends CustomElement {
return getTemplate();
}
+ private onlyCromiteFlags: boolean = false;
private announceStatusDelayMs: number = 100;
private featuresResolver: PromiseResolver<void> = new PromiseResolver();
private flagSearch: FlagSearch = new FlagSearch(this);
@@ -204,6 +205,10 @@ export class FlagsAppElement extends CustomElement {
// </if>
tabs: Tab[] = [
@@ -556,20 +574,23 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
{
tabEl: this.getRequiredElement('#tab-available'),
panelEl: this.getRequiredElement('#tab-content-available'),
@@ -217,6 +221,8 @@ export class FlagsAppElement extends CustomElement {
@@ -217,6 +222,11 @@ export class FlagsAppElement extends CustomElement {
];
connectedCallback() {
+ if (location.pathname == '/cromite')
+ document.body.classList.add('cromite');
+ if (location.pathname == '/cromite') {
+ this.onlyCromiteFlags = true;
+ this.getRequiredElement("#appcontainer").classList.add('cromite');
+ document.title = "Cromite Flags List";
+ }
// Get and display the data upon loading.
this.requestExperimentalFeaturesData();
// There is no restart button on iOS.
@@ -277,20 +283,29 @@ export class FlagsAppElement extends CustomElement {
@@ -277,20 +287,29 @@ export class FlagsAppElement extends CustomElement {
const defaultFeatures: Feature[] = [];
const nonDefaultFeatures: Feature[] = [];
+ if (document.body.classList.contains("cromite")) {
+ if (this.onlyCromiteFlags) {
+ experimentalFeaturesData.supportedFeatures =
+ experimentalFeaturesData.supportedFeatures.filter(item => item.is_new);
+ }
@@ -582,12 +603,12 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
nonDefaultFeatures,
- this.getRequiredElement('#non-default-experiments'));
+ this.getRequiredElement('#non-default-experiments'),
+ this.getRequiredElement('non-default-cromite-experiments'), false);
+ this.getRequiredElement('#non-default-cromite-experiments'), false);
this.renderExperiments(
- defaultFeatures, this.getRequiredElement('#default-experiments'));
+ defaultFeatures, this.getRequiredElement('#default-experiments'),
+ this.getRequiredElement('cromite-experiments'), false);
+ this.getRequiredElement('#cromite-experiments'), false);
// <if expr="not is_ios">
this.renderExperiments(
@@ -598,7 +619,7 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
// </if>
this.showRestartToast(experimentalFeaturesData.needsRestart);
@@ -401,16 +416,23 @@ export class FlagsAppElement extends CustomElement {
@@ -401,16 +420,23 @@ export class FlagsAppElement extends CustomElement {
}
private renderExperiments(
@@ -623,7 +644,7 @@ diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resource
if (select) {
experiment.addEventListener('select-change', e => {
e.preventDefault();
@@ -434,9 +456,14 @@ export class FlagsAppElement extends CustomElement {
@@ -434,9 +460,14 @@ export class FlagsAppElement extends CustomElement {
this.showRestartToast(true);
});
}
@@ -120,7 +120,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -65,6 +65,11 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
@@ -66,6 +66,11 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
@@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import java.util.ArrayList;
import java.util.List;
@@ -72,7 +77,15 @@ import java.util.List;
@@ -73,7 +78,15 @@ import java.util.List;
* Fragment to keep track of the all the privacy related preferences.
*/
public class PrivacySettings
@@ -149,7 +149,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_PRELOAD_PAGES = "preload_pages";
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
@@ -135,6 +148,21 @@ public class PrivacySettings
@@ -136,6 +149,21 @@ public class PrivacySettings
}
}
@@ -171,7 +171,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
// Record the launch of PG from the S&P link-row entry point
privacyGuidePreference.setOnPreferenceClickListener(preference -> {
@@ -292,6 +320,7 @@ public class PrivacySettings
@@ -293,6 +321,7 @@ public class PrivacySettings
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
@@ -179,7 +179,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
@@ -317,6 +346,13 @@ public class PrivacySettings
@@ -318,6 +347,13 @@ public class PrivacySettings
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
sharedPreferencesEditor.apply();
@@ -193,7 +193,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -359,6 +395,10 @@ public class PrivacySettings
@@ -360,6 +396,10 @@ public class PrivacySettings
: R.string.text_off);
}
+16 -1
View File
@@ -8,13 +8,14 @@ https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10
BUILD.gn | 1 -
.../navigation_predictor_metrics_document_data.h | 2 ++
chrome/browser/safe_browsing/BUILD.gn | 1 +
.../omnibox/browser/autocomplete_classifier.cc | 4 ++--
components/omnibox/browser/omnibox_field_trial.cc | 4 ++--
.../phishing_classifier/phishing_image_embedder.cc | 14 +++-----------
content/browser/browser_interface_binders.cc | 1 +
crypto/BUILD.gn | 3 +++
net/BUILD.gn | 1 +
third_party/libevent/BUILD.gn | 2 ++
9 files changed, 15 insertions(+), 14 deletions(-)
10 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/BUILD.gn b/BUILD.gn
--- a/BUILD.gn
@@ -50,6 +51,20 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
]
if (safe_browsing_mode == 1) {
# "Safe Browsing Full" files in addition to the "basic" ones to use for
diff --git a/components/omnibox/browser/autocomplete_classifier.cc b/components/omnibox/browser/autocomplete_classifier.cc
--- a/components/omnibox/browser/autocomplete_classifier.cc
+++ b/components/omnibox/browser/autocomplete_classifier.cc
@@ -95,8 +95,8 @@ void AutocompleteClassifier::Classify(
metrics::OmniboxEventProto::PageClassification page_classification,
AutocompleteMatch* match,
GURL* alternate_nav_url) {
- TRACE_EVENT1("omnibox", "AutocompleteClassifier::Classify", "text",
- base::UTF16ToUTF8(text));
+ // TRACE_EVENT1("omnibox", "AutocompleteClassifier::Classify", "text",
+ // base::UTF16ToUTF8(text));
DCHECK(!inside_classify_);
base::AutoReset<bool> reset(&inside_classify_, true);
AutocompleteInput input(text, page_classification, *scheme_classifier_);
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
--- a/components/omnibox/browser/omnibox_field_trial.cc
+++ b/components/omnibox/browser/omnibox_field_trial.cc
@@ -20,12 +20,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
net/cookies/parsed_cookie.h | 7 ++++++-
net/extras/sqlite/sqlite_persistent_cookie_store.cc | 10 ++++++++++
net/url_request/url_request_http_job.cc | 2 +-
services/network/restricted_cookie_manager.cc | 3 +++
services/network/restricted_cookie_manager.cc | 6 ++++++
.../renderer/modules/cookie_store/cookie_init.idl | 2 +-
.../renderer/modules/cookie_store/cookie_store.cc | 12 ++++++++++++
.../cookie_store/cookie_store_delete_options.idl | 2 +-
ui/webui/webui_allowlist.cc | 1 +
16 files changed, 51 insertions(+), 21 deletions(-)
16 files changed, 54 insertions(+), 21 deletions(-)
create mode 100644 cromite_flags/components/content_settings/core/common/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
create mode 100644 cromite_flags/components/permissions/features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
create mode 100644 cromite_flags/content/public/common/content_features_cc/Partitioning-all-cookies-by-top-frame-domain.inc
@@ -194,11 +194,14 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc
--- a/services/network/restricted_cookie_manager.cc
+++ b/services/network/restricted_cookie_manager.cc
@@ -933,6 +933,9 @@ void RestrictedCookieManager::SetCookieFromString(
@@ -933,6 +933,12 @@ void RestrictedCookieManager::SetCookieFromString(
std::move(callback).Run();
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=911299
+ bool site_for_cookies_ok =
+ BoundSiteForCookies().IsEquivalent(site_for_cookies);
+ bool top_frame_origin_ok = top_frame_origin == BoundTopFrameOrigin();
+ if (!site_for_cookies_ok || !top_frame_origin_ok) return;
+
net::CookieInclusionStatus status;
@@ -169,18 +169,18 @@ new file mode 100644
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -67,6 +67,11 @@ found in the LICENSE file.
@@ -66,6 +66,11 @@ found in the LICENSE file.
android:key="secure_dns"
android:title="@string/settings_secure_dns_title"
android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings" />
<PreferenceCategory
+ <Preference
+ android:key="incognito_settings"
+ android:title="@string/incognito_settings_title"
+ android:summary="@string/incognito_settings_summary"
+ android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
+ <Preference
<PreferenceCategory
android:key="services_category"
android:title="@string/services_category_title">
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java b/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
new file mode 100644
--- /dev/null
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../menu/bookmark_toolbar_menu_improved.xml | 14 +
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
.../app/bookmarks/BookmarkActivity.java | 32 ++
.../browser/bookmarks/BookmarkBridge.java | 279 +++++++++++++++++
.../browser/bookmarks/BookmarkBridge.java | 280 +++++++++++++++++
.../browser/bookmarks/BookmarkDelegate.java | 10 +
.../bookmarks/BookmarkManagerCoordinator.java | 9 +
.../bookmarks/BookmarkManagerMediator.java | 23 ++
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
ui/shell_dialogs/select_file_dialog_linux.cc | 4 +
ui/shell_dialogs/select_file_dialog_linux.h | 2 +
ui/shell_dialogs/select_file_dialog_win.cc | 5 +
43 files changed, 919 insertions(+), 29 deletions(-)
43 files changed, 920 insertions(+), 29 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-bookmark-import-export-actions.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-bookmark-import-export-actions.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/add-bookmark-import-export-actions.inc
@@ -242,7 +242,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import android.text.TextUtils;
import android.util.Pair;
@@ -38,6 +51,32 @@ import org.chromium.url.GURL;
@@ -38,6 +51,33 @@ import org.chromium.url.GURL;
import java.util.ArrayList;
import java.util.List;
@@ -251,7 +251,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+import org.chromium.chrome.browser.document.ChromeLauncherActivity;
+import org.chromium.chrome.browser.IntentHandler;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.base.shared_preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.ui.base.PageTransition;
+import org.chromium.ui.base.WindowAndroid;
@@ -275,7 +276,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Provides the communication channel for Android to fetch and manipulate the bookmark model stored
* in native.
@@ -451,6 +490,209 @@ class BookmarkBridge {
@@ -451,6 +491,209 @@ class BookmarkBridge {
.getTotalBookmarkCount(mNativeBookmarkBridge, id.getId(), id.getType());
}
@@ -317,7 +318,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
+
+ // get last exported uri path, if any
+ SharedPreferencesManager sharedPrefs = SharedPreferencesManager.getInstance();
+ SharedPreferencesManager sharedPrefs = ChromeSharedPreferences.getInstance();
+ String bookmarksPath = sharedPrefs.readString(ChromePreferenceKeys.BOOKMARKS_LAST_EXPORT_URI, standardBoorkmarkName);
+ Uri lastSelectedUri = Uri.parse(bookmarksPath);
+
@@ -485,7 +486,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Synchronously gets a list of bookmarks that match the specified search query.
*
@@ -979,6 +1221,39 @@ class BookmarkBridge {
@@ -979,6 +1222,39 @@ class BookmarkBridge {
depthList.add(depth);
}
@@ -500,7 +501,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ }
+ });
+ } else {
+ SharedPreferencesManager sharedPrefs = SharedPreferencesManager.getInstance();
+ SharedPreferencesManager sharedPrefs = ChromeSharedPreferences.getInstance();
+ sharedPrefs.writeString(ChromePreferenceKeys.BOOKMARKS_LAST_EXPORT_URI, bookmarksPath);
+
+ Context context = ContextUtils.getApplicationContext();
@@ -525,7 +526,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<>();
for (int i = 0; i < left.length; i++) {
@@ -1024,6 +1299,10 @@ class BookmarkBridge {
@@ -1024,6 +1300,10 @@ class BookmarkBridge {
void getChildIds(
long nativeBookmarkBridge, long id, int type, List<BookmarkId> bookmarksList);
@@ -56,7 +56,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../one_time_permissions_tracker.cc | 33 +++++++-
.../one_time_permissions_tracker.h | 5 +-
.../one_time_permissions_tracker_factory.cc | 2 +-
.../embedded_permission_prompt_ask_view.cc | 2 +-
.../permissions/embedded_permission_prompt.cc | 2 +-
.../permission_prompt_bubble_base_view.cc | 2 +-
.../browser/content_autofill_driver.cc | 64 ++++++++-------
.../content/browser/content_autofill_driver.h | 2 +-
@@ -67,7 +67,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../android/website_preference_bridge.cc | 7 +-
.../strings/android/browser_ui_strings.grd | 5 ++
components/content_settings/android/BUILD.gn | 1 +
.../core/browser/content_settings_utils.cc | 36 +++++++++
.../core/browser/content_settings_utils.cc | 36 ++++++++
.../core/browser/content_settings_utils.h | 6 ++
.../common/content_settings_constraints.h | 11 +++
.../page_info/PageInfoController.java | 4 +-
@@ -76,7 +76,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/page_info/page_info.cc | 2 +
components/page_info/page_info.h | 1 +
.../permissions/PermissionDialogDelegate.java | 13 +++
.../PermissionDialogModelFactory.java | 81 ++++++++++++++++++-
.../PermissionDialogModelFactory.java | 82 ++++++++++++++++++-
.../permission_dialog_delegate.cc | 19 +++++
.../permission_dialog_delegate.h | 1 +
.../permission_prompt_android.cc | 8 ++
@@ -89,9 +89,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/permissions/permission_prompt.h | 3 +-
components/permissions/permission_request.cc | 30 ++++++-
components/permissions/permission_request.h | 16 +++-
.../permissions/permission_request_manager.cc | 45 +++++++----
.../permissions/permission_request_manager.cc | 45 ++++++----
.../permissions/permission_request_manager.h | 11 ++-
39 files changed, 547 insertions(+), 92 deletions(-)
39 files changed, 548 insertions(+), 92 deletions(-)
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
@@ -230,18 +230,18 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
- return std::make_unique<OneTimePermissionsTracker>();
+ return std::make_unique<OneTimePermissionsTracker>(context);
}
diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc b/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
--- a/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
+++ b/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
@@ -33,7 +33,7 @@ void EmbeddedPermissionPromptAskView::RunButtonCallback(int button_id) {
diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
--- a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
+++ b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
@@ -177,7 +177,7 @@ void EmbeddedPermissionPrompt::Allow() {
}
void EmbeddedPermissionPrompt::AllowThisTime() {
- delegate_->AcceptThisTime();
+ delegate_->AcceptThisTime(content_settings::LifetimeMode::OnlyThisTime);
CloseCurrentViewAndMaybeShowNext(/*first_prompt=*/false);
}
if (delegate()) {
if (button == ButtonType::kAllowThisTime) {
- delegate()->AllowThisTime();
+ delegate()->AllowThisTime(content_settings::LifetimeMode::OnlyThisTime);
} else if (button == ButtonType::kAllow) {
delegate()->Allow();
}
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
@@ -868,7 +868,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
diff --git a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
--- a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
+++ b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
@@ -12,6 +12,17 @@ import org.chromium.ui.UiUtils;
@@ -12,6 +12,18 @@ import org.chromium.ui.UiUtils;
import org.chromium.ui.modaldialog.ModalDialogProperties;
import org.chromium.ui.modelutil.PropertyModel;
@@ -878,6 +878,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
+import android.widget.LinearLayout;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+import android.widget.TextView;
+import org.chromium.base.ApiCompatibilityUtils;
+import org.chromium.ui.base.ViewUtils;
+import org.chromium.components.content_settings.ContentSettingsType;
@@ -886,7 +887,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
/**
* This class creates the model for the permission dialog.
*/
@@ -27,7 +38,7 @@ class PermissionDialogModelFactory {
@@ -27,7 +39,7 @@ class PermissionDialogModelFactory {
String messageText = delegate.getMessageText();
assert !TextUtils.isEmpty(messageText);
@@ -895,7 +896,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
.with(ModalDialogProperties.CONTROLLER, controller)
.with(ModalDialogProperties.FOCUS_DIALOG, true)
.with(ModalDialogProperties.CUSTOM_VIEW, customView)
@@ -39,5 +50,73 @@ class PermissionDialogModelFactory {
@@ -39,5 +51,73 @@ class PermissionDialogModelFactory {
.with(ModalDialogProperties.BUTTON_TAP_PROTECTION_PERIOD_MS,
UiUtils.PROMPT_INPUT_PROTECTION_SHORT_DELAY_MS)
.build();
@@ -958,7 +959,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
+ }
+
+ return pm;
}
+ }
+
+ private static boolean contains(final int[] array, final int key) {
+ int length = array.length;
@@ -967,7 +968,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
+ return true;
+ }
+ return false;
+ }
}
}
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
--- a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
@@ -29,13 +29,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
+ private static class ForceTabletUIDelegate implements BooleanPreferenceDelegate {
+ @Override
+ public boolean isEnabled() {
+ return SharedPreferencesManager.getInstance().readBoolean(
+ return ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false);
+ }
+
+ @Override
+ public void setEnabled(boolean value) {
+ SharedPreferencesManager.getInstance().writeBoolean(
+ ChromeSharedPreferences.getInstance().writeBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, value);
+ }
+ }
@@ -65,7 +65,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
int stubId = R.id.find_toolbar_stub;
- if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
+ if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity) &&
+ !SharedPreferencesManager.getInstance().readBoolean(
+ !ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false)) {
stubId = R.id.find_toolbar_tablet_stub;
}
@@ -247,7 +247,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
import org.chromium.base.ContextUtils;
import org.chromium.base.ThreadUtils;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.ui.R;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.display.DisplayUtil;
@@ -255,7 +255,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
* E.g. http://developer.samsung.com/samsung-dex/testing
*/
public static boolean isNonMultiDisplayContextOnTablet(Context context) {
+ if (SharedPreferencesManager.getInstance().readBoolean(
+ if (ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false))
+ return true;
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
@@ -22,7 +22,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
+ android:title="@string/close_tabs_on_exit_title"
+ android:summary="@string/close_tabs_on_exit_summary"
+ android:defaultValue="false" />
<Preference
<PreferenceCategory
android:key="services_category"
android:title="@string/services_category_title">
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -68,16 +68,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.chrome.R;
import org.chromium.chrome.browser.enterprise.util.ManagedBrowserUtils;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -88,6 +91,8 @@ public class PrivacySettings
@@ -89,6 +92,8 @@ public class PrivacySettings
private final SharedPreferencesManager mSharedPreferencesManager =
SharedPreferencesManager.getInstance();
ChromeSharedPreferences.getInstance();
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
@@ -242,7 +247,11 @@ public class PrivacySettings
@@ -243,7 +248,11 @@ public class PrivacySettings
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
UserPrefs.get(getProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
@@ -289,6 +298,11 @@ public class PrivacySettings
@@ -290,6 +299,11 @@ public class PrivacySettings
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
}
@@ -6,6 +6,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 1 -
chrome/android/chrome_java_sources.gni | 1 -
.../chrome/browser/feed/FeedSurfaceCoordinator.java | 5 +----
chrome/browser/BUILD.gn | 6 ------
.../browser/extensions/api/settings_private/prefs_util.cc | 2 ++
chrome/browser/profiles/profile_impl.cc | 4 ++++
@@ -16,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/supervised_user/core/common/pref_names.h | 4 ++++
.../core/common/supervised_user_constants.cc | 2 ++
.../supervised_user/core/common/supervised_user_utils.cc | 8 ++++++++
12 files changed, 29 insertions(+), 13 deletions(-)
13 files changed, 30 insertions(+), 17 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
@@ -40,6 +41,28 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/org/chromium/chrome/browser/survey/ChromeSurveyController.java",
"java/src/org/chromium/chrome/browser/sync/SyncErrorNotifier.java",
"java/src/org/chromium/chrome/browser/sync/TrustedVaultClient.java",
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
@@ -69,7 +69,6 @@ import org.chromium.components.browser_ui.widget.displaystyle.UiConfig;
import org.chromium.components.feature_engagement.EventConstants;
import org.chromium.components.feature_engagement.Tracker;
import org.chromium.components.prefs.PrefService;
-import org.chromium.components.supervised_user.SupervisedUserPreferences;
import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.third_party.android.swiperefresh.SwipeRefreshLayout;
import org.chromium.ui.base.DeviceFormFactor;
@@ -788,9 +787,7 @@ public class FeedSurfaceCoordinator
* Returns true if the supervised user feed should be displayed.
*/
public boolean shouldDisplaySupervisedFeed() {
- PrefService prefService = UserPrefs.get(mProfile);
- return SupervisedUserPreferences.isSubjectToParentalControls(prefService)
- && ChromeFeatureList.isEnabled(ChromeFeatureList.KID_FRIENDLY_CONTENT_FEED);
+ return false;
}
/**
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
+1 -1
View File
@@ -1260,7 +1260,7 @@ new file mode 100644
+
+package org.chromium.chrome.browser.endpoint_fetcher;
+
+import org.chromium.base.annotations.CalledByNative;
+import org.jni_zero.CalledByNative;
+
+public class EndpointHeaderResponse {
+ private final String mResponseString;
@@ -631,8 +631,8 @@ new file mode 100755
@@ -0,0 +1,20 @@
+package org.chromium.chrome.browser.flags;
+
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.NativeMethods;
+import org.jni_zero.CalledByNative;
+import org.jni_zero.NativeMethods;
+
+public class AdBlockNativeGateway {
+ public static void setAdBlockFiltersURL(String url) {
@@ -10,9 +10,9 @@ Original License: BSD-3-Clause - https://spdx.org/licenses/BSD-3-Clause.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/layout/url_bar.xml | 1 +
.../browser/omnibox/LocationBarMediator.java | 12 ++++++++--
.../browser/omnibox/LocationBarMediator.java | 13 +++++++++--
.../chrome/browser/omnibox/UrlBar.java | 23 +++++++++++++++++++
3 files changed, 34 insertions(+), 2 deletions(-)
3 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/res/layout/url_bar.xml
--- a/chrome/android/java/res/layout/url_bar.xml
@@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/re
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
@@ -290,8 +290,16 @@ class LocationBarMediator
@@ -290,8 +290,17 @@ class LocationBarMediator
if (mNativeInitialized) RecordUserAction.record("FocusLocation");
// Don't clear Omnibox if the user just pasted text to NTP Omnibox.
if (mShouldClearOmniboxOnFocus) {
@@ -35,9 +35,10 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
- UrlBarData.EMPTY, UrlBar.ScrollType.NO_SCROLL, SelectionState.SELECT_END);
+ UrlBarData data = mLocationBarDataProvider.getUrlBarData();
+ @SelectionState int selectionState = SelectionState.SELECT_ALL;
+ if (mTemplateUrlServiceSupplier.hasValue()) {
+ String searchParams = mTemplateUrlServiceSupplier.get().getSearchQueryForUrl(
+ mLocationBarDataProvider.getUrlBarData().url);
+ GURL url = mLocationBarDataProvider.getUrlBarData().url;
+ if (url != null && mTemplateUrlServiceSupplier.hasValue()) {
+ String searchParams =
+ mTemplateUrlServiceSupplier.get().getSearchQueryForUrl(url);
+ if (searchParams != null && !searchParams.isEmpty()) {
+ data = UrlBarData.forUrlAndText(data.url, data.displayText, searchParams);
+ }
@@ -50,7 +50,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
import org.chromium.content_public.browser.ContentFeatureMap;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+
/**
* Fragment to keep track of all the accessibility related preferences.
@@ -5,7 +5,7 @@ Subject: Disable all predictors code
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/BUILD.gn | 4 ---
chrome/browser/BUILD.gn | 2 --
.../preloading_model_keyed_service.cc | 1 +
.../preloading_model_keyed_service_factory.cc | 4 +--
.../chrome_hints_manager.cc | 1 +
@@ -13,7 +13,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/predictors/loading_predictor.cc | 4 +--
.../predictors/loading_predictor_config.cc | 4 +--
.../browser/predictors/predictors_features.cc | 11 ++-----
chrome/browser/ui/tab_helpers.cc | 1 -
.../ui/webui/omnibox/omnibox_page_handler.cc | 14 +++++++++
.../browser/autofill_optimization_guide.cc | 5 ++--
.../browser/autocomplete_controller.cc | 2 ++
.../optimization_guide/core/hints_fetcher.cc | 1 +
.../optimization_guide/core/hints_manager.cc | 5 ++++
.../core/optimization_guide_features.cc | 29 ++++++++++---------
@@ -26,7 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../Disable-all-predictors-code.inc | 4 +++
.../Disable-all-predictors-code.inc | 2 ++
.../platform/runtime_enabled_features.json5 | 2 +-
21 files changed, 60 insertions(+), 42 deletions(-)
24 files changed, 76 insertions(+), 41 deletions(-)
create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc
@@ -35,12 +38,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -877,10 +877,6 @@ static_library("browser") {
"navigation_predictor/navigation_predictor_keyed_service.h",
"navigation_predictor/navigation_predictor_keyed_service_factory.cc",
@@ -879,8 +879,6 @@ static_library("browser") {
"navigation_predictor/navigation_predictor_keyed_service_factory.h",
- "navigation_predictor/navigation_predictor_metrics_document_data.cc",
- "navigation_predictor/navigation_predictor_metrics_document_data.h",
"navigation_predictor/navigation_predictor_metrics_document_data.cc",
"navigation_predictor/navigation_predictor_metrics_document_data.h",
- "navigation_predictor/navigation_predictor_preconnect_client.cc",
- "navigation_predictor/navigation_predictor_preconnect_client.h",
"navigation_predictor/preloading_model_keyed_service.cc",
@@ -160,6 +161,76 @@ diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/p
+SET_CROMITE_FEATURE_DISABLED(kLoadingPredictorUseLocalPredictions);
} // namespace features
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -400,7 +400,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents);
MixedContentSettingsTabHelper::CreateForWebContents(web_contents);
NavigationMetricsRecorder::CreateForWebContents(web_contents);
- NavigationPredictorPreconnectClient::CreateForWebContents(web_contents);
OpenerHeuristicTabHelper::CreateForWebContents(web_contents);
if (optimization_guide::features::IsOptimizationHintsEnabled()) {
OptimizationGuideWebContentsObserver::CreateForWebContents(web_contents);
diff --git a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc b/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc
--- a/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc
+++ b/chrome/browser/ui/webui/omnibox/omnibox_page_handler.cc
@@ -39,7 +39,9 @@
#include "components/omnibox/browser/autocomplete_match.h"
#include "components/omnibox/browser/autocomplete_provider.h"
#include "components/omnibox/browser/autocomplete_result.h"
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
#include "components/omnibox/browser/autocomplete_scoring_model_service.h"
+#endif
#include "components/omnibox/browser/omnibox_field_trial.h"
#include "components/search_engines/template_url.h"
#include "content/public/browser/web_ui.h"
@@ -500,6 +502,7 @@ void OmniboxPageHandler::StartOmniboxQuery(const std::string& input_string,
}
void OmniboxPageHandler::GetMlModelVersion(GetMlModelVersionCallback callback) {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
if (auto* service = GetMlService()) {
auto version = service->GetModelVersion();
if (version == -1) {
@@ -512,10 +515,14 @@ void OmniboxPageHandler::GetMlModelVersion(GetMlModelVersionCallback callback) {
} else {
std::move(callback).Run(-1);
}
+#else
+ std::move(callback).Run(-1);
+#endif
}
void OmniboxPageHandler::StartMl(mojom::SignalsPtr mojom_signals,
StartMlCallback callback) {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
if (auto* service = GetMlService()) {
AutocompleteMatch::ScoringSignals signals =
mojo::ConvertTo<AutocompleteMatch::ScoringSignals>(mojom_signals);
@@ -525,6 +532,9 @@ void OmniboxPageHandler::StartMl(mojom::SignalsPtr mojom_signals,
} else {
std::move(callback).Run(-1);
}
+#else
+ std::move(callback).Run(-1);
+#endif
}
std::unique_ptr<AutocompleteController> OmniboxPageHandler::CreateController(
@@ -549,8 +559,12 @@ OmniboxPageHandler::GetAutocompleteControllerType(
}
AutocompleteScoringModelService* OmniboxPageHandler::GetMlService() {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
return OmniboxFieldTrial::IsMlSyncBatchUrlScoringEnabled()
? AutocompleteScoringModelServiceFactory::GetInstance()
->GetForProfile(profile_)
: nullptr;
+#else
+ return nullptr;
+#endif
}
diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/components/autofill/core/browser/autofill_optimization_guide.cc
--- a/components/autofill/core/browser/autofill_optimization_guide.cc
+++ b/components/autofill/core/browser/autofill_optimization_guide.cc
@@ -189,6 +260,19 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c
optimization_guide::OptimizationGuideDecision decision =
decider_->CanApplyOptimization(url, optimization_type,
/*optimization_metadata=*/nullptr);
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
--- a/components/omnibox/browser/autocomplete_controller.cc
+++ b/components/omnibox/browser/autocomplete_controller.cc
@@ -46,7 +46,9 @@
#include "components/omnibox/browser/autocomplete_input.h"
#include "components/omnibox/browser/autocomplete_match_type.h"
#include "components/omnibox/browser/autocomplete_provider.h"
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
#include "components/omnibox/browser/autocomplete_scoring_model_service.h"
+#endif
#include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h"
#include "components/omnibox/browser/bookmark_provider.h"
#include "components/omnibox/browser/bookmark_scoring_signals_annotator.h"
diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc
--- a/components/optimization_guide/core/hints_fetcher.cc
+++ b/components/optimization_guide/core/hints_fetcher.cc
@@ -162,7 +162,7 @@ diff --git a/content/browser/attribution_reporting/attribution_os_level_manager.
// static
bool AttributionOsLevelManager::ShouldUseOsWebSource(
GlobalRenderFrameHostId render_frame_id) {
+ if ((true)) return network::mojom::AttributionSupport::kNone;
+ if ((true)) return false;
return GetContentClient()
->browser()
->ShouldUseOsWebSourceAttributionReporting(
@@ -121,7 +121,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../user_scripts/renderer/scripts_run_info.h | 69 ++
.../renderer/user_script_injector.cc | 227 +++++
.../renderer/user_script_injector.h | 86 ++
.../user_scripts/renderer/user_script_set.cc | 266 ++++++
.../user_scripts/renderer/user_script_set.cc | 264 ++++++
.../user_scripts/renderer/user_script_set.h | 101 +++
.../renderer/user_script_set_manager.cc | 77 ++
.../renderer/user_script_set_manager.h | 61 ++
@@ -134,7 +134,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../strings/userscripts_strings.grdp | 54 ++
.../Experimental-user-scripts-support.inc | 13 +
tools/gritsettings/resource_ids.spec | 6 +
107 files changed, 9490 insertions(+), 2 deletions(-)
107 files changed, 9488 insertions(+), 2 deletions(-)
create mode 100644 components/user_scripts/README.md
create mode 100755 components/user_scripts/android/BUILD.gn
create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml
@@ -1867,9 +1867,9 @@ new file mode 100644
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.JNINamespace;
+import org.chromium.base.annotations.NativeMethods;
+import org.jni_zero.CalledByNative;
+import org.jni_zero.JNINamespace;
+import org.jni_zero.NativeMethods;
+import org.chromium.base.ContentUriUtils;
+import org.chromium.base.Log;
+import org.chromium.ui.base.WindowAndroid;
@@ -9539,7 +9539,7 @@ diff --git a/components/user_scripts/renderer/user_script_set.cc b/components/us
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/user_script_set.cc
@@ -0,0 +1,266 @@
@@ -0,0 +1,264 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -9784,8 +9784,7 @@ new file mode 100755
+ base::StrCat({kUserScriptHead, script_content, kUserScriptTail});
+ source = blink::WebString::FromUTF8(content);
+ } else {
+ source = blink::WebString::FromUTF8(script_content.data(),
+ script_content.length());
+ source = blink::WebString::FromUTF8(script_content);
+ }
+ script_sources_[url] = source;
+ return source;
@@ -9800,8 +9799,7 @@ new file mode 100755
+ base::StringPiece script_content = file.GetContent();
+ return script_sources_
+ .insert(std::make_pair(
+ url, blink::WebString::FromUTF8(script_content.data(),
+ script_content.length())))
+ url, blink::WebString::FromUTF8(script_content)))
+ .first->second;
+}
+
@@ -10475,10 +10473,10 @@ diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_
"includes": [7220]
},
+ "components/user_scripts/renderer/resources/user_scripts_renderer_resources.grd": {
+ "includes": [7000],
+ "includes": [7240],
+ },
+ "components/user_scripts/browser/resources/browser_resources.grd": {
+ "includes": [7020],
+ "includes": [7260],
+ },
# END components/ section.
@@ -56,7 +56,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.components.browser_ui.settings.SettingsLauncher;
import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
@@ -63,6 +64,9 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
@@ -64,6 +65,9 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
@@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
/**
* Fragment to keep track of the all the privacy related preferences.
*/
@@ -100,6 +104,8 @@ public class PrivacySettings
@@ -101,6 +105,8 @@ public class PrivacySettings
private ChromeSwitchPreference allowCustomTabIntentsPref;
private ChromeSwitchPreference openExternalLinksPref;
@@ -75,7 +75,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
getActivity().setTitle(R.string.prefs_privacy_security);
@@ -206,6 +212,40 @@ public class PrivacySettings
@@ -207,6 +213,40 @@ public class PrivacySettings
Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK);
syncAndServicesLink.setSummary(buildSyncAndServicesLink());
@@ -116,7 +116,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference thirdPartyCookies = findPreference(PREF_THIRD_PARTY_COOKIES);
Preference doNotTrackPref = findPreference(PREF_DO_NOT_TRACK);
@@ -402,6 +442,29 @@ public class PrivacySettings
@@ -403,6 +443,29 @@ public class PrivacySettings
|| ChromeFeatureList.isEnabled(ChromeFeatureList.TRACKING_PROTECTION_3PCD);
}
@@ -25,7 +25,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../tab_management/TabGroupUiViewBinder.java | 3 +
.../tab_management/TabListCoordinator.java | 80 +++++++++++++++++++
.../tab_management/TabListRecyclerView.java | 19 ++++-
.../tab_management/TabSwitcherMediator.java | 15 ++++
.../tab_management/TabSwitcherMediator.java | 21 ++++-
.../ChromeAccessibilitySettingsDelegate.java | 50 ++++++++++++
.../chrome/browser/app/ChromeActivity.java | 13 +++
.../compositor/CompositorViewHolder.java | 8 ++
@@ -47,7 +47,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/settings/SettingsActivity.java | 5 ++
.../StatusIndicatorCoordinator.java | 9 +++
.../StatusIndicatorSceneLayer.java | 6 +-
.../browser/toolbar/ToolbarManager.java | 36 +++++++--
.../browser/toolbar/ToolbarManager.java | 44 ++++++++--
.../chrome/browser/ui/BottomContainer.java | 18 +++++
.../ui/system/StatusBarColorController.java | 9 +++
.../scene_layer/tab_strip_scene_layer.cc | 16 +++-
@@ -57,15 +57,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chrome/browser/flags/CachedFlag.java | 6 ++
.../browser/flags/ChromeFeatureList.java | 5 ++
chrome/browser/prefs/browser_prefs.cc | 2 +-
.../chrome/browser/ui/appmenu/AppMenu.java | 29 ++++++-
.../chrome/browser/ui/appmenu/AppMenu.java | 40 ++++++++--
.../ui/appmenu/AppMenuHandlerImpl.java | 10 +++
.../omnibox/LocationBarCoordinator.java | 6 +-
...mniboxSuggestionsDropdownEmbedderImpl.java | 23 +++++-
.../browser/omnibox/UrlBarCoordinator.java | 3 +
.../suggestions/AutocompleteCoordinator.java | 15 +++-
.../suggestions/AutocompleteMediator.java | 6 +-
.../DropdownItemViewInfoListManager.java | 14 +++-
.../OmniboxSuggestionsDropdown.java | 38 ++++++++-
.../DropdownItemViewInfoListManager.java | 18 +++--
.../OmniboxSuggestionsDropdown.java | 39 ++++++++-
.../OmniboxSuggestionsDropdownEmbedder.java | 8 ++
.../strings/android_chrome_strings.grd | 6 ++
chrome/browser/ui/android/toolbar/BUILD.gn | 1 +
@@ -85,7 +84,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../AccessibilitySettingsDelegate.java | 6 ++
.../render_widget_host_view_android.cc | 3 +
.../Move-navigation-bar-to-bottom.inc | 12 +++
72 files changed, 834 insertions(+), 66 deletions(-)
71 files changed, 854 insertions(+), 73 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc
diff --git a/cc/base/features.cc b/cc/base/features.cc
@@ -607,7 +606,20 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
if (backPressManager != null && BackPressManager.isEnabled()) {
assert !mIsStartSurfaceEnabled || mIsStartSurfaceRefactorEnabled;
backPressManager.addHandler(this, BackPressHandler.Type.TAB_SWITCHER);
@@ -639,6 +650,10 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
@@ -629,8 +640,10 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
// The grid tab switcher for tablets translates up over top of the browser controls.
if (mIsTablet) {
- final int toolbarHeight = getToolbarHeight();
-
+ int toolbarHeight = getToolbarHeight();
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ toolbarHeight = 0;
+ }
mContainerViewModel.set(TOP_MARGIN, toolbarHeight);
mContainerViewModel.set(SHADOW_TOP_OFFSET, toolbarHeight);
return;
@@ -639,6 +652,10 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
final int contentOffset = mBrowserControlsStateProvider.getContentOffset();
mContainerViewModel.set(TOP_MARGIN, contentOffset);
@@ -623,7 +635,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
@@ -28,6 +28,12 @@ import org.chromium.chrome.browser.flags.CromiteNativeUtils;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+import android.app.Activity;
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
@@ -1420,16 +1432,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicato
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
@@ -187,6 +187,8 @@ import org.chromium.url.GURL;
@@ -187,6 +187,9 @@ import org.chromium.url.GURL;
import java.util.List;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import android.view.Gravity;
+
/**
* Contains logic for managing the toolbar visual component. This class manages the interactions
* with the rest of the application to ensure the toolbar is always visually up to date.
@@ -715,7 +717,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -715,7 +718,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
LocationBarCoordinator locationBarCoordinator =
new LocationBarCoordinator(
mActivity.findViewById(R.id.location_bar),
@@ -1438,7 +1451,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
profileSupplier,
PrivacyPreferencesManagerImpl.getInstance(),
mLocationBarModel,
@@ -996,11 +998,13 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -996,11 +999,13 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
// the height won't be measured by the background image.
if (mControlContainer.getBackground() == null) {
setControlContainerTopMargin(getToolbarExtraYOffset());
@@ -1452,7 +1465,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
mControlContainer.removeOnLayoutChangeListener(mLayoutChangeListener);
mLayoutChangeListener = null;
}
@@ -1465,13 +1469,25 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -1160,6 +1165,13 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
public void setTabSwitcherFullScreenView(ViewGroup containerView) {
ViewStub toolbarStub =
containerView.findViewById(R.id.fullscreen_tab_switcher_toolbar_stub);
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ // the top tab switcher toolbar is docked at the bottom
+ FrameLayout.LayoutParams params =
+ (FrameLayout.LayoutParams)toolbarStub.getLayoutParams();
+ params.gravity = Gravity.START | Gravity.BOTTOM;
+ toolbarStub.setLayoutParams(params);
+ }
mToolbar.setFullScreenToolbarStub(toolbarStub);
}
@@ -1465,13 +1477,25 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
return ((LocationBarCoordinator) mLocationBar).getUrlBarTextWithoutAutocomplete();
}
@@ -1480,7 +1507,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
mIncognitoStateProvider, mScrimCoordinator, mOmniboxFocusStateSupplier,
mBottomSheetController, mActivityLifecycleDispatcher, mIsWarmOnResumeSupplier,
mTabModelSelector, mTabContentManager, mCompositorViewHolder,
@@ -1479,8 +1495,9 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -1479,8 +1503,9 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
mLayoutStateProviderSupplier, mSnackbarManager);
var bottomControlsCoordinator = new BottomControlsCoordinator(mActivity, mWindowAndroid,
mLayoutManager, mCompositorViewHolder.getResourceManager(), mBrowserControlsSizer,
@@ -1492,7 +1519,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
mBottomControlsCoordinatorSupplier.set(bottomControlsCoordinator);
if (mBackPressManager != null) {
mBackPressManager.addHandler(
@@ -2332,6 +2349,15 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -2332,6 +2357,15 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
private void setControlContainerTopMargin(int margin) {
final ViewGroup.MarginLayoutParams layoutParams =
((ViewGroup.MarginLayoutParams) mControlContainer.getLayoutParams());
@@ -1768,19 +1795,39 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
int footerHeight = inflateFooter(footerResourceId, contentView, menuWidth);
int headerHeight = inflateHeader(headerResourceId, contentView, menuWidth);
@@ -309,6 +317,11 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
@@ -287,7 +295,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
anchorView.getLocationOnScreen(mTempLocation);
int anchorViewOffset = Math.min(Math.abs(mTempLocation[1] - visibleDisplayFrame.top),
Math.abs(mTempLocation[1] - visibleDisplayFrame.bottom));
- setMenuHeight(
+ int popupHeight = setMenuHeight(
menuItemIds,
heightList,
visibleDisplayFrame,
@@ -307,8 +315,14 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
sizingPadding,
anchorView,
popupWidth,
anchorView.getRootView().getLayoutDirection());
- anchorView.getRootView().getLayoutDirection());
+ anchorView.getRootView().getLayoutDirection(),
+ popupHeight);
mPopup.setContentView(contentView);
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
+ // due to some unknown behaviour, the popup must be resized to
+ // allow selection without leaving touch
+ mPopup.setHeight(popupHeight-1);
+ mPopup.setHeight(popupHeight - 1);
+ }
try {
mPopup.showAtLocation(anchorView.getRootView(), Gravity.NO_GRAVITY, popupPosition[0],
@@ -362,6 +375,14 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
@@ -357,11 +371,20 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
Rect padding,
View anchorView,
int popupWidth,
- int viewLayoutDirection) {
+ int viewLayoutDirection,
+ int popupHeight) {
anchorView.getLocationInWindow(tempLocation);
int anchorViewX = tempLocation[0];
int anchorViewY = tempLocation[1];
@@ -1795,7 +1842,16 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
int[] offsets = new int[2];
// If we have a hardware menu button, locate the app menu closer to the estimated
// hardware menu button location.
@@ -552,7 +573,13 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
@@ -538,7 +561,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
if (mAdapter != null) mAdapter.notifyDataSetChanged();
}
- private void setMenuHeight(
+ private int setMenuHeight(
List<Integer> menuItemIds,
List<Integer> heightList,
Rect appDimensions,
@@ -552,7 +575,13 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
int availableScreenSpace = appDimensions.height() - anchorViewOffset - padding.bottom
- footerHeight - headerHeight - anchorViewImpactHeight;
@@ -1810,6 +1866,14 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
if (mIsByPermanentButton) availableScreenSpace -= padding.top;
if (availableScreenSpace <= 0 && sExceptionReporter != null) {
String logMessage = String.format(
@@ -570,6 +599,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
menuItemIds, heightList, groupDividerResourceId, availableScreenSpace);
menuHeight += footerHeight + headerHeight + padding.top + padding.bottom;
mPopup.setHeight(menuHeight);
+ return menuHeight;
}
@VisibleForTesting
diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
+++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
@@ -1938,19 +2002,6 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
onConfigurationChanged(mContext.getResources().getConfiguration());
recalculateOmniboxAlignment();
}
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java
@@ -26,6 +26,9 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import android.view.WindowManager;
+
/** Coordinates the interactions with the UrlBar text component. */
public class UrlBarCoordinator
implements UrlBarEditingTextStateProvider,
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
@@ -2074,6 +2125,17 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
previousItem.model.set(DropdownCommonProperties.SHOW_DIVIDER, !applyRounding);
}
@@ -185,7 +191,9 @@ class DropdownItemViewInfoListManager {
// round the bottom corners of the last suggestion.
if (previousItem != null) {
- previousItem.model.set(DropdownCommonProperties.BG_BOTTOM_CORNER_ROUNDED, true);
+ previousItem.model.set(toolbarToBottom
+ ? DropdownCommonProperties.BG_TOP_CORNER_ROUNDED
+ : DropdownCommonProperties.BG_BOTTOM_CORNER_ROUNDED, true);
}
mManagedModel.set(suggestionsList);
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
@@ -2105,7 +2167,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
mSelectionController = new RecyclerViewSelectionController(mLayoutScrollListener);
addOnChildAttachStateChangeListener(mSelectionController);
@@ -235,6 +238,19 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
@@ -235,6 +238,20 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_bottom);
int paddingTop =
resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_top);
@@ -2122,10 +2184,11 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
+ }
+ paddingTop = 0;
+ }
+ setLayoutManager(mLayoutScrollListener);
ViewCompat.setPaddingRelative(this, 0, paddingTop, 0, paddingBottom);
mStandardBgColor =
@@ -388,8 +404,16 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
@@ -388,8 +405,16 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
TimingMetric metric = OmniboxMetrics.recordSuggestionListMeasureTime();
TimingMetric metric2 = OmniboxMetrics.recordSuggestionListMeasureWallTime()) {
OmniboxAlignment omniboxAlignment = mEmbedder.getCurrentAlignment();
@@ -2144,7 +2207,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
int desiredWidth = omniboxAlignment.width;
adjustHorizontalPosition();
notifyObserversIfViewportHeightChanged(availableViewportHeight);
@@ -409,6 +433,12 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
@@ -409,6 +434,12 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
}
}
@@ -6,10 +6,10 @@ Search suggestions, autofill assistant and contextual search
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../java/res/xml/privacy_preferences.xml | 13 ++++++++
.../privacy/settings/PrivacySettings.java | 33 +++++++++++++++++++
.../java/res/xml/privacy_preferences.xml | 13 +++++++
.../privacy/settings/PrivacySettings.java | 34 +++++++++++++++++++
.../strings/android_chrome_strings.grd | 4 +++
3 files changed, 50 insertions(+)
3 files changed, 51 insertions(+)
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
@@ -37,21 +37,22 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -53,6 +53,13 @@ import org.chromium.components.user_prefs.UserPrefs;
@@ -53,6 +53,14 @@ import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.ui.text.NoUnderlineClickableSpan;
import org.chromium.ui.text.SpanApplier;
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceCategory;
+import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.base.shared_preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
+import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
+
/**
* Fragment to keep track of the all the privacy related preferences.
*/
@@ -72,6 +79,16 @@ public class PrivacySettings
@@ -72,6 +80,16 @@ public class PrivacySettings
private static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies";
private static final String PREF_TRACKING_PROTECTION = "tracking_protection";
@@ -62,13 +63,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ private ChromeSwitchPreference mSearchSuggestions;
+ private @Nullable Preference mContextualSearch;
+ private final SharedPreferencesManager mSharedPreferencesManager =
+ SharedPreferencesManager.getInstance();
+ ChromeSharedPreferences.getInstance();
+
+ private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
@Override
@@ -132,6 +149,16 @@ public class PrivacySettings
@@ -132,6 +150,16 @@ public class PrivacySettings
setHasOptionsMenu(true);
@@ -85,7 +86,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
ChromeSwitchPreference canMakePaymentPref =
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
canMakePaymentPref.setOnPreferenceChangeListener(this);
@@ -221,6 +248,9 @@ public class PrivacySettings
@@ -221,6 +249,9 @@ public class PrivacySettings
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
UserPrefs.get(getProfile())
.setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
@@ -95,7 +96,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -235,6 +265,9 @@ public class PrivacySettings
@@ -235,6 +266,9 @@ public class PrivacySettings
* Updates the preferences.
*/
public void updatePreferences() {
@@ -37,7 +37,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse
+ if (shouldUseSystemManagedLocale()) {
+ setSystemManagedAppLanguage(languageName);
+ } else {
+ SharedPreferencesManager.getInstance().writeString(
+ ChromeSharedPreferences.getInstance().writeString(
+ ChromePreferenceKeys.APPLICATION_OVERRIDE_LANGUAGE, languageName);
+ }
+ }
@@ -121,7 +121,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
+ android:key="referers_policy"
+ android:title="@string/referers_policy_title"
+ android:fragment="org.chromium.chrome.browser.privacy.settings.RefererSettingsFragment"/>
<Preference
<PreferenceCategory
android:key="services_category"
android:title="@string/services_category_title">
diff --git a/chrome/android/java/res/xml/referer_policy_preferences.xml b/chrome/android/java/res/xml/referer_policy_preferences.xml
@@ -171,7 +171,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings;
import org.chromium.chrome.browser.privacy_guide.PrivacyGuideInteractions;
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxBridge;
@@ -80,6 +81,7 @@ public class PrivacySettings
@@ -81,6 +82,7 @@ public class PrivacySettings
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_SAFE_BROWSING = "safe_browsing";
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
@@ -179,7 +179,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
@@ -357,6 +359,10 @@ public class PrivacySettings
@@ -358,6 +360,10 @@ public class PrivacySettings
: R.string.text_off);
}
@@ -89,7 +89,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/module_installer/android/BUILD.gn | 4 -
components/signin/public/android/BUILD.gn | 3 -
.../signin/AccountRenameChecker.java | 16 -
components/webauthn/android/BUILD.gn | 11 -
components/webauthn/android/BUILD.gn | 12 -
.../webauthn/AuthenticatorImpl.java | 93 +--
.../webauthn/CredManMetricsHelper.java | 17 -
.../webauthn/Fido2ApiCallHelper.java | 58 +-
@@ -105,7 +105,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../preconditions/javatests/BUILD.gn | 1 -
.../gms/ChromiumPlayServicesAvailability.java | 10 +-
third_party/cardboard/BUILD.gn | 4 -
81 files changed, 97 insertions(+), 2091 deletions(-)
81 files changed, 97 insertions(+), 2092 deletions(-)
diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
--- a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
@@ -3080,7 +3080,11 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/
"java/src/org/chromium/components/webauthn/InternalAuthenticator.java",
"java/src/org/chromium/components/webauthn/WebAuthnBrowserBridge.java",
]
@@ -34,11 +32,7 @@ android_library("java") {
@@ -30,15 +28,10 @@ android_library("java") {
"java/src/org/chromium/components/webauthn/AuthenticatorImpl.java",
"java/src/org/chromium/components/webauthn/AuthenticatorIncognitoConfirmationBottomsheet.java",
"java/src/org/chromium/components/webauthn/Barrier.java",
- "java/src/org/chromium/components/webauthn/CredManHelper.java",
"java/src/org/chromium/components/webauthn/CredManMetricsHelper.java",
"java/src/org/chromium/components/webauthn/CredManSupportProvider.java",
"java/src/org/chromium/components/webauthn/CredManUiModeRecommender.java",
@@ -3092,7 +3096,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/
"java/src/org/chromium/components/webauthn/GetAssertionResponseCallback.java",
"java/src/org/chromium/components/webauthn/GetMatchingCredentialIdsResponseCallback.java",
"java/src/org/chromium/components/webauthn/InternalAuthenticator.java",
@@ -52,9 +46,6 @@ android_library("java") {
@@ -52,9 +45,6 @@ android_library("java") {
deps = [
":java_resources",
@@ -3102,7 +3106,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/
"//base:base_java",
"//build/android:build_java",
"//components/browser_ui/bottomsheet/android:java",
@@ -115,8 +106,6 @@ android_library("test_support_java") {
@@ -115,8 +105,6 @@ android_library("test_support_java") {
source_set("android") {
sources = [
"cred_man_support.h",
@@ -5,23 +5,23 @@ Subject: Remove voice recognition integration
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../start_surface/StartSurfaceMediator.java | 15 +---
.../features/tasks/TasksSurfaceMediator.java | 4 -
.../features/tasks/TasksSurfaceMediator.java | 4 --
.../browser/metrics/UmaSessionStats.java | 19 -----
.../chrome/browser/ntp/NewTabPage.java | 41 +--------
.../chrome/browser/ntp/NewTabPage.java | 41 +----------
.../browser/ntp/search/SearchBoxMediator.java | 1 -
.../browser/searchwidget/SearchActivity.java | 6 +-
.../SearchActivityLocationBarLayout.java | 44 +---------
.../SearchActivityLocationBarLayout.java | 44 +-----------
.../browser/toolbar/ToolbarManager.java | 5 --
.../chrome/browser/ui/RootUiCoordinator.java | 23 +----
.../chrome/browser/ui/RootUiCoordinator.java | 23 +-----
chrome/browser/ui/android/omnibox/BUILD.gn | 1 -
.../chrome/browser/omnibox/LocationBar.java | 6 --
.../omnibox/LocationBarCoordinator.java | 13 ---
.../browser/omnibox/LocationBarMediator.java | 84 +------------------
.../chrome/browser/omnibox/OmniboxStub.java | 9 --
.../suggestions/AutocompleteController.java | 25 ------
.../suggestions/AutocompleteCoordinator.java | 8 --
.../suggestions/AutocompleteMediator.java | 9 --
17 files changed, 8 insertions(+), 305 deletions(-)
.../omnibox/LocationBarCoordinator.java | 13 ----
.../browser/omnibox/LocationBarMediator.java | 72 +------------------
.../chrome/browser/omnibox/OmniboxStub.java | 9 ---
.../suggestions/AutocompleteController.java | 25 -------
.../suggestions/AutocompleteCoordinator.java | 8 ---
.../suggestions/AutocompleteMediator.java | 9 ---
17 files changed, 9 insertions(+), 292 deletions(-)
diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
--- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
@@ -632,7 +632,31 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
return false;
}
boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean();
@@ -1364,16 +1347,6 @@ class LocationBarMediator
@@ -1146,6 +1129,7 @@ class LocationBarMediator
}
private boolean shouldShowLensButton() {
+ if ((true)) return false;
if (shouldShowDeleteButton()) return false;
// When this method is called on UI inflation, return false as the native is not ready.
@@ -1153,15 +1137,6 @@ class LocationBarMediator
return false;
}
- // Never show Lens in the old search widget page context.
- // This widget must guarantee consistent feature set regardless of search engine choice or
- // other aspects that may not be met by Lens.
- LocationBarDataProvider dataProvider = getLocationBarDataProvider();
- if (dataProvider.getPageClassification(dataProvider.isIncognito(), /* isPrefetch= */ false)
- == PageClassification.ANDROID_SEARCH_WIDGET_VALUE) {
- return false;
- }
-
// When this method is called after native initialized, check omnibox conditions and Lens
// eligibility.
if (mIsTablet && mShouldShowButtonsWhenUnfocused) {
@@ -1364,16 +1339,6 @@ class LocationBarMediator
}
}
@@ -649,7 +673,13 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
@Override
public void addUrlFocusChangeListener(UrlFocusChangeListener listener) {
mUrlFocusChangeListeners.addObserver(listener);
@@ -1395,61 +1368,6 @@ class LocationBarMediator
@@ -1389,30 +1354,11 @@ class LocationBarMediator
return mUrlHasFocus;
}
- @Override
public void clearOmniboxFocus() {
setUrlBarFocus(
/* shouldBeFocused= */ false, /* pastedText= */ null, OmniboxFocusReason.UNFOCUS);
}
@@ -671,28 +701,13 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
- }
-
- @Override
- public void setSearchQuery(String query) {
- if (TextUtils.isEmpty(query)) return;
-
- if (!mNativeInitialized) {
- mDeferredNativeRunnables.add(() -> setSearchQuery(query));
- return;
- }
-
- // Ensure the UrlBar has focus before entering text. If the UrlBar is not focused,
- // autocomplete text will be updated but the visible text will not.
- setUrlBarFocus(
- /* shouldBeFocused= */ true,
- /* pastedText= */ null,
- OmniboxFocusReason.SEARCH_QUERY);
- setUrlBarText(
- UrlBarData.forNonUrlText(query),
- UrlBar.ScrollType.NO_SCROLL,
- SelectionState.SELECT_ALL);
- mAutocompleteCoordinator.startAutocompleteForQuery(query);
- mUrlCoordinator.setKeyboardVisibility(true, false);
- }
-
public void setSearchQuery(String query) {
if (TextUtils.isEmpty(query)) return;
@@ -1435,20 +1381,6 @@ class LocationBarMediator
mUrlCoordinator.setKeyboardVisibility(true, false);
}
- @Override
- public LocationBarDataProvider getLocationBarDataProvider() {
- return mLocationBarDataProvider;
@@ -707,10 +722,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
- public WindowAndroid getWindowAndroid() {
- return mWindowAndroid;
- }
-
// UrlBarDelegate implementation.
@Nullable
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java
@@ -12,16 +12,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../android/java/res/layout/ntp_shortcuts.xml | 65 +++++++++++++++++++
.../feedback/ChromeFeedbackCollector.java | 1 +
.../feedback/SimplifiedNtpFeedbackSource.java | 38 +++++++++++
.../identity_disc/IdentityDiscController.java | 5 +-
.../NativePageNavigationDelegateImpl.java | 4 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 30 ++++++++-
.../SuggestionsNavigationDelegate.java | 17 +++++
.../flags/android/chrome_feature_list.cc | 1 +
.../browser/flags/ChromeFeatureList.java | 1 +
.../signin/public/base/signin_switches.cc | 3 +
.../Restore-Simplified-NTP-launch.inc | 12 ++++
.../Restore-Simplified-NTP-launch.inc | 3 +
.../Restore-Simplified-NTP-launch.inc | 1 +
15 files changed, 181 insertions(+), 4 deletions(-)
15 files changed, 182 insertions(+), 5 deletions(-)
create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Restore-Simplified-NTP-launch.inc
@@ -191,6 +191,21 @@ new file mode 100644
+ return mMap;
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
@@ -165,7 +165,10 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa
mButtonData.setButtonSpec(
buttonSpecWithDrawableAndDescription(mButtonData.getButtonSpec(), email));
- mButtonData.setCanShow(true);
+ if (email == null)
+ mButtonData.setCanShow(false);
+ else
+ mButtonData.setCanShow(true);
}
private ButtonSpec buttonSpecWithDrawableAndDescription(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
@@ -338,17 +353,6 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String MESSAGES_FOR_ANDROID_INFRASTRUCTURE =
"MessagesForAndroidInfrastructure";
public static final String MESSAGES_FOR_ANDROID_PERMISSION_UPDATE =
diff --git a/components/signin/public/base/signin_switches.cc b/components/signin/public/base/signin_switches.cc
--- a/components/signin/public/base/signin_switches.cc
+++ b/components/signin/public/base/signin_switches.cc
@@ -95,4 +95,7 @@ BASE_FEATURE(kRemoveSignedInAccountsDialog,
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
+#if BUILDFLAG(IS_ANDROID)
+SET_CROMITE_FEATURE_DISABLED(kIdentityStatusConsistency);
+#endif
} // namespace switches
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Restore-Simplified-NTP-launch.inc b/cromite_flags/chrome/browser/about_flags_cc/Restore-Simplified-NTP-launch.inc
new file mode 100644
--- /dev/null
@@ -39,7 +39,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../core/workers/main_thread_worklet_test.cc | 1 +
.../workers/shared_worker_global_scope.cc | 7 ++++
.../core/workers/shared_worker_global_scope.h | 1 +
.../threaded_worklet_messaging_proxy.cc | 2 ++
.../threaded_worklet_messaging_proxy.cc | 5 ++-
.../core/workers/threaded_worklet_test.cc | 1 +
.../workers/worker_classic_script_loader.cc | 5 ++-
.../workers/worker_classic_script_loader.h | 6 ++++
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../audio_worklet_global_scope_test.cc | 1 +
.../webaudio/audio_worklet_thread_test.cc | 1 +
.../worklet/worklet_thread_test_common.cc | 2 +-
36 files changed, 190 insertions(+), 23 deletions(-)
36 files changed, 192 insertions(+), 24 deletions(-)
create mode 100644 cromite_flags/content/public/common/content_features_cc/Revert-removal-of-execution-context-address-space.inc
diff --git a/cromite_flags/content/public/common/content_features_cc/Revert-removal-of-execution-context-address-space.inc b/cromite_flags/content/public/common/content_features_cc/Revert-removal-of-execution-context-address-space.inc
@@ -593,15 +593,18 @@ diff --git a/third_party/blink/renderer/core/workers/shared_worker_global_scope.
diff --git a/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc b/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
--- a/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
+++ b/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
@@ -94,6 +94,7 @@ void ThreadedWorkletMessagingProxy::Initialize(
@@ -93,7 +93,9 @@ void ThreadedWorkletMessagingProxy::Initialize(
starter_secure_context,
/*starter_https_state=*/HttpsState::kNone,
/*worker_clients=*/nullptr,
/*content_settings_client=*/nullptr, &inherited_trial_features,
- /*content_settings_client=*/nullptr, &inherited_trial_features,
+ /*content_settings_client=*/nullptr,
+ /*response_address_space*/network::mojom::IPAddressSpace::kUnknown,
+ &inherited_trial_features,
/*parent_devtools_token=*/
client_provided_global_scope_creation_params->devtools_token,
/*worker_settings=*/nullptr,
@@ -140,6 +141,7 @@ void ThreadedWorkletMessagingProxy::Initialize(
@@ -140,6 +142,7 @@ void ThreadedWorkletMessagingProxy::Initialize(
window->GetReferrerPolicy(), window->GetSecurityOrigin(),
window->IsSecureContext(), window->GetHttpsState(), worker_clients,
frame_client->CreateWorkerContentSettingsClient(),
+15 -15
View File
@@ -381,7 +381,7 @@ new file mode 100644
+import org.chromium.components.browser_ui.settings.SettingsUtils;
+
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+
+import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
+import org.chromium.chrome.browser.tabmodel.TabWindowManager;
@@ -410,11 +410,11 @@ new file mode 100644
+
+ ChromeSwitchPreference alwaysDesktopModeSwitch =
+ (ChromeSwitchPreference) findPreference(PREF_STICK_DESKTOP_MODE_SWITCH);
+ boolean enabled = SharedPreferencesManager.getInstance().readBoolean(
+ boolean enabled = ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.USERAGENT_STICKY_DESKTOP_MODE, false);
+ alwaysDesktopModeSwitch.setChecked(enabled);
+ alwaysDesktopModeSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
+ SharedPreferencesManager.getInstance().writeBoolean(
+ ChromeSharedPreferences.getInstance().writeBoolean(
+ ChromePreferenceKeys.USERAGENT_STICKY_DESKTOP_MODE, (boolean) newValue);
+ UpdateAllTabs();
+ return true;
@@ -498,7 +498,7 @@ new file mode 100644
+ }
+
+ private void UpdateAllTabs() {
+ final boolean alwaysDesktopModeEnabled = SharedPreferencesManager.getInstance().readBoolean(
+ final boolean alwaysDesktopModeEnabled = ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.USERAGENT_ALWAYS_DESKTOP_MODE, false);
+ TabWindowManagerSingleton.getInstance().SetOverrideUserAgentForAllTabs(alwaysDesktopModeEnabled);
+ }
@@ -535,7 +535,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
+import org.chromium.content_public.browser.NavigationController;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+import org.chromium.components.embedder_support.util.UrlUtilities;
+
/**
@@ -545,10 +545,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
params.setOverrideUserAgent(calculateUserAgentOverrideOption(null));
}
+ final boolean stickyDesktopModeEnabled = SharedPreferencesManager.getInstance().readBoolean(
+ final boolean stickyDesktopModeEnabled = ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.USERAGENT_STICKY_DESKTOP_MODE, false);
+ if (stickyDesktopModeEnabled) {
+ boolean alwaysDesktopModeEnabled = SharedPreferencesManager.getInstance().readBoolean(
+ boolean alwaysDesktopModeEnabled = ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.USERAGENT_ALWAYS_DESKTOP_MODE, false);
+
+ if (UrlUtilities.isInternalScheme(UrlFormatter.fixupUrl(params.getUrl()))) {
@@ -580,9 +580,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
- ContentUtils.setUserAgentOverride(mWebContents,
- calculateUserAgentOverrideOption(null) == UserAgentOverrideOption.TRUE);
+ if (SharedPreferencesManager.getInstance().readBoolean(
+ if (ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.USERAGENT_STICKY_DESKTOP_MODE, false) &&
+ SharedPreferencesManager.getInstance().readBoolean(
+ ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.USERAGENT_ALWAYS_DESKTOP_MODE, false)) {
+ ContentUtils.setUserAgentOverride(mWebContents, true);
+ } else {
@@ -607,9 +607,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
}
private @UserAgentOverrideOption int calculateUserAgentOverrideOption(@Nullable GURL url) {
+ if (SharedPreferencesManager.getInstance().readBoolean(
+ if (ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.USERAGENT_STICKY_DESKTOP_MODE, false) &&
+ SharedPreferencesManager.getInstance().readBoolean(
+ ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.USERAGENT_ALWAYS_DESKTOP_MODE, false)) {
+ return UserAgentOverrideOption.INHERIT;
+ }
@@ -669,7 +669,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.ja
+import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -688,10 +688,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.ja
- tabUserAgent = TabUserAgent.DEFAULT;
- }
- tab.setUserAgent(tabUserAgent);
+ SharedPreferencesManager.getInstance().writeBoolean(
+ ChromeSharedPreferences.getInstance().writeBoolean(
+ ChromePreferenceKeys.USERAGENT_ALWAYS_DESKTOP_MODE, switchToDesktop);
+
+ final boolean stickyDesktopModeEnabled = SharedPreferencesManager.getInstance().readBoolean(
+ final boolean stickyDesktopModeEnabled = ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.USERAGENT_STICKY_DESKTOP_MODE, false);
+ if (stickyDesktopModeEnabled) {
+ TabWindowManagerSingleton.getInstance().SetOverrideUserAgentForAllTabs(switchToDesktop);
@@ -831,7 +831,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
+ std::vector<std::string> cors_exempt_header_list;
+ iter.GetCurrentValue()->GetRendererInterface()->InitializeRenderer(
+ /*user_agent*/ ua, /*metadata*/ blink::UserAgentMetadata(),
+ cors_exempt_header_list, content::AttributionManager::GetSupport(),
+ cors_exempt_header_list,
+ g_browser_process->GetOriginTrialsSettingsStorage()->GetSettings());
+ }
+ }
+5 -5
View File
@@ -443,7 +443,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.chrome.browser.flags.CromiteNativeUtils;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+
/** The Chrome implementation of AccessibilitySettingsDelegate. */
public class ChromeAccessibilitySettingsDelegate implements AccessibilitySettingsDelegate {
@@ -542,10 +542,10 @@ new file mode 100755
+
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.NativeMethods;
+import org.jni_zero.CalledByNative;
+import org.jni_zero.NativeMethods;
+
+public class CromiteNativeUtils {
+ /**
@@ -561,7 +561,7 @@ new file mode 100755
+ CachedFlag cachedFlag = ChromeFeatureList.sAllCachedFlags.get(featureName);
+ String preferenceName = cachedFlag.getSharedPreferenceKey();
+
+ SharedPreferencesManager.getInstance().writeBoolean(preferenceName, newValue);
+ ChromeSharedPreferences.getInstance().writeBoolean(preferenceName, newValue);
+ cachedFlag.setValueReturnedOverride(newValue);
+ }
+
@@ -148,7 +148,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3488,6 +3488,17 @@ static_library("browser") {
@@ -3490,6 +3490,17 @@ static_library("browser") {
"webauthn/android/webauthn_request_delegate_android.h",
]
@@ -166,7 +166,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
public_deps += [
"//chrome/android/features/dev_ui:buildflags",
@@ -3678,6 +3689,9 @@ static_library("browser") {
@@ -3680,6 +3691,9 @@ static_library("browser") {
"//url",
]
@@ -1504,8 +1504,8 @@ new file mode 100644
+import androidx.annotation.UiThread;
+
+import org.chromium.base.ThreadUtils;
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.NativeMethods;
+import org.jni_zero.CalledByNative;
+import org.jni_zero.NativeMethods;
+import org.chromium.components.adblock.controller.R;
+
+import java.net.MalformedURLException;
@@ -1820,8 +1820,8 @@ new file mode 100644
+
+import org.chromium.base.ContextUtils;
+import org.chromium.base.ThreadUtils;
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.NativeMethods;
+import org.jni_zero.CalledByNative;
+import org.jni_zero.NativeMethods;
+
+import java.net.MalformedURLException;
+import java.net.URL;
@@ -2173,8 +2173,8 @@ new file mode 100644
+
+import org.chromium.base.ContextUtils;
+import org.chromium.base.ThreadUtils;
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.NativeMethods;
+import org.jni_zero.CalledByNative;
+import org.jni_zero.NativeMethods;
+
+import java.net.MalformedURLException;
+import java.net.URL;
@@ -73,7 +73,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module
.../adblock_internals/adblock_internals.ts | 43 ++
.../safe_browsing_blocking_page_test.cc | 7 +
...subresource_filter_browser_test_harness.cc | 8 +-
chrome/browser/ui/BUILD.gn | 11 +
chrome/browser/ui/BUILD.gn | 10 +
chrome/browser/ui/prefs/pref_watcher.cc | 13 +
chrome/browser/ui/tab_helpers.cc | 18 +
.../ui/webui/adblock_internals/BUILD.gn | 23 +
@@ -129,7 +129,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module
.../xhr_result_3_subresource_loading.json | 1 +
.../test/data/adblock/wbn/index.html.mustache | 157 ++++++
chrome/test/data/adblock/xpath3.html | 23 +
123 files changed, 7677 insertions(+), 10 deletions(-)
123 files changed, 7676 insertions(+), 10 deletions(-)
create mode 100644 chrome/browser/adblock/README.md
create mode 100644 chrome/browser/adblock/adblock_content_browser_client.cc
create mode 100644 chrome/browser/adblock/adblock_content_browser_client.h
@@ -302,7 +302,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"after_startup_task_utils.cc",
"after_startup_task_utils.h",
"app_mode/app_mode_utils.cc",
@@ -2149,6 +2172,7 @@ static_library("browser") {
@@ -2151,6 +2174,7 @@ static_library("browser") {
"//chrome/browser/ui/color:color_headers",
"//chrome/browser/ui/color:mixers",
"//chrome/browser/ui/webui:configs",
@@ -310,7 +310,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"//chrome/browser/ui/webui/app_service_internals:mojo_bindings",
"//chrome/browser/ui/webui/feed:mojo_bindings",
"//chrome/browser/ui/webui/internals/user_education:mojo_bindings",
@@ -2171,6 +2195,8 @@ static_library("browser") {
@@ -2173,6 +2197,8 @@ static_library("browser") {
"//chrome/common/notifications",
"//chrome/installer/util:with_no_strings",
"//chrome/services/speech/buildflags",
@@ -319,7 +319,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"//components/assist_ranker",
"//components/autofill/content/browser",
"//components/autofill/core/browser",
@@ -3461,6 +3487,8 @@ static_library("browser") {
@@ -3463,6 +3489,8 @@ static_library("browser") {
"webauthn/android/webauthn_request_delegate_android.cc",
"webauthn/android/webauthn_request_delegate_android.h",
]
@@ -328,7 +328,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
public_deps += [
"//chrome/android/features/dev_ui:buildflags",
"//components/image_fetcher/core",
@@ -3650,6 +3678,7 @@ static_library("browser") {
@@ -3652,6 +3680,7 @@ static_library("browser") {
"//url",
]
@@ -7578,7 +7578,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
"webui/autofill_and_password_manager_internals/autofill_internals_ui.cc",
"webui/autofill_and_password_manager_internals/autofill_internals_ui.h",
"webui/autofill_and_password_manager_internals/internals_ui_handler.cc",
@@ -436,11 +444,13 @@ static_library("ui") {
@@ -436,6 +444,7 @@ static_library("ui") {
"//chrome/browser/storage_access_api",
"//chrome/browser/ui/side_panel:side_panel_enums",
"//chrome/browser/ui/webui/location_internals:mojo_bindings",
@@ -7586,13 +7586,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
"//chrome/browser/ui/webui/omnibox:mojo_bindings",
"//chrome/browser/ui/webui/segmentation_internals:mojo_bindings",
"//chrome/browser/ui/webui/suggest_internals:mojo_bindings",
"//chrome/browser/ui/webui/usb_internals:mojo_bindings",
"//chrome/browser/v8_compile_hints/proto",
+ "//chrome/browser/ui/webui:configs",
"//chrome/common",
"//chrome/common/net",
"//chrome/common/search:mojo_bindings",
@@ -452,6 +462,7 @@ static_library("ui") {
@@ -452,6 +461,7 @@ static_library("ui") {
"//components/about_ui",
"//components/access_code_cast/common:metrics",
"//components/account_id",