From f8b9df3a56fe06594a355130b38b1cd0ee19354f Mon Sep 17 00:00:00 2001 From: Deep Pandya <5146988+deeppandya@users.noreply.github.com> Date: Wed, 21 Sep 2022 23:21:59 -0400 Subject: [PATCH 1/3] Merge pull request #15063 from brave/cookie_consent_dialog_android Block cookie consent dialog android --- android/brave_java_resources.gni | 17 +++ android/brave_java_sources.gni | 1 + .../preferences/BravePreferenceKeys.java | 3 + .../settings/BravePrivacySettings.java | 67 ++++++++++- .../CookieListOptInServiceFactory.java | 58 ++++++++++ .../toolbar/top/BraveToolbarLayoutImpl.java | 109 +++++++++++++++++- android/java/res/drawable-hdpi/ic_cookie.png | Bin 0 -> 9593 bytes .../drawable-hdpi/ic_cookie_background.png | Bin 0 -> 10957 bytes android/java/res/drawable-mdpi/ic_cookie.png | Bin 0 -> 5030 bytes .../drawable-mdpi/ic_cookie_background.png | Bin 0 -> 6855 bytes .../ic_cookie_background.png | Bin 0 -> 10328 bytes .../ic_cookie_background.png | Bin 0 -> 6418 bytes .../ic_cookie_background.png | Bin 0 -> 14380 bytes .../ic_cookie_background.png | Bin 0 -> 23452 bytes .../ic_cookie_background.png | Bin 0 -> 33634 bytes android/java/res/drawable-xhdpi/ic_cookie.png | Bin 0 -> 14940 bytes .../drawable-xhdpi/ic_cookie_background.png | Bin 0 -> 15380 bytes .../java/res/drawable-xxhdpi/ic_cookie.png | Bin 0 -> 27880 bytes .../drawable-xxhdpi/ic_cookie_background.png | Bin 0 -> 24741 bytes .../java/res/drawable-xxxhdpi/ic_cookie.png | Bin 0 -> 41778 bytes .../drawable-xxxhdpi/ic_cookie_background.png | Bin 0 -> 35135 bytes .../cookie_consent_tooltip_background.xml | 13 +++ .../block_cookie_consent_notices_tooltip.xml | 80 +++++++++++++ .../java/res/values-night/brave_colors.xml | 4 + android/java/res/values/brave_colors.xml | 4 + .../res/xml/brave_privacy_preferences.xml | 6 + browser/about_flags.cc | 3 +- ...kie_list_opt_in_service_factory_android.cc | 26 +++++ .../cookie_list_opt_in_service_factory.cc | 66 +++++++++++ .../cookie_list_opt_in_service_factory.h | 49 ++++++++ browser/brave_shields/sources.gni | 13 ++- .../android/strings/android_brave_strings.grd | 15 +++ build/android/BUILD.gn | 1 + build/android/config.gni | 1 + components/brave_shields/browser/BUILD.gn | 2 + .../browser/cookie_list_opt_in_service.cc | 58 ++++++++++ .../browser/cookie_list_opt_in_service.h | 46 ++++++++ components/brave_shields/common/BUILD.gn | 1 + .../common/cookie_list_opt_in.mojom | 6 + 39 files changed, 637 insertions(+), 12 deletions(-) create mode 100644 android/java/org/chromium/chrome/browser/shields/CookieListOptInServiceFactory.java create mode 100644 android/java/res/drawable-hdpi/ic_cookie.png create mode 100644 android/java/res/drawable-hdpi/ic_cookie_background.png create mode 100644 android/java/res/drawable-mdpi/ic_cookie.png create mode 100644 android/java/res/drawable-mdpi/ic_cookie_background.png create mode 100644 android/java/res/drawable-night-hdpi/ic_cookie_background.png create mode 100644 android/java/res/drawable-night-mdpi/ic_cookie_background.png create mode 100644 android/java/res/drawable-night-xhdpi/ic_cookie_background.png create mode 100644 android/java/res/drawable-night-xxhdpi/ic_cookie_background.png create mode 100644 android/java/res/drawable-night-xxxhdpi/ic_cookie_background.png create mode 100644 android/java/res/drawable-xhdpi/ic_cookie.png create mode 100644 android/java/res/drawable-xhdpi/ic_cookie_background.png create mode 100644 android/java/res/drawable-xxhdpi/ic_cookie.png create mode 100644 android/java/res/drawable-xxhdpi/ic_cookie_background.png create mode 100644 android/java/res/drawable-xxxhdpi/ic_cookie.png create mode 100644 android/java/res/drawable-xxxhdpi/ic_cookie_background.png create mode 100644 android/java/res/drawable/cookie_consent_tooltip_background.xml create mode 100644 android/java/res/layout/block_cookie_consent_notices_tooltip.xml create mode 100644 browser/brave_shields/android/cookie_list_opt_in_service_factory_android.cc create mode 100644 browser/brave_shields/cookie_list_opt_in_service_factory.cc create mode 100644 browser/brave_shields/cookie_list_opt_in_service_factory.h create mode 100644 components/brave_shields/browser/cookie_list_opt_in_service.cc create mode 100644 components/brave_shields/browser/cookie_list_opt_in_service.h diff --git a/android/brave_java_resources.gni b/android/brave_java_resources.gni index d06c89cd121e..596f23643138 100644 --- a/android/brave_java_resources.gni +++ b/android/brave_java_resources.gni @@ -55,6 +55,8 @@ brave_java_resources = [ "java/res/drawable-hdpi/ic_ad_free_videos.png", "java/res/drawable-hdpi/ic_brave_onboarding.png", "java/res/drawable-hdpi/ic_chrome.png", + "java/res/drawable-hdpi/ic_cookie.png", + "java/res/drawable-hdpi/ic_cookie_background.png", "java/res/drawable-hdpi/ic_cross_modal.png", "java/res/drawable-hdpi/ic_delete_white_24dp.png", "java/res/drawable-hdpi/ic_expand_less_black_24dp.png", @@ -138,6 +140,8 @@ brave_java_resources = [ "java/res/drawable-mdpi/ic_ad_free_videos.png", "java/res/drawable-mdpi/ic_brave_onboarding.png", "java/res/drawable-mdpi/ic_chrome.png", + "java/res/drawable-mdpi/ic_cookie.png", + "java/res/drawable-mdpi/ic_cookie_background.png", "java/res/drawable-mdpi/ic_cross_modal.png", "java/res/drawable-mdpi/ic_delete_white_24dp.png", "java/res/drawable-mdpi/ic_expand_less_black_24dp.png", @@ -179,6 +183,11 @@ brave_java_resources = [ "java/res/drawable-mdpi/verified_creator_large.png", "java/res/drawable-mdpi/verified_disclosure.png", "java/res/drawable-mdpi/yandex.png", + "java/res/drawable-night-hdpi/ic_cookie_background.png", + "java/res/drawable-night-mdpi/ic_cookie_background.png", + "java/res/drawable-night-xhdpi/ic_cookie_background.png", + "java/res/drawable-night-xxhdpi/ic_cookie_background.png", + "java/res/drawable-night-xxxhdpi/ic_cookie_background.png", "java/res/drawable-nodpi/dylan_malval_sea_min.webp", "java/res/drawable-nodpi/eth.png", "java/res/drawable-nodpi/fee_icon.png", @@ -226,6 +235,8 @@ brave_java_resources = [ "java/res/drawable-xhdpi/ic_ad_free_videos.png", "java/res/drawable-xhdpi/ic_brave_onboarding.png", "java/res/drawable-xhdpi/ic_chrome.png", + "java/res/drawable-xhdpi/ic_cookie.png", + "java/res/drawable-xhdpi/ic_cookie_background.png", "java/res/drawable-xhdpi/ic_cross_modal.png", "java/res/drawable-xhdpi/ic_delete_white_24dp.png", "java/res/drawable-xhdpi/ic_expand_less_black_24dp.png", @@ -308,6 +319,8 @@ brave_java_resources = [ "java/res/drawable-xxhdpi/ic_ad_free_videos.png", "java/res/drawable-xxhdpi/ic_brave_onboarding.png", "java/res/drawable-xxhdpi/ic_chrome.png", + "java/res/drawable-xxhdpi/ic_cookie.png", + "java/res/drawable-xxhdpi/ic_cookie_background.png", "java/res/drawable-xxhdpi/ic_cross_modal.png", "java/res/drawable-xxhdpi/ic_delete_white_24dp.png", "java/res/drawable-xxhdpi/ic_expand_less_black_24dp.png", @@ -389,6 +402,8 @@ brave_java_resources = [ "java/res/drawable-xxxhdpi/ic_ad_free_videos.png", "java/res/drawable-xxxhdpi/ic_brave_onboarding.png", "java/res/drawable-xxxhdpi/ic_chrome.png", + "java/res/drawable-xxxhdpi/ic_cookie.png", + "java/res/drawable-xxxhdpi/ic_cookie_background.png", "java/res/drawable-xxxhdpi/ic_cross_modal.png", "java/res/drawable-xxxhdpi/ic_delete_white_24dp.png", "java/res/drawable-xxxhdpi/ic_expand_less_black_24dp.png", @@ -482,6 +497,7 @@ brave_java_resources = [ "java/res/drawable/brave_sync_warning.xml", "java/res/drawable/card_bg.xml", "java/res/drawable/circular_progress.xml", + "java/res/drawable/cookie_consent_tooltip_background.xml", "java/res/drawable/crypto_wallet_blue_button.xml", "java/res/drawable/crypto_wallet_hollow_button.xml", "java/res/drawable/default_dot.xml", @@ -712,6 +728,7 @@ brave_java_resources = [ "java/res/layout/activity_welcome_onboarding.xml", "java/res/layout/application_item_layout.xml", "java/res/layout/approve_tx_bottom_sheet.xml", + "java/res/layout/block_cookie_consent_notices_tooltip.xml", "java/res/layout/bottom_toolbar.xml", "java/res/layout/bottom_toolbar_browsing.xml", "java/res/layout/bottom_toolbar_menu_button.xml", diff --git a/android/brave_java_sources.gni b/android/brave_java_sources.gni index 6f8ed2623935..92afd6152784 100644 --- a/android/brave_java_sources.gni +++ b/android/brave_java_sources.gni @@ -303,6 +303,7 @@ brave_java_sources = [ "../../brave/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java", "../../brave/android/java/org/chromium/chrome/browser/shields/BraveShieldsMenuObserver.java", "../../brave/android/java/org/chromium/chrome/browser/shields/BraveShieldsUtils.java", + "../../brave/android/java/org/chromium/chrome/browser/shields/CookieListOptInServiceFactory.java", "../../brave/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java", "../../brave/android/java/org/chromium/chrome/browser/site_settings/BraveSiteSettingsDelegate.java", "../../brave/android/java/org/chromium/chrome/browser/site_settings/BraveWalletEthereumConnectedSites.java", diff --git a/android/java/org/chromium/chrome/browser/preferences/BravePreferenceKeys.java b/android/java/org/chromium/chrome/browser/preferences/BravePreferenceKeys.java index f1d1bbf9cd73..fe91750d657b 100644 --- a/android/java/org/chromium/chrome/browser/preferences/BravePreferenceKeys.java +++ b/android/java/org/chromium/chrome/browser/preferences/BravePreferenceKeys.java @@ -44,4 +44,7 @@ public final class BravePreferenceKeys { "org.chromium.chrome.browser.Brave_Biometrics_For_Wallet_Encrypted"; public static final String BRAVE_AD_FREE_CALLOUT_DIALOG = "brave_ad_free_callout_dialog"; public static final String BRAVE_OPENED_YOUTUBE = "brave_opened_youtube"; + public static final String SHOULD_SHOW_COOKIE_CONSENT_NOTICE = + "should_show_cookie_consent_notice"; + public static final String LOADED_SITE_COUNT = "loaded_site_count"; } diff --git a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java index 61700e731bdf..7897b4644609 100644 --- a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java +++ b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java @@ -15,12 +15,14 @@ import org.chromium.base.ContextUtils; import org.chromium.base.Log; +import org.chromium.brave_shields.mojom.CookieListOptInPageAndroidHandler; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveConfig; import org.chromium.chrome.browser.metrics.UmaSessionStats; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; import org.chromium.chrome.browser.preferences.Pref; +import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.preferences.website.BraveShieldsContentSettings; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; import org.chromium.chrome.browser.privacy.settings.PrivacySettings; @@ -29,14 +31,17 @@ import org.chromium.chrome.browser.settings.BravePreferenceDialogFragment; import org.chromium.chrome.browser.settings.BraveWebrtcPolicyPreference; import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate; +import org.chromium.chrome.browser.shields.CookieListOptInServiceFactory; import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference; import org.chromium.components.browser_ui.settings.ChromeBasePreference; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.SettingsUtils; import org.chromium.components.prefs.PrefService; import org.chromium.components.user_prefs.UserPrefs; +import org.chromium.mojo.bindings.ConnectionErrorHandler; +import org.chromium.mojo.system.MojoException; -public class BravePrivacySettings extends PrivacySettings { +public class BravePrivacySettings extends PrivacySettings implements ConnectionErrorHandler { // Chromium Prefs private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment"; private static final String PREF_NETWORK_PREDICTIONS = "preload_pages"; @@ -64,6 +69,7 @@ public class BravePrivacySettings extends PrivacySettings { private static final String PREF_HTTPSE = "httpse"; private static final String PREF_DE_AMP = "de_amp"; private static final String PREF_IPFS_GATEWAY = "ipfs_gateway"; + private static final String PREF_BLOCK_COOKIE_CONSENT_NOTICES = "block_cookie_consent_notices"; private static final String PREF_AD_BLOCK = "ad_block"; private static final String PREF_BLOCK_SCRIPTS = "scripts_block"; public static final String PREF_FINGERPRINTING_PROTECTION = "fingerprinting_protection"; @@ -105,11 +111,11 @@ public class BravePrivacySettings extends PrivacySettings { PREF_OTHER_PRIVACY_SETTINGS_SECTION, // other section PREF_WEBRTC_POLICY, PREF_SAFE_BROWSING, PREF_INCOGNITO_LOCK, PREF_CAN_MAKE_PAYMENT, PREF_UNSTOPPABLE_DOMAINS, PREF_ETH_NAMED_SERVICE, PREF_IPFS_GATEWAY, PREF_SECURE_DNS, - PREF_DO_NOT_TRACK, PREF_PHONE_AS_A_SECURITY_KEY, PREF_CLOSE_TABS_ON_EXIT, PREF_SEND_P3A, - PREF_SEND_CRASH_REPORTS, PREF_BRAVE_STATS_USAGE_PING, - PREF_SHOW_AUTOCOMPLETE_IN_ADDRESS_BAR, PREF_SEARCH_SUGGESTIONS, - PREF_AUTOCOMPLETE_TOP_SITES, PREF_AUTOCOMPLETE_BRAVE_SUGGESTED_SITES, PREF_USAGE_STATS, - PREF_PRIVACY_SANDBOX}; + PREF_BLOCK_COOKIE_CONSENT_NOTICES, PREF_DO_NOT_TRACK, PREF_PHONE_AS_A_SECURITY_KEY, + PREF_CLOSE_TABS_ON_EXIT, PREF_SEND_P3A, PREF_SEND_CRASH_REPORTS, + PREF_BRAVE_STATS_USAGE_PING, PREF_SHOW_AUTOCOMPLETE_IN_ADDRESS_BAR, + PREF_SEARCH_SUGGESTIONS, PREF_AUTOCOMPLETE_TOP_SITES, + PREF_AUTOCOMPLETE_BRAVE_SUGGESTED_SITES, PREF_USAGE_STATS, PREF_PRIVACY_SANDBOX}; private final int STRICT = 0; private final int STANDARD = 1; @@ -137,6 +143,7 @@ public class BravePrivacySettings extends PrivacySettings { private ChromeSwitchPreference mSendCrashReports; private ChromeSwitchPreference mBraveStatsUsagePing; private ChromeSwitchPreference mIpfsGatewayPref; + private ChromeSwitchPreference mBlockCookieConsentNoticesPref; private PreferenceCategory mSocialBlockingCategory; private ChromeSwitchPreference mSocialBlockingGoogle; private ChromeSwitchPreference mHttpsEverywhere; @@ -147,6 +154,31 @@ public class BravePrivacySettings extends PrivacySettings { private ChromeSwitchPreference mClearBrowsingDataOnExit; private Preference mUstoppableDomains; private ChromeSwitchPreference mFingerprntLanguagePref; + private CookieListOptInPageAndroidHandler mCookieListOptInPageAndroidHandler; + + @Override + public void onConnectionError(MojoException e) { + mCookieListOptInPageAndroidHandler = null; + initCookieListOptInPageAndroidHandler(); + } + + private void initCookieListOptInPageAndroidHandler() { + if (mCookieListOptInPageAndroidHandler != null) { + return; + } + + mCookieListOptInPageAndroidHandler = + CookieListOptInServiceFactory.getInstance().getCookieListOptInPageAndroidHandler( + this); + } + + @Override + public void onDestroy() { + if (mCookieListOptInPageAndroidHandler != null) { + mCookieListOptInPageAndroidHandler.close(); + } + super.onDestroy(); + } @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { @@ -157,6 +189,8 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { SettingsUtils.addPreferencesFromResource(this, R.xml.brave_privacy_preferences); + initCookieListOptInPageAndroidHandler(); + mHttpsePref = (ChromeSwitchPreference) findPreference(PREF_HTTPSE); mHttpsePref.setOnPreferenceChangeListener(this); @@ -178,6 +212,10 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { mIpfsGatewayPref = (ChromeSwitchPreference) findPreference(PREF_IPFS_GATEWAY); mIpfsGatewayPref.setOnPreferenceChangeListener(this); + mBlockCookieConsentNoticesPref = + (ChromeSwitchPreference) findPreference(PREF_BLOCK_COOKIE_CONSENT_NOTICES); + mBlockCookieConsentNoticesPref.setOnPreferenceChangeListener(this); + mBlockCrosssiteCookies = (BraveDialogPreference) findPreference(PREF_BLOCK_CROSS_SITE_COOKIES); mBlockCrosssiteCookies.setOnPreferenceChangeListener(this); @@ -245,6 +283,14 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { removePreferenceIfPresent(PREF_PRIVACY_SANDBOX); removePreferenceIfPresent(PREF_SAFE_BROWSING); + if (mCookieListOptInPageAndroidHandler != null) { + mCookieListOptInPageAndroidHandler.shouldShowDialog(shouldShowDialog -> { + if (!shouldShowDialog) { + removePreferenceIfPresent(PREF_BLOCK_COOKIE_CONSENT_NOTICES); + } + }); + } + updateBravePreferences(); } @@ -295,6 +341,11 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { } else if (PREF_IPFS_GATEWAY.equals(key)) { BravePrefServiceBridge.getInstance().setIpfsGatewayEnabled((boolean) newValue); + } else if (PREF_BLOCK_COOKIE_CONSENT_NOTICES.equals(key)) { + if (mCookieListOptInPageAndroidHandler != null) { + mCookieListOptInPageAndroidHandler.enableFilter((boolean) newValue); + } + } else if (PREF_FINGERPRINTING_PROTECTION.equals(key)) { if (newValue instanceof String && String.valueOf(newValue).equals( @@ -522,6 +573,10 @@ private void updateBravePreferences() { mAutocompleteBraveSuggestedSites.setEnabled(autocompleteEnabled); mFingerprntLanguagePref.setChecked(UserPrefs.get(Profile.getLastUsedRegularProfile()) .getBoolean(BravePref.REDUCE_LANGUAGE_ENABLED)); + if (mCookieListOptInPageAndroidHandler != null) { + mCookieListOptInPageAndroidHandler.isFilterListEnabled( + isEnabled -> { mBlockCookieConsentNoticesPref.setChecked(isEnabled); }); + } } private void removePreferenceIfPresent(String key) { diff --git a/android/java/org/chromium/chrome/browser/shields/CookieListOptInServiceFactory.java b/android/java/org/chromium/chrome/browser/shields/CookieListOptInServiceFactory.java new file mode 100644 index 000000000000..ad05f6e23902 --- /dev/null +++ b/android/java/org/chromium/chrome/browser/shields/CookieListOptInServiceFactory.java @@ -0,0 +1,58 @@ +/* Copyright (c) 2022 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.chromium.chrome.browser.shields; + +import org.chromium.base.annotations.JNINamespace; +import org.chromium.base.annotations.NativeMethods; +import org.chromium.brave_shields.mojom.CookieListOptInPageAndroidHandler; +import org.chromium.chrome.browser.crypto_wallet.util.Utils; +import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.mojo.bindings.ConnectionErrorHandler; +import org.chromium.mojo.bindings.Interface; +import org.chromium.mojo.bindings.Interface.Proxy.Handler; +import org.chromium.mojo.system.MessagePipeHandle; +import org.chromium.mojo.system.impl.CoreImpl; + +@JNINamespace("chrome::android") +public class CookieListOptInServiceFactory { + private static final Object lock = new Object(); + private static CookieListOptInServiceFactory instance; + + public static CookieListOptInServiceFactory getInstance() { + synchronized (lock) { + if (instance == null) { + instance = new CookieListOptInServiceFactory(); + } + } + return instance; + } + + private CookieListOptInServiceFactory() {} + + public CookieListOptInPageAndroidHandler getCookieListOptInPageAndroidHandler( + ConnectionErrorHandler connectionErrorHandler) { + Profile profile = Utils.getProfile(false); // Always use regular profile + int nativeHandle = + CookieListOptInServiceFactoryJni.get().getInterfaceToCookieListOptInService( + profile); + MessagePipeHandle handle = wrapNativeHandle(nativeHandle); + CookieListOptInPageAndroidHandler cookieListOptInPageAndroidHandler = + CookieListOptInPageAndroidHandler.MANAGER.attachProxy(handle, 0); + Handler handler = ((Interface.Proxy) cookieListOptInPageAndroidHandler).getProxyHandler(); + handler.setErrorHandler(connectionErrorHandler); + + return cookieListOptInPageAndroidHandler; + } + + private MessagePipeHandle wrapNativeHandle(int nativeHandle) { + return CoreImpl.getInstance().acquireNativeHandle(nativeHandle).toMessagePipeHandle(); + } + + @NativeMethods + interface Natives { + int getInterfaceToCookieListOptInService(Profile profile); + } +} diff --git a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java index 8ce616324cd2..651abbdebc63 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java +++ b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java @@ -53,11 +53,13 @@ import org.chromium.base.BraveFeatureList; import org.chromium.base.BraveReflectionUtil; import org.chromium.base.ContextUtils; +import org.chromium.base.Log; import org.chromium.base.MathUtils; import org.chromium.base.ThreadUtils; import org.chromium.base.supplier.BooleanSupplier; import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.task.AsyncTask; +import org.chromium.brave_shields.mojom.CookieListOptInPageAndroidHandler; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveAdsNativeHelper; import org.chromium.chrome.browser.BraveRelaunchUtils; @@ -98,6 +100,7 @@ import org.chromium.chrome.browser.shields.BraveShieldsHandler; import org.chromium.chrome.browser.shields.BraveShieldsMenuObserver; import org.chromium.chrome.browser.shields.BraveShieldsUtils; +import org.chromium.chrome.browser.shields.CookieListOptInServiceFactory; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabImpl; import org.chromium.chrome.browser.tab.TabSelectionType; @@ -123,6 +126,8 @@ import org.chromium.components.url_formatter.UrlFormatter; import org.chromium.components.user_prefs.UserPrefs; import org.chromium.content_public.browser.NavigationHandle; +import org.chromium.mojo.bindings.ConnectionErrorHandler; +import org.chromium.mojo.system.MojoException; import org.chromium.ui.UiUtils; import org.chromium.ui.interpolators.BakedBezierInterpolator; import org.chromium.ui.util.ColorUtils; @@ -143,7 +148,8 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout implements BraveToolbarLayout, OnClickListener, View.OnLongClickListener, - BraveRewardsObserver, BraveRewardsNativeWorker.PublisherObserver { + BraveRewardsObserver, BraveRewardsNativeWorker.PublisherObserver, + ConnectionErrorHandler { private static final String JAPAN_COUNTRY_CODE = "JP"; private static final String YOUTUBE_DOMAIN = "youtube.com"; private static final List mBraveSearchEngineDefaultRegions = @@ -181,6 +187,7 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout private boolean mIsInitialNotificationPosted; // initial red circle notification private PopupWindowTooltip mShieldsPopupWindowTooltip; + private PopupWindowTooltip mCookieConsentTooltip; private boolean mIsBottomToolbarVisible; @@ -190,6 +197,8 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout private final Set mTabsWithWalletIcon = Collections.synchronizedSet(new HashSet()); + private CookieListOptInPageAndroidHandler mCookieListOptInPageAndroidHandler; + private enum BIGTECH_COMPANY { Google, Facebook, Amazon } public BraveToolbarLayoutImpl(Context context, AttributeSet attrs) { @@ -201,8 +210,10 @@ void destroy() { if (mBraveShieldsContentSettings != null) { mBraveShieldsContentSettings.removeObserver(mBraveShieldsContentSettingsObserver); } + if (mCookieListOptInPageAndroidHandler != null) { + mCookieListOptInPageAndroidHandler.close(); + } super.destroy(); - if (mBraveRewardsNativeWorker != null) { mBraveRewardsNativeWorker.RemoveObserver(this); mBraveRewardsNativeWorker.RemovePublisherObserver(this); @@ -336,9 +347,26 @@ public void savedBandwidth(long savings) { } } + @Override + public void onConnectionError(MojoException e) { + mCookieListOptInPageAndroidHandler = null; + initCookieListOptInPageAndroidHandler(); + } + + private void initCookieListOptInPageAndroidHandler() { + if (mCookieListOptInPageAndroidHandler != null) { + return; + } + + mCookieListOptInPageAndroidHandler = + CookieListOptInServiceFactory.getInstance().getCookieListOptInPageAndroidHandler( + this); + } + @Override protected void onNativeLibraryReady() { super.onNativeLibraryReady(); + initCookieListOptInPageAndroidHandler(); mBraveShieldsContentSettings = BraveShieldsContentSettings.getInstance(); mBraveShieldsContentSettings.addObserver(mBraveShieldsContentSettingsObserver); @@ -409,6 +437,17 @@ public void onPageLoadFinished(final Tab tab, GURL url) { && mBraveShieldsHandler != null && !mBraveShieldsHandler.isShowing()) { checkForTooltip(tab); } + if (mBraveShieldsButton != null && mBraveShieldsButton.isShown() + && mBraveShieldsHandler != null && !mBraveShieldsHandler.isShowing() + && !url.getSpec().startsWith(UrlConstants.CHROME_SCHEME) + && !UrlUtilities.isNTPUrl(url.getSpec())) { + SharedPreferencesManager.getInstance().writeInt( + BravePreferenceKeys.LOADED_SITE_COUNT, + SharedPreferencesManager.getInstance().readInt( + BravePreferenceKeys.LOADED_SITE_COUNT, 0) + + 1); + maybeShowCookieConsentTooltip(); + } } String countryCode = Locale.getDefault().getCountry(); @@ -581,6 +620,72 @@ private void showTooltip(String tooltipPref, int tabId) { } } + private void maybeShowCookieConsentTooltip() { + if (mCookieListOptInPageAndroidHandler != null) { + mCookieListOptInPageAndroidHandler.shouldShowDialog(shouldShowDialog -> { + mCookieListOptInPageAndroidHandler.isFilterListEnabled(isEnabled -> { + if (!isEnabled && shouldShowDialog + && SharedPreferencesManager.getInstance().readBoolean( + BravePreferenceKeys.SHOULD_SHOW_COOKIE_CONSENT_NOTICE, true) + && SharedPreferencesManager.getInstance().readInt( + BravePreferenceKeys.LOADED_SITE_COUNT, 0) + > 5) { + showCookieConsentTooltip(); + } + }); + }); + } + } + + private void showCookieConsentTooltip() { + ViewGroup viewGroup = + BraveActivity.getBraveActivity().getWindow().getDecorView().findViewById( + android.R.id.content); + float padding = (float) dpToPx(getContext(), 20); + mCookieConsentTooltip = new PopupWindowTooltip.Builder(getContext()) + .anchorView(mBraveShieldsButton) + .arrowColor(ContextCompat.getColor( + getContext(), R.color.cookie_consent_tooltip_color)) + .gravity(Gravity.BOTTOM) + .dismissOnOutsideTouch(true) + .dismissOnInsideTouch(false) + .backgroundDimDisabled(false) + .padding(padding) + .parentPaddingHorizontal(dpToPx(getContext(), 10)) + .modal(true) + .onDismissListener(tooltip + -> { + + }) + .contentView(R.layout.block_cookie_consent_notices_tooltip) + .build(); + + Button btnAction = mCookieConsentTooltip.findViewById(R.id.btn_action); + btnAction.setOnClickListener((new View.OnClickListener() { + @Override + public void onClick(View v) { + if (mCookieListOptInPageAndroidHandler != null) { + mCookieListOptInPageAndroidHandler.enableFilter(true); + } + mCookieConsentTooltip.dismiss(); + } + })); + + TextView txtNoThanks = mCookieConsentTooltip.findViewById(R.id.txt_no_thanks); + txtNoThanks.setOnClickListener((new View.OnClickListener() { + @Override + public void onClick(View v) { + mCookieConsentTooltip.dismiss(); + } + })); + + if (mBraveShieldsButton != null && mBraveShieldsButton.isShown()) { + mCookieConsentTooltip.show(); + SharedPreferencesManager.getInstance().writeBoolean( + BravePreferenceKeys.SHOULD_SHOW_COOKIE_CONSENT_NOTICE, false); + } + } + public void dismissShieldsTooltip() { if (mShieldsPopupWindowTooltip != null && mShieldsPopupWindowTooltip.isShowing()) { mShieldsPopupWindowTooltip.dismiss(); diff --git a/android/java/res/drawable-hdpi/ic_cookie.png b/android/java/res/drawable-hdpi/ic_cookie.png new file mode 100644 index 0000000000000000000000000000000000000000..a734969a7d955509edfb9d50cd21031a5aea0236 GIT binary patch literal 9593 zcmV-a`T;Ax5_rxc2$#5krznWjvYVkL4)PRg!|qpB#Cu$(HTQc0{F zDoL?QvJ{!3645%S!;$1jBqj3zFMt4u#f=4avFGgEGd(kX<@?|3ncXD-0yIIVROOZi zGrK$8{oeQftYWWL?7~l@J0%0Do}zi`d0VpjaVEx@Az{ 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 literal 0 HcmV?d00001 diff --git a/android/java/res/drawable-hdpi/ic_cookie_background.png b/android/java/res/drawable-hdpi/ic_cookie_background.png new file mode 100644 index 0000000000000000000000000000000000000000..612e10408da1cee92135f32a39eb87b4d32e1ca7 GIT binary patch literal 10957 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 I#O?Y21J}Gpz5oCK literal 0 HcmV?d00001 diff --git a/android/java/res/drawable-mdpi/ic_cookie.png b/android/java/res/drawable-mdpi/ic_cookie.png new file mode 100644 index 0000000000000000000000000000000000000000..485d845b5b20cae0c743e363980c9dfae3d14d58 GIT binary patch literal 5030 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 literal 0 HcmV?d00001 diff --git a/android/java/res/drawable-mdpi/ic_cookie_background.png b/android/java/res/drawable-mdpi/ic_cookie_background.png new file mode 100644 index 0000000000000000000000000000000000000000..fc8d6f785e45c52900ff029668311ddcd5fd0e8b GIT binary patch literal 6855 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 UcT)QM@5FZ3#Qb)(@uP(Q1A?-f7XSbN literal 0 HcmV?d00001 diff --git a/android/java/res/drawable-night-hdpi/ic_cookie_background.png b/android/java/res/drawable-night-hdpi/ic_cookie_background.png new file mode 100644 index 0000000000000000000000000000000000000000..a872c0ade48bae47b83b50e8ac9d4be913742395 GIT binary patch literal 10328 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

