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

Issue 1938753002: OOPIF: Replicate allowFullscreen flag. (Closed)

Created:
4 years, 7 months ago by alexmos
Modified:
4 years, 7 months ago
Reviewers:
Charlie Reis, dcheng
CC:
dcheng, blink-reviews, blink-reviews-api_chromium.org, blink-reviews-dom_chromium.org, blink-reviews-html_chromium.org, chromium-reviews, creis+watch_chromium.org, darin-cc_chromium.org, dglazkov+blink, eae+blinkwatch, jam, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-blink_chromium.org, mlamouri+watch-content_chromium.org, nasko+codewatch_chromium.org, rwlbuis, sof, 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 allowFullscreen flag. A frame is allowed enter fullscreen if the allowFullscreen attribute is present in all of its ancestor <iframe> elements. For OOPIF, this attribute needs to be replicated: when a parent frame updates allowFullscreen for a remote child frame, the child's RenderFrame needs to learn about this. Additionally, in a case like A-embed-B-embed-C, when A updates allowFullscreen for B, C's process also needs to be notified, since this affects C's fullscreen calculation. Therefore, B's RenderFrameProxy in C's process also needs to receive this update. This CL replicates the allowFullscreen flag by adding it to WebFrameOwnerProperties, which are already replicated to the child's RenderFrame. It also adds logic to replicate WebFrameOwnerProperties to the child's proxies as well, so that it can handle allowFullscreen calculation across multiple remote ancestors. BUG=550497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/788f45b374a8ad32e8a9a6eb910ded1360f33caf Cr-Commit-Position: refs/heads/master@{#395496}

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : #

Patch Set 4 : Cleanup #

Total comments: 2

Patch Set 5 : Rebase #

Patch Set 6 : Only send non-default FrameOwnerProperties to new proxies #

Total comments: 8

Patch Set 7 : Charlie's comments #

Patch Set 8 : Rebase #

Total comments: 2

Patch Set 9 : Daniel's comment #

Patch Set 10 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+242 lines, -75 lines) Patch
M content/browser/frame_host/render_frame_host_impl.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -11 lines 0 comments Download
M content/browser/frame_host/render_frame_host_manager.h View 1 2 3 4 5 6 7 8 9 1 chunk +7 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 9 1 chunk +30 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_proxy_host.cc View 1 2 3 4 5 6 7 8 9 1 chunk +10 lines, -0 lines 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +96 lines, -0 lines 0 comments Download
M content/common/frame_messages.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -2 lines 0 comments Download
M content/renderer/render_frame_proxy.h View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/render_frame_proxy.cc View 1 2 3 4 5 6 7 8 9 2 chunks +7 lines, -0 lines 0 comments Download
A content/test/data/page_with_allowfullscreen_frame.html View 1 2 3 4 5 6 1 chunk +7 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Fullscreen.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -10 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameOwner.h View 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLFrameElementBase.h View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLIFrameElement.h View 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/RemoteFrameOwner.h View 2 chunks +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/RemoteFrameOwner.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebFrame.cpp View 1 2 3 4 5 6 7 8 1 chunk +12 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebLocalFrameImpl.h View 1 2 3 4 5 6 7 8 9 2 chunks +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/web/WebLocalFrameImpl.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +5 lines, -20 lines 0 comments Download
M third_party/WebKit/Source/web/tests/WebFrameTest.cpp View 1 2 3 4 5 6 7 8 9 15 chunks +15 lines, -15 lines 0 comments Download
M third_party/WebKit/public/web/WebFrame.h View 1 2 3 4 5 6 7 8 9 1 chunk +7 lines, -0 lines 0 comments Download
M third_party/WebKit/public/web/WebFrameOwnerProperties.h View 1 2 3 4 5 1 chunk +17 lines, -1 line 0 comments Download
M third_party/WebKit/public/web/WebLocalFrame.h View 1 2 3 4 2 chunks +1 line, -10 lines 0 comments Download

