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

Side by Side Diff: chrome/browser/engagement/site_engagement_score.h

Issue 2535483002: Plumb site engagement to the renderer process. (Closed)
Patch Set: Rebase Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_ENGAGEMENT_SITE_ENGAGEMENT_SCORE_H_ 5 #ifndef CHROME_BROWSER_ENGAGEMENT_SITE_ENGAGEMENT_SCORE_H_
6 #define CHROME_BROWSER_ENGAGEMENT_SITE_ENGAGEMENT_SCORE_H_ 6 #define CHROME_BROWSER_ENGAGEMENT_SITE_ENGAGEMENT_SCORE_H_
7 7
8 #include <array> 8 #include <array>
9 #include <memory> 9 #include <memory>
10 10
11 #include "base/gtest_prod_util.h" 11 #include "base/gtest_prod_util.h"
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/time/time.h" 13 #include "base/time/time.h"
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "third_party/WebKit/public/platform/site_engagement.mojom.h"
15 #include "url/gurl.h" 16 #include "url/gurl.h"
16 17
17 namespace base { 18 namespace base {
18 class Clock; 19 class Clock;
19 } 20 }
20 21
21 class HostContentSettingsMap; 22 class HostContentSettingsMap;
22 23
23 class SiteEngagementScore { 24 class SiteEngagementScore {
24 public: 25 public:
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 123
123 // Adds |points| to this score, respecting daily limits and the maximum 124 // Adds |points| to this score, respecting daily limits and the maximum
124 // possible score. Decays the score if it has not been updated recently 125 // possible score. Decays the score if it has not been updated recently
125 // enough. 126 // enough.
126 void AddPoints(double points); 127 void AddPoints(double points);
127 double GetScore() const; 128 double GetScore() const;
128 129
129 // Writes the values in this score into |settings_map_|. 130 // Writes the values in this score into |settings_map_|.
130 void Commit(); 131 void Commit();
131 132
133 // Returns the discrete engagement level for this score.
134 blink::mojom::EngagementLevel GetEngagementLevel() const;
135
132 // Returns true if the maximum number of points today has been added. 136 // Returns true if the maximum number of points today has been added.
133 bool MaxPointsPerDayAdded() const; 137 bool MaxPointsPerDayAdded() const;
134 138
135 // Resets the score to |points| and resets the daily point limit. If 139 // Resets the score to |points| and resets the daily point limit. If
136 // |updated_time| is non-null, sets the last engagement time to that value. 140 // |updated_time| is non-null, sets the last engagement time to that value.
137 void Reset(double points, const base::Time updated_time); 141 void Reset(double points, const base::Time updated_time);
138 142
139 // Get/set the last time this origin was launched from an installed shortcut. 143 // Get/set the last time this origin was launched from an installed shortcut.
140 base::Time last_shortcut_launch_time() const { 144 base::Time last_shortcut_launch_time() const {
141 return last_shortcut_launch_time_; 145 return last_shortcut_launch_time_;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 // The origin this score represents. 225 // The origin this score represents.
222 GURL origin_; 226 GURL origin_;
223 227
224 // The settings to write this score to when Commit() is called. 228 // The settings to write this score to when Commit() is called.
225 HostContentSettingsMap* settings_map_; 229 HostContentSettingsMap* settings_map_;
226 230
227 DISALLOW_COPY_AND_ASSIGN(SiteEngagementScore); 231 DISALLOW_COPY_AND_ASSIGN(SiteEngagementScore);
228 }; 232 };
229 233
230 #endif // CHROME_BROWSER_ENGAGEMENT_SITE_ENGAGEMENT_SCORE_H_ 234 #endif // CHROME_BROWSER_ENGAGEMENT_SITE_ENGAGEMENT_SCORE_H_
OLDNEW
« no previous file with comments | « chrome/browser/engagement/site_engagement_helper.cc ('k') | chrome/browser/engagement/site_engagement_score.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698