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

Issue 23841002: Create a new RenderFrameHost per child frame when --site-per-process is enabled. (Closed)

Created:
7 years, 3 months ago by awong
Modified:
7 years, 2 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin (slow to review), jam, kenrb, dcheng, chromium-site-isolation-reviews_chromium.org
Visibility:
Public.

Description

Create a new RenderFrameHost per child frame when --site-per-process is enabled. - Adds a new sync IPC for child frame creation. - Added frame_messages.h for frame related messages. - RenderView now creates and closes the main frame WebFrame rather than relying on the WebView to do it. - Extracted FrameTree out of WebContents. FYI, UMA stats for tracking for site instances has been disabled in another CL since they won't make sense until this code is enabled w/o the flag. Also, FrameHostMsg_Detach is ViewHostMsg_FrameDeatch renamed and FrameHostMsg_CreateChildFrame is ViewHostMsg_FrameAttached renamed plus a little more functionality to get a routing ID assigned by the browser. (https://codereview.chromium.org/23506013/ is the Blink-side of the CL) BUG=245126

Patch Set 1 #

Patch Set 2 : Piping through the FrameTree #

Patch Set 3 : Move FrameTree from WebContents to RenderViewHostImpl #

Patch Set 4 : Make unitest compile and remove ViewHostMsg_FrameAttach bits. Now FrameTreeNode fully owns RFH. #

Patch Set 5 : Do not reset mainframe FrameTreeNode. Support swapping RenderFrameHosts in and out. #

Patch Set 6 : hook up observers. #

Patch Set 7 : rebase and add some comments. #

Total comments: 44

Patch Set 8 : rebased #

Patch Set 9 : Fix the unittests. Why? cause that's what I do. #

Patch Set 10 : custom deleters rock. #

Total comments: 20

Patch Set 11 : unittests. #

Total comments: 46

Patch Set 12 : fix comments #

Patch Set 13 : Fix dumb compile error #

Patch Set 14 : dumb compile error #

Patch Set 15 : .... #

Patch Set 16 : hate. #

Patch Set 17 : notify observers regardless of flag #

