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

Issue 281663002: Create RenderFrameProxyHost at time of swap-out instead of commit. (Closed)

Created:
6 years, 7 months ago by nasko
Modified:
6 years, 7 months ago
Reviewers:
Charlie Reis, sky
CC:
chromium-reviews, creis+watch_chromium.org, plundblad+watch_chromium.org, aboxhall+watch_chromium.org, nasko+codewatch_chromium.org, jam, yuzo+watch_chromium.org, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, miu+watch_chromium.org, site-isolation-reviews_chromium.org
Visibility:
Public.

Description

Create RenderFrameProxyHost at time of swap-out instead of commit. This CL moves the creation of RenderFrameProxyHost earlier in the timeline of cross-process navigation. Instead of waiting until commit time, it creates it at the time SwapOut message is sent to the old RenderFrameHost. It also creates the renderer-side RenderFrameProxy object. Since now both sides have proxies, when in swapped out state, RenderFrameHost and RenderFrame send their messages through the proxies. This both helps verify proxies exist and paves the way of removing the notion of swapping out frames. BUG=357747 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=271325

Patch Set 1 #

Patch Set 2 : Working, needs a bit of cleanup. #

Patch Set 3 : Some cleanup, needs comments. #

Patch Set 4 : Ready for review #

Total comments: 73

Patch Set 5 : All comments addressed. #

Total comments: 14

Patch Set 6 : Rebase on ToT, no code changes. #

Patch Set 7 : Another round of comments addressed. #

Patch Set 8 : Fix accessibility test. #

Total comments: 1

Patch Set 9 : s/render_view_host/GetRenderViewHost/ #

Total comments: 2

Patch Set 10 : Rebase on ToT #

