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

Issue 536143002: Do not create proxy hosts in the subtree of navigating frame. (Closed)

Created:
6 years, 3 months ago by nasko
Modified:
6 years, 3 months ago
CC:
chromium-reviews, darin-cc_chromium.org, nasko+codewatch_chromium.org, jam, creis+watch_chromium.org, site-isolation-dev_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Do not create proxy hosts in the subtree of navigating frame. When a frame is navigating cross-process, its existing document will be completely destroyed and all child frames will be gone. This means that we don't need to create proxy objects for the new SiteInstance in the subtree of the navigating frame. BUG=357747 Committed: https://crrev.com/faab4288197b20b73610aad3e5579751b0c3a97b Cr-Commit-Position: refs/heads/master@{#294520}

Patch Set 1 #

Total comments: 16

Patch Set 2 : Fix test and address Albert's comments #

Total comments: 1

Patch Set 3 : Address Ken's nit. #

Patch Set 4 : Update CreateCrossProcessSubframeProxies #

Total comments: 10

Patch Set 5 : Fixes based on Charlie's review. #

Patch Set 6 : Rebased on ToT. #

Total comments: 1

Patch Set 7 : Fix formatting. #

Patch Set 8 : Rebased on ToT. #

Patch Set 9 : Adjust expectations in accessibility test. #

Total comments: 4

Patch Set 10 : Disable the test on android, as it times out. #

