New issue
Advanced search Search tips

Issue 666661 link

Starred by 1 user

Issue metadata

Status: Available
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

binding: Dictionary should rethrows an exception during ES => IDL conversion.

Project Member Reported by yukishiino@chromium.org, Nov 18 2016

Issue description

Per WebIDL spec,
https://heycam.github.io/webidl/#es-dictionary
when converting an ECMAScript dictionary object to an IDL dictionary, we should rethrows an exception if it occurred.  Especially this is important when a dictionary member is an accessor property which throws an exception.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf

commit 1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf
Author: yukishiino <yukishiino@chromium.org>
Date: Mon Nov 21 14:13:27 2016

binding: Makes Dictionary throw an exception (constructor).

As part of an effort to make Dictionary handle an exception
correctly, this CL makes Dictionary's ctor take an
ExceptionState and rethrow an exception if any when converting
an ECMAScript value to an IDL dictionary value.

BUG=666661

Review-Url: https://codereview.chromium.org/2509713002
Cr-Commit-Position: refs/heads/master@{#433529}

[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/LayoutTests/fast/dom/idl-dictionary-unittest-expected.txt
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/bindings/core/v8/ArrayValue.cpp
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/bindings/core/v8/Dictionary.cpp
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/bindings/core/v8/Dictionary.h
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/bindings/core/v8/DictionaryIterator.cpp
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/bindings/modules/v8/serialization/V8ScriptValueSerializerForModulesTest.cpp
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/bindings/scripts/v8_types.py
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/bindings/tests/results/core/ArrayBufferOrArrayBufferViewOrDictionary.cpp
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.cpp
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.cpp
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/core/animation/EffectInputTest.cpp
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/core/animation/KeyframeEffectTest.cpp
[modify] https://crrev.com/1f6b9a3ebd8b058a5f07ae5393bbd7469ad030bf/third_party/WebKit/Source/web/WebCryptoNormalize.cpp

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/541073fb340487f9e29f0eefa10ce4f7548f49c4

commit 541073fb340487f9e29f0eefa10ce4f7548f49c4
Author: yukishiino <yukishiino@chromium.org>
Date: Fri Nov 25 16:04:49 2016

binding: Lets Dictionary::getPropertyNames, etc. rethrow an exception.

Lets Dictionary::getPropertyNames and getOwnPropertiesAsStringHashMap
rethrow an exception up to the call sites.

BUG=666661

Review-Url: https://codereview.chromium.org/2519403002
Cr-Commit-Position: refs/heads/master@{#434516}

[modify] https://crrev.com/541073fb340487f9e29f0eefa10ce4f7548f49c4/third_party/WebKit/Source/bindings/core/v8/Dictionary.cpp
[modify] https://crrev.com/541073fb340487f9e29f0eefa10ce4f7548f49c4/third_party/WebKit/Source/bindings/core/v8/Dictionary.h
[modify] https://crrev.com/541073fb340487f9e29f0eefa10ce4f7548f49c4/third_party/WebKit/Source/bindings/core/v8/V8StringResource.h
[modify] https://crrev.com/541073fb340487f9e29f0eefa10ce4f7548f49c4/third_party/WebKit/Source/core/animation/EffectInput.cpp
[modify] https://crrev.com/541073fb340487f9e29f0eefa10ce4f7548f49c4/third_party/WebKit/Source/core/testing/DictionaryTest.cpp
[modify] https://crrev.com/541073fb340487f9e29f0eefa10ce4f7548f49c4/third_party/WebKit/Source/modules/fetch/Headers.cpp
[modify] https://crrev.com/541073fb340487f9e29f0eefa10ce4f7548f49c4/third_party/WebKit/Source/modules/mediastream/MediaConstraintsImpl.cpp
[modify] https://crrev.com/541073fb340487f9e29f0eefa10ce4f7548f49c4/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
[modify] https://crrev.com/541073fb340487f9e29f0eefa10ce4f7548f49c4/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp
[modify] https://crrev.com/541073fb340487f9e29f0eefa10ce4f7548f49c4/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.h
[modify] https://crrev.com/541073fb340487f9e29f0eefa10ce4f7548f49c4/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.idl

Status: Available (was: Started)

Sign in to add a comment