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

Issue 2321073002: binding: Let indexed interceptor falls through to named interceptor. (Closed)

Created:
4 years, 3 months ago by Yuki
Modified:
4 years, 3 months ago
Reviewers:
haraken, tkent, peria
CC:
chromium-reviews, blink-reviews, dglazkov+blink, blink-reviews-html_chromium.org, blink-reviews-bindings_chromium.org, blink-reviews-style_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

binding: Let indexed interceptor falls through to named interceptor. V8's named interceptor never traps |0| of type number nor |"0"| of type string. Both of |0| and |"0"| trigger indexed interceptor. In order for named properties to capture property keys such as 0 or "0", we have to first trap them at indexed interceptor, and then fall through to an named property handler. If an interface supports indexed properties, we don't need this fallback mechanism. If an interface only supports named properties, let 0 or "0" fall through to an named property handler. BUG=229750 Committed: https://crrev.com/4808123c1e7ee6e9ebce4d5d803cf9073b96d72b Cr-Commit-Position: refs/heads/master@{#418495}

Patch Set 1 #

Patch Set 2 : . #

Total comments: 1

Patch Set 3 : Synced. #

Patch Set 4 : Fixed setters and deleters to return values. #

Patch Set 5 : Updated global-interface-listing expectations. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+735 lines, -690 lines) Patch
M third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/custom/V8CSSStyleDeclarationCustom.cpp View 3 chunks +10 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/custom/V8HTMLPlugInElementCustom.cpp View 4 chunks +19 lines, -36 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/custom/V8WindowCustom.cpp View 3 chunks +7 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/bindings/scripts/v8_interface.py View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface.h View 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface.cpp View 1 2 3 19 chunks +166 lines, -117 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface_base.cpp View 2 chunks +9 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.h View 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp View 2 chunks +29 lines, -21 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.h View 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp View 2 chunks +29 lines, -21 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.h View 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp View 2 chunks +29 lines, -21 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp View 1 2 3 1 chunk +76 lines, -72 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp View 1 2 3 2 chunks +92 lines, -86 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.h View 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp View 2 chunks +29 lines, -21 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp View 1 2 3 1 chunk +88 lines, -80 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp View 1 2 3 6 chunks +42 lines, -27 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp View 1 chunk +13 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp View 1 2 3 1 chunk +76 lines, -72 lines 0 comments Download
M third_party/WebKit/Source/core/dom/DOMStringMap.h View 1 1 chunk +0 lines, -13 lines 0 comments Download
M third_party/WebKit/Source/core/dom/DOMStringMap.idl View 1 1 chunk +0 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/dom/DOMTokenList.idl View 1 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLEmbedElement.idl View 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLObjectElement.idl View 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/storage/Storage.h View 1 1 chunk +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/modules/storage/Storage.cpp View 1 3 chunks +0 lines, -16 lines 0 comments Download
M third_party/WebKit/Source/modules/storage/Storage.idl View 1 1 chunk +0 lines, -5 lines 0 comments Download

Messages

Total messages: 32 (20 generated)
Yuki
Could you review this CL?
4 years, 3 months ago (2016-09-08 15:31:25 UTC) #7
haraken
LGTM assuming this doesn't change any web-exposed behavior.
4 years, 3 months ago (2016-09-09 00:46:09 UTC) #10
peria
LGTM https://codereview.chromium.org/2321073002/diff/20001/third_party/WebKit/Source/bindings/templates/interface.cpp File third_party/WebKit/Source/bindings/templates/interface.cpp (right): https://codereview.chromium.org/2321073002/diff/20001/third_party/WebKit/Source/bindings/templates/interface.cpp#newcode391 third_party/WebKit/Source/bindings/templates/interface.cpp:391: communicate property attributes. #} TODO
4 years, 3 months ago (2016-09-09 02:44:51 UTC) #12
Yuki
It turned out that this CL removes @iterator from Storage. Per spec[1], we shouldn't have ...
4 years, 3 months ago (2016-09-13 09:02:28 UTC) #18
peria
lgtm
4 years, 3 months ago (2016-09-13 09:14:43 UTC) #19
tkent
> tkent@: Could you review as an owner of global-interface-listing? Do you have any data ...
4 years, 3 months ago (2016-09-13 09:15:31 UTC) #20
Yuki
On 2016/09/13 09:15:31, tkent wrote: > > tkent@: Could you review as an owner of ...
4 years, 3 months ago (2016-09-13 10:11:05 UTC) #21
Yuki
On 2016/09/13 10:11:05, Yuki wrote: > On 2016/09/13 09:15:31, tkent wrote: > > > tkent@: ...
4 years, 3 months ago (2016-09-13 12:49:21 UTC) #24
tkent
Ah, I understand the current behavior of localStorage[Symbol.iterator] is completely useless. It must be safe ...
4 years, 3 months ago (2016-09-13 23:25:17 UTC) #25
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/2321073002/80001
4 years, 3 months ago (2016-09-14 05:45:36 UTC) #28
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 3 months ago (2016-09-14 05:51:46 UTC) #30
commit-bot: I haz the power
4 years, 3 months ago (2016-09-14 05:54:28 UTC) #32
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/4808123c1e7ee6e9ebce4d5d803cf9073b96d72b
Cr-Commit-Position: refs/heads/master@{#418495}

Powered by Google App Engine
This is Rietveld 408576698