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

Issue 2535483002: Plumb site engagement to the renderer process. (Closed)

Created:
4 years ago by dominickn
Modified:
4 years ago
CC:
Aaron Boodman, abarth-chromium, blink-reviews, blink-reviews-api_chromium.org, blink-reviews-dom_chromium.org, chrome-apps-syd-reviews_chromium.org, chromium-reviews, creis+watch_chromium.org, darin (slow to review), darin-cc_chromium.org, dglazkov+blink, dominickn+watch_chromium.org, eae+blinkwatch, jam, kinuko+watch, mlamouri+watch-content_chromium.org, nasko+codewatch_chromium.org, qsr+mojo_chromium.org, rwlbuis, sof, tfarina, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Plumb site engagement to the renderer process. This CL generalises the EngagementLevel concept in site engagement, moving it to a Mojo enum in Blink's public/platform. Prior to each navigation commit, and when the engagement level for an origin changes between buckets, the browser process sends the new level to all renderers which are navigated to that origin. Using the discrete levels rather than the continuous score minimises the IPC overhead to one additional IPC per navigation commit per frame, and one IPC per engagement level change. The engagement level is stored on Document within the renderer, with a temporary stop on RenderFrameImpl if sent prior to navigation commit. This is a first step to enabling the collection of UseCounter data for JavaScript API usage against engagement buckets. BUG=655415 Committed: https://crrev.com/6c1f1cf3c31b4c798708cb17d4ecd8e6db37e833 Cr-Commit-Position: refs/heads/master@{#439726}

Patch Set 1 #

Patch Set 2 : Rebase. Fix Win compile #

Total comments: 6

Patch Set 3 : Address comments #

Total comments: 10

Patch Set 4 : Address comments #

Total comments: 18

Patch Set 5 : Address comments #

Total comments: 9

Patch Set 6 : Redesign helper #

Patch Set 7 : Back to previous impl #

Patch Set 8 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+360 lines, -128 lines) Patch
M chrome/browser/DEPS View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/engagement/important_sites_util.cc View 5 chunks +5 lines, -4 lines 0 comments Download
M chrome/browser/engagement/site_engagement_helper.h View 1 2 6 3 chunks +21 lines, -3 lines 0 comments Download
M chrome/browser/engagement/site_engagement_helper.cc View 1 2 3 4 6 6 chunks +72 lines, -26 lines 0 comments Download
M chrome/browser/engagement/site_engagement_score.h View 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/browser/engagement/site_engagement_score.cc View 1 chunk +22 lines, -0 lines 0 comments Download
M chrome/browser/engagement/site_engagement_service.h View 1 2 3 4 5 6 7 chunks +15 lines, -10 lines 0 comments Download
M chrome/browser/engagement/site_engagement_service.cc View 1 2 3 4 5 6 7 7 chunks +40 lines, -23 lines 0 comments Download
M chrome/browser/engagement/site_engagement_service_unittest.cc View 6 4 chunks +85 lines, -56 lines 0 comments Download
M content/public/app/mojo/content_renderer_manifest.json View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_frame_impl.h View 1 2 3 4 5 6 7 chunks +14 lines, -1 line 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 5 chunks +33 lines, -2 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 5 6 7 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.h View 1 2 3 4 5 6 7 3 chunks +10 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/WebLocalFrameImpl.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebLocalFrameImpl.cpp View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/public/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/public/platform/site_engagement.mojom View 1 2 3 1 chunk +21 lines, -0 lines 0 comments Download
M third_party/WebKit/public/web/WebLocalFrame.h View 1 2 3 4 2 chunks +6 lines, -0 lines 0 comments Download

Messages

