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

Issue 1807033003: Rewrite how RemoteFrameOwners retain life. (Closed)

Created:
4 years, 9 months ago by dcheng
Modified:
4 years, 9 months ago
Reviewers:
haraken, alexmos
CC:
dcheng, blink-reviews, blink-reviews-api_chromium.org, blink-reviews-dom_chromium.org, blink-reviews-html_chromium.org, chromium-reviews, dglazkov+blink, eae+blinkwatch, mlamouri+watch-blink_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

Rewrite how RemoteFrameOwners retain life. Before out-of-process iframes, frame owners (i.e. HTMLFrameOwnerElement) were retained by the DOM tree of the parent frame. However, remote frames don't have a DOM tree to keep the frame owners alive. Instead, remote frames used a map to keep the frame owners live while the corresponding child frame was still in the frame tree. However, this map was never updated when frames were swapped, so frame owners would trivially leak after a frame swap. To simplify the code, just eliminate the map and have remote frame owners keep themselves live. With Oilpan, there's actually no need to do anything special: Frame already has a strong reference to the FrameOwner. Without Oilpan, it is a bit more complicated: a remote frame owner manually refs and unrefs itself when attached to/detached from a content frame. BUG=none Committed: https://crrev.com/916fd306fb79285ec5535793bc72f334dd35595e Cr-Commit-Position: refs/heads/master@{#381717}

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+112 lines, -150 lines) Patch
M third_party/WebKit/Source/core/dom/Fullscreen.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/FrameOwner.h View 2 chunks +2 lines, -0 lines 1 comment Download
M third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h View 1 chunk +1 line, -0 lines 0 comments Download
D third_party/WebKit/Source/web/RemoteBridgeFrameOwner.h View 1 chunk +0 lines, -60 lines 0 comments Download
D third_party/WebKit/Source/web/RemoteBridgeFrameOwner.cpp View 1 chunk +0 lines, -49 lines 0 comments Download
A + third_party/WebKit/Source/web/RemoteFrameOwner.h View 4 chunks +10 lines, -9 lines 0 comments Download
A third_party/WebKit/Source/web/RemoteFrameOwner.cpp View 1 chunk +75 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebFrame.cpp View 3 chunks +9 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/web/WebLocalFrameImpl.cpp View 3 chunks +6 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/web/WebRemoteFrameImpl.h View 4 chunks +0 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp View 5 chunks +5 lines, -14 lines 0 comments Download
M third_party/WebKit/Source/web/web.gypi View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/public/web/WebFrame.h View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 14 (8 generated)
dcheng
This is a bit ugly, but the simplest solution I could find. I believe it's ...
4 years, 9 months ago (2016-03-16 21:15:04 UTC) #7
haraken
On 2016/03/16 21:15:04, dcheng wrote: > This is a bit ugly, but the simplest solution ...
4 years, 9 months ago (2016-03-17 10:41:46 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1807033003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1807033003/1
4 years, 9 months ago (2016-03-17 14:30:40 UTC) #10
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 9 months ago (2016-03-17 15:39:53 UTC) #11
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/916fd306fb79285ec5535793bc72f334dd35595e Cr-Commit-Position: refs/heads/master@{#381717}
4 years, 9 months ago (2016-03-17 15:41:03 UTC) #13
alexmos
4 years, 9 months ago (2016-03-17 16:32:29 UTC) #14
Message was sent while issue was closed.
LGTM, thanks for cleaning this up!

Powered by Google App Engine
This is Rietveld 408576698