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

Issue 297973002: Navigation transitions: Block first response until after transitions have run. (Closed)

Created:
6 years, 7 months ago by shatch
Modified:
6 years, 6 months ago
CC:
chromium-reviews, darin-cc_chromium.org, nasko+codewatch_chromium.org, jam, creis+watch_chromium.org, oystein (OOO til 10th of July)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Navigation transitions: Block first response until after transitions have run. Overall idea was to use the CSRH to pause a navigation while the transition page gets a chance to load and run, then resume the navigation afterwards. If there's no navigation transition, the response is started right away. There are no callers for this yet, transition elements are sent via IPC to the TransitionNavigationManager. The CSRH will see this in OnResponseStarted, block the request immediately, and post a task to the UI thread to check if the embedder wants to handle the transition. Navigation Transitions: Design doc: https://docs.google.com/a/chromium.org/document/d/17jg1RRL3RI969cLwbKBIcoGDsPwqaEdBxafGNYGwiY4/edit# Implementation details: https://docs.google.com/a/chromium.org/document/d/1kREPtFJaeLoDKwrfmrYTD7DHCdxX1RzFBga2gNY8lyE/edit#heading=h.bng2kpmyvxq5 BUG=370696 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=278926

Patch Set 1 : #

Total comments: 36

Patch Set 2 : Nasko suggestion: git cl format #

Patch Set 3 : Changes from review. #

Total comments: 8

Patch Set 4 : Changes from review. #

Patch Set 5 : Added test. #

Total comments: 2

Patch Set 6 : Changes from review. #

Total comments: 6

Patch Set 7 : Changes from review. #

Total comments: 14

Patch Set 8 : Changes from review. #

Total comments: 1

Patch Set 9 : Changes from review. #

Total comments: 9

Patch Set 10 : Changes from review. #

Patch Set 11 : Changes from review. #

Patch Set 12 : Rename test function. #

Total comments: 3

Patch Set 13 : Changes from review. #

Total comments: 1

Patch Set 14 : Rebase + fixes. #

Patch Set 15 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+695 lines, -2 lines) Patch
M content/browser/android/content_view_core_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +14 lines, -0 lines 0 comments Download
M content/browser/android/content_view_core_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +42 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_delegate.h View 1 2 3 4 5 6 7 1 chunk +7 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_delegate.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +9 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +25 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +14 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +20 lines, -0 lines 0 comments Download
M content/browser/loader/cross_site_resource_handler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +14 lines, -0 lines 0 comments Download
M content/browser/loader/cross_site_resource_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +58 lines, -1 line 0 comments Download
M content/browser/loader/resource_dispatcher_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/loader/resource_dispatcher_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +11 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_message_filter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_message_filter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +9 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +5 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_helper.h View 2 chunks +6 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_widget_helper.cc View 1 2 chunks +15 lines, -0 lines 0 comments Download
A content/browser/transition_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +119 lines, -0 lines 0 comments Download
A content/browser/transition_request_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +59 lines, -0 lines 0 comments Download
A content/browser/transition_request_manager.cc View 1 2 3 4 5 6 7 1 chunk +47 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +6 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +21 lines, -0 lines 0 comments Download
M content/common/frame_messages.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +5 lines, -0 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +52 lines, -0 lines 0 comments Download
A content/public/android/javatests/src/org/chromium/content/browser/TransitionTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +120 lines, -0 lines 0 comments Download

Messages

