Chromium Code Reviews| Index: chrome/browser/safe_browsing/permission_reporter.h |
| diff --git a/chrome/browser/safe_browsing/permission_reporter.h b/chrome/browser/safe_browsing/permission_reporter.h |
| index 523de8e57057aa67d749f31333c690896448f132..83521d5bd640b65d05a7371b1b806cee5f056ebc 100644 |
| --- a/chrome/browser/safe_browsing/permission_reporter.h |
| +++ b/chrome/browser/safe_browsing/permission_reporter.h |
| @@ -5,8 +5,11 @@ |
| #ifndef CHROME_BROWSER_SAFE_BROWSING_PERMISSION_REPORTER_H_ |
| #define CHROME_BROWSER_SAFE_BROWSING_PERMISSION_REPORTER_H_ |
| +#include <queue> |
| #include <string> |
| +#include <unordered_map> |
| +#include "base/time/time.h" |
| #include "chrome/browser/permissions/permission_uma_util.h" |
| #include "url/gurl.h" |
| @@ -17,6 +20,18 @@ class URLRequestContext; |
| namespace safe_browsing { |
| +struct PermissionAndOrigin { |
| + bool operator==(const PermissionAndOrigin& other) const; |
| + |
| + content::PermissionType permission; |
| + GURL origin; |
| +}; |
| + |
| +struct PermissionAndOriginHash { |
| + std::size_t operator()( |
| + const PermissionAndOrigin& permission_and_origin) const; |
| +}; |
| + |
| // Provides functionality for building and serializing reports about permissions |
| // to a report collection server. |
| class PermissionReporter { |
| @@ -55,8 +70,18 @@ class PermissionReporter { |
| PermissionAction action, |
| std::string* output); |
| + // Returns true if the number of reports sent in the last one minute per |
| + // origin per permission is less than |kMaximumReportPerOriginPerPermission|, |
| + // otherwise false. |
|
raymes
2016/06/27 06:26:56
nit: probably don't reference the constant here, s
stefanocs
2016/06/27 07:34:57
Done.
|
| + bool IsAllowedToSend(content::PermissionType permission, const GURL& origin); |
| + |
| std::unique_ptr<net::ReportSender> permission_report_sender_; |
| + std::unordered_map<PermissionAndOrigin, |
| + std::queue<base::Time>, |
|
raymes
2016/06/27 06:26:56
I think perhaps we can simplify this a little bit.
stefanocs
2016/06/27 07:34:57
I think it would be possible to have more than fiv
|
| + PermissionAndOriginHash> |
| + sent_histories; |
| + |
| DISALLOW_COPY_AND_ASSIGN(PermissionReporter); |
| }; |