Total messages: 93 (58 generated)
dominickn
benwells: PTAL at engagement/ dcheng: mojo security review esprehn, haraken: Blink changes nasko: content/, and ...
4 years ago (2016-11-28 04:45:07 UTC) #15
nasko
An initial round of review of content/. The main suggestion is to associate the engagement ...
4 years ago (2016-11-28 19:18:08 UTC) #19
dominickn
Thanks! https://codereview.chromium.org/2535483002/diff/40001/chrome/browser/engagement/site_engagement_helper.cc File chrome/browser/engagement/site_engagement_helper.cc (right): https://codereview.chromium.org/2535483002/diff/40001/chrome/browser/engagement/site_engagement_helper.cc#newcode225 chrome/browser/engagement/site_engagement_helper.cc:225: if (origin == render_frame_host->GetLastCommittedURL()) { On 2016/11/28 19:18:08, ...
4 years ago (2016-11-29 07:41:22 UTC) #29
nasko
https://codereview.chromium.org/2535483002/diff/80001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2535483002/diff/80001/content/renderer/render_frame_impl.cc#newcode2669 content/renderer/render_frame_impl.cc:2669: } This seems like lots of complex logic. Why ...
4 years ago (2016-11-30 18:00:25 UTC) #31
dominickn
Thanks! Appreciating the content expertise. :) https://codereview.chromium.org/2535483002/diff/80001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2535483002/diff/80001/content/renderer/render_frame_impl.cc#newcode2669 content/renderer/render_frame_impl.cc:2669: } On 2016/11/30 ...
4 years ago (2016-11-30 23:46:33 UTC) #34
nasko
content/ LGTM
4 years ago (2016-12-01 00:15:44 UTC) #35
dominickn
On 2016/12/01 00:15:44, nasko wrote: > content/ LGTM esprehn/harken: ping :)
4 years ago (2016-12-05 22:06:10 UTC) #38
haraken
WebKit/ LGTM
4 years ago (2016-12-06 00:02:13 UTC) #39
esprehn
https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc#newcode2657 content/renderer/render_frame_impl.cc:2657: void RenderFrameImpl::SetEngagementLevel(const url::Origin& origin, Why do you need to ...
4 years ago (2016-12-06 00:31:34 UTC) #40
dominickn
https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc#newcode2657 content/renderer/render_frame_impl.cc:2657: void RenderFrameImpl::SetEngagementLevel(const url::Origin& origin, On 2016/12/06 00:31:34, esprehn wrote: ...
4 years ago (2016-12-06 00:49:58 UTC) #41
nasko
https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc#newcode2657 content/renderer/render_frame_impl.cc:2657: void RenderFrameImpl::SetEngagementLevel(const url::Origin& origin, On 2016/12/06 00:31:34, esprehn wrote: ...
4 years ago (2016-12-06 00:50:31 UTC) #42
esprehn
https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc#newcode2657 content/renderer/render_frame_impl.cc:2657: void RenderFrameImpl::SetEngagementLevel(const url::Origin& origin, On 2016/12/06 at 00:50:30, nasko ...
4 years ago (2016-12-06 00:58:44 UTC) #43
dominickn
dcheng/benwells: ping. :) https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc#newcode2657 content/renderer/render_frame_impl.cc:2657: void RenderFrameImpl::SetEngagementLevel(const url::Origin& origin, On 2016/12/06 ...
4 years ago (2016-12-08 02:37:10 UTC) #44
dcheng
On 2016/12/06 00:58:44, esprehn wrote: > https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc > File content/renderer/render_frame_impl.cc (right): > > https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc#newcode2657 > ...
4 years ago (2016-12-08 08:03:55 UTC) #45
dcheng
https://codereview.chromium.org/2535483002/diff/100001/chrome/browser/engagement/site_engagement_helper.cc File chrome/browser/engagement/site_engagement_helper.cc (right): https://codereview.chromium.org/2535483002/diff/100001/chrome/browser/engagement/site_engagement_helper.cc#newcode64 chrome/browser/engagement/site_engagement_helper.cc:64: &SiteEngagementService::Helper::SendEngagementLevelToFramesMatchingOrigin, It almost feels a bit wasteful to do ...
4 years ago (2016-12-08 08:14:08 UTC) #46
dcheng
https://codereview.chromium.org/2535483002/diff/100001/chrome/browser/engagement/site_engagement_helper.cc File chrome/browser/engagement/site_engagement_helper.cc (right): https://codereview.chromium.org/2535483002/diff/100001/chrome/browser/engagement/site_engagement_helper.cc#newcode276 chrome/browser/engagement/site_engagement_helper.cc:276: GURL url = handle->GetURL(); On 2016/12/08 08:14:07, dcheng wrote: ...
4 years ago (2016-12-08 08:14:45 UTC) #47
dominickn
Thanks! https://codereview.chromium.org/2535483002/diff/100001/chrome/browser/engagement/site_engagement_helper.cc File chrome/browser/engagement/site_engagement_helper.cc (right): https://codereview.chromium.org/2535483002/diff/100001/chrome/browser/engagement/site_engagement_helper.cc#newcode64 chrome/browser/engagement/site_engagement_helper.cc:64: &SiteEngagementService::Helper::SendEngagementLevelToFramesMatchingOrigin, On 2016/12/08 08:14:07, dcheng wrote: > It ...
4 years ago (2016-12-08 09:02:47 UTC) #50
nasko
https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2535483002/diff/100001/content/renderer/render_frame_impl.cc#newcode2657 content/renderer/render_frame_impl.cc:2657: void RenderFrameImpl::SetEngagementLevel(const url::Origin& origin, On 2016/12/08 02:37:10, dominickn wrote: ...
4 years ago (2016-12-08 22:26:48 UTC) #53
esprehn
We should be able to store the ConnectionPtr (or service wrapper) on the Document/DOMWindow which ...
4 years ago (2016-12-08 23:05:58 UTC) #54
benwells
Sorry about the latency. Do you have plans to add tests for this? https://codereview.chromium.org/2535483002/diff/120001/chrome/browser/engagement/DEPS File ...
4 years ago (2016-12-09 06:11:24 UTC) #55
dominickn
https://codereview.chromium.org/2535483002/diff/120001/chrome/browser/engagement/DEPS File chrome/browser/engagement/DEPS (right): https://codereview.chromium.org/2535483002/diff/120001/chrome/browser/engagement/DEPS#newcode1 chrome/browser/engagement/DEPS:1: include_rules = [ On 2016/12/09 06:11:23, benwells wrote: > ...
4 years ago (2016-12-13 06:27:38 UTC) #60
benwells
https://codereview.chromium.org/2535483002/diff/120001/chrome/browser/engagement/site_engagement_service.cc File chrome/browser/engagement/site_engagement_service.cc (right): https://codereview.chromium.org/2535483002/diff/120001/chrome/browser/engagement/site_engagement_service.cc#newcode134 chrome/browser/engagement/site_engagement_service.cc:134: return CreateEngagementScore(url).GetEngagementLevel(); On 2016/12/13 06:27:37, dominickn wrote: > On ...
4 years ago (2016-12-14 06:17:53 UTC) #61
dominickn
https://codereview.chromium.org/2535483002/diff/120001/chrome/browser/engagement/site_engagement_service.h File chrome/browser/engagement/site_engagement_service.h (right): https://codereview.chromium.org/2535483002/diff/120001/chrome/browser/engagement/site_engagement_service.h#newcode125 chrome/browser/engagement/site_engagement_service.h:125: void HelperCreated(SiteEngagementService::Helper* helper); On 2016/12/14 06:17:53, benwells wrote: > ...
4 years ago (2016-12-15 01:57:08 UTC) #64
dominickn
esphren/dcheng: did you have any more issues that you wanted to address here? +jochen: PTAL ...
4 years ago (2016-12-15 05:01:40 UTC) #68
benwells
lgtm
4 years ago (2016-12-15 05:55:02 UTC) #69
dcheng
On 2016/12/15 05:01:40, dominickn wrote: > esphren/dcheng: did you have any more issues that you ...
4 years ago (2016-12-15 06:30:58 UTC) #70
jochen (gone - plz use gerrit)
lgtm
4 years ago (2016-12-15 14:16:35 UTC) #71
dominickn
On 2016/12/15 06:30:58, dcheng wrote: > On 2016/12/15 05:01:40, dominickn wrote: > > esphren/dcheng: did ...
4 years ago (2016-12-15 23:43:21 UTC) #72
dominickn
On 2016/12/15 23:43:21, dominickn wrote: > On 2016/12/15 06:30:58, dcheng wrote: > > On 2016/12/15 ...
4 years ago (2016-12-20 00:10:31 UTC) #73
dcheng
mojo lgtm, I'd like to fix the map issue in a followup though. It might ...
4 years ago (2016-12-20 01:01:12 UTC) #74
dominickn
On 2016/12/20 01:01:12, dcheng wrote: > mojo lgtm, I'd like to fix the map issue ...
4 years ago (2016-12-20 01:42:11 UTC) #75
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2535483002/180001
4 years ago (2016-12-20 06:07:01 UTC) #86
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2535483002/180001
4 years ago (2016-12-20 06:07:34 UTC) #88
commit-bot: I haz the power
Committed patchset #8 (id:180001)
4 years ago (2016-12-20 06:14:17 UTC) #91
commit-bot: I haz the power
4 years ago (2016-12-20 06:17:55 UTC) #93
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/6c1f1cf3c31b4c798708cb17d4ecd8e6db37e833
Cr-Commit-Position: refs/heads/master@{#439726}

Powered by Google App Engine
This is Rietveld 408576698