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

Issue 2631233003: Avoid mutating frame owner when detaching a provisional frame. (Closed)

Created:
3 years, 11 months ago by dcheng
Modified:
3 years, 11 months ago
Reviewers:
haraken
CC:
chromium-reviews, mlamouri+watch-blink_chromium.org, blink-reviews-html_chromium.org, dglazkov+blink, blink-reviews, kinuko+watch, blink-reviews-api_chromium.org, engedy, site-isolation-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Avoid mutating frame owner's when detaching a provisional frame. When detaching a provisional frame, Blink was incorrectly clearing the content frame of the provisional frame's frame owner. A provisional frame is only partially attached to a frame tree. While it may have a frame owner set, the frame owner's content frame will not point back at the provisional frame. Similarly, though it may have a parent frame, the provisional frame will not appear in the parent frame's list of child nodes. Thus, it is important not to affect the frame tree structure when detaching a provisional frame. BUG=681077, 578349 Review-Url: https://codereview.chromium.org/2631233003 Cr-Commit-Position: refs/heads/master@{#444021} Committed: https://chromium.googlesource.com/chromium/src/+/0401e95afc66f0b87733d04fad5d233c04d35aa3

Patch Set 1 #

Patch Set 2 : Fix comment #

Patch Set 3 : . #

Patch Set 4 : Fix test to actually test the changed behavior. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+94 lines, -18 lines) Patch
M third_party/WebKit/Source/core/frame/Frame.cpp View 1 chunk +7 lines, -1 line 2 comments Download
M third_party/WebKit/Source/core/frame/FrameOwner.h View 3 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLFrameElementBase.h View 1 chunk +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h View 3 chunks +7 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLIFrameElement.h View 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/web/RemoteFrameOwner.h View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/web/tests/FrameTestHelpers.h View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/web/tests/FrameTestHelpers.cpp View 1 chunk +20 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/tests/WebFrameTest.cpp View 1 2 3 1 chunk +32 lines, -0 lines 0 comments Download
M third_party/WebKit/public/web/WebLocalFrame.h View 1 2 1 chunk +17 lines, -5 lines 0 comments Download

Messages

Total messages: 16 (8 generated)
dcheng
3 years, 11 months ago (2017-01-17 08:20:23 UTC) #3
dcheng
3 years, 11 months ago (2017-01-17 08:20:28 UTC) #4
haraken
LGTM https://codereview.chromium.org/2631233003/diff/60001/third_party/WebKit/Source/core/frame/Frame.cpp File third_party/WebKit/Source/core/frame/Frame.cpp (right): https://codereview.chromium.org/2631233003/diff/60001/third_party/WebKit/Source/core/frame/Frame.cpp#newcode90 third_party/WebKit/Source/core/frame/Frame.cpp:90: if (m_owner->contentFrame() == this) Is there any way ...
3 years, 11 months ago (2017-01-17 09:30:23 UTC) #7
dcheng
https://codereview.chromium.org/2631233003/diff/60001/third_party/WebKit/Source/core/frame/Frame.cpp File third_party/WebKit/Source/core/frame/Frame.cpp (right): https://codereview.chromium.org/2631233003/diff/60001/third_party/WebKit/Source/core/frame/Frame.cpp#newcode90 third_party/WebKit/Source/core/frame/Frame.cpp:90: if (m_owner->contentFrame() == this) On 2017/01/17 09:30:22, haraken wrote: ...
3 years, 11 months ago (2017-01-17 09:38:29 UTC) #8
dcheng
On 2017/01/17 09:38:29, dcheng wrote: > https://codereview.chromium.org/2631233003/diff/60001/third_party/WebKit/Source/core/frame/Frame.cpp > File third_party/WebKit/Source/core/frame/Frame.cpp (right): > > https://codereview.chromium.org/2631233003/diff/60001/third_party/WebKit/Source/core/frame/Frame.cpp#newcode90 > ...
3 years, 11 months ago (2017-01-17 09:39:03 UTC) #9
haraken
On 2017/01/17 09:39:03, dcheng wrote: > On 2017/01/17 09:38:29, dcheng wrote: > > > https://codereview.chromium.org/2631233003/diff/60001/third_party/WebKit/Source/core/frame/Frame.cpp ...
3 years, 11 months ago (2017-01-17 09:39:40 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2631233003/60001
3 years, 11 months ago (2017-01-17 09:42:11 UTC) #13
commit-bot: I haz the power
3 years, 11 months ago (2017-01-17 11:07:32 UTC) #16
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://chromium.googlesource.com/chromium/src/+/0401e95afc66f0b87733d04fad5d...

Powered by Google App Engine
This is Rietveld 408576698