Index: chrome/browser/subresource_filter/chrome_subresource_filter_client.h |
diff --git a/chrome/browser/subresource_filter/chrome_subresource_filter_client.h b/chrome/browser/subresource_filter/chrome_subresource_filter_client.h |
index ee8fd02f2c5f3cbdb22693f6343aac92643528fa..75c3493d39887c6a45a61be835a61ab18b1469ff 100644 |
--- a/chrome/browser/subresource_filter/chrome_subresource_filter_client.h |
+++ b/chrome/browser/subresource_filter/chrome_subresource_filter_client.h |
@@ -5,11 +5,15 @@ |
#ifndef CHROME_BROWSER_SUBRESOURCE_FILTER_CHROME_SUBRESOURCE_FILTER_CLIENT_H_ |
#define CHROME_BROWSER_SUBRESOURCE_FILTER_CHROME_SUBRESOURCE_FILTER_CLIENT_H_ |
+#include <memory> |
+ |
#include "base/macros.h" |
+#include "base/time/clock.h" |
#include "components/content_settings/core/common/content_settings.h" |
#include "components/subresource_filter/content/browser/subresource_filter_client.h" |
class GURL; |
+class HostContentSettingsMap; |
namespace content { |
class WebContents; |
@@ -52,6 +56,10 @@ enum SubresourceFilterAction { |
// flexible. |
kActionContentSettingsWildcardUpdate, |
+ // The UI was suppressed due to "smart" logic which tries not to spam the UI |
+ // on navigations within a certain time period. |
+ kActionUISuppressed, |
+ |
kActionLastEntry |
}; |
@@ -63,14 +71,30 @@ class ChromeSubresourceFilterClient |
~ChromeSubresourceFilterClient() override; |
// SubresourceFilterClient: |
- void ToggleNotificationVisibility(bool visibility) override; |
+ void ToggleNotificationVisibility(const GURL& url, bool visibility) override; |
bool IsWhitelistedByContentSettings(const GURL& url) override; |
void WhitelistByContentSettings(const GURL& url) override; |
static void LogAction(SubresourceFilterAction action); |
+ bool UsingSmartUI() const; |
+ |
+ void set_clock_for_testing(std::unique_ptr<base::Clock> tick_clock) { |
engedy
2017/04/04 13:36:00
nit: Have you considered supplying this in the cto
Charlie Harrison
2017/04/10 14:58:53
Yeah, but it isn't ideal, because we want to reset
engedy
2017/04/12 14:02:50
Acknowledged.
|
+ clock_ = std::move(tick_clock); |
+ } |
+ |
+ bool shown_for_navigation() const { return shown_for_navigation_; } |
+ |
private: |
- ContentSetting GetContentSettingForUrl(const GURL& url); |
+ // Android specific logic for more intelligent UI. |
+ void OnUIShown(const GURL& url); |
engedy
2017/04/04 13:36:00
nit: How about OnDidShowUI?
Charlie Harrison
2017/04/10 14:58:53
Done.
|
+ bool ShouldShowUIForSite(const GURL& url) const; |
+ |
+ HostContentSettingsMap* GetSettingsMap() const; |
+ |
+ // For testing. |
engedy
2017/04/04 13:35:59
nit: I find this comment a bit misleading, as this
Charlie Harrison
2017/04/10 14:58:53
Updated the comment.
|
+ std::unique_ptr<base::Clock> clock_; |
+ |
content::WebContents* web_contents_; |
bool shown_for_navigation_; |