const init = {method: undefined}; const r = new Request('/', init); According https://bugs.chromium.org/p/chromium/issues/detail?id=624278#c6, init.method should be treated as "not present". But blink behavior is different.
const init = {method: undefined}; const r = new Request('/', init); According https://bugs.chromium.org/p/chromium/issues/detail?id=624278#c6, init.method should be treated as "not present". But the current blink behavior is different.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/078ce2e85256df5b1082a7eaf7661e876500ad61 commit 078ce2e85256df5b1082a7eaf7661e876500ad61 Author: Yutaka Hirano <yhirano@chromium.org> Date: Tue Oct 17 06:14:11 2017 Remove DictionaryHelper::Get(..., ExceptionState&) No one uses it. Bug: 775318 , 624278 Change-Id: I1efddd76f8a7eba5fbe4a0bf1eb12899b391baa7 Reviewed-on: https://chromium-review.googlesource.com/722299 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Kenichi Ishibashi <bashi@chromium.org> Reviewed-by: Kouhei Ueno <kouhei@chromium.org> Reviewed-by: Hitoshi Yoshida <peria@chromium.org> Cr-Commit-Position: refs/heads/master@{#509289} [modify] https://crrev.com/078ce2e85256df5b1082a7eaf7661e876500ad61/third_party/WebKit/Source/bindings/core/v8/Dictionary.h [modify] https://crrev.com/078ce2e85256df5b1082a7eaf7661e876500ad61/third_party/WebKit/Source/bindings/core/v8/DictionaryHelperForCore.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4746b34909a839468af3fce25ab75883508e390c commit 4746b34909a839468af3fce25ab75883508e390c Author: Yutaka Hirano <yhirano@chromium.org> Date: Tue Oct 17 11:38:07 2017 Introduce Dictionary::Get<IDLType> This change introduces (yet another) Dictionary::Get function which implements part of https://heycam.github.io/webidl/#es-dictionary. Fetch API will use the function in subsequent CLs. Bug: 775318 Change-Id: I009ac158f05fbb9767b873a7a1d0123b04e3bc4b Reviewed-on: https://chromium-review.googlesource.com/722539 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Yuki Shiino <yukishiino@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Kenichi Ishibashi <bashi@chromium.org> Cr-Commit-Position: refs/heads/master@{#509363} [modify] https://crrev.com/4746b34909a839468af3fce25ab75883508e390c/third_party/WebKit/Source/bindings/bindings.gni [modify] https://crrev.com/4746b34909a839468af3fce25ab75883508e390c/third_party/WebKit/Source/bindings/core/v8/Dictionary.cpp [modify] https://crrev.com/4746b34909a839468af3fce25ab75883508e390c/third_party/WebKit/Source/bindings/core/v8/Dictionary.h [add] https://crrev.com/4746b34909a839468af3fce25ab75883508e390c/third_party/WebKit/Source/bindings/core/v8/DictionaryTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/314288e94895e2c3a7162e2fdc98855005e1d601 commit 314288e94895e2c3a7162e2fdc98855005e1d601 Author: Yutaka Hirano <yhirano@chromium.org> Date: Wed Oct 18 08:06:16 2017 Fix RequestInit IDL compatibility issues RequestInit is manually implemented and has some compatibility issues. 1. undefined value is treated as a real value, e.g., (new Request('/', {method: undefined}).method returns "undefined". 2. Exceptions are silently ignored, e.g., new Request('/', {get method() { throw Error(); }}) doesn't throw. This change fixes the issues. Bug: 775318 Change-Id: I3d5b2b49f47cfdf92ba0707f6af0260653e386d9 Reviewed-on: https://chromium-review.googlesource.com/722543 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Adam Rice <ricea@chromium.org> Reviewed-by: Kouhei Ueno <kouhei@chromium.org> Cr-Commit-Position: refs/heads/master@{#509714} [modify] https://crrev.com/314288e94895e2c3a7162e2fdc98855005e1d601/third_party/WebKit/LayoutTests/http/tests/fetch/script-tests/request.js [modify] https://crrev.com/314288e94895e2c3a7162e2fdc98855005e1d601/third_party/WebKit/Source/bindings/core/v8/Dictionary.h [modify] https://crrev.com/314288e94895e2c3a7162e2fdc98855005e1d601/third_party/WebKit/Source/modules/fetch/RequestInit.cpp [modify] https://crrev.com/314288e94895e2c3a7162e2fdc98855005e1d601/third_party/WebKit/Source/modules/fetch/RequestInit.h
Comment 1 by yhirano@chromium.org
, Oct 17 2017