Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(673)

Unified Diff: chrome/browser/subresource_filter/chrome_subresource_filter_client.h

Issue 2777093007: [subresource_filter] Add metrics for UI / related things (Closed)
Patch Set: rkaplow review Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/BUILD.gn ('k') | chrome/browser/subresource_filter/chrome_subresource_filter_client.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 0247af5b0f0c9293f7ec8160dfacb0500cd2ce9d..ee8fd02f2c5f3cbdb22693f6343aac92643528fa 100644
--- a/chrome/browser/subresource_filter/chrome_subresource_filter_client.h
+++ b/chrome/browser/subresource_filter/chrome_subresource_filter_client.h
@@ -6,12 +6,55 @@
#define CHROME_BROWSER_SUBRESOURCE_FILTER_CHROME_SUBRESOURCE_FILTER_CLIENT_H_
#include "base/macros.h"
+#include "components/content_settings/core/common/content_settings.h"
#include "components/subresource_filter/content/browser/subresource_filter_client.h"
+class GURL;
+
namespace content {
class WebContents;
} // namespace content
+// This enum backs a histogram. Make sure new elements are only added to the
+// end. Keep histograms.xml up to date with any changes.
+enum SubresourceFilterAction {
+ // Main frame navigation to a different document.
+ kActionNavigationStarted = 0,
+
+ // Standard UI shown. On Desktop this is in the omnibox,
+ // On Android, it is an infobar.
+ kActionUIShown,
+
+ // On Desktop, this is a bubble. On Android it is an
+ // expanded infobar.
+ // TODO(csharrison): Start logging these once the new UI is finished.
+ kActionDetailsShown,
+ kActionClickedLearnMore,
+
+ // Content settings:
+ //
+ // Content setting updated automatically via the standard UI.
+ kActionContentSettingsBlockedFromUI,
+
+ // Content settings which target specific origins (e.g. no wildcards).
+ kActionContentSettingsAllowed,
+ kActionContentSettingsBlocked,
+
+ // Global settings.
+ kActionContentSettingsAllowedGlobal,
+ kActionContentSettingsBlockedGlobal,
+
+ // A wildcard update. The current content settings API makes this a bit
+ // difficult to see whether it is Block or Allow. This should not be a huge
+ // problem because this can only be changed from the settings UI, which is
+ // relatively rare.
+ // TODO(crbug.com/706061): Fix this once content settings API becomes more
+ // flexible.
+ kActionContentSettingsWildcardUpdate,
+
+ kActionLastEntry
+};
+
// Chrome implementation of SubresourceFilterClient.
class ChromeSubresourceFilterClient
: public subresource_filter::SubresourceFilterClient {
@@ -24,7 +67,10 @@ class ChromeSubresourceFilterClient
bool IsWhitelistedByContentSettings(const GURL& url) override;
void WhitelistByContentSettings(const GURL& url) override;
+ static void LogAction(SubresourceFilterAction action);
+
private:
+ ContentSetting GetContentSettingForUrl(const GURL& url);
content::WebContents* web_contents_;
bool shown_for_navigation_;
« no previous file with comments | « chrome/browser/BUILD.gn ('k') | chrome/browser/subresource_filter/chrome_subresource_filter_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698