Patch Set 11 : Fix IPC_BEGIN_MESSAGE_MAP macro, as _EX version doesn't exist anymore. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+477 lines, -100 lines) Patch
M components/visitedlink/test/visitedlink_unittest.cc View 1 2 3 2 chunks +4 lines, -6 lines 0 comments Download
M content/browser/frame_host/interstitial_page_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 1 2 3 4 4 chunks +17 lines, -6 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 2 3 4 5 6 7 8 9 5 chunks +11 lines, -2 lines 0 comments Download
M content/browser/frame_host/render_frame_host_manager.h View 1 2 3 4 5 2 chunks +7 lines, -5 lines 0 comments Download
M content/browser/frame_host/render_frame_host_manager.cc View 1 2 3 4 5 6 7 8 14 chunks +64 lines, -41 lines 0 comments Download
M content/browser/frame_host/render_frame_host_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 3 chunks +5 lines, -3 lines 0 comments Download
M content/browser/frame_host/render_frame_proxy_host.h View 1 2 3 4 5 6 7 8 3 chunks +39 lines, -17 lines 0 comments Download
M content/browser/frame_host/render_frame_proxy_host.cc View 1 2 3 4 5 6 7 8 1 chunk +44 lines, -5 lines 0 comments Download
M content/browser/renderer_host/render_view_host_impl.h View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_view_host_impl.cc View 1 2 3 4 5 6 7 8 9 2 chunks +2 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 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 3 4 5 6 7 8 9 3 chunks +3 lines, -0 lines 0 comments Download
M content/common/frame_messages.h View 1 2 3 4 2 chunks +8 lines, -3 lines 0 comments Download
M content/common/view_messages.h View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
M content/content_renderer.gypi View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M content/public/test/mock_render_thread.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M content/public/test/render_view_test.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M content/public/test/test_renderer_host.h View 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/accessibility/renderer_accessibility_browsertest.cc View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -1 line 0 comments Download
M content/renderer/render_frame_impl.h View 1 2 3 4 5 chunks +15 lines, -1 line 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 9 9 chunks +43 lines, -5 lines 0 comments Download
A content/renderer/render_frame_proxy.h View 1 2 3 4 5 6 1 chunk +79 lines, -0 lines 0 comments Download
A content/renderer/render_frame_proxy.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +89 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_view_browsertest.cc View 1 2 3 4 5 6 7 8 9 4 chunks +5 lines, -3 lines 0 comments Download
M content/renderer/render_view_impl.h View 1 2 3 4 5 6 7 8 9 2 chunks +4 lines, -1 line 0 comments Download
M content/renderer/render_view_impl.cc View 1 2 3 4 5 6 7 8 9 5 chunks +12 lines, -0 lines 0 comments Download
M content/renderer/render_view_impl_params.h View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M content/renderer/render_view_impl_params.cc View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M content/test/test_render_view_host.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M content/test/test_render_view_host.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M content/test/test_web_contents.h View 1 chunk +1 line, -0 lines 0 comments Download
M content/test/test_web_contents.cc View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 30 (0 generated)
nasko
Hey Charlie, Can you review this CL for me? Thanks, Nasko
6 years, 7 months ago (2014-05-14 21:41:35 UTC) #1
nasko
Adding site-isolation-reviews@.
6 years, 7 months ago (2014-05-14 21:48:45 UTC) #2
Charlie Reis
Lots to look at, but seems like a good start! At a high level, I'm ...
6 years, 7 months ago (2014-05-15 00:32:49 UTC) #3
ncarter (slow)
https://codereview.chromium.org/281663002/diff/60001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/281663002/diff/60001/content/browser/frame_host/render_frame_host_impl.cc#newcode156 content/browser/frame_host/render_frame_host_impl.cc:156: weak_ptr_factory_(this) { Give that |render_frame_proxy_| an initializer. Pointers love ...
6 years, 7 months ago (2014-05-15 00:42:23 UTC) #4
nasko
I've addressed all the comments. Please take another look. https://codereview.chromium.org/281663002/diff/60001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/281663002/diff/60001/content/browser/frame_host/render_frame_host_impl.cc#newcode156 content/browser/frame_host/render_frame_host_impl.cc:156: ...
6 years, 7 months ago (2014-05-15 18:47:13 UTC) #5
ncarter (slow)
https://codereview.chromium.org/281663002/diff/80001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/281663002/diff/80001/content/browser/frame_host/render_frame_host_impl.cc#newcode249 content/browser/frame_host/render_frame_host_impl.cc:249: if (render_view_host_->IsSwappedOut()) { What guarantees that all frames sharing ...
6 years, 7 months ago (2014-05-15 20:49:44 UTC) #6
ncarter (slow)
6 years, 7 months ago (2014-05-15 20:50:05 UTC) #7
nasko
https://codereview.chromium.org/281663002/diff/80001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/281663002/diff/80001/content/browser/frame_host/render_frame_host_impl.cc#newcode249 content/browser/frame_host/render_frame_host_impl.cc:249: if (render_view_host_->IsSwappedOut()) { On 2014/05/15 20:49:45, ncarter wrote: > ...
6 years, 7 months ago (2014-05-15 20:53:44 UTC) #8
nasko
On 2014/05/15 20:53:44, nasko wrote: > https://codereview.chromium.org/281663002/diff/80001/content/browser/frame_host/render_frame_host_impl.cc > File content/browser/frame_host/render_frame_host_impl.cc (right): > > https://codereview.chromium.org/281663002/diff/80001/content/browser/frame_host/render_frame_host_impl.cc#newcode249 > ...
6 years, 7 months ago (2014-05-15 21:04:32 UTC) #9
Charlie Reis
Great! A few more questions and a couple nits below. (I'll mention that my comments ...
6 years, 7 months ago (2014-05-15 22:54:59 UTC) #10
nasko
Fixes based on the latest review from Charlie. https://codereview.chromium.org/281663002/diff/60001/content/browser/frame_host/render_frame_host_manager.cc File content/browser/frame_host/render_frame_host_manager.cc (right): https://codereview.chromium.org/281663002/diff/60001/content/browser/frame_host/render_frame_host_manager.cc#newcode520 content/browser/frame_host/render_frame_host_manager.cc:520: proxy_hosts_[render_frame_host_->GetSiteInstance()->GetId()] ...
6 years, 7 months ago (2014-05-15 23:36:48 UTC) #11
Charlie Reis
Cool-- LGTM. https://codereview.chromium.org/281663002/diff/60001/content/browser/frame_host/render_frame_host_manager.cc File content/browser/frame_host/render_frame_host_manager.cc (right): https://codereview.chromium.org/281663002/diff/60001/content/browser/frame_host/render_frame_host_manager.cc#newcode520 content/browser/frame_host/render_frame_host_manager.cc:520: proxy_hosts_[render_frame_host_->GetSiteInstance()->GetId()] = proxy; On 2014/05/15 23:36:49, nasko ...
6 years, 7 months ago (2014-05-16 18:54:07 UTC) #12
nasko
Fixed method name. sky@, can you do OWNERS review for components/? Thanks!
6 years, 7 months ago (2014-05-16 19:03:19 UTC) #13
sky
components LGTM
6 years, 7 months ago (2014-05-16 19:47:12 UTC) #14
nasko
The CQ bit was checked by nasko@chromium.org
6 years, 7 months ago (2014-05-16 20:35:14 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/nasko@chromium.org/281663002/160001
6 years, 7 months ago (2014-05-16 20:36:42 UTC) #16
ncarter (slow)
https://codereview.chromium.org/281663002/diff/160001/content/common/frame_messages.h File content/common/frame_messages.h (right): https://codereview.chromium.org/281663002/diff/160001/content/common/frame_messages.h#newcode359 content/common/frame_messages.h:359: IPC_MESSAGE_ROUTED0(FrameMsg_DeleteProxy) Since this is routed to a RenderFrameProxy, should ...
6 years, 7 months ago (2014-05-16 20:56:17 UTC) #17
nasko
https://codereview.chromium.org/281663002/diff/160001/content/common/frame_messages.h File content/common/frame_messages.h (right): https://codereview.chromium.org/281663002/diff/160001/content/common/frame_messages.h#newcode359 content/common/frame_messages.h:359: IPC_MESSAGE_ROUTED0(FrameMsg_DeleteProxy) On 2014/05/16 20:56:17, ncarter wrote: > Since this ...
6 years, 7 months ago (2014-05-16 23:10:42 UTC) #18
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). Please consider checking whether the failures are ...
6 years, 7 months ago (2014-05-17 02:38:48 UTC) #19
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 7 months ago (2014-05-17 02:57:55 UTC) #20
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/17317)
6 years, 7 months ago (2014-05-17 02:57:56 UTC) #21
nasko
The CQ bit was checked by nasko@chromium.org
6 years, 7 months ago (2014-05-17 04:12:59 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/nasko@chromium.org/281663002/160001
6 years, 7 months ago (2014-05-17 04:14:27 UTC) #23
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). Please consider checking whether the failures are ...
6 years, 7 months ago (2014-05-17 06:45:02 UTC) #24
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 7 months ago (2014-05-17 07:07:22 UTC) #25
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/17342)
6 years, 7 months ago (2014-05-17 07:07:22 UTC) #26
nasko
The CQ bit was checked by nasko@chromium.org
6 years, 7 months ago (2014-05-18 22:14:56 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/nasko@chromium.org/281663002/200001
6 years, 7 months ago (2014-05-18 22:15:10 UTC) #28
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). Please consider checking whether the failures are ...
6 years, 7 months ago (2014-05-19 00:04:38 UTC) #29
commit-bot: I haz the power
6 years, 7 months ago (2014-05-19 01:29:08 UTC) #30
Message was sent while issue was closed.
Change committed as 271325

Powered by Google App Engine
This is Rietveld 408576698