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

Issue 974723002: OOPIF: Replicate dynamic window.name updates. (Closed)

Created:
5 years, 9 months ago by alexmos
Modified:
5 years, 9 months ago
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, darin-cc_chromium.org, mkwst+moarreviews-renderer_chromium.org, site-isolation-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

OOPIF: Replicate dynamic window.name updates. This CL adds the plumbing to replicate window.name updates to the associated RenderFrameProxies. This consists of: - sending a FrameHostMsg_DidChangeName to the browser process whenever there's a window.name update in JS - recording the changed name in the frame's FrameReplicationState - forwarding the updated name to any of the frame's proxies in other renderer processes via FrameMsg_DidUpdateName. This is a Chromium-only patch since the plumbing for getting window.name notifications out of Blink was already in place and used in <webview>. <webview>'s Chromium-side window.name code is refactored to use the new plumbing in this CL. BUG=426512 Committed: https://crrev.com/be2f4c337f17e85533f5a23dc31ee08bf7c0c167 Cr-Commit-Position: refs/heads/master@{#319823}

Patch Set 1 #

Patch Set 2 #

Patch Set 3 #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Total comments: 17

Patch Set 7 : Address Nasko's comments. Refactor WebView to use new plumbing for window.name updates. #

Patch Set 8 : Remove ExtensionHostMsg_FrameNameChanged, run git cl format #

Patch Set 9 : Rebase #

Total comments: 4

Patch Set 10 : Fixed Nasko's nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+148 lines, -45 lines) Patch
M content/browser/frame_host/frame_tree_node.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/frame_host/frame_tree_node.cc View 1 2 3 4 5 6 7 8 1 chunk +7 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_delegate.h View 1 2 3 4 5 6 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 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 2 3 4 5 6 7 8 2 chunks +6 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 1 chunk +4 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 1 chunk +14 lines, -0 lines 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 2 3 4 5 6 7 8 1 chunk +58 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 3 4 5 6 7 8 1 chunk +6 lines, -0 lines 0 comments Download
M content/common/frame_messages.h View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -0 lines 0 comments Download
M content/public/browser/web_contents_observer.h View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M content/public/renderer/render_frame_observer.h View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +14 lines, -3 lines 0 comments Download
M content/renderer/render_frame_proxy.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_frame_proxy.cc View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -0 lines 0 comments Download
M content/test/data/frame_tree/top.html View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download
M extensions/browser/guest_view/web_view/web_view_guest.h View 1 2 3 4 5 6 2 chunks +2 lines, -4 lines 0 comments Download
M extensions/browser/guest_view/web_view/web_view_guest.cc View 1 2 3 4 5 6 3 chunks +11 lines, -21 lines 0 comments Download
M extensions/common/extension_messages.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -5 lines 0 comments Download
M extensions/renderer/extensions_render_frame_observer.h View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M extensions/renderer/extensions_render_frame_observer.cc View 1 2 3 4 5 6 1 chunk +0 lines, -8 lines 0 comments Download

Messages

Total messages: 20 (7 generated)
alexmos
Nasko, could you please take an initial look? There's also a question below about what ...
5 years, 9 months ago (2015-03-04 01:04:22 UTC) #2
nasko
This is looking great! Mostly nits. https://codereview.chromium.org/974723002/diff/100001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/974723002/diff/100001/content/browser/frame_host/render_frame_host_impl.cc#newcode1193 content/browser/frame_host/render_frame_host_impl.cc:1193: // Update the ...
5 years, 9 months ago (2015-03-05 18:09:28 UTC) #3
alexmos
Thanks Nasko, responses below. Adding fsamuel@ to review the WebView changes. I've refactored WebView's window.name ...
5 years, 9 months ago (2015-03-09 18:47:58 UTC) #5
Fady Samuel
BTW, adding name attribute sync'ing regressed our <webview> performance in SunSpider. This might be an ...
5 years, 9 months ago (2015-03-09 19:48:25 UTC) #6
Fady Samuel
After some offline discussions, lgtm. We decided that this is currently unavoidable and we shouldn't ...
5 years, 9 months ago (2015-03-09 21:38:08 UTC) #7
nasko
LGTM with a couple of nits. https://codereview.chromium.org/974723002/diff/100001/content/browser/site_per_process_browsertest.cc File content/browser/site_per_process_browsertest.cc (right): https://codereview.chromium.org/974723002/diff/100001/content/browser/site_per_process_browsertest.cc#newcode1219 content/browser/site_per_process_browsertest.cc:1219: EXPECT_EQ(root->child_at(0)->frame_name(), "updated-name"); On ...
5 years, 9 months ago (2015-03-09 21:43:40 UTC) #8
alexmos
Thanks for reviewing! https://codereview.chromium.org/974723002/diff/160001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/974723002/diff/160001/content/renderer/render_frame_impl.cc#newcode2134 content/renderer/render_frame_impl.cc:2134: // |report_frame_name_changes| is set (used by ...
5 years, 9 months ago (2015-03-09 21:53:00 UTC) #9
alexmos
kalman@: could you please provide an owner's review for extensions/renderer/*?
5 years, 9 months ago (2015-03-09 22:06:00 UTC) #11
not at google - send to devlin
extensions lgtm
5 years, 9 months ago (2015-03-09 22:08:50 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/974723002/180001
5 years, 9 months ago (2015-03-09 22:36:37 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/974723002/180001
5 years, 9 months ago (2015-03-10 00:44:01 UTC) #18
commit-bot: I haz the power
Committed patchset #10 (id:180001)
5 years, 9 months ago (2015-03-10 02:30:31 UTC) #19
commit-bot: I haz the power
5 years, 9 months ago (2015-03-10 02:31:23 UTC) #20
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/be2f4c337f17e85533f5a23dc31ee08bf7c0c167
Cr-Commit-Position: refs/heads/master@{#319823}

Powered by Google App Engine
This is Rietveld 408576698