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

Issue 1968213002: Try harder to make sure that blink::FrameTree::m_uniqueName is truly unique. (Closed)

Created:
4 years, 7 months ago by Łukasz Anforowicz
Modified:
4 years, 6 months ago
Reviewers:
dcheng
CC:
blink-reviews, chromium-reviews, Charlie Reis, 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

Try harder to make sure that blink::FrameTree::m_uniqueName is truly unique. After this CL, blink::FrameTree::m_uniqueName is guaranteed to be truly unique (within a given frame tree) except when: - The frame tree temporarily contains both an old and a new provisional frame. - The frame tree spans multiple renderer processes, which race to assign the same name to different frames (https://crbug.com/558680#c14). BUG=588800 Committed: https://crrev.com/201638819dd4aa0c3b18bf3fe64c3a8a6256c44c Cr-Commit-Position: refs/heads/master@{#397443}

Patch Set 1 #

Total comments: 1

Patch Set 2 : Replaced random-numbers with deterministic, tree-position-based string concatenated with sequential number. #

Patch Set 3 : Rebasing... #

Patch Set 4 : Added some layout tests. #

Patch Set 5 : New test, polished the new format a bit, added comments. #

Total comments: 17

Patch Set 6 : Minor tweaks (renaming methods, tweaking comments). #

Total comments: 6

Patch Set 7 : Addressed CR comments from dcheng@. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+437 lines, -38 lines) Patch
A third_party/WebKit/LayoutTests/fast/frames/unique-name-all-subframes-have-same-name.html View 1 2 3 1 chunk +49 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/frames/unique-name-all-subframes-have-same-name-expected.txt View 1 2 3 4 1 chunk +26 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/frames/unique-name-ancestor-concatenation-conflict.html View 1 2 3 4 1 chunk +34 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/frames/unique-name-ancestor-concatenation-conflict-expected.txt View 1 2 3 4 1 chunk +46 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/frames/unique-name-main-frame-conflict.html View 1 2 3 1 chunk +25 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/frames/unique-name-main-frame-conflict-expected.txt View 1 2 3 1 chunk +6 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/frames/unique-name-remove-add-child.html View 1 2 3 1 chunk +28 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/fast/frames/unique-name-remove-add-child-expected.txt View 1 2 3 4 1 chunk +3 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/page/FrameTree.h View 1 2 3 4 5 6 2 chunks +38 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/page/FrameTree.cpp View 1 2 3 4 5 6 5 chunks +182 lines, -27 lines 0 comments Download

Messages

Total messages: 20 (3 generated)
Łukasz Anforowicz
Daniel, could you please take a look? I am not very happy with the generate-checkForCollisions-retryIfNeeded ...
4 years, 7 months ago (2016-05-11 23:11:26 UTC) #2
dcheng
https://codereview.chromium.org/1968213002/diff/1/third_party/WebKit/Source/core/page/FrameTree.cpp File third_party/WebKit/Source/core/page/FrameTree.cpp (right): https://codereview.chromium.org/1968213002/diff/1/third_party/WebKit/Source/core/page/FrameTree.cpp#newcode220 third_party/WebKit/Source/core/page/FrameTree.cpp:220: } while (uniqueNameExists(uniqueNameBuilder.toAtomicString())); So according to the spec, a ...
4 years, 7 months ago (2016-05-12 05:31:18 UTC) #3
Łukasz Anforowicz
On 2016/05/12 05:31:18, dcheng wrote: > https://codereview.chromium.org/1968213002/diff/1/third_party/WebKit/Source/core/page/FrameTree.cpp > File third_party/WebKit/Source/core/page/FrameTree.cpp (right): > > https://codereview.chromium.org/1968213002/diff/1/third_party/WebKit/Source/core/page/FrameTree.cpp#newcode220 > ...
4 years, 7 months ago (2016-05-12 15:39:39 UTC) #4
Łukasz Anforowicz
On 2016/05/12 15:39:39, Łukasz Anforowicz wrote: > On 2016/05/12 05:31:18, dcheng wrote: > > > ...
4 years, 7 months ago (2016-05-13 20:34:41 UTC) #5
Łukasz Anforowicz
Daniel - can you take another look please? In the last patchset I've removed random ...
4 years, 7 months ago (2016-05-16 21:32:55 UTC) #6
dcheng
Sorry for not replying. I've been thinking about this because I (perhaps hoping for the ...
4 years, 6 months ago (2016-05-26 06:43:39 UTC) #7
Łukasz Anforowicz
On 2016/05/26 06:43:39, dcheng wrote: > Sorry for not replying. I've been thinking about this ...
4 years, 6 months ago (2016-05-26 17:32:32 UTC) #8
Łukasz Anforowicz
I've tried to gather scenarios that I hope will be useful to keep in mind ...
4 years, 6 months ago (2016-05-26 18:27:58 UTC) #9
Łukasz Anforowicz
Daniel, I have: 1) Added a new test that with old code would repro a ...
4 years, 6 months ago (2016-05-27 16:55:27 UTC) #10
dcheng
Just a few nits. Also, I'm wondering... is it possible to just make ensureUniquenessOfUniqueName handle ...
4 years, 6 months ago (2016-05-31 19:57:48 UTC) #11
Łukasz Anforowicz
Daniel, can you take another look please? On 2016/05/31 19:57:48, dcheng wrote: > ... > ...
4 years, 6 months ago (2016-05-31 23:50:20 UTC) #12
dcheng
https://codereview.chromium.org/1968213002/diff/80001/third_party/WebKit/Source/core/page/FrameTree.h File third_party/WebKit/Source/core/page/FrameTree.h (right): https://codereview.chromium.org/1968213002/diff/80001/third_party/WebKit/Source/core/page/FrameTree.h#newcode46 third_party/WebKit/Source/core/page/FrameTree.h:46: // The value should be treated (at least outside ...
4 years, 6 months ago (2016-06-01 20:58:11 UTC) #13
Łukasz Anforowicz
Daniel, can you take another look please? https://codereview.chromium.org/1968213002/diff/80001/third_party/WebKit/Source/core/page/FrameTree.h File third_party/WebKit/Source/core/page/FrameTree.h (right): https://codereview.chromium.org/1968213002/diff/80001/third_party/WebKit/Source/core/page/FrameTree.h#newcode46 third_party/WebKit/Source/core/page/FrameTree.h:46: // The ...
4 years, 6 months ago (2016-06-01 22:31:29 UTC) #14
dcheng
LGTM
4 years, 6 months ago (2016-06-01 23:06:03 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1968213002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1968213002/120001
4 years, 6 months ago (2016-06-02 16:01:58 UTC) #17
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 6 months ago (2016-06-02 16:49:25 UTC) #18
commit-bot: I haz the power
4 years, 6 months ago (2016-06-02 16:50:47 UTC) #20
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/201638819dd4aa0c3b18bf3fe64c3a8a6256c44c
Cr-Commit-Position: refs/heads/master@{#397443}

Powered by Google App Engine
This is Rietveld 408576698