(#R<4IxV7eS=kXhT;Av)8K0Ht38EM3E!ed(CH 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 X-bk&kbG1K}00000NkvXXu0mjff`_L2 literal 0 HcmV?d00001 diff --git a/android/java/res/drawable-xxhdpi/ic_cookie_background.png b/android/java/res/drawable-xxhdpi/ic_cookie_background.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2e6610d24a4053b8ca1777934d772c1febb87f GIT binary patch literal 24741 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ð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 z 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ⓈR?xALx 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 + + + + + + + + + \ No newline at end of file diff --git a/android/java/res/layout/block_cookie_consent_notices_tooltip.xml b/android/java/res/layout/block_cookie_consent_notices_tooltip.xml new file mode 100644 index 000000000000..fe5468066260 --- /dev/null +++ b/android/java/res/layout/block_cookie_consent_notices_tooltip.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/android/java/res/values-night/brave_colors.xml b/android/java/res/values-night/brave_colors.xml index a5d181dd45ac..2738532df930 100644 --- a/android/java/res/values-night/brave_colors.xml +++ b/android/java/res/values-night/brave_colors.xml @@ -120,4 +120,8 @@ @android:color/white + + @android:color/white + #F0F2FF + #1E2029 diff --git a/android/java/res/values/brave_colors.xml b/android/java/res/values/brave_colors.xml index 22031bb7ff49..d9669f00c88f 100644 --- a/android/java/res/values/brave_colors.xml +++ b/android/java/res/values/brave_colors.xml @@ -212,4 +212,8 @@ #171919 + + @color/brave_action_color + #212529 + @android:color/white diff --git a/android/java/res/xml/brave_privacy_preferences.xml b/android/java/res/xml/brave_privacy_preferences.xml index a664b9f6038c..ee2d7fbe247a 100644 --- a/android/java/res/xml/brave_privacy_preferences.xml +++ b/android/java/res/xml/brave_privacy_preferences.xml @@ -108,6 +108,12 @@ android:title="@string/ipfs_gateway_title" android:summary="@string/ipfs_gateway_summary" android:defaultValue="true" /> + & profile_android) { + auto* profile = ProfileAndroid::FromProfileAndroid(profile_android); + auto pending = brave_shields::CookieListOptInServiceFactory::GetInstance() + ->GetForContext(profile); + + return static_cast(pending.PassPipe().release().value()); +} + +} // namespace android +} // namespace chrome diff --git a/browser/brave_shields/cookie_list_opt_in_service_factory.cc b/browser/brave_shields/cookie_list_opt_in_service_factory.cc new file mode 100644 index 000000000000..a47279b648bb --- /dev/null +++ b/browser/brave_shields/cookie_list_opt_in_service_factory.cc @@ -0,0 +1,66 @@ +/* Copyright (c) 2022 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "brave/browser/brave_shields/cookie_list_opt_in_service_factory.h" + +#include + +#include "brave/browser/brave_browser_process.h" +#include "brave/components/brave_shields/browser/cookie_list_opt_in_service.h" +#include "chrome/browser/profiles/incognito_helpers.h" +#include "components/keyed_service/content/browser_context_dependency_manager.h" + +namespace brave_shields { + +// static +CookieListOptInServiceFactory* CookieListOptInServiceFactory::GetInstance() { + return base::Singleton::get(); +} + +// static +mojo::PendingRemote +CookieListOptInServiceFactory::GetForContext(content::BrowserContext* context) { + return static_cast( + GetInstance()->GetServiceForBrowserContext(context, true)) + ->MakeRemote(); +} + +// static +CookieListOptInService* CookieListOptInServiceFactory::GetServiceForContext( + content::BrowserContext* context) { + return static_cast( + GetInstance()->GetServiceForBrowserContext(context, true)); +} + +// static +void CookieListOptInServiceFactory::BindForContext( + content::BrowserContext* context, + mojo::PendingReceiver receiver) { + auto* cookie_list_opt_in_service = + CookieListOptInServiceFactory::GetServiceForContext(context); + if (cookie_list_opt_in_service) { + cookie_list_opt_in_service->Bind(std::move(receiver)); + } +} + +CookieListOptInServiceFactory::CookieListOptInServiceFactory() + : BrowserContextKeyedServiceFactory( + "CookieListOptInService", + BrowserContextDependencyManager::GetInstance()) {} + +CookieListOptInServiceFactory::~CookieListOptInServiceFactory() = default; + +KeyedService* CookieListOptInServiceFactory::BuildServiceInstanceFor( + content::BrowserContext* context) const { + auto* ad_block_service = g_brave_browser_process->ad_block_service(); + return new CookieListOptInService(ad_block_service); +} + +content::BrowserContext* CookieListOptInServiceFactory::GetBrowserContextToUse( + content::BrowserContext* context) const { + return chrome::GetBrowserContextRedirectedInIncognito(context); +} + +} // namespace brave_shields diff --git a/browser/brave_shields/cookie_list_opt_in_service_factory.h b/browser/brave_shields/cookie_list_opt_in_service_factory.h new file mode 100644 index 000000000000..333cd6547e6d --- /dev/null +++ b/browser/brave_shields/cookie_list_opt_in_service_factory.h @@ -0,0 +1,49 @@ +/* Copyright (c) 2022 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef BRAVE_BROWSER_BRAVE_SHIELDS_COOKIE_LIST_OPT_IN_SERVICE_FACTORY_H_ +#define BRAVE_BROWSER_BRAVE_SHIELDS_COOKIE_LIST_OPT_IN_SERVICE_FACTORY_H_ + +#include "base/memory/singleton.h" +#include "brave/components/brave_shields/common/cookie_list_opt_in.mojom.h" +#include "components/keyed_service/content/browser_context_keyed_service_factory.h" +#include "components/keyed_service/core/keyed_service.h" +#include "content/public/browser/browser_context.h" +#include "mojo/public/cpp/bindings/pending_remote.h" + +namespace brave_shields { + +class CookieListOptInService; + +class CookieListOptInServiceFactory : public BrowserContextKeyedServiceFactory { + public: + CookieListOptInServiceFactory(const CookieListOptInServiceFactory&) = delete; + CookieListOptInServiceFactory& operator=( + const CookieListOptInServiceFactory&) = delete; + + static mojo::PendingRemote + GetForContext(content::BrowserContext* context); + static CookieListOptInService* GetServiceForContext( + content::BrowserContext* context); + static CookieListOptInServiceFactory* GetInstance(); + static void BindForContext( + content::BrowserContext* context, + mojo::PendingReceiver receiver); + + private: + friend struct base::DefaultSingletonTraits; + + CookieListOptInServiceFactory(); + ~CookieListOptInServiceFactory() override; + + KeyedService* BuildServiceInstanceFor( + content::BrowserContext* context) const override; + content::BrowserContext* GetBrowserContextToUse( + content::BrowserContext* context) const override; +}; + +} // namespace brave_shields + +#endif // BRAVE_BROWSER_BRAVE_SHIELDS_COOKIE_LIST_OPT_IN_SERVICE_FACTORY_H_ diff --git a/browser/brave_shields/sources.gni b/browser/brave_shields/sources.gni index 3afe95656f33..7ffa33bf3a4d 100644 --- a/browser/brave_shields/sources.gni +++ b/browser/brave_shields/sources.gni @@ -10,6 +10,8 @@ brave_browser_brave_shields_sources = [ "//brave/browser/brave_shields/ad_block_subscription_download_manager_getter.h", "//brave/browser/brave_shields/brave_shields_web_contents_observer.cc", "//brave/browser/brave_shields/brave_shields_web_contents_observer.h", + "//brave/browser/brave_shields/cookie_list_opt_in_service_factory.cc", + "//brave/browser/brave_shields/cookie_list_opt_in_service_factory.h", "//brave/browser/brave_shields/https_everywhere_component_installer.cc", "//brave/browser/brave_shields/https_everywhere_component_installer.h", ] @@ -34,7 +36,12 @@ brave_browser_brave_shields_deps = [ ] if (is_android) { - brave_browser_brave_shields_sources += [ "//brave/browser/brave_shields/brave_shields_web_contents_observer_android.cc" ] - brave_browser_brave_shields_deps += - [ "//brave/browser/android:android_browser_process" ] + brave_browser_brave_shields_sources += [ + "//brave/browser/brave_shields/android/cookie_list_opt_in_service_factory_android.cc", + "//brave/browser/brave_shields/brave_shields_web_contents_observer_android.cc", + ] + brave_browser_brave_shields_deps += [ + "//brave/browser/android:android_browser_process", + "//brave/build/android:jni_headers", + ] } diff --git a/browser/ui/android/strings/android_brave_strings.grd b/browser/ui/android/strings/android_brave_strings.grd index 78e58da88742..3923cdb926c0 100644 --- a/browser/ui/android/strings/android_brave_strings.grd +++ b/browser/ui/android/strings/android_brave_strings.grd @@ -212,6 +212,12 @@ This file contains all "about" strings. It is set to NOT be translated, in tran Allows for navigation to IPFS resources through an IPFS Gateway + + Block cookie consent notices + + + Blocks website pop-ups that ask you to accept / decline cookies on their site + Unstoppable Domains @@ -2947,6 +2953,15 @@ If you don't accept this request, VPN will not reconnect and your internet conne Enter your Brave Wallet password + + Block cookie notices + + + Tired of cookie consent notices? + + + Brave already blocks third-party cookies. We can block cookie consent notices, too. + diff --git a/build/android/BUILD.gn b/build/android/BUILD.gn index da39d1b7913d..9c5c54fd53e2 100755 --- a/build/android/BUILD.gn +++ b/build/android/BUILD.gn @@ -198,6 +198,7 @@ generate_jni("jni_headers") { "//brave/android/java/org/chromium/chrome/browser/preferences/BravePrefServiceBridge.java", "//brave/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java", "//brave/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java", + "//brave/android/java/org/chromium/chrome/browser/shields/CookieListOptInServiceFactory.java", "//brave/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java", "//brave/android/java/org/chromium/chrome/browser/sync/BraveSyncDevices.java", "//brave/android/java/org/chromium/chrome/browser/vpn/BraveVpnNativeWorker.java", diff --git a/build/android/config.gni b/build/android/config.gni index 94e395166147..fefde1987236 100644 --- a/build/android/config.gni +++ b/build/android/config.gni @@ -20,6 +20,7 @@ brave_chrome_java_deps = [ "//brave/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/settings:java", "//brave/browser/ui/android/omnibox:java", "//brave/browser/ui/android/theme:java", + "//brave/components/brave_shields/common:mojom_java", "//brave/components/brave_today/common:mojom_java", "//brave/components/brave_wallet/common:mojom_java", "//brave/components/browser_ui/site_settings/android:java", diff --git a/components/brave_shields/browser/BUILD.gn b/components/brave_shields/browser/BUILD.gn index c1fee23067e7..54c62e7e4dee 100644 --- a/components/brave_shields/browser/BUILD.gn +++ b/components/brave_shields/browser/BUILD.gn @@ -42,6 +42,8 @@ if (!is_ios) { "brave_shields_p3a.h", "brave_shields_util.cc", "brave_shields_util.h", + "cookie_list_opt_in_service.cc", + "cookie_list_opt_in_service.h", "domain_block_controller_client.cc", "domain_block_controller_client.h", "domain_block_navigation_throttle.cc", diff --git a/components/brave_shields/browser/cookie_list_opt_in_service.cc b/components/brave_shields/browser/cookie_list_opt_in_service.cc new file mode 100644 index 000000000000..accfdd5a091e --- /dev/null +++ b/components/brave_shields/browser/cookie_list_opt_in_service.cc @@ -0,0 +1,58 @@ +/* Copyright (c) 2022 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "brave/components/brave_shields/browser/cookie_list_opt_in_service.h" + +#include + +#include "base/feature_list.h" +#include "brave/components/brave_shields/browser/ad_block_regional_service_manager.h" +#include "brave/components/brave_shields/browser/ad_block_service.h" +#include "brave/components/brave_shields/common/brave_shield_constants.h" +#include "brave/components/brave_shields/common/cookie_list_opt_in.mojom-forward.h" +#include "brave/components/brave_shields/common/cookie_list_opt_in.mojom-shared.h" +#include "brave/components/brave_shields/common/features.h" + +namespace brave_shields { +CookieListOptInService::CookieListOptInService(AdBlockService* ad_block_service) + : ad_block_service_(ad_block_service) {} + +CookieListOptInService::~CookieListOptInService() = default; + +mojo::PendingRemote +CookieListOptInService::MakeRemote() { + mojo::PendingRemote remote; + receivers_.Add(this, remote.InitWithNewPipeAndPassReceiver()); + return remote; +} + +void CookieListOptInService::Bind( + mojo::PendingReceiver receiver) { + receivers_.Add(this, std::move(receiver)); +} + +void CookieListOptInService::ShouldShowDialog( + ShouldShowDialogCallback callback) { + bool should_show_dialog = + base::FeatureList::IsEnabled( + brave_shields::features::kBraveAdblockCookieListOptIn) && + ad_block_service_->regional_service_manager()->IsFilterListAvailable( + brave_shields::kCookieListUuid); + std::move(callback).Run(should_show_dialog); +} + +void CookieListOptInService::IsFilterListEnabled( + IsFilterListEnabledCallback callback) { + std::move(callback).Run( + ad_block_service_->regional_service_manager()->IsFilterListEnabled( + brave_shields::kCookieListUuid)); +} + +void CookieListOptInService::EnableFilter(bool shouldEnableFilter) { + ad_block_service_->regional_service_manager()->EnableFilterList( + brave_shields::kCookieListUuid, shouldEnableFilter); +} + +} // namespace brave_shields diff --git a/components/brave_shields/browser/cookie_list_opt_in_service.h b/components/brave_shields/browser/cookie_list_opt_in_service.h new file mode 100644 index 000000000000..bfd9b3879138 --- /dev/null +++ b/components/brave_shields/browser/cookie_list_opt_in_service.h @@ -0,0 +1,46 @@ +/* Copyright (c) 2022 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef BRAVE_COMPONENTS_BRAVE_SHIELDS_BROWSER_COOKIE_LIST_OPT_IN_SERVICE_H_ +#define BRAVE_COMPONENTS_BRAVE_SHIELDS_BROWSER_COOKIE_LIST_OPT_IN_SERVICE_H_ + +#include "base/memory/weak_ptr.h" +#include "brave/components/brave_shields/common/cookie_list_opt_in.mojom-forward.h" +#include "brave/components/brave_shields/common/cookie_list_opt_in.mojom.h" +#include "components/keyed_service/core/keyed_service.h" +#include "mojo/public/cpp/bindings/pending_remote.h" +#include "mojo/public/cpp/bindings/receiver_set.h" +#include "mojo/public/cpp/bindings/remote_set.h" + +namespace brave_shields { +class AdBlockService; + +// This class is not thread-safe and should have single owner +class CookieListOptInService : public KeyedService, + public mojom::CookieListOptInPageAndroidHandler { + public: + explicit CookieListOptInService(AdBlockService* ad_block_service); + ~CookieListOptInService() override; + + mojo::PendingRemote MakeRemote(); + void Bind( + mojo::PendingReceiver receiver); + + void ShouldShowDialog(ShouldShowDialogCallback callback) override; + void IsFilterListEnabled(IsFilterListEnabledCallback callback) override; + void EnableFilter(bool shouldEnableFilter) override; + + private: + raw_ptr ad_block_service_ = nullptr; + mojo::ReceiverSet receivers_; + base::WeakPtrFactory discovery_weak_factory_{this}; + + CookieListOptInService(const CookieListOptInService&) = delete; + CookieListOptInService& operator=(const CookieListOptInService&) = delete; +}; + +} // namespace brave_shields + +#endif // BRAVE_COMPONENTS_BRAVE_SHIELDS_BROWSER_COOKIE_LIST_OPT_IN_SERVICE_H_ diff --git a/components/brave_shields/common/BUILD.gn b/components/brave_shields/common/BUILD.gn index 7104614202f7..34f537a996c4 100644 --- a/components/brave_shields/common/BUILD.gn +++ b/components/brave_shields/common/BUILD.gn @@ -27,6 +27,7 @@ static_library("common") { } mojom("mojom") { + generate_java = true sources = [ "brave_shields.mojom", "brave_shields_panel.mojom", diff --git a/components/brave_shields/common/cookie_list_opt_in.mojom b/components/brave_shields/common/cookie_list_opt_in.mojom index 414d89163c01..043073c6dbc6 100644 --- a/components/brave_shields/common/cookie_list_opt_in.mojom +++ b/components/brave_shields/common/cookie_list_opt_in.mojom @@ -14,3 +14,9 @@ interface CookieListOptInPageHandler { CloseUI(); EnableFilter(); }; + +interface CookieListOptInPageAndroidHandler { + ShouldShowDialog() => (bool should_show_dialog); + IsFilterListEnabled() => (bool is_enabled); + EnableFilter(bool should_enable_filter); +}; From aa4577bb262ba1a63b940a127579426bd9b1d21e Mon Sep 17 00:00:00 2001 From: "Brian R. Bondy" Date: Mon, 26 Sep 2022 15:59:56 -0400 Subject: [PATCH 2/3] Merge pull request #15187 from brave/cookie-consent-block-p3a Add P3A metrics for cookie consent notice blocking --- .../toolbar/top/BraveToolbarLayoutImpl.java | 7 ++ .../cookie_list_opt_in_service_factory.cc | 4 +- .../cookie_list_opt_in_bubble_host.cc | 3 + .../cookie_list_opt_in_page_handler.cc | 13 +++ .../cookie_list_opt_in_page_handler.h | 3 + .../ad_block_regional_service_manager.cc | 9 ++ .../ad_block_regional_service_manager.h | 2 + .../browser/cookie_list_opt_in_service.cc | 29 ++++- .../browser/cookie_list_opt_in_service.h | 10 +- .../cookie_list_opt_in_service_unittest.cc | 108 ++++++++++++++++++ .../common/brave_shield_constants.h | 3 + .../common/cookie_list_opt_in.mojom | 7 ++ .../cookie_list_opt_in/cookie_list_opt_in.tsx | 8 +- components/p3a/metric_names.h | 2 + test/BUILD.gn | 1 + 15 files changed, 204 insertions(+), 5 deletions(-) create mode 100644 components/brave_shields/browser/cookie_list_opt_in_service_unittest.cc diff --git a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java index 651abbdebc63..3dd8f367cea2 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java +++ b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java @@ -665,6 +665,7 @@ private void showCookieConsentTooltip() { @Override public void onClick(View v) { if (mCookieListOptInPageAndroidHandler != null) { + mCookieListOptInPageAndroidHandler.onTooltipYesClicked(); mCookieListOptInPageAndroidHandler.enableFilter(true); } mCookieConsentTooltip.dismiss(); @@ -675,6 +676,9 @@ public void onClick(View v) { txtNoThanks.setOnClickListener((new View.OnClickListener() { @Override public void onClick(View v) { + if (mCookieListOptInPageAndroidHandler != null) { + mCookieListOptInPageAndroidHandler.onTooltipNoClicked(); + } mCookieConsentTooltip.dismiss(); } })); @@ -683,6 +687,9 @@ public void onClick(View v) { mCookieConsentTooltip.show(); SharedPreferencesManager.getInstance().writeBoolean( BravePreferenceKeys.SHOULD_SHOW_COOKIE_CONSENT_NOTICE, false); + if (mCookieListOptInPageAndroidHandler != null) { + mCookieListOptInPageAndroidHandler.onTooltipShown(); + } } } diff --git a/browser/brave_shields/cookie_list_opt_in_service_factory.cc b/browser/brave_shields/cookie_list_opt_in_service_factory.cc index a47279b648bb..2d7d0b875b0e 100644 --- a/browser/brave_shields/cookie_list_opt_in_service_factory.cc +++ b/browser/brave_shields/cookie_list_opt_in_service_factory.cc @@ -9,6 +9,7 @@ #include "brave/browser/brave_browser_process.h" #include "brave/components/brave_shields/browser/cookie_list_opt_in_service.h" +#include "chrome/browser/browser_process.h" #include "chrome/browser/profiles/incognito_helpers.h" #include "components/keyed_service/content/browser_context_dependency_manager.h" @@ -55,7 +56,8 @@ CookieListOptInServiceFactory::~CookieListOptInServiceFactory() = default; KeyedService* CookieListOptInServiceFactory::BuildServiceInstanceFor( content::BrowserContext* context) const { auto* ad_block_service = g_brave_browser_process->ad_block_service(); - return new CookieListOptInService(ad_block_service); + return new CookieListOptInService(ad_block_service, + g_browser_process->local_state()); } content::BrowserContext* CookieListOptInServiceFactory::GetBrowserContextToUse( diff --git a/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.cc b/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.cc index f09c224f4085..df8262ba75be 100644 --- a/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.cc +++ b/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.cc @@ -8,6 +8,7 @@ #include #include "base/feature_list.h" +#include "base/metrics/histogram_functions.h" #include "brave/browser/brave_browser_process.h" #include "brave/browser/ui/webui/brave_shields/cookie_list_opt_in_ui.h" #include "brave/components/brave_shields/browser/ad_block_regional_service_manager.h" @@ -57,6 +58,8 @@ bool ShouldEventuallyShowBubble() { return false; } + base::UmaHistogramExactLinear(kCookieListPromptHistogram, 0, 4); + auto* regional_service_manager = g_brave_browser_process->ad_block_service()->regional_service_manager(); DCHECK(regional_service_manager); diff --git a/browser/ui/webui/brave_shields/cookie_list_opt_in_page_handler.cc b/browser/ui/webui/brave_shields/cookie_list_opt_in_page_handler.cc index 0e7ca2076474..f1a95d870aab 100644 --- a/browser/ui/webui/brave_shields/cookie_list_opt_in_page_handler.cc +++ b/browser/ui/webui/brave_shields/cookie_list_opt_in_page_handler.cc @@ -7,6 +7,7 @@ #include +#include "base/metrics/histogram_functions.h" #include "brave/browser/brave_browser_process.h" #include "brave/components/brave_shields/browser/ad_block_regional_service_manager.h" #include "brave/components/brave_shields/browser/ad_block_service.h" @@ -27,6 +28,8 @@ CookieListOptInPageHandler::CookieListOptInPageHandler( CookieListOptInPageHandler::~CookieListOptInPageHandler() = default; void CookieListOptInPageHandler::ShowUI() { + base::UmaHistogramExactLinear(brave_shields::kCookieListPromptHistogram, 1, + 4); if (embedder_) { embedder_->ShowUI(); } @@ -43,3 +46,13 @@ void CookieListOptInPageHandler::EnableFilter() { ->regional_service_manager() ->EnableFilterList(brave_shields::kCookieListUuid, true); } + +void CookieListOptInPageHandler::OnUINoClicked() { + base::UmaHistogramExactLinear(brave_shields::kCookieListPromptHistogram, 2, + 4); +} + +void CookieListOptInPageHandler::OnUIYesClicked() { + base::UmaHistogramExactLinear(brave_shields::kCookieListPromptHistogram, 3, + 4); +} diff --git a/browser/ui/webui/brave_shields/cookie_list_opt_in_page_handler.h b/browser/ui/webui/brave_shields/cookie_list_opt_in_page_handler.h index 68295c2c5605..03537e9f3c48 100644 --- a/browser/ui/webui/brave_shields/cookie_list_opt_in_page_handler.h +++ b/browser/ui/webui/brave_shields/cookie_list_opt_in_page_handler.h @@ -35,6 +35,9 @@ class CookieListOptInPageHandler void CloseUI() override; void EnableFilter() override; + void OnUINoClicked() override; + void OnUIYesClicked() override; + private: mojo::Receiver receiver_; base::WeakPtr embedder_; diff --git a/components/brave_shields/browser/ad_block_regional_service_manager.cc b/components/brave_shields/browser/ad_block_regional_service_manager.cc index 6fba4c5e2060..d9c85cd478b0 100644 --- a/components/brave_shields/browser/ad_block_regional_service_manager.cc +++ b/components/brave_shields/browser/ad_block_regional_service_manager.cc @@ -10,6 +10,7 @@ #include #include "base/feature_list.h" +#include "base/metrics/histogram_macros.h" #include "base/strings/string_util.h" #include "base/values.h" #include "brave/components/brave_shields/browser/ad_block_engine.h" @@ -146,6 +147,13 @@ void AdBlockRegionalServiceManager::UpdateFilterListPrefs( if (uuid == kCookieListUuid) { local_state_->SetBoolean(prefs::kAdBlockCookieListSettingTouched, true); } + + RecordP3ACookieListEnabled(); +} + +void AdBlockRegionalServiceManager::RecordP3ACookieListEnabled() { + UMA_HISTOGRAM_BOOLEAN(kCookieListEnabledHistogram, + IsFilterListEnabled(kCookieListUuid)); } bool AdBlockRegionalServiceManager::Start() { @@ -334,6 +342,7 @@ void AdBlockRegionalServiceManager::SetFilterListCatalog( std::vector catalog) { filter_list_catalog_ = std::move(catalog); StartRegionalServices(); + RecordP3ACookieListEnabled(); } const std::vector& diff --git a/components/brave_shields/browser/ad_block_regional_service_manager.h b/components/brave_shields/browser/ad_block_regional_service_manager.h index 8b8987da688c..74ad5c0ae9d5 100644 --- a/components/brave_shields/browser/ad_block_regional_service_manager.h +++ b/components/brave_shields/browser/ad_block_regional_service_manager.h @@ -91,6 +91,8 @@ class AdBlockRegionalServiceManager void StartRegionalServices(); void UpdateFilterListPrefs(const std::string& uuid, bool enabled); + void RecordP3ACookieListEnabled(); + raw_ptr local_state_; std::string locale_; bool initialized_; diff --git a/components/brave_shields/browser/cookie_list_opt_in_service.cc b/components/brave_shields/browser/cookie_list_opt_in_service.cc index accfdd5a091e..0d652d26c75b 100644 --- a/components/brave_shields/browser/cookie_list_opt_in_service.cc +++ b/components/brave_shields/browser/cookie_list_opt_in_service.cc @@ -8,16 +8,28 @@ #include #include "base/feature_list.h" +#include "base/metrics/histogram_functions.h" #include "brave/components/brave_shields/browser/ad_block_regional_service_manager.h" #include "brave/components/brave_shields/browser/ad_block_service.h" #include "brave/components/brave_shields/common/brave_shield_constants.h" #include "brave/components/brave_shields/common/cookie_list_opt_in.mojom-forward.h" #include "brave/components/brave_shields/common/cookie_list_opt_in.mojom-shared.h" #include "brave/components/brave_shields/common/features.h" +#include "brave/components/brave_shields/common/pref_names.h" +#include "components/prefs/pref_service.h" namespace brave_shields { -CookieListOptInService::CookieListOptInService(AdBlockService* ad_block_service) - : ad_block_service_(ad_block_service) {} + +CookieListOptInService::CookieListOptInService(AdBlockService* ad_block_service, + PrefService* local_state) + : ad_block_service_(ad_block_service), local_state_(local_state) { + if (base::FeatureList::IsEnabled( + brave_shields::features::kBraveAdblockCookieListOptIn)) { + if (!local_state->GetBoolean(prefs::kAdBlockCookieListOptInShown)) { + base::UmaHistogramExactLinear(kCookieListPromptHistogram, 0, 4); + } + } +} CookieListOptInService::~CookieListOptInService() = default; @@ -55,4 +67,17 @@ void CookieListOptInService::EnableFilter(bool shouldEnableFilter) { brave_shields::kCookieListUuid, shouldEnableFilter); } +void CookieListOptInService::OnTooltipShown() { + local_state_->SetBoolean(prefs::kAdBlockCookieListOptInShown, true); + base::UmaHistogramExactLinear(kCookieListPromptHistogram, 1, 4); +} + +void CookieListOptInService::OnTooltipNoClicked() { + base::UmaHistogramExactLinear(kCookieListPromptHistogram, 2, 4); +} + +void CookieListOptInService::OnTooltipYesClicked() { + base::UmaHistogramExactLinear(kCookieListPromptHistogram, 3, 4); +} + } // namespace brave_shields diff --git a/components/brave_shields/browser/cookie_list_opt_in_service.h b/components/brave_shields/browser/cookie_list_opt_in_service.h index bfd9b3879138..5f7a57ab827c 100644 --- a/components/brave_shields/browser/cookie_list_opt_in_service.h +++ b/components/brave_shields/browser/cookie_list_opt_in_service.h @@ -14,6 +14,8 @@ #include "mojo/public/cpp/bindings/receiver_set.h" #include "mojo/public/cpp/bindings/remote_set.h" +class PrefService; + namespace brave_shields { class AdBlockService; @@ -21,7 +23,8 @@ class AdBlockService; class CookieListOptInService : public KeyedService, public mojom::CookieListOptInPageAndroidHandler { public: - explicit CookieListOptInService(AdBlockService* ad_block_service); + CookieListOptInService(AdBlockService* ad_block_service, + PrefService* local_state); ~CookieListOptInService() override; mojo::PendingRemote MakeRemote(); @@ -32,8 +35,13 @@ class CookieListOptInService : public KeyedService, void IsFilterListEnabled(IsFilterListEnabledCallback callback) override; void EnableFilter(bool shouldEnableFilter) override; + void OnTooltipShown() override; + void OnTooltipNoClicked() override; + void OnTooltipYesClicked() override; + private: raw_ptr ad_block_service_ = nullptr; + raw_ptr local_state_ = nullptr; mojo::ReceiverSet receivers_; base::WeakPtrFactory discovery_weak_factory_{this}; diff --git a/components/brave_shields/browser/cookie_list_opt_in_service_unittest.cc b/components/brave_shields/browser/cookie_list_opt_in_service_unittest.cc new file mode 100644 index 000000000000..c70b858df35c --- /dev/null +++ b/components/brave_shields/browser/cookie_list_opt_in_service_unittest.cc @@ -0,0 +1,108 @@ +// Copyright (c) 2022 The Brave Authors. All rights reserved. +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// you can obtain one at http://mozilla.org/MPL/2.0/. + +#include "brave/components/brave_shields/browser/cookie_list_opt_in_service.h" + +#include + +#include "base/feature_list.h" +#include "base/test/metrics/histogram_tester.h" +#include "base/test/scoped_feature_list.h" +#include "brave/components/brave_shields/browser/ad_block_service.h" +#include "brave/components/brave_shields/common/brave_shield_constants.h" +#include "brave/components/brave_shields/common/features.h" +#include "brave/components/brave_shields/common/pref_names.h" +#include "components/prefs/testing_pref_service.h" +#include "content/public/test/browser_task_environment.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace brave_shields { + +class CookieListOptInServiceTest : public testing::Test { + public: + CookieListOptInServiceTest() = default; + + protected: + void SetUp() override { + auto* registry = pref_service_.registry(); + RegisterPrefsForAdBlockService(registry); + histogram_tester_ = std::make_unique(); + } + + PrefService* GetPrefs() { return &pref_service_; } + + base::test::ScopedFeatureList scoped_feature_list_; + std::unique_ptr histogram_tester_; + TestingPrefServiceSimple pref_service_; +}; + +TEST_F(CookieListOptInServiceTest, FeatureDisabledNoInitHistogram) { + scoped_feature_list_.InitWithFeatures({}, {}); + CookieListOptInService service(nullptr, GetPrefs()); + // Should not write to histogram if feature is disabled + histogram_tester_->ExpectTotalCount(kCookieListPromptHistogram, 0); +} + +TEST_F(CookieListOptInServiceTest, FeatureEnabledInitHistogram) { + scoped_feature_list_.InitWithFeatures( + {brave_shields::features::kBraveAdblockCookieListOptIn}, {}); + CookieListOptInService service(nullptr, GetPrefs()); + // Should write to histogram if feature is enabled + histogram_tester_->ExpectTotalCount(kCookieListPromptHistogram, 1); + histogram_tester_->ExpectBucketCount(kCookieListPromptHistogram, 0, 1); +} + +TEST_F(CookieListOptInServiceTest, FeatureEnabledShownNoInitHistogram) { + scoped_feature_list_.InitWithFeatures( + {brave_shields::features::kBraveAdblockCookieListOptIn}, {}); + GetPrefs()->SetBoolean(prefs::kAdBlockCookieListOptInShown, true); + CookieListOptInService service(nullptr, GetPrefs()); + // Should not write to histogram if tooltip was already shown + histogram_tester_->ExpectTotalCount(kCookieListPromptHistogram, 0); +} + +TEST_F(CookieListOptInServiceTest, TooltipShownHistogram) { + scoped_feature_list_.InitWithFeatures( + {brave_shields::features::kBraveAdblockCookieListOptIn}, {}); + CookieListOptInService service(nullptr, GetPrefs()); + + histogram_tester_->ExpectTotalCount(kCookieListPromptHistogram, 1); + histogram_tester_->ExpectBucketCount(kCookieListPromptHistogram, 0, 1); + + service.OnTooltipShown(); + + histogram_tester_->ExpectTotalCount(kCookieListPromptHistogram, 2); + histogram_tester_->ExpectBucketCount(kCookieListPromptHistogram, 1, 1); +} + +TEST_F(CookieListOptInServiceTest, TooltipNoClickedHistogram) { + scoped_feature_list_.InitWithFeatures( + {brave_shields::features::kBraveAdblockCookieListOptIn}, {}); + CookieListOptInService service(nullptr, GetPrefs()); + + histogram_tester_->ExpectTotalCount(kCookieListPromptHistogram, 1); + histogram_tester_->ExpectBucketCount(kCookieListPromptHistogram, 0, 1); + + service.OnTooltipNoClicked(); + + histogram_tester_->ExpectTotalCount(kCookieListPromptHistogram, 2); + histogram_tester_->ExpectBucketCount(kCookieListPromptHistogram, 2, 1); +} + +TEST_F(CookieListOptInServiceTest, TooltipYesClickedHistogram) { + scoped_feature_list_.InitWithFeatures( + {brave_shields::features::kBraveAdblockCookieListOptIn}, {}); + CookieListOptInService service(nullptr, GetPrefs()); + + histogram_tester_->ExpectTotalCount(kCookieListPromptHistogram, 1); + histogram_tester_->ExpectBucketCount(kCookieListPromptHistogram, 0, 1); + + service.OnTooltipYesClicked(); + + histogram_tester_->ExpectTotalCount(kCookieListPromptHistogram, 2); + histogram_tester_->ExpectBucketCount(kCookieListPromptHistogram, 3, 1); +} + +} // namespace brave_shields diff --git a/components/brave_shields/common/brave_shield_constants.h b/components/brave_shields/common/brave_shield_constants.h index 6ad2823fd90d..eabcb52cdf9b 100644 --- a/components/brave_shields/common/brave_shield_constants.h +++ b/components/brave_shields/common/brave_shield_constants.h @@ -87,6 +87,9 @@ constexpr webui::LocalizedString kLocalizedStrings[] = { IDS_BRAVE_SHIELDS_BLOCKED_SCRIPTS_LABEL}, }; +const char kCookieListEnabledHistogram[] = "Brave.Shields.CookieListEnabled"; +const char kCookieListPromptHistogram[] = "Brave.Shields.CookieListPrompt"; + } // namespace brave_shields #endif // BRAVE_COMPONENTS_BRAVE_SHIELDS_COMMON_BRAVE_SHIELD_CONSTANTS_H_ diff --git a/components/brave_shields/common/cookie_list_opt_in.mojom b/components/brave_shields/common/cookie_list_opt_in.mojom index 043073c6dbc6..10d65105e467 100644 --- a/components/brave_shields/common/cookie_list_opt_in.mojom +++ b/components/brave_shields/common/cookie_list_opt_in.mojom @@ -13,10 +13,17 @@ interface CookieListOptInPageHandler { ShowUI(); CloseUI(); EnableFilter(); + + OnUINoClicked(); + OnUIYesClicked(); }; interface CookieListOptInPageAndroidHandler { ShouldShowDialog() => (bool should_show_dialog); IsFilterListEnabled() => (bool is_enabled); EnableFilter(bool should_enable_filter); + + OnTooltipShown(); + OnTooltipNoClicked(); + OnTooltipYesClicked(); }; diff --git a/components/brave_shields/resources/cookie_list_opt_in/cookie_list_opt_in.tsx b/components/brave_shields/resources/cookie_list_opt_in/cookie_list_opt_in.tsx index ba9b57def729..328731196e5c 100644 --- a/components/brave_shields/resources/cookie_list_opt_in/cookie_list_opt_in.tsx +++ b/components/brave_shields/resources/cookie_list_opt_in/cookie_list_opt_in.tsx @@ -19,7 +19,13 @@ function App () { proxy.handler.closeUI() } + const onDecline = () => { + proxy.handler.onUINoClicked() + closeBubble() + } + const onEnable = () => { + proxy.handler.onUIYesClicked() proxy.handler.enableFilter() } @@ -49,7 +55,7 @@ function App () { key={openedAt} onEnable={onEnable} onDismiss={closeBubble} - onDecline={closeBubble} + onDecline={onDecline} onAnimationComplete={closeBubble} /> ) diff --git a/components/p3a/metric_names.h b/components/p3a/metric_names.h index f29e958ffb69..42626bc16e93 100644 --- a/components/p3a/metric_names.h +++ b/components/p3a/metric_names.h @@ -53,6 +53,8 @@ constexpr inline auto kCollectedHistograms = "Brave.Search.SwitchEngine", "Brave.Search.WebDiscoveryEnabled", "Brave.Shields.AdBlockSetting", + "Brave.Shields.CookieListEnabled", + "Brave.Shields.CookieListPrompt", "Brave.Shields.DomainAdsSettingsAboveGlobal", "Brave.Shields.DomainAdsSettingsBelowGlobal", "Brave.Shields.DomainFingerprintSettingsAboveGlobal", diff --git a/test/BUILD.gn b/test/BUILD.gn index ac8d10ad94ee..7f5b472b9ca0 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -122,6 +122,7 @@ test("brave_unit_tests") { "//brave/components/brave_shields/browser/ad_block_regional_service_unittest.cc", "//brave/components/brave_shields/browser/adblock_stub_response_unittest.cc", "//brave/components/brave_shields/browser/brave_farbling_service_unittest.cc", + "//brave/components/brave_shields/browser/cookie_list_opt_in_service_unittest.cc", "//brave/components/brave_shields/browser/cosmetic_merge_unittest.cc", "//brave/components/brave_shields/browser/csp_merge_unittest.cc", "//brave/components/brave_shields/browser/https_everywhere_recently_used_cache_unittest.cpp", From bf1716cfa20b34595792e1d499b0a875548e2c47 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Wed, 5 Oct 2022 10:21:42 -0400 Subject: [PATCH 3/3] Dismiss outside touch android --- .../chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java index 3dd8f367cea2..effa8965b5e6 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java +++ b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java @@ -647,7 +647,7 @@ private void showCookieConsentTooltip() { .arrowColor(ContextCompat.getColor( getContext(), R.color.cookie_consent_tooltip_color)) .gravity(Gravity.BOTTOM) - .dismissOnOutsideTouch(true) + .dismissOnOutsideTouch(false) .dismissOnInsideTouch(false) .backgroundDimDisabled(false) .padding(padding)