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

Issue 1986643002: Track pending WebContents and widgets by (process_id, routing_id) pair. (Closed)

Created:
4 years, 7 months ago by alexmos
Modified:
4 years, 7 months ago
Reviewers:
ncarter (slow)
CC:
chromium-reviews, darin-cc_chromium.org, nasko+codewatch_chromium.org, jam, creis+watch_chromium.org, site-isolation-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@fullscreen-flash
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Track pending WebContents and widgets by (process_id, routing_id) pair. Currently, WebContentsImpl tracks pending widgets (widgets that are created but not yet shown) in the pending_widget_views_ map, which is keyed by the new widget's routing_id only. Similarly, pending WebContents are tracked in pending_contents_, also keyed by a single routing_id. This is prone to a race when two OOPIFs in different processes (but part of the same WebContents) create new widgets, and the two widgets happen to use the same routing ID, colliding in one of these maps. This CL changes both of these maps to be keyed by (process_id, routing_id). BUG=612276, 593522 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/c2a8cec37a56e92d29d91b936734cd1e5ee28734 Cr-Commit-Position: refs/heads/master@{#395435}

Patch Set 1 #

Patch Set 2 : Fix unit tests #

Patch Set 3 : Add tests #

Patch Set 4 : Cleanup #

Total comments: 3

Patch Set 5 : Remove done_ #

Patch Set 6 : Disable popup menu test for Mac/Android #

Unified diffs Side-by-side diffs Delta from patch set Stats (+288 lines, -61 lines) Patch
M content/browser/browser_plugin/browser_plugin_guest.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/frame_host/interstitial_page_impl.h View 1 chunk +6 lines, -3 lines 0 comments Download
M content/browser/frame_host/interstitial_page_impl.cc View 1 chunk +6 lines, -3 lines 0 comments Download
M content/browser/renderer_host/render_view_host_delegate.h View 1 chunk +5 lines, -3 lines 0 comments Download
M content/browser/renderer_host/render_view_host_impl.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 2 3 4 5 1 chunk +186 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 2 3 4 chunks +21 lines, -14 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 8 chunks +32 lines, -25 lines 0 comments Download
M content/browser/web_contents/web_contents_impl_unittest.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M content/test/data/site_isolation/page-with-select.html View 1 2 1 chunk +9 lines, -0 lines 0 comments Download
M content/test/test_web_contents.h View 1 chunk +6 lines, -3 lines 0 comments Download
M content/test/test_web_contents.cc View 2 chunks +9 lines, -4 lines 0 comments Download

Messages

Total messages: 18 (8 generated)
alexmos
Nick, can you please take a look?
4 years, 7 months ago (2016-05-20 22:19:33 UTC) #3
ncarter (slow)
lgtm yes please https://codereview.chromium.org/1986643002/diff/60001/content/browser/site_per_process_browsertest.cc File content/browser/site_per_process_browsertest.cc (right): https://codereview.chromium.org/1986643002/diff/60001/content/browser/site_per_process_browsertest.cc#newcode6956 content/browser/site_per_process_browsertest.cc:6956: if (!done_) FWIW, I don't think ...
4 years, 7 months ago (2016-05-20 23:38:01 UTC) #4
alexmos
Thanks for reviewing! https://codereview.chromium.org/1986643002/diff/60001/content/browser/site_per_process_browsertest.cc File content/browser/site_per_process_browsertest.cc (right): https://codereview.chromium.org/1986643002/diff/60001/content/browser/site_per_process_browsertest.cc#newcode6956 content/browser/site_per_process_browsertest.cc:6956: if (!done_) On 2016/05/20 23:38:01, ncarter ...
4 years, 7 months ago (2016-05-23 16:46:24 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1986643002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1986643002/80001
4 years, 7 months ago (2016-05-23 16:46:56 UTC) #8
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/232312)
4 years, 7 months ago (2016-05-23 17:41:34 UTC) #11
alexmos
Nick - I disabled my popup menu test for Mac and Android, as I've realized ...
4 years, 7 months ago (2016-05-23 21:13:19 UTC) #12
ncarter (slow)
lgtm
4 years, 7 months ago (2016-05-23 22:02:07 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1986643002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1986643002/100001
4 years, 7 months ago (2016-05-23 22:02:39 UTC) #15
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 7 months ago (2016-05-23 22:20:03 UTC) #16
commit-bot: I haz the power
4 years, 7 months ago (2016-05-23 22:24:10 UTC) #18
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/c2a8cec37a56e92d29d91b936734cd1e5ee28734
Cr-Commit-Position: refs/heads/master@{#395435}

Powered by Google App Engine
This is Rietveld 408576698