Total messages: 31 (0 generated)
shatch
ptal! I've included changes to observers/delegates to receive notifications about the response being deferred, but ...
6 years, 7 months ago (2014-05-23 20:48:14 UTC) #1
shatch
On 2014/05/23 20:48:14, shatch wrote: > ptal! > > I've included changes to observers/delegates to ...
6 years, 6 months ago (2014-05-28 22:22:53 UTC) #2
nasko
It is a good start, but needs some more work. I would suggest running git ...
6 years, 6 months ago (2014-05-28 22:58:59 UTC) #3
shatch
New snapshot uploaded, ptal! https://codereview.chromium.org/297973002/diff/100001/content/browser/frame_host/render_frame_host_delegate.h File content/browser/frame_host/render_frame_host_delegate.h (right): https://codereview.chromium.org/297973002/diff/100001/content/browser/frame_host/render_frame_host_delegate.h#newcode58 content/browser/frame_host/render_frame_host_delegate.h:58: // Navigation is blocked waiting ...
6 years, 6 months ago (2014-05-29 21:41:22 UTC) #4
nasko
Few more comments, but it is getting there! https://codereview.chromium.org/297973002/diff/100001/content/browser/transition_request_manager.h File content/browser/transition_request_manager.h (right): https://codereview.chromium.org/297973002/diff/100001/content/browser/transition_request_manager.h#newcode33 content/browser/transition_request_manager.h:33: // ...
6 years, 6 months ago (2014-06-02 21:59:33 UTC) #5
shatch
New snapshot uploaded, ptal https://codereview.chromium.org/297973002/diff/100001/content/browser/transition_request_manager.h File content/browser/transition_request_manager.h (right): https://codereview.chromium.org/297973002/diff/100001/content/browser/transition_request_manager.h#newcode33 content/browser/transition_request_manager.h:33: // Sets whether the RenderViewHost ...
6 years, 6 months ago (2014-06-02 23:40:39 UTC) #6
nasko
I think the code is looking good. One last thing I would like to see ...
6 years, 6 months ago (2014-06-03 16:07:43 UTC) #7
shatch
New snapshot uploaded, ptal
6 years, 6 months ago (2014-06-04 20:53:05 UTC) #8
nasko
I think this is looking good. Time to loop an OWNERS reviewer and since you ...
6 years, 6 months ago (2014-06-09 22:51:27 UTC) #9
shatch
Hi jam, nasko recommended you as another reviewer for this cl, ptal! https://codereview.chromium.org/297973002/diff/220001/content/browser/loader/cross_site_resource_handler.h File content/browser/loader/cross_site_resource_handler.h ...
6 years, 6 months ago (2014-06-09 23:27:31 UTC) #10
jam
https://codereview.chromium.org/297973002/diff/240001/content/public/browser/web_contents.h File content/public/browser/web_contents.h (right): https://codereview.chromium.org/297973002/diff/240001/content/public/browser/web_contents.h#newcode352 content/public/browser/web_contents.h:352: virtual void SetHasPendingTransitionRequest(bool has_pending_transition) = 0; is the only ...
6 years, 6 months ago (2014-06-10 05:54:56 UTC) #11
shatch
New snapshot uploaded, ptal! https://codereview.chromium.org/297973002/diff/240001/content/public/browser/web_contents.h File content/public/browser/web_contents.h (right): https://codereview.chromium.org/297973002/diff/240001/content/public/browser/web_contents.h#newcode352 content/public/browser/web_contents.h:352: virtual void SetHasPendingTransitionRequest(bool has_pending_transition) = ...
6 years, 6 months ago (2014-06-10 20:20:24 UTC) #12
jam
https://codereview.chromium.org/297973002/diff/240001/content/public/browser/web_contents_observer.h File content/public/browser/web_contents_observer.h (right): https://codereview.chromium.org/297973002/diff/240001/content/public/browser/web_contents_observer.h#newcode251 content/public/browser/web_contents_observer.h:251: virtual void DidDeferAfterResponseStarted() {} On 2014/06/10 20:20:24, shatch wrote: ...
6 years, 6 months ago (2014-06-11 02:00:21 UTC) #13
jam
6 years, 6 months ago (2014-06-11 02:00:22 UTC) #14
shatch
New snapshot uploaded, ptal. https://codereview.chromium.org/297973002/diff/240001/content/public/browser/web_contents_observer.h File content/public/browser/web_contents_observer.h (right): https://codereview.chromium.org/297973002/diff/240001/content/public/browser/web_contents_observer.h#newcode251 content/public/browser/web_contents_observer.h:251: virtual void DidDeferAfterResponseStarted() {} On ...
6 years, 6 months ago (2014-06-14 00:41:37 UTC) #15
jam
https://codereview.chromium.org/297973002/diff/260001/content/browser/loader/cross_site_resource_handler.h File content/browser/loader/cross_site_resource_handler.h (right): https://codereview.chromium.org/297973002/diff/260001/content/browser/loader/cross_site_resource_handler.h#newcode63 content/browser/loader/cross_site_resource_handler.h:63: bool is_deferred_for_testing() const { return did_defer_; } On 2014/06/14 ...
6 years, 6 months ago (2014-06-16 03:46:10 UTC) #16
shatch
New snapshot uploaded, ptal. https://codereview.chromium.org/297973002/diff/260001/content/browser/loader/cross_site_resource_handler.h File content/browser/loader/cross_site_resource_handler.h (right): https://codereview.chromium.org/297973002/diff/260001/content/browser/loader/cross_site_resource_handler.h#newcode63 content/browser/loader/cross_site_resource_handler.h:63: bool is_deferred_for_testing() const { return ...
6 years, 6 months ago (2014-06-16 22:32:20 UTC) #17
jam
https://codereview.chromium.org/297973002/diff/320001/content/browser/web_contents/web_contents_impl.cc File content/browser/web_contents/web_contents_impl.cc (right): https://codereview.chromium.org/297973002/diff/320001/content/browser/web_contents/web_contents_impl.cc#newcode3494 content/browser/web_contents/web_contents_impl.cc:3494: return true; On 2014/06/16 22:32:19, shatch wrote: > On ...
6 years, 6 months ago (2014-06-16 23:08:33 UTC) #18
shatch
New snapshot uploaded, ptal! Per-offline chat, setup a test embedder that replies true to transition ...
6 years, 6 months ago (2014-06-18 00:07:37 UTC) #19
jam
lgtm https://codereview.chromium.org/297973002/diff/400001/content/browser/renderer_host/render_message_filter.h File content/browser/renderer_host/render_message_filter.h (right): https://codereview.chromium.org/297973002/diff/400001/content/browser/renderer_host/render_message_filter.h#newcode283 content/browser/renderer_host/render_message_filter.h:283: void OnSetHasPendingTransitionRequest(int frame_id, bool is_transition); nit: rendre_frame_id here ...
6 years, 6 months ago (2014-06-18 00:34:25 UTC) #20
nasko
I think it is good, but I want to see how this whole machinery is ...
6 years, 6 months ago (2014-06-18 17:39:18 UTC) #21
shatch
On 2014/06/18 17:39:18, nasko wrote: > I think it is good, but I want to ...
6 years, 6 months ago (2014-06-18 17:42:26 UTC) #22
nasko
LGTM
6 years, 6 months ago (2014-06-18 18:00:43 UTC) #23
shatch
The CQ bit was checked by simonhatch@chromium.org
6 years, 6 months ago (2014-06-20 16:40:51 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/simonhatch@chromium.org/297973002/440001
6 years, 6 months ago (2014-06-20 16:43:17 UTC) #25
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_aosp on tryserver.chromium ...
6 years, 6 months ago (2014-06-20 17:33:16 UTC) #26
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 6 months ago (2014-06-20 17:41:44 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: linux_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/linux_gpu/builds/30434) mac_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/mac_gpu/builds/19639)
6 years, 6 months ago (2014-06-20 17:41:45 UTC) #28
shatch
The CQ bit was checked by simonhatch@chromium.org
6 years, 6 months ago (2014-06-20 23:42:41 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/simonhatch@chromium.org/297973002/460001
6 years, 6 months ago (2014-06-20 23:45:24 UTC) #30
commit-bot: I haz the power
6 years, 6 months ago (2014-06-21 05:29:20 UTC) #31
Message was sent while issue was closed.
Change committed as 278926

Powered by Google App Engine
This is Rietveld 408576698