|
|
Chromium Code Reviews|
Created:
4 years, 1 month ago by horo Modified:
3 years, 11 months ago CC:
chromium-reviews, michaeln, jsbell+serviceworker_chromium.org, shimazu+serviceworker_chromium.org, serviceworker-reviews, jam, nhiroki, kinuko+serviceworker, horo+watch_chromium.org, blink-reviews, darin-cc_chromium.org, kinuko+watch, tzik, falken+watch_chromium.org, blink-worker-reviews_chromium.org Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionResolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled.
Currently FetchEvent.preloadResponse is resolved with null when navigation preload is not enabled.
But according to the spec, it should be resolved with undefined.
https://github.com/w3c/ServiceWorker/commit/fbc0faa#diff-27b79860afe28f01aed4f1f6228367faR2901
BUG=649558
Review-Url: https://codereview.chromium.org/2478783002
Cr-Commit-Position: refs/heads/master@{#441638}
Committed: https://chromium.googlesource.com/chromium/src/+/e7c05695fbc1407a034269b83871159ca662cceb
Patch Set 1 #Patch Set 2 : rebase #Patch Set 3 : rebase #Patch Set 4 : rebase #Patch Set 5 : ScriptPromiseProperty::resolveWithUndefined() #
Total comments: 2
Messages
Total messages: 44 (32 generated)
The CQ bit was checked by horo@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. BUG= ========== to ========== Resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. Currently FetchEvent.preloadResponse is resolved with null. But according to the spec discussion, it should be resolved with undefined. https://github.com/w3c/ServiceWorker/pull/983#pullrequestreview-6410334 BUG=649558 ==========
Description was changed from ========== Resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. Currently FetchEvent.preloadResponse is resolved with null. But according to the spec discussion, it should be resolved with undefined. https://github.com/w3c/ServiceWorker/pull/983#pullrequestreview-6410334 BUG=649558 ========== to ========== Resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. Currently FetchEvent.preloadResponse is resolved with null. But according to the spec discussion, it should be resolved with undefined. https://github.com/w3c/ServiceWorker/pull/983#pullrequestreview-6410334 This CL depends on https://codereview.chromium.org/2475663003/. BUG=649558 ==========
Description was changed from ========== Resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. Currently FetchEvent.preloadResponse is resolved with null. But according to the spec discussion, it should be resolved with undefined. https://github.com/w3c/ServiceWorker/pull/983#pullrequestreview-6410334 This CL depends on https://codereview.chromium.org/2475663003/. BUG=649558 ========== to ========== Resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. Currently FetchEvent.preloadResponse is resolved with null when navigation is not enabled. But according to the spec discussion, it should be resolved with undefined. https://github.com/w3c/ServiceWorker/pull/983#pullrequestreview-6410334 This CL depends on https://codereview.chromium.org/2475663003/. BUG=649558 ==========
Description was changed from ========== Resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. Currently FetchEvent.preloadResponse is resolved with null when navigation is not enabled. But according to the spec discussion, it should be resolved with undefined. https://github.com/w3c/ServiceWorker/pull/983#pullrequestreview-6410334 This CL depends on https://codereview.chromium.org/2475663003/. BUG=649558 ========== to ========== Resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. Currently FetchEvent.preloadResponse is resolved with null when navigation preload is not enabled. But according to the spec discussion, it should be resolved with undefined. https://github.com/w3c/ServiceWorker/pull/983#pullrequestreview-6410334 This CL depends on https://codereview.chromium.org/2475663003/. BUG=649558 ==========
horo@chromium.org changed reviewers: + falken@chromium.org
falken@ Please review this CL. Thank you.
falken@chromium.org changed reviewers: + haraken@chromium.org
This lgtm but can you have someone more familiar with v8/bindings look at it to make sure this is the proper way to implement a Promise that can resolve to an object or undefined? +haraken
On 2016/11/04 05:39:57, falken wrote: > This lgtm but can you have someone more familiar with v8/bindings look at it to > make sure this is the proper way to implement a Promise that can resolve to an > object or undefined? +haraken Have we decided to support an undefined-able Promise in the spec? If that is the case, I'd prefer implementing the logic in ScriptPromiseResolver::resolve rather than implementing it in FetchEvent::ResponseOrUndefined.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
On 2016/11/04 05:45:48, haraken wrote: > On 2016/11/04 05:39:57, falken wrote: > > This lgtm but can you have someone more familiar with v8/bindings look at it > to > > make sure this is the proper way to implement a Promise that can resolve to an > > object or undefined? +haraken > > Have we decided to support an undefined-able Promise in the spec? > > If that is the case, I'd prefer implementing the logic in > ScriptPromiseResolver::resolve rather than implementing it in > FetchEvent::ResponseOrUndefined. This is still under discussion. OK. I will create a CL to implement the logic in ScriptPromiseResolver when the discussion is settled. https://github.com/w3c/ServiceWorker/pull/983#pullrequestreview-6410334
The CQ bit was checked by horo@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by horo@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #4 (id:60001) has been deleted
Dry run: Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds...) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device-xcode-...) ios-simulator-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator-xco...)
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_clang_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_clan...)
The CQ bit was checked by horo@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. Currently FetchEvent.preloadResponse is resolved with null when navigation preload is not enabled. But according to the spec discussion, it should be resolved with undefined. https://github.com/w3c/ServiceWorker/pull/983#pullrequestreview-6410334 This CL depends on https://codereview.chromium.org/2475663003/. BUG=649558 ========== to ========== Resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. Currently FetchEvent.preloadResponse is resolved with null when navigation preload is not enabled. But according to the spec, it should be resolved with undefined. https://github.com/w3c/ServiceWorker/commit/fbc0faa#diff-27b79860afe28f01aed4... BUG=649558 ==========
The CQ bit was checked by horo@chromium.org to run a CQ dry run
On 2016/11/04 05:45:48, haraken wrote: > On 2016/11/04 05:39:57, falken wrote: > > This lgtm but can you have someone more familiar with v8/bindings look at it > to > > make sure this is the proper way to implement a Promise that can resolve to an > > object or undefined? +haraken > > Have we decided to support an undefined-able Promise in the spec? > > If that is the case, I'd prefer implementing the logic in > ScriptPromiseResolver::resolve rather than implementing it in > FetchEvent::ResponseOrUndefined. Now, the behavior is written in the Service Worker spec. https://github.com/w3c/ServiceWorker/commit/fbc0faa#diff-27b79860afe28f01aed4... > Else, resolve |preloadResponse| with undefined. I uploaded Patch Set 5 which introduces ScriptPromiseProperty::resolveWithUndefined(). haraken@ Could you please review this?
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
LGTM https://codereview.chromium.org/2478783002/diff/100001/third_party/WebKit/Sou... File third_party/WebKit/Source/bindings/core/v8/ScriptPromiseProperty.h (right): https://codereview.chromium.org/2478783002/diff/100001/third_party/WebKit/Sou... third_party/WebKit/Source/bindings/core/v8/ScriptPromiseProperty.h:160: return v8::Undefined(isolate); Can we add DCHECK(m_resolved == ResolvedType()) ?
Thank you. https://codereview.chromium.org/2478783002/diff/100001/third_party/WebKit/Sou... File third_party/WebKit/Source/bindings/core/v8/ScriptPromiseProperty.h (right): https://codereview.chromium.org/2478783002/diff/100001/third_party/WebKit/Sou... third_party/WebKit/Source/bindings/core/v8/ScriptPromiseProperty.h:160: return v8::Undefined(isolate); On 2017/01/05 07:56:24, haraken wrote: > > Can we add DCHECK(m_resolved == ResolvedType()) ? No we can't. In file included from ../../third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp:26: In file included from ../../third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.h:30: ../../third_party/WebKit/Source/bindings/core/v8/ScriptPromiseProperty.h:160:21: error: invalid operands to binary expression ('blink::ToV8UndefinedGenerator' and 'blink::ToV8UndefinedGenerator') DCHECK(m_resolved == ResolvedType()); ~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
On 2017/01/05 08:13:08, horo wrote: > Thank you. > > https://codereview.chromium.org/2478783002/diff/100001/third_party/WebKit/Sou... > File third_party/WebKit/Source/bindings/core/v8/ScriptPromiseProperty.h (right): > > https://codereview.chromium.org/2478783002/diff/100001/third_party/WebKit/Sou... > third_party/WebKit/Source/bindings/core/v8/ScriptPromiseProperty.h:160: return > v8::Undefined(isolate); > On 2017/01/05 07:56:24, haraken wrote: > > > > Can we add DCHECK(m_resolved == ResolvedType()) ? > > No we can't. > > > In file included from > ../../third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp:26: > In file included from > ../../third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.h:30: > ../../third_party/WebKit/Source/bindings/core/v8/ScriptPromiseProperty.h:160:21: > error: invalid operands to binary expression ('blink::ToV8UndefinedGenerator' > and 'blink::ToV8UndefinedGenerator') > DCHECK(m_resolved == ResolvedType()); > ~~~~~~~~~~ ^ ~~~~~~~~~~~~~~ Makes sense.
The CQ bit was unchecked by horo@chromium.org
The CQ bit was checked by horo@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from falken@chromium.org Link to the patchset: https://codereview.chromium.org/2478783002/#ps100001 (title: "ScriptPromiseProperty::resolveWithUndefined()")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by horo@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch.
Bot data: {"patchset_id": 100001, "attempt_start_ts": 1483611672409830,
"parent_rev": "201ed21575315baf7363b7e0e9cd4e0d2bb66d92", "commit_rev":
"e7c05695fbc1407a034269b83871159ca662cceb"}
Message was sent while issue was closed.
Description was changed from ========== Resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. Currently FetchEvent.preloadResponse is resolved with null when navigation preload is not enabled. But according to the spec, it should be resolved with undefined. https://github.com/w3c/ServiceWorker/commit/fbc0faa#diff-27b79860afe28f01aed4... BUG=649558 ========== to ========== Resolve FetchEvent.preloadResponse with undefined when Navigation Preload is disabled. Currently FetchEvent.preloadResponse is resolved with null when navigation preload is not enabled. But according to the spec, it should be resolved with undefined. https://github.com/w3c/ServiceWorker/commit/fbc0faa#diff-27b79860afe28f01aed4... BUG=649558 Review-Url: https://codereview.chromium.org/2478783002 Cr-Commit-Position: refs/heads/master@{#441638} Committed: https://chromium.googlesource.com/chromium/src/+/e7c05695fbc1407a034269b83871... ==========
Message was sent while issue was closed.
Committed patchset #5 (id:100001) as https://chromium.googlesource.com/chromium/src/+/e7c05695fbc1407a034269b83871... |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