Unified diffs Side-by-side diffs Delta from patch set Stats (+949 lines, -423 lines) Patch
A content/browser/renderer_host/frame_tree.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +102 lines, -0 lines 0 comments Download
A content/browser/renderer_host/frame_tree.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +136 lines, -0 lines 0 comments Download
A + content/browser/renderer_host/frame_tree_node.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +43 lines, -3 lines 0 comments Download
A content/browser/renderer_host/frame_tree_node.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +55 lines, -0 lines 0 comments Download
A content/browser/renderer_host/frame_tree_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +151 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_frame_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +18 lines, -3 lines 0 comments Download
M content/browser/renderer_host/render_frame_host_impl.cc View 1 2 3 4 5 6 7 8 4 chunks +28 lines, -7 lines 0 comments Download
A content/browser/renderer_host/render_frame_message_filter.h View 1 2 3 4 5 6 7 8 1 chunk +44 lines, -0 lines 0 comments Download
A content/browser/renderer_host/render_frame_message_filter.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +71 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 2 chunks +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_view_host_browsertest.cc View 1 2 3 2 chunks +4 lines, -4 lines 0 comments Download
M content/browser/renderer_host/render_view_host_delegate.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +8 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_view_host_delegate.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_view_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +21 lines, -8 lines 0 comments Download
M content/browser/renderer_host/render_view_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +13 lines, -7 lines 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +81 lines, -3 lines 0 comments Download
D content/browser/web_contents/frame_tree_node.h View 1 2 1 chunk +0 lines, -76 lines 0 comments Download
D content/browser/web_contents/frame_tree_node.cc View 1 2 1 chunk +0 lines, -37 lines 0 comments Download
M content/browser/web_contents/interstitial_page_impl.h View 1 2 3 4 5 6 7 3 chunks +6 lines, -0 lines 0 comments Download
M content/browser/web_contents/interstitial_page_impl.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +15 lines, -8 lines 0 comments Download
M content/browser/web_contents/render_view_host_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +6 lines, -2 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 2 3 4 5 6 7 8 chunks +7 lines, -14 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 11 chunks +27 lines, -98 lines 0 comments Download
M content/browser/web_contents/web_contents_impl_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +1 line, -40 lines 0 comments Download
M content/browser/web_contents/web_contents_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +0 lines, -79 lines 0 comments Download
M content/common/content_message_generator.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
A content/common/frame_messages.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +37 lines, -0 lines 0 comments Download
M content/common/view_messages.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -13 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +6 lines, -2 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_frame_impl.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 9 5 chunks +44 lines, -13 lines 0 comments Download
M content/renderer/render_view_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +6 lines, -4 lines 0 comments Download
A content/test/data/site_isolation/blank.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
A content/test/data/site_isolation/frames-X-X.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +6 lines, -0 lines 0 comments Download
M ipc/ipc_message_start.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 24 (0 generated)
awong
Here's a mostly completed version of creating a RenderFrameHost per subframe. Browser side changes: - ...
7 years, 3 months ago (2013-09-10 02:24:28 UTC) #1
awong
Next version up. WebContents owns FrameTree again. Main points I could use feedback on: - ...
7 years, 3 months ago (2013-09-11 03:30:44 UTC) #2
Charlie Reis
I think this handles a lot of what we need to do, though I'm still ...
7 years, 3 months ago (2013-09-11 22:25:04 UTC) #3
nasko
This is looking good, some comments, though nothing really major. https://codereview.chromium.org/23841002/diff/30002/content/browser/renderer_host/frame_tree.cc File content/browser/renderer_host/frame_tree.cc (right): https://codereview.chromium.org/23841002/diff/30002/content/browser/renderer_host/frame_tree.cc#newcode21 ...
7 years, 3 months ago (2013-09-11 22:26:23 UTC) #4
awong
PTAL I still need to fix the WebContentsImplTest...probalby by moving the relevant logic into FrameTreeTest. ...
7 years, 3 months ago (2013-09-21 01:19:55 UTC) #5
Charlie Reis
Can you clarify the CL description? We only create a RFH per subframe behind the ...
7 years, 3 months ago (2013-09-24 18:25:58 UTC) #6
awong
PTAL I need help with the browser test. I can't figure out how to create ...
7 years, 2 months ago (2013-09-26 21:25:23 UTC) #7
Charlie Reis
https://codereview.chromium.org/23841002/diff/88001/content/browser/renderer_host/frame_tree.cc File content/browser/renderer_host/frame_tree.cc (right): https://codereview.chromium.org/23841002/diff/88001/content/browser/renderer_host/frame_tree.cc#newcode73 content/browser/renderer_host/frame_tree.cc:73: // shutdown that might make this case possible? I'm ...
7 years, 2 months ago (2013-09-27 19:19:21 UTC) #8
awong
PTAL https://codereview.chromium.org/23841002/diff/88001/content/browser/renderer_host/frame_tree.cc File content/browser/renderer_host/frame_tree.cc (right): https://codereview.chromium.org/23841002/diff/88001/content/browser/renderer_host/frame_tree.cc#newcode73 content/browser/renderer_host/frame_tree.cc:73: // shutdown that might make this case possible? ...
7 years, 2 months ago (2013-09-27 20:50:08 UTC) #9
Charlie Reis
LGTM.
7 years, 2 months ago (2013-09-27 21:19:13 UTC) #10
awong
Updated CL description with short explanation of the "new IPC"...namely that they are effectively renamings ...
7 years, 2 months ago (2013-09-27 22:05:56 UTC) #11
jln (very slow on Chromium)
On 2013/09/27 22:05:56, awong wrote: > Updated CL description with short explanation of the "new ...
7 years, 2 months ago (2013-09-27 22:06:51 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajwong@chromium.org/23841002/164001
7 years, 2 months ago (2013-09-27 22:46:35 UTC) #13
commit-bot: I haz the power
Retried try job too often on linux_aura for step(s) unit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura&number=82792
7 years, 2 months ago (2013-09-28 02:36:06 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajwong@chromium.org/23841002/164001
7 years, 2 months ago (2013-09-28 03:23:40 UTC) #15
commit-bot: I haz the power
Retried try job too often on linux_aura for step(s) unit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura&number=82895
7 years, 2 months ago (2013-09-28 04:47:08 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajwong@chromium.org/23841002/164001
7 years, 2 months ago (2013-09-28 04:51:46 UTC) #17
commit-bot: I haz the power
Retried try job too often on linux_aura for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura&number=82949
7 years, 2 months ago (2013-09-28 08:41:26 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajwong@chromium.org/23841002/164001
7 years, 2 months ago (2013-09-28 16:16:07 UTC) #19
commit-bot: I haz the power
Retried try job too often on linux_aura for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura&number=83103
7 years, 2 months ago (2013-09-28 20:46:19 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajwong@chromium.org/23841002/164001
7 years, 2 months ago (2013-09-29 05:18:38 UTC) #21
commit-bot: I haz the power
Retried try job too often on linux_aura for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura&number=83204
7 years, 2 months ago (2013-09-29 08:36:57 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajwong@chromium.org/23841002/164001
7 years, 2 months ago (2013-09-29 20:48:12 UTC) #23
commit-bot: I haz the power
7 years, 2 months ago (2013-09-29 23:24:49 UTC) #24
Retried try job too often on linux_aura for step(s) browser_tests
http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura...

Powered by Google App Engine
This is Rietveld 408576698