Release 102.0.5005.67

This commit is contained in:
csagan5 2022-05-28 12:24:04 +02:00
parent 6c2d2ee368
commit cd52789b01
10 changed files with 151 additions and 79 deletions

View file

@ -1,3 +1,8 @@
# 102.0.5005.67
* dropped patch to disable mobile identity consistency by default
* fix text for blocked ads (fixes https://github.com/bromite/bromite/issues/2026)
* fix OpenSeach visited site detection bug (fixes https://github.com/bromite/bromite/issues/1994)
# 101.0.4951.69 # 101.0.4951.69
* flag to toggle site engagement (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2022) * flag to toggle site engagement (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2022)
* site settings to enable webGL (thanks to @uazo) * site settings to enable webGL (thanks to @uazo)

View file

@ -38,11 +38,11 @@ See also: https://github.com/bromite/bromite/pull/1427
.../browser/settings/SettingsActivity.java | 4 + .../browser/settings/SettingsActivity.java | 4 +
.../HistoricalTabModelObserver.java | 8 +- .../HistoricalTabModelObserver.java | 8 +-
.../tab/tab_restore/HistoricalTabSaver.java | 2 +- .../tab/tab_restore/HistoricalTabSaver.java | 2 +-
.../tab_restore/HistoricalTabSaverImpl.java | 12 +- .../tab_restore/HistoricalTabSaverImpl.java | 16 +-
.../tabbed_mode/TabbedRootUiCoordinator.java | 5 +- .../tabbed_mode/TabbedRootUiCoordinator.java | 5 +-
.../browser/tabmodel/ChromeTabCreator.java | 5 +- .../browser/tabmodel/ChromeTabCreator.java | 5 +-
.../tabmodel/TabModelSelectorImpl.java | 3 + .../tabmodel/TabModelSelectorImpl.java | 3 +
.../browser/tabmodel/TabPersistentStore.java | 10 ++ .../browser/tabmodel/TabPersistentStore.java | 9 +
.../webapps/WebappIntentDataProvider.java | 14 ++ .../webapps/WebappIntentDataProvider.java | 14 ++
chrome/browser/about_flags.cc | 4 + chrome/browser/about_flags.cc | 4 +
.../browser/android/historical_tab_saver.cc | 21 ++- .../browser/android/historical_tab_saver.cc | 21 ++-
@ -80,7 +80,7 @@ See also: https://github.com/bromite/bromite/pull/1427
.../omnibox/browser/base_search_provider.cc | 2 +- .../omnibox/browser/base_search_provider.cc | 2 +-
components/omnibox/browser/search_provider.cc | 4 +- components/omnibox/browser/search_provider.cc | 4 +-
.../host_content_settings_map_factory.cc | 1 + .../host_content_settings_map_factory.cc | 1 +
64 files changed, 686 insertions(+), 74 deletions(-) 64 files changed, 688 insertions(+), 75 deletions(-)
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
@ -885,7 +885,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
@@ -46,10 +46,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { @@ -25,6 +25,8 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+
/**
* Creates historical entries in TabRestoreService.
*/
@@ -46,10 +48,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// HistoricalTabSaver implementation. // HistoricalTabSaver implementation.
@Override @Override
@ -898,7 +907,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
} }
@Override @Override
@@ -90,7 +90,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { @@ -90,7 +92,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// If there is only a single valid tab remaining save it individually. // If there is only a single valid tab remaining save it individually.
if (validEntries.size() == 1 && validEntries.get(0).isSingleTab()) { if (validEntries.size() == 1 && validEntries.get(0).isSingleTab()) {
@ -907,7 +916,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
return; return;
} }
@@ -107,8 +107,8 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { @@ -107,8 +109,8 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
CollectionUtil.integerListToIntArray(perTabGroupId), allTabs.toArray(new Tab[0])); CollectionUtil.integerListToIntArray(perTabGroupId), allTabs.toArray(new Tab[0]));
} }
@ -918,7 +927,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
} }
/** /**
@@ -194,7 +194,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { @@ -116,7 +118,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
* internal Chrome scheme, about:blank, or a native page and it cannot be incognito.
*/
private boolean shouldSave(Tab tab) {
- if (tab.isIncognito()) return false;
+ if (tab.isIncognito() && !AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()) return false;
// {@link GURL#getScheme()} is not available in unit tests.
if (mIgnoreUrlSchemesForTesting) return true;
@@ -194,7 +196,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@NativeMethods @NativeMethods
interface Natives { interface Natives {
@ -998,15 +1016,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@@ -18,6 +18,7 @@ import androidx.core.util.AtomicFile; @@ -58,6 +58,8 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.base.Callback;
import org.chromium.base.CallbackController;
+import org.chromium.base.ContextUtils;
import org.chromium.base.FeatureList;
import org.chromium.base.Log;
import org.chromium.base.ObserverList;
@@ -58,6 +59,8 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.UiThreadTaskTraits; import org.chromium.content_public.browser.UiThreadTaskTraits;
import org.chromium.url.GURL; import org.chromium.url.GURL;
@ -1015,7 +1025,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
@@ -739,6 +742,13 @@ public class TabPersistentStore { @@ -739,6 +741,13 @@ public class TabPersistentStore {
} }
} }
} }

