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

Issue 1667653002: V8-binding: Use v8::Template::SetNativeDataProperty without setter for [Replaceable]. (Closed)

Created:
4 years, 10 months ago by Yuki
Modified:
4 years, 9 months ago
Reviewers:
haraken, Toon Verwaest
CC:
chromium-reviews, blink-reviews, blink-reviews-bindings_chromium.org, Toon Verwaest
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Use v8::Template::SetNativeDataProperty without setter for [Replaceable]. We shouldn't use v8::Object::CreateDataProperty in a setter function callback if the property is a data-type property. Because CreateDataProperty for data-type property invokes its setter, so it causes an infinite loop. V8 already supports [Replaceable]'s behavior if we use SetNativeDataProperty() without setter. Thus, this CL uses it. This CL has an unintentional side effect that deletion / replacement in one window is observable from another window. Example is below. <parent window> childWin.frames // => Window object <child window> delete frames // |frames = 0| has the same effect. // => true <parent window> childWin.frames // => throws a SecurityError You cannot access to childWin.frames, but you can detect a change on childWin, which is not expected. See also the changes in http/tests/security/w3c/cross-origin-objects-actual.txt BUG=582538, 501666 Committed: https://crrev.com/607c6e18aae50211a534f964ebfdac47cdbf21be Cr-Commit-Position: refs/heads/master@{#381435}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : #

Patch Set 13 : Synced. #

Patch Set 14 : Synced. #

Patch Set 15 : Updates the test expectation of http/tests/security/w3c/cross-origin-objects.html #

Patch Set 16 : Synced. #

Patch Set 17 : Moved the [LenientThis] test to http/tests/. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+170 lines, -318 lines) Patch
M third_party/WebKit/LayoutTests/fast/dom/Window/lenient-this-issue569043.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -33 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/Window/lenient-this-issue569043-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -13 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/global-constructors.html View 1 2 3 4 5 6 7 3 chunks +34 lines, -27 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/global-constructors-expected.txt View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-put-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-set-window-properties-expected.txt View 1 2 3 4 5 6 7 3 chunks +4 lines, -4 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/security/lenient-this-issue569043.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +29 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/security/w3c/cross-origin-objects-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/scripts/v8_attributes.py View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +25 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/bindings/scripts/v8_interface.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +7 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/attributes.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -4 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface_base.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +7 lines, -39 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +9 lines, -42 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +3 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +1 line, -19 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 9 chunks +23 lines, -58 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +1 line, -19 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +1 line, -19 lines 0 comments Download
M third_party/WebKit/Source/web/tests/ActivityLoggerTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +8 lines, -1 line 0 comments Download

Messages

Total messages: 18 (12 generated)
Yuki
Could you guys review this CL? This CL trades the following two issues. a) existing ...
4 years, 9 months ago (2016-03-01 09:34:18 UTC) #9
Toon Verwaest
I still think you should. LGTM from my side.
4 years, 9 months ago (2016-03-07 19:45:31 UTC) #10
haraken
LGTM
4 years, 9 months ago (2016-03-07 23:33:34 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1667653002/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1667653002/320001
4 years, 9 months ago (2016-03-16 11:25:09 UTC) #14
commit-bot: I haz the power
Committed patchset #17 (id:320001)
4 years, 9 months ago (2016-03-16 11:35:08 UTC) #16
commit-bot: I haz the power
4 years, 9 months ago (2016-03-16 11:36:08 UTC) #18
Message was sent while issue was closed.
Patchset 17 (id:??) landed as
https://crrev.com/607c6e18aae50211a534f964ebfdac47cdbf21be
Cr-Commit-Position: refs/heads/master@{#381435}

Powered by Google App Engine
This is Rietveld 408576698