Patch Set 11 : Fix CrossSiteIframe asserts. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+170 lines, -14 lines) Patch
M content/browser/accessibility/site_per_process_accessibility_browsertest.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -2 lines 0 comments Download
M content/browser/frame_host/frame_tree.h View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M content/browser/frame_host/frame_tree.cc View 1 2 3 4 5 6 7 3 chunks +15 lines, -7 lines 0 comments Download
M content/browser/frame_host/frame_tree_browsertest.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M content/browser/frame_host/render_frame_host_manager.cc View 1 2 3 4 5 6 2 chunks +21 lines, -2 lines 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +125 lines, -2 lines 0 comments Download
M content/test/data/site_per_process_main.html View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 29 (10 generated)
awong
looks pretty solid. Added some API-level comments. https://codereview.chromium.org/536143002/diff/1/content/browser/frame_host/frame_tree.cc File content/browser/frame_host/frame_tree.cc (right): https://codereview.chromium.org/536143002/diff/1/content/browser/frame_host/frame_tree.cc#newcode125 content/browser/frame_host/frame_tree.cc:125: const base::Callback<bool(FrameTreeNode*)>& ...
6 years, 3 months ago (2014-09-03 21:58:38 UTC) #2
nasko
Hey Ken, Can you review this CL for me? I've asked Albert for some comments ...
6 years, 3 months ago (2014-09-03 23:50:19 UTC) #4
kenrb
lgtm with nit https://codereview.chromium.org/536143002/diff/20001/content/browser/site_per_process_browsertest.cc File content/browser/site_per_process_browsertest.cc (right): https://codereview.chromium.org/536143002/diff/20001/content/browser/site_per_process_browsertest.cc#newcode648 content/browser/site_per_process_browsertest.cc:648: { This section probably warrants another ...
6 years, 3 months ago (2014-09-05 17:23:38 UTC) #5
nasko
Hey John, I need a content/ OWNER for this CL. Can you review it please? ...
6 years, 3 months ago (2014-09-05 18:39:27 UTC) #7
Charlie Reis
Just a few nits and one question about the CommitPending change, which I don't yet ...
6 years, 3 months ago (2014-09-10 07:39:10 UTC) #9
nasko
https://codereview.chromium.org/536143002/diff/60001/content/browser/frame_host/frame_tree.h File content/browser/frame_host/frame_tree.h (right): https://codereview.chromium.org/536143002/diff/60001/content/browser/frame_host/frame_tree.h#newcode139 content/browser/frame_host/frame_tree.h:139: // starting at |skip_node| will not be recursed into. ...
6 years, 3 months ago (2014-09-10 19:36:35 UTC) #10
Charlie Reis
LGTM https://codereview.chromium.org/536143002/diff/100001/content/browser/frame_host/render_frame_host_manager.cc File content/browser/frame_host/render_frame_host_manager.cc (right): https://codereview.chromium.org/536143002/diff/100001/content/browser/frame_host/render_frame_host_manager.cc#newcode1412 content/browser/frame_host/render_frame_host_manager.cc:1412: switches::kSitePerProcess) && !is_main_frame) { nit: indent 4 more
6 years, 3 months ago (2014-09-10 19:44:17 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/536143002/140001
6 years, 3 months ago (2014-09-11 05:23:42 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_swarming/builds/15170)
6 years, 3 months ago (2014-09-11 07:15:17 UTC) #15
nasko
Adding dmazzoni@ as FYI, as I'm making changes to the accessibility test.
6 years, 3 months ago (2014-09-11 14:27:07 UTC) #17
dmazzoni
lgtm https://codereview.chromium.org/536143002/diff/160001/content/browser/accessibility/site_per_process_accessibility_browsertest.cc File content/browser/accessibility/site_per_process_accessibility_browsertest.cc (right): https://codereview.chromium.org/536143002/diff/160001/content/browser/accessibility/site_per_process_accessibility_browsertest.cc#newcode116 content/browser/accessibility/site_per_process_accessibility_browsertest.cc:116: ASSERT_EQ(2U, ax_group->PlatformChildCount()); Could you either access ax_group->PlatformGetChild(1) below ...
6 years, 3 months ago (2014-09-11 15:09:31 UTC) #18
dmazzoni
https://codereview.chromium.org/536143002/diff/160001/content/browser/site_per_process_browsertest.cc File content/browser/site_per_process_browsertest.cc (right): https://codereview.chromium.org/536143002/diff/160001/content/browser/site_per_process_browsertest.cc#newcode197 content/browser/site_per_process_browsertest.cc:197: IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, DISABLED_CrossSiteIframe) { Any chance you could enable this ...
6 years, 3 months ago (2014-09-11 15:10:40 UTC) #19
nasko
https://codereview.chromium.org/536143002/diff/160001/content/browser/accessibility/site_per_process_accessibility_browsertest.cc File content/browser/accessibility/site_per_process_accessibility_browsertest.cc (right): https://codereview.chromium.org/536143002/diff/160001/content/browser/accessibility/site_per_process_accessibility_browsertest.cc#newcode116 content/browser/accessibility/site_per_process_accessibility_browsertest.cc:116: ASSERT_EQ(2U, ax_group->PlatformChildCount()); On 2014/09/11 15:09:31, dmazzoni wrote: > Could ...
6 years, 3 months ago (2014-09-11 17:10:36 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/536143002/180001
6 years, 3 months ago (2014-09-11 17:13:49 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_swarming/builds/15385) mac_chromium_rel_swarming on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_swarming/builds/12768)
6 years, 3 months ago (2014-09-11 19:57:55 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/536143002/200001
6 years, 3 months ago (2014-09-11 20:18:09 UTC) #26
commit-bot: I haz the power
Committed patchset #11 (id:200001) as 1f11e0a4a29aa9c0816203fca86a2f9f9b9d9662
6 years, 3 months ago (2014-09-12 02:00:58 UTC) #27
commit-bot: I haz the power
Patchset 11 (id:??) landed as https://crrev.com/faab4288197b20b73610aad3e5579751b0c3a97b Cr-Commit-Position: refs/heads/master@{#294520}
6 years, 3 months ago (2014-09-12 02:04:38 UTC) #28
engedy
6 years, 3 months ago (2014-09-12 08:54:43 UTC) #29
Message was sent while issue was closed.
A revert of this CL (patchset #11 id:200001) has been created in
https://codereview.chromium.org/565103002/ by engedy@chromium.org.

The reason for reverting is: SitePerProcessBrowserTest.ProxyCreationSkipsSubtree
repeatedly fails on Mac with ASAN reporting use-after-free, see:

http://build.chromium.org/p/chromium.memory/builders/Mac%20ASan%2064%20Tests%...
http://build.chromium.org/p/chromium.fyi/builders/Chromium%20Mac%2010.8%20Bui...

@Nasko, as there are some simultaneous breakages right now, so I could not
investigate this further and opted to revert the whole thing to get the tree
green ASAP.

Snippets from test log:

ASSERTION FAILED: !localFrame || (localFrame->isLocalFrame())
../../third_party/WebKit/Source/core/frame/LocalFrame.h(253) : blink::LocalFrame
*blink::toLocalFrame(blink::Frame *)
../../content/browser/site_per_process_browsertest.cc:690: Failure
Value of: child->child_count()
  Actual: 2
Expected: 0U
Which is: 0.

Powered by Google App Engine
This is Rietveld 408576698