View file

@ -9,16 +9,16 @@ Subject: Ask user before closing all tabs
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -457,8 +457,8 @@ const base::Feature kCastDeviceFilter{"CastDeviceFilter", @@ -454,8 +454,8 @@ const base::Feature kConditionalTabStripAndroid{
const base::Feature kCloseAllTabsModalDialog{"CloseAllTabsModalDialog", const base::Feature kCastDeviceFilter{"CastDeviceFilter",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kCloseTabSuggestions{"CloseTabSuggestions", -const base::Feature kCloseAllTabsModalDialog{"CloseAllTabsModalDialog",
- base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kCloseTabSuggestions{"CloseTabSuggestions", // Enabled by default in Bromite +const base::Feature kCloseAllTabsModalDialog{"CloseAllTabsModalDialog", // Enabled by default in Bromite
+ base::FEATURE_ENABLED_BY_DEFAULT}; + base::FEATURE_ENABLED_BY_DEFAULT}; // ^
const base::Feature kCriticalPersistedTabData{ const base::Feature kCloseTabSuggestions{"CloseTabSuggestions",
"CriticalPersistedTabData", base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
-- --
2.25.1 2.25.1

View file

@ -32,6 +32,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
.../strings/android_chrome_strings.grd | 14 + .../strings/android_chrome_strings.grd | 14 +
chrome/common/pref_names.cc | 3 + chrome/common/pref_names.cc | 3 +
chrome/common/pref_names.h | 1 + chrome/common/pref_names.h | 1 +
.../strings/android/site_settings.grdp | 4 +-
components/component_updater/BUILD.gn | 7 + components/component_updater/BUILD.gn | 7 +
.../adblock_updater_service.cc | 271 ++++++++++++++++++ .../adblock_updater_service.cc | 271 ++++++++++++++++++
.../adblock_updater_service.h | 100 +++++++ .../adblock_updater_service.h | 100 +++++++
@ -45,7 +46,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
.../browser/subresource_filter_features.cc | 113 +------- .../browser/subresource_filter_features.cc | 113 +-------
.../core/common/indexed_ruleset.cc | 5 +- .../core/common/indexed_ruleset.cc | 5 +-
.../navigation_throttle_runner.cc | 5 - .../navigation_throttle_runner.cc | 5 -
36 files changed, 1158 insertions(+), 124 deletions(-) 37 files changed, 1160 insertions(+), 126 deletions(-)
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
@ -685,6 +686,20 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
extern const char kHttpsOnlyModeEnabled[]; extern const char kHttpsOnlyModeEnabled[];
extern const char kImportantSitesDialogHistory[]; extern const char kImportantSitesDialogHistory[];
extern const char kProfileCreationTime[]; extern const char kProfileCreationTime[];
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
--- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -247,8 +247,8 @@
<message name="IDS_INTRUSIVE_ADS_INFORMATION" desc="The extra information at the top of the Site Details page when the site tends to show intrusive ads">
This site shows intrusive or misleading ads
</message>
- <message name="IDS_WEBSITE_SETTINGS_CATEGORY_ADS_BLOCKED" desc="A setting that, if turned on, will block intrusive or misleading ads on sites that have a history of showing such ads.">
- Block ads on sites that show intrusive or misleading ads
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_ADS_BLOCKED" desc="A setting that, if turned on, will block ads.">
+ Block ads based on the current filters
</message>
<message name="IDS_WEBSITE_SETTINGS_CATEGORY_ADS_BLOCKED_LIST" desc="Summary text explaining that the Ads permission is set to block ads on some sites. To be shown in the list of permission categories.">
Blocked on some sites
diff --git a/components/component_updater/BUILD.gn b/components/component_updater/BUILD.gn diff --git a/components/component_updater/BUILD.gn b/components/component_updater/BUILD.gn
--- a/components/component_updater/BUILD.gn --- a/components/component_updater/BUILD.gn
+++ b/components/component_updater/BUILD.gn +++ b/components/component_updater/BUILD.gn

View file

@ -12,13 +12,14 @@ being sent and being saved to disk, although it is currently in uncalled code.
.../embedder_support/origin_trials/features.cc | 3 ++- .../embedder_support/origin_trials/features.cc | 3 ++-
.../render_view_context_menu_base.cc | 3 --- .../render_view_context_menu_base.cc | 3 ---
.../aggregatable_report_sender.cc | 17 ++++++++--------- .../aggregatable_report_sender.cc | 17 ++++++++---------
.../attribution_reporting/attribution_host.cc | 1 +
.../attribution_report_network_sender.cc | 15 ++++++++------- .../attribution_report_network_sender.cc | 15 ++++++++-------
.../attribution_storage_sql.cc | 2 +- .../attribution_storage_sql.cc | 2 +-
content/browser/storage_partition_impl.cc | 7 +------ content/browser/storage_partition_impl.cc | 7 +------
content/public/browser/navigation_controller.cc | 1 - content/public/browser/navigation_controller.cc | 1 -
third_party/blink/common/features.cc | 2 +- third_party/blink/common/features.cc | 2 +-
.../platform/runtime_enabled_features.json5 | 9 ++++++++- .../platform/runtime_enabled_features.json5 | 9 ++++++++-
10 files changed, 30 insertions(+), 31 deletions(-) 11 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc
@ -96,6 +97,17 @@ diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b
-} // namespace content -} // namespace content
\ No newline at end of file \ No newline at end of file
+} // namespace content +} // namespace content
diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc
--- a/content/browser/attribution_reporting/attribution_host.cc
+++ b/content/browser/attribution_reporting/attribution_host.cc
@@ -141,6 +141,7 @@ void AttributionHost::DidFinishNavigation(NavigationHandle* navigation_handle) {
return;
}
+ if ((true)) return;
AttributionManager* attribution_manager =
attribution_manager_provider_->GetManager(web_contents());
if (!attribution_manager) {
diff --git a/content/browser/attribution_reporting/attribution_report_network_sender.cc b/content/browser/attribution_reporting/attribution_report_network_sender.cc diff --git a/content/browser/attribution_reporting/attribution_report_network_sender.cc b/content/browser/attribution_reporting/attribution_report_network_sender.cc
--- a/content/browser/attribution_reporting/attribution_report_network_sender.cc --- a/content/browser/attribution_reporting/attribution_report_network_sender.cc
+++ b/content/browser/attribution_reporting/attribution_report_network_sender.cc +++ b/content/browser/attribution_reporting/attribution_report_network_sender.cc

View file

@ -10,7 +10,7 @@ Subject: Keep empty tabs between sessions
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@@ -797,19 +797,6 @@ public class TabPersistentStore { @@ -796,19 +796,6 @@ public class TabPersistentStore {
mTabsToMigrate.add(tab); mTabsToMigrate.add(tab);
} }
} else { } else {

View file

@ -2316,14 +2316,14 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/
#include "cc/base/math_util.h" #include "cc/base/math_util.h"
#include "cc/layers/layer.h" #include "cc/layers/layer.h"
#include "cc/layers/surface_layer.h" #include "cc/layers/surface_layer.h"
@@ -461,6 +462,8 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation( @@ -455,6 +456,8 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation(
ime_adapter_android_->UpdateFrameInfo(metadata.selection.start, dip_scale, // factor. Thus, |top_content_offset| in CSS pixels is also in DIPs.
top_shown_pix); float top_content_offset =
} metadata.top_controls_height * metadata.top_controls_shown_ratio;
+ if (base::FeatureList::IsEnabled(::features::kMoveTopToolbarToBottom)) + if (base::FeatureList::IsEnabled(::features::kMoveTopToolbarToBottom))
+ top_content_offset = 0; + top_content_offset = 0;
float top_shown_pix = top_content_offset;
if (!gesture_listener_manager_) if (ime_adapter_android_) {
return;
-- --
2.25.1 2.25.1

View file

@ -9,13 +9,12 @@ Allow adding search engines in incognito mode
Allow using search engine URLs with non-empty paths Allow using search engine URLs with non-empty paths
Add verbose logging Add verbose logging
--- ---
.../settings/SearchEngineAdapter.java | 4 ++- .../settings/SearchEngineAdapter.java | 4 +-
.../search_engine_tab_helper.cc | 34 +++++++++++++------ .../search_engine_tab_helper.cc | 51 ++++++++++++++-----
.../renderer/chrome_render_frame_observer.cc | 2 ++ .../renderer/chrome_render_frame_observer.cc | 2 +
.../search_engines/template_url_fetcher.cc | 23 ++++++++++--- .../search_engines/template_url_fetcher.cc | 23 +++++++--
.../search_engines/template_url_service.cc | 1 - .../search_engines/template_url_service.h | 8 +--
.../search_engines/template_url_service.h | 8 ++--- 5 files changed, 65 insertions(+), 23 deletions(-)
6 files changed, 51 insertions(+), 21 deletions(-)
diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java b/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java b/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java
--- a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java --- a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java
@ -25,7 +24,7 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/
} }
if (recentEngineNum < MAX_RECENT_ENGINE_NUM if (recentEngineNum < MAX_RECENT_ENGINE_NUM
- && templateUrl.getLastVisitedTime() > displayTime) { - && templateUrl.getLastVisitedTime() > displayTime) {
+ // just-added search engines have never been visited + // newly added search engines have never been visited
+ && (templateUrl.getLastVisitedTime() == 0 || + && (templateUrl.getLastVisitedTime() == 0 ||
+ templateUrl.getLastVisitedTime() > displayTime)) { + templateUrl.getLastVisitedTime() > displayTime)) {
recentEngineNum++; recentEngineNum++;
@ -34,22 +33,21 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/
diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chrome/browser/ui/search_engines/search_engine_tab_helper.cc diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chrome/browser/ui/search_engines/search_engine_tab_helper.cc
--- a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc --- a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc
+++ b/chrome/browser/ui/search_engines/search_engine_tab_helper.cc +++ b/chrome/browser/ui/search_engines/search_engine_tab_helper.cc
@@ -6,6 +6,8 @@ @@ -6,6 +6,7 @@
#include <memory> #include <memory>
+#include "base/logging.h"
+#include "base/logging.h" +#include "base/logging.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "chrome/browser/favicon/favicon_utils.h" #include "chrome/browser/favicon/favicon_utils.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
@@ -69,16 +71,20 @@ std::u16string SearchEngineTabHelper::GenerateKeywordFromNavigationEntry( @@ -69,16 +70,20 @@ std::u16string SearchEngineTabHelper::GenerateKeywordFromNavigationEntry(
NavigationEntry* entry) { NavigationEntry* entry) {
// Don't autogenerate keywords for pages that are the result of form // Don't autogenerate keywords for pages that are the result of form
// submissions. // submissions.
- if (IsFormSubmit(entry)) - if (IsFormSubmit(entry))
+ if (IsFormSubmit(entry)) { + if (IsFormSubmit(entry)) {
+ LOG(INFO) << "OpenSearch: cannot generate keyword for a form submission"; + LOG(INFO) << "OpenSearch: cannot generate keyword for a form submission for entry " << entry->GetURL();
return std::u16string(); return std::u16string();
+ } + }
@ -60,13 +58,13 @@ diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chro
url = entry->GetURL(); url = entry->GetURL();
- if (!url.is_valid()) - if (!url.is_valid())
+ if (!url.is_valid()) { + if (!url.is_valid()) {
+ LOG(INFO) << "OpenSearch: user-typed/entry URL are invalid"; + LOG(INFO) << "OpenSearch: user-typed/entry URL are invalid for entry " << entry->GetURL();
return std::u16string(); return std::u16string();
+ } + }
} }
// Don't autogenerate keywords for referrers that // Don't autogenerate keywords for referrers that
@@ -86,10 +92,10 @@ std::u16string SearchEngineTabHelper::GenerateKeywordFromNavigationEntry( @@ -86,10 +91,10 @@ std::u16string SearchEngineTabHelper::GenerateKeywordFromNavigationEntry(
// b) have a path. // b) have a path.
// //
// If we relax the path constraint, we need to be sure to sanitize the path // If we relax the path constraint, we need to be sure to sanitize the path
@ -76,17 +74,17 @@ diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chro
- if (!(url.SchemeIs(url::kHttpScheme) || url.SchemeIs(url::kHttpsScheme)) || - if (!(url.SchemeIs(url::kHttpScheme) || url.SchemeIs(url::kHttpsScheme)) ||
- (url.path().length() > 1)) { - (url.path().length() > 1)) {
+ if (!(url.SchemeIs(url::kHttpScheme) || url.SchemeIs(url::kHttpsScheme))) { + if (!(url.SchemeIs(url::kHttpScheme) || url.SchemeIs(url::kHttpsScheme))) {
+ LOG(INFO) << "OpenSearch: invalid scheme"; + LOG(INFO) << "OpenSearch: invalid scheme for entry " << entry->GetURL();
return std::u16string(); return std::u16string();
} }
@@ -116,22 +122,27 @@ void SearchEngineTabHelper::PageHasOpenSearchDescriptionDocument( @@ -116,22 +121,27 @@ void SearchEngineTabHelper::PageHasOpenSearchDescriptionDocument(
// Only accept messages from the main frame. // Only accept messages from the main frame.
if (osdd_handler_receivers_.GetCurrentTargetFrame() != if (osdd_handler_receivers_.GetCurrentTargetFrame() !=
- web_contents()->GetMainFrame()) - web_contents()->GetMainFrame())
+ web_contents()->GetMainFrame()) { + web_contents()->GetMainFrame()) {
+ LOG(INFO) << "OpenSearch: frame mismatch"; + LOG(INFO) << "OpenSearch: frame mismatch on page " << page_url;
return; return;
+ } + }
@ -96,7 +94,7 @@ diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chro
// urls referring to osdd urls with same schemes. // urls referring to osdd urls with same schemes.
- if (!osdd_url.is_valid() || !osdd_url.SchemeIsHTTPOrHTTPS()) - if (!osdd_url.is_valid() || !osdd_url.SchemeIsHTTPOrHTTPS())
+ if (!osdd_url.is_valid() || !osdd_url.SchemeIsHTTPOrHTTPS()) { + if (!osdd_url.is_valid() || !osdd_url.SchemeIsHTTPOrHTTPS()) {
+ LOG(INFO) << "OpenSearch: not a valid OSDD URL"; + LOG(INFO) << "OpenSearch: not a valid OSDD URL " << osdd_url;
return; return;
+ } + }
@ -106,25 +104,38 @@ diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chro
- !TemplateURLFetcherFactory::GetForProfile(profile) || - !TemplateURLFetcherFactory::GetForProfile(profile) ||
- profile->IsOffTheRecord()) - profile->IsOffTheRecord())
+ !TemplateURLFetcherFactory::GetForProfile(profile)) { + !TemplateURLFetcherFactory::GetForProfile(profile)) {
+ LOG(INFO) << "OpenSearch: page URL mismatch"; + LOG(INFO) << "OpenSearch: page URL mismatch on page " << page_url;
return; return;
+ } + }
// If the current page is a form submit, find the last page that was not a // If the current page is a form submit, find the last page that was not a
// form submit and use its url to generate the keyword from. // form submit and use its url to generate the keyword from.
@@ -141,8 +152,10 @@ void SearchEngineTabHelper::PageHasOpenSearchDescriptionDocument( @@ -141,8 +151,10 @@ void SearchEngineTabHelper::PageHasOpenSearchDescriptionDocument(
(index > 0) && IsFormSubmit(entry); (index > 0) && IsFormSubmit(entry);
entry = controller.GetEntryAtIndex(index)) entry = controller.GetEntryAtIndex(index))
--index; --index;
- if (!entry || IsFormSubmit(entry)) - if (!entry || IsFormSubmit(entry))
+ if (!entry || IsFormSubmit(entry)) { + if (!entry || IsFormSubmit(entry)) {
+ LOG(INFO) << "OpenSearch: cannot find form submission"; + LOG(INFO) << "OpenSearch: cannot find form submission for entry " << entry->GetURL();
return; return;
+ } + }
// Autogenerate a keyword for the autodetected case; in the other cases we'll // Autogenerate a keyword for the autodetected case; in the other cases we'll
// generate a keyword later after fetching the OSDD. // generate a keyword later after fetching the OSDD.
@@ -157,6 +170,7 @@ void SearchEngineTabHelper::PageHasOpenSearchDescriptionDocument( @@ -150,6 +162,12 @@ void SearchEngineTabHelper::PageHasOpenSearchDescriptionDocument(
if (keyword.empty())
return;
+ std::u16string page_keyword = TemplateURL::GenerateKeyword(page_url);
+ if (page_keyword != keyword) {
+ LOG(INFO) << "OpenSearch: keyword mismatch for entry " << entry->GetURL();
+ return;
+ }
+
auto* frame = web_contents()->GetMainFrame();
mojo::Remote<network::mojom::URLLoaderFactory> url_loader_factory;
frame->CreateNetworkServiceDefaultFactory(
@@ -157,6 +175,7 @@ void SearchEngineTabHelper::PageHasOpenSearchDescriptionDocument(
// Download the OpenSearch description document. If this is successful, a // Download the OpenSearch description document. If this is successful, a
// new keyword will be created when done. // new keyword will be created when done.
@ -132,6 +143,35 @@ diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chro
TemplateURLFetcherFactory::GetForProfile(profile)->ScheduleDownload( TemplateURLFetcherFactory::GetForProfile(profile)->ScheduleDownload(
keyword, osdd_url, entry->GetFavicon().url, keyword, osdd_url, entry->GetFavicon().url,
frame->GetLastCommittedOrigin(), url_loader_factory.get(), frame->GetLastCommittedOrigin(), url_loader_factory.get(),
@@ -198,11 +217,18 @@ void SearchEngineTabHelper::GenerateKeywordIfNecessary(
if (last_index <= 0)
return;
- std::u16string keyword(GenerateKeywordFromNavigationEntry(
- controller.GetEntryAtIndex(last_index - 1)));
+ NavigationEntry* entry = controller.GetEntryAtIndex(last_index - 1);
+ std::u16string keyword(GenerateKeywordFromNavigationEntry(entry));
if (keyword.empty())
return;
+ GURL url = handle->GetSearchableFormURL();
+ std::u16string page_keyword = TemplateURL::GenerateKeyword(url);
+ if (page_keyword != keyword) {
+ LOG(INFO) << "OpenSearch: GenerateKeywordIfNecessary(): keyword mismatch for entry " << entry->GetURL();
+ return;
+ }
+
TemplateURLService* url_service =
TemplateURLServiceFactory::GetForProfile(profile);
if (!url_service)
@@ -213,7 +239,6 @@ void SearchEngineTabHelper::GenerateKeywordIfNecessary(
return;
}
- GURL url = handle->GetSearchableFormURL();
if (!url_service->CanAddAutogeneratedKeyword(keyword, url))
return;
diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/chrome_render_frame_observer.cc diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/chrome_render_frame_observer.cc
--- a/chrome/renderer/chrome_render_frame_observer.cc --- a/chrome/renderer/chrome_render_frame_observer.cc
+++ b/chrome/renderer/chrome_render_frame_observer.cc +++ b/chrome/renderer/chrome_render_frame_observer.cc
@ -189,17 +229,6 @@ diff --git a/components/search_engines/template_url_fetcher.cc b/components/sear
} }
requests_.push_back(std::make_unique<RequestDelegate>( requests_.push_back(std::make_unique<RequestDelegate>(
diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc
--- a/components/search_engines/template_url_service.cc
+++ b/components/search_engines/template_url_service.cc
@@ -463,7 +463,6 @@ TemplateURL* TemplateURLService::Add(
(!FindTemplateURLForExtension(template_url->extension_info_->extension_id,
template_url->type()) &&
template_url->id() == kInvalidTemplateURLID));
-
return Add(std::move(template_url), true);
}
diff --git a/components/search_engines/template_url_service.h b/components/search_engines/template_url_service.h diff --git a/components/search_engines/template_url_service.h b/components/search_engines/template_url_service.h
--- a/components/search_engines/template_url_service.h --- a/components/search_engines/template_url_service.h
+++ b/components/search_engines/template_url_service.h +++ b/components/search_engines/template_url_service.h

View file

@ -8,8 +8,8 @@ This reverts commit e72fc9b64116bf259e516096fcc60b58ae8ae1b3.
.../policy/url_blocking_policy_test_utils.cc | 11 --- .../policy/url_blocking_policy_test_utils.cc | 11 ---
.../policy/url_blocking_policy_test_utils.h | 3 - .../policy/url_blocking_policy_test_utils.h | 3 -
.../policy_blocklist_navigation_throttle.cc | 19 ----- .../policy_blocklist_navigation_throttle.cc | 19 -----
.../policy_blocklist_navigation_throttle.h | 5 +- .../policy_blocklist_navigation_throttle.h | 4 -
5 files changed, 1 insertion(+), 115 deletions(-) 5 files changed, 115 deletions(-)
diff --git a/chrome/browser/policy/test/url_blocklist_policy_browsertest.cc b/chrome/browser/policy/test/url_blocklist_policy_browsertest.cc diff --git a/chrome/browser/policy/test/url_blocklist_policy_browsertest.cc b/chrome/browser/policy/test/url_blocklist_policy_browsertest.cc
--- a/chrome/browser/policy/test/url_blocklist_policy_browsertest.cc --- a/chrome/browser/policy/test/url_blocklist_policy_browsertest.cc
@ -184,7 +184,7 @@ diff --git a/components/policy/content/policy_blocklist_navigation_throttle.cc b
diff --git a/components/policy/content/policy_blocklist_navigation_throttle.h b/components/policy/content/policy_blocklist_navigation_throttle.h diff --git a/components/policy/content/policy_blocklist_navigation_throttle.h b/components/policy/content/policy_blocklist_navigation_throttle.h
--- a/components/policy/content/policy_blocklist_navigation_throttle.h --- a/components/policy/content/policy_blocklist_navigation_throttle.h
+++ b/components/policy/content/policy_blocklist_navigation_throttle.h +++ b/components/policy/content/policy_blocklist_navigation_throttle.h
@@ -35,10 +35,7 @@ class PolicyBlocklistNavigationThrottle : public content::NavigationThrottle { @@ -35,10 +35,6 @@ class PolicyBlocklistNavigationThrottle : public content::NavigationThrottle {
const char* GetNameForLogging() override; const char* GetNameForLogging() override;
private: private:
@ -192,7 +192,6 @@ diff --git a/components/policy/content/policy_blocklist_navigation_throttle.h b/
- // the URLBlocklist. - // the URLBlocklist.
- bool IsBlockedViewSourceNavigation(); - bool IsBlockedViewSourceNavigation();
- -
+ ThrottleCheckResult GetUrlThrottleResult(const GURL& url);
// To ensure both allow and block policies override Safe Sites, // To ensure both allow and block policies override Safe Sites,
// SafeSitesNavigationThrottle must be consulted as part of this throttle // SafeSitesNavigationThrottle must be consulted as part of this throttle
// rather than added separately to the list of throttles. // rather than added separately to the list of throttles.

View file

@ -6,11 +6,11 @@ Allow toggling automatic updates
--- ---
.../android/java/res/layout/fre_tosanduma.xml | 4 +- .../android/java/res/layout/fre_tosanduma.xml | 4 +-
.../browser/firstrun/FirstRunActivity.java | 43 +---- .../browser/firstrun/FirstRunActivity.java | 43 +----
.../firstrun/FirstRunFlowSequencer.java | 63 ++----- .../firstrun/FirstRunFlowSequencer.java | 65 ++-----
.../browser/firstrun/FirstRunUtils.java | 13 +- .../browser/firstrun/FirstRunUtils.java | 13 +-
.../firstrun/ToSAndUMAFirstRunFragment.java | 163 +++++------------- .../firstrun/ToSAndUMAFirstRunFragment.java | 163 +++++-------------
.../strings/android_chrome_strings.grd | 27 ++- .../strings/android_chrome_strings.grd | 27 ++-
6 files changed, 86 insertions(+), 227 deletions(-) 6 files changed, 88 insertions(+), 227 deletions(-)
diff --git a/chrome/android/java/res/layout/fre_tosanduma.xml b/chrome/android/java/res/layout/fre_tosanduma.xml diff --git a/chrome/android/java/res/layout/fre_tosanduma.xml b/chrome/android/java/res/layout/fre_tosanduma.xml
--- a/chrome/android/java/res/layout/fre_tosanduma.xml --- a/chrome/android/java/res/layout/fre_tosanduma.xml
@ -197,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
} }
/** @return true if first use hints should be skipped. */ /** @return true if first use hints should be skipped. */
@@ -141,19 +111,6 @@ public abstract class FirstRunFlowSequencer { @@ -141,19 +111,8 @@ public abstract class FirstRunFlowSequencer {
* Once finished, calls onFlowIsKnown(). * Once finished, calls onFlowIsKnown().
*/ */
void start() { void start() {
@ -214,10 +214,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
- processFreEnvironmentPreNative(); - processFreEnvironmentPreNative();
- }); - });
- }); - });
+ mIsChild = false;
+ processFreEnvironmentPreNative();
} }
@VisibleForTesting @VisibleForTesting
@@ -172,7 +129,6 @@ public abstract class FirstRunFlowSequencer { @@ -172,7 +131,6 @@ public abstract class FirstRunFlowSequencer {
private void processFreEnvironmentPreNative() { private void processFreEnvironmentPreNative() {
Bundle freProperties = new Bundle(); Bundle freProperties = new Bundle();
@ -225,7 +227,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
onFlowIsKnown(freProperties); onFlowIsKnown(freProperties);
} }
@@ -183,8 +139,8 @@ public abstract class FirstRunFlowSequencer { @@ -183,8 +141,8 @@ public abstract class FirstRunFlowSequencer {
* @param freProperties Resulting FRE properties bundle. * @param freProperties Resulting FRE properties bundle.
*/ */
public void updateFirstRunProperties(Bundle freProperties) { public void updateFirstRunProperties(Bundle freProperties) {
@ -236,7 +238,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
freProperties.putBoolean( freProperties.putBoolean(
FirstRunActivity.SHOW_SEARCH_ENGINE_PAGE, shouldShowSearchEnginePage()); FirstRunActivity.SHOW_SEARCH_ENGINE_PAGE, shouldShowSearchEnginePage());
} }
@@ -243,6 +199,7 @@ public abstract class FirstRunFlowSequencer { @@ -243,6 +201,7 @@ public abstract class FirstRunFlowSequencer {
|| FirstRunStatus.getLightweightFirstRunFlowComplete())) { || FirstRunStatus.getLightweightFirstRunFlowComplete())) {
return false; return false;
} }
@ -244,7 +246,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
return true; return true;
} }
@@ -290,15 +247,21 @@ public abstract class FirstRunFlowSequencer { @@ -290,15 +249,21 @@ public abstract class FirstRunFlowSequencer {
freIntent = freIntent =
VrModuleProvider.getIntentDelegate().setupVrFreIntent(caller, freIntent); VrModuleProvider.getIntentDelegate().setupVrFreIntent(caller, freIntent);
// We cannot access Chrome right now, e.g. because the VR module is not installed. // We cannot access Chrome right now, e.g. because the VR module is not installed.