Support for transfer navigations in data use ascriber |
|||||
Issue descriptionWhen a page navigates from a.com to b.com, the navigation reuses the same render frame in ReadyToCommitMainFrameNavigation(). Later the navigation transfers and RenderFrameHostChanged() gets called with the new render frame. Finally DidFinishNavigation() is called with new render frame. ReadyToCommitMainFrameNavigation() still attributes the data use of the new navigation to datause of old render frame. One solution is to ascribe the navigation to its render-frame only in DidFinishNavigation().
,
May 5 2017
What are transfer navigations?
,
May 5 2017
Navigations that transfer from one RenderFrameHost to another, during the navigation commit. Following is an example: Step 1: Navigate to a.com 1 RenderFrame rf_a is created 2 Navigation nav_a starts (DidStartNavigation) 3 nav_a is ready to commit with rf_a (ReadyToCommitNavigation) 4 nav_a commits with rf_a (DidFinishNavigation) Step 2: Navigate to b.com in the same tab 1 RenderFrame rf_b is created 2 Navigation nav_b starts 3 nav_b is ready to commit with rf_a 4 The webcontents changes the renderframehost rf_a to rf_b (RenderFrameHostChanged) 5 rf_a is deleted 6 nav_b commits with rf_a The current code attributes data use of nav_b with rf_a (step 2.3) which is wrong. To support transfer navigations, the attribution should happen at step 2.6.
,
May 8 2017
Gotcha. Thanks.
,
May 16 2017
,
May 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dde9d26e729f5ba0c92687c72fc80311878a36c8 commit dde9d26e729f5ba0c92687c72fc80311878a36c8 Author: rajendrant <rajendrant@chromium.org> Date: Thu May 18 06:08:58 2017 Move failed URLRequest checking to OnUrlRequestCompleted Failed request checking done in OnUrlRequestDestroyed always returns as failure - request status is always URLRequestStatus::CANCELED. So moving to OnUrlRequestCompleted. BUG= 718612 Review-Url: https://codereview.chromium.org/2868733002 Cr-Commit-Position: refs/heads/master@{#472697} [modify] https://crrev.com/dde9d26e729f5ba0c92687c72fc80311878a36c8/chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc [modify] https://crrev.com/dde9d26e729f5ba0c92687c72fc80311878a36c8/chrome/browser/data_use_measurement/chrome_data_use_ascriber.h [modify] https://crrev.com/dde9d26e729f5ba0c92687c72fc80311878a36c8/chrome/browser/data_use_measurement/chrome_data_use_ascriber_unittest.cc [modify] https://crrev.com/dde9d26e729f5ba0c92687c72fc80311878a36c8/components/data_use_measurement/core/data_use_ascriber.cc [modify] https://crrev.com/dde9d26e729f5ba0c92687c72fc80311878a36c8/components/data_use_measurement/core/data_use_ascriber.h [modify] https://crrev.com/dde9d26e729f5ba0c92687c72fc80311878a36c8/components/data_use_measurement/core/data_use_network_delegate.cc
,
May 18 2017
,
May 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/54819c15bc373470597bb574895816174e633c72 commit 54819c15bc373470597bb574895816174e633c72 Author: rajendrant <rajendrant@chromium.org> Date: Tue May 23 08:34:13 2017 Support for transfer navigations in data use ascriber Before the navigation commits, old mainframe could be reused in ReadyToCommit. After that new mainframe may be created and the navigation transfers from the old mainframe to the new. To handle this case, ascribing the datause should happen after navigation commits at DidFinishNavigation. The global request ID of the navigation should be copied from ReadyToCommit to DidFinishNavigation. This is only applicable for non PlzNavigate. BUG= 718612 Review-Url: https://codereview.chromium.org/2875263003 Cr-Commit-Position: refs/heads/master@{#473837} [modify] https://crrev.com/54819c15bc373470597bb574895816174e633c72/chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc [modify] https://crrev.com/54819c15bc373470597bb574895816174e633c72/chrome/browser/data_use_measurement/chrome_data_use_ascriber.h [modify] https://crrev.com/54819c15bc373470597bb574895816174e633c72/chrome/browser/data_use_measurement/chrome_data_use_ascriber_service.cc [modify] https://crrev.com/54819c15bc373470597bb574895816174e633c72/chrome/browser/data_use_measurement/chrome_data_use_ascriber_unittest.cc
,
May 23 2017
What's left to do before we mark this issue fixed?
,
Jun 1 2017
,
Jun 20 2017
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by rajendrant@chromium.org
, May 4 2017