Messages

Total messages: 25 (10 generated)
alexmos
Charlie, can you please take a look at content? Daniel, can you please take a ...
4 years, 7 months ago (2016-05-02 17:44:06 UTC) #4
Charlie Reis
Cool. A few high level questions before I look more deeply. First, I'm guessing it's ...
4 years, 7 months ago (2016-05-03 16:40:44 UTC) #5
alexmos
Great questions! On 2016/05/03 16:40:44, Charlie Reis wrote: > Cool. A few high level questions ...
4 years, 7 months ago (2016-05-03 17:33:04 UTC) #6
alexmos
https://codereview.chromium.org/1938753002/diff/100001/content/browser/frame_host/render_frame_proxy_host.cc File content/browser/frame_host/render_frame_proxy_host.cc (right): https://codereview.chromium.org/1938753002/diff/100001/content/browser/frame_host/render_frame_proxy_host.cc#newcode202 content/browser/frame_host/render_frame_proxy_host.cc:202: if (frame_tree_node_->parent() && should_send_properties) { Just a note that ...
4 years, 7 months ago (2016-05-11 00:15:09 UTC) #7
dcheng
Blink plumbing lg. I wonder if we can add some documentation somewhere that describes how ...
4 years, 7 months ago (2016-05-12 05:32:32 UTC) #8
Charlie Reis
Ok, sounds like there's enough reasons to notify proxies rather than seek out all affected ...
4 years, 7 months ago (2016-05-13 21:18:42 UTC) #9
alexmos
Thanks for reviewing! > Sanity check: It's sent when scroll mode changes, not scroll position, ...
4 years, 7 months ago (2016-05-14 01:12:37 UTC) #10
alexmos
On 2016/05/12 05:32:32, dcheng wrote: > Blink plumbing lg. I wonder if we can add ...
4 years, 7 months ago (2016-05-14 01:17:12 UTC) #11
dcheng
lgtm with one suggestion https://codereview.chromium.org/1938753002/diff/140001/third_party/WebKit/Source/web/WebFrame.cpp File third_party/WebKit/Source/web/WebFrame.cpp (right): https://codereview.chromium.org/1938753002/diff/140001/third_party/WebKit/Source/web/WebFrame.cpp#newcode141 third_party/WebKit/Source/web/WebFrame.cpp:141: FrameOwner* owner = toImplBase()->frame()->owner(); Perhaps ...
4 years, 7 months ago (2016-05-19 22:12:07 UTC) #12
alexmos
https://codereview.chromium.org/1938753002/diff/140001/third_party/WebKit/Source/web/WebFrame.cpp File third_party/WebKit/Source/web/WebFrame.cpp (right): https://codereview.chromium.org/1938753002/diff/140001/third_party/WebKit/Source/web/WebFrame.cpp#newcode141 third_party/WebKit/Source/web/WebFrame.cpp:141: FrameOwner* owner = toImplBase()->frame()->owner(); On 2016/05/19 22:12:07, dcheng wrote: ...
4 years, 7 months ago (2016-05-19 22:56:42 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1938753002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1938753002/160001
4 years, 7 months ago (2016-05-23 20:34:25 UTC) #16
commit-bot: I haz the power
Failed to apply patch for content/browser/site_per_process_browsertest.cc: While running git apply --index -3 -p1; error: patch ...
4 years, 7 months ago (2016-05-23 22:20:44 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1938753002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1938753002/180001
4 years, 7 months ago (2016-05-23 23:06:18 UTC) #22
commit-bot: I haz the power
Committed patchset #10 (id:180001)
4 years, 7 months ago (2016-05-24 00:57:14 UTC) #23
commit-bot: I haz the power
4 years, 7 months ago (2016-05-24 00:58:59 UTC) #25
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/788f45b374a8ad32e8a9a6eb910ded1360f33caf
Cr-Commit-Position: refs/heads/master@{#395496}

Powered by Google App Engine
This is Rietveld 408576698