Merge inbound to mozilla-central a=merge
authorCoroiu Cristina <ccoroiu@mozilla.com>
Tue, 11 Dec 2018 23:32:04 +0200
changeset 507196 ac7f3beb6333
parent 507060 aee6c9dbb430 (current diff)
parent 507195 aba3963bc765 (diff)
child 507255 cbf40e87f4f1
child 507295 fba48482d8f4
push id10547
push userffxbld-merge
push dateMon, 21 Jan 2019 13:03:58 +0000
treeherdermozilla-beta@24ec1916bffe [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone66.0a1
first release with
nightly linux32
ac7f3beb6333 / 66.0a1 / 20181211213305 / files
nightly linux64
ac7f3beb6333 / 66.0a1 / 20181211213305 / files
nightly mac
ac7f3beb6333 / 66.0a1 / 20181211213305 / files
nightly win32
ac7f3beb6333 / 66.0a1 / 20181211213305 / files
nightly win64
ac7f3beb6333 / 66.0a1 / 20181211213305 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge inbound to mozilla-central a=merge
testing/web-platform/meta/feature-policy/reporting/encrypted-media-reporting.https.html.ini
testing/web-platform/meta/feature-policy/reporting/geolocation-reporting.https.html.ini
testing/web-platform/meta/shadow-dom/scroll-to-the-fragment-in-shadow-tree.html.ini
testing/web-platform/meta/streams/byte-length-queuing-strategy.serviceworker.https.html.ini
testing/web-platform/meta/streams/count-queuing-strategy.serviceworker.https.html.ini
testing/web-platform/meta/streams/piping/abort.dedicatedworker.html.ini
testing/web-platform/meta/streams/piping/abort.html.ini
testing/web-platform/meta/streams/piping/abort.serviceworker.https.html.ini
testing/web-platform/meta/streams/piping/abort.sharedworker.html.ini
testing/web-platform/meta/streams/readable-byte-streams/constructor.dedicatedworker.html.ini
testing/web-platform/meta/streams/readable-byte-streams/constructor.html.ini
testing/web-platform/meta/streams/readable-byte-streams/constructor.serviceworker.https.html.ini
testing/web-platform/meta/streams/readable-byte-streams/constructor.sharedworker.html.ini
testing/web-platform/meta/streams/readable-streams/general.dedicatedworker.html.ini
testing/web-platform/meta/streams/readable-streams/general.html.ini
testing/web-platform/meta/streams/readable-streams/general.serviceworker.https.html.ini
testing/web-platform/meta/streams/readable-streams/general.sharedworker.html.ini
testing/web-platform/meta/streams/readable-streams/reentrant-strategies.dedicatedworker.html.ini
testing/web-platform/meta/streams/readable-streams/reentrant-strategies.html.ini
testing/web-platform/meta/streams/readable-streams/reentrant-strategies.serviceworker.https.html.ini
testing/web-platform/meta/streams/readable-streams/reentrant-strategies.sharedworker.html.ini
testing/web-platform/meta/streams/readable-streams/templated.dedicatedworker.html.ini
testing/web-platform/meta/streams/readable-streams/templated.html.ini
testing/web-platform/meta/streams/readable-streams/templated.serviceworker.https.html.ini
testing/web-platform/meta/streams/readable-streams/templated.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/backpressure.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/backpressure.html.ini
testing/web-platform/meta/streams/transform-streams/backpressure.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/backpressure.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/brand-checks.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/brand-checks.html.ini
testing/web-platform/meta/streams/transform-streams/brand-checks.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/brand-checks.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/constructor.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/constructor.html.ini
testing/web-platform/meta/streams/transform-streams/constructor.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/constructor.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/errors.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/errors.html.ini
testing/web-platform/meta/streams/transform-streams/errors.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/errors.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/flush.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/flush.html.ini
testing/web-platform/meta/streams/transform-streams/flush.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/flush.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/general.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/general.html.ini
testing/web-platform/meta/streams/transform-streams/general.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/general.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/lipfuzz.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/lipfuzz.html.ini
testing/web-platform/meta/streams/transform-streams/lipfuzz.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/lipfuzz.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/patched-global.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/patched-global.html.ini
testing/web-platform/meta/streams/transform-streams/patched-global.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/patched-global.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/properties.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/properties.html.ini
testing/web-platform/meta/streams/transform-streams/properties.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/properties.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/reentrant-strategies.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/reentrant-strategies.html.ini
testing/web-platform/meta/streams/transform-streams/reentrant-strategies.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/reentrant-strategies.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/strategies.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/strategies.html.ini
testing/web-platform/meta/streams/transform-streams/strategies.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/strategies.sharedworker.html.ini
testing/web-platform/meta/streams/transform-streams/terminate.dedicatedworker.html.ini
testing/web-platform/meta/streams/transform-streams/terminate.html.ini
testing/web-platform/meta/streams/transform-streams/terminate.serviceworker.https.html.ini
testing/web-platform/meta/streams/transform-streams/terminate.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/aborting.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/aborting.html.ini
testing/web-platform/meta/streams/writable-streams/aborting.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/aborting.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/bad-strategies.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/bad-strategies.html.ini
testing/web-platform/meta/streams/writable-streams/bad-strategies.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/bad-strategies.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/bad-underlying-sinks.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/bad-underlying-sinks.html.ini
testing/web-platform/meta/streams/writable-streams/bad-underlying-sinks.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/bad-underlying-sinks.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/brand-checks.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/brand-checks.html.ini
testing/web-platform/meta/streams/writable-streams/brand-checks.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/brand-checks.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/byte-length-queuing-strategy.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/byte-length-queuing-strategy.html.ini
testing/web-platform/meta/streams/writable-streams/byte-length-queuing-strategy.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/byte-length-queuing-strategy.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/close.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/close.html.ini
testing/web-platform/meta/streams/writable-streams/close.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/close.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/constructor.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/constructor.html.ini
testing/web-platform/meta/streams/writable-streams/constructor.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/constructor.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/count-queuing-strategy.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/count-queuing-strategy.html.ini
testing/web-platform/meta/streams/writable-streams/count-queuing-strategy.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/count-queuing-strategy.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/error.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/error.html.ini
testing/web-platform/meta/streams/writable-streams/error.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/error.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/floating-point-total-queue-size.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/floating-point-total-queue-size.html.ini
testing/web-platform/meta/streams/writable-streams/floating-point-total-queue-size.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/floating-point-total-queue-size.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/general.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/general.html.ini
testing/web-platform/meta/streams/writable-streams/general.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/general.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/properties.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/properties.html.ini
testing/web-platform/meta/streams/writable-streams/properties.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/properties.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/reentrant-strategy.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/reentrant-strategy.html.ini
testing/web-platform/meta/streams/writable-streams/reentrant-strategy.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/reentrant-strategy.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/start.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/start.html.ini
testing/web-platform/meta/streams/writable-streams/start.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/start.sharedworker.html.ini
testing/web-platform/meta/streams/writable-streams/write.dedicatedworker.html.ini
testing/web-platform/meta/streams/writable-streams/write.html.ini
testing/web-platform/meta/streams/writable-streams/write.serviceworker.https.html.ini
testing/web-platform/meta/streams/writable-streams/write.sharedworker.html.ini
testing/web-platform/meta/svg/types/scripted/SVGAnimatedEnumeration-SVGFEBlendElement.html.ini
testing/web-platform/meta/webrtc/RTCDTMFSender-insertDTMF.https.html.ini
testing/web-platform/meta/webrtc/RTCPeerConnection-removeTrack.https.html.ini
testing/web-platform/meta/workers/interfaces/SharedWorkerGlobalScope/name/setting.html.ini
testing/web-platform/tests/custom-elements/resources/custom-elements-helpers.js
testing/web-platform/tests/fullscreen/api/element-request-fullscreen-manual.html
testing/web-platform/tests/pointerevents/pointerevent_capture_mouse-manual.html
testing/web-platform/tests/pointerevents/pointerevent_pointermove-manual.html
testing/web-platform/tests/pointerevents/pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html
testing/web-platform/tests/pointerevents/pointerevent_pointermove_on_chorded_mouse_button-manual.html
testing/web-platform/tests/pointerevents/pointerevent_setpointercapture_inactive_button_mouse-manual.html
testing/web-platform/tests/streams/byte-length-queuing-strategy.dedicatedworker.html
testing/web-platform/tests/streams/byte-length-queuing-strategy.html
testing/web-platform/tests/streams/byte-length-queuing-strategy.js
testing/web-platform/tests/streams/byte-length-queuing-strategy.serviceworker.https.html
testing/web-platform/tests/streams/byte-length-queuing-strategy.sharedworker.html
testing/web-platform/tests/streams/count-queuing-strategy.dedicatedworker.html
testing/web-platform/tests/streams/count-queuing-strategy.html
testing/web-platform/tests/streams/count-queuing-strategy.js
testing/web-platform/tests/streams/count-queuing-strategy.serviceworker.https.html
testing/web-platform/tests/streams/count-queuing-strategy.sharedworker.html
testing/web-platform/tests/streams/generate-test-wrappers.js
testing/web-platform/tests/streams/piping/abort.dedicatedworker.html
testing/web-platform/tests/streams/piping/abort.html
testing/web-platform/tests/streams/piping/abort.js
testing/web-platform/tests/streams/piping/abort.serviceworker.https.html
testing/web-platform/tests/streams/piping/abort.sharedworker.html
testing/web-platform/tests/streams/piping/close-propagation-backward.dedicatedworker.html
testing/web-platform/tests/streams/piping/close-propagation-backward.html
testing/web-platform/tests/streams/piping/close-propagation-backward.js
testing/web-platform/tests/streams/piping/close-propagation-backward.serviceworker.https.html
testing/web-platform/tests/streams/piping/close-propagation-backward.sharedworker.html
testing/web-platform/tests/streams/piping/close-propagation-forward.dedicatedworker.html
testing/web-platform/tests/streams/piping/close-propagation-forward.html
testing/web-platform/tests/streams/piping/close-propagation-forward.js
testing/web-platform/tests/streams/piping/close-propagation-forward.serviceworker.https.html
testing/web-platform/tests/streams/piping/close-propagation-forward.sharedworker.html
testing/web-platform/tests/streams/piping/error-propagation-backward.dedicatedworker.html
testing/web-platform/tests/streams/piping/error-propagation-backward.html
testing/web-platform/tests/streams/piping/error-propagation-backward.js
testing/web-platform/tests/streams/piping/error-propagation-backward.serviceworker.https.html
testing/web-platform/tests/streams/piping/error-propagation-backward.sharedworker.html
testing/web-platform/tests/streams/piping/error-propagation-forward.dedicatedworker.html
testing/web-platform/tests/streams/piping/error-propagation-forward.html
testing/web-platform/tests/streams/piping/error-propagation-forward.js
testing/web-platform/tests/streams/piping/error-propagation-forward.serviceworker.https.html
testing/web-platform/tests/streams/piping/error-propagation-forward.sharedworker.html
testing/web-platform/tests/streams/piping/flow-control.dedicatedworker.html
testing/web-platform/tests/streams/piping/flow-control.html
testing/web-platform/tests/streams/piping/flow-control.js
testing/web-platform/tests/streams/piping/flow-control.serviceworker.https.html
testing/web-platform/tests/streams/piping/flow-control.sharedworker.html
testing/web-platform/tests/streams/piping/general.dedicatedworker.html
testing/web-platform/tests/streams/piping/general.html
testing/web-platform/tests/streams/piping/general.js
testing/web-platform/tests/streams/piping/general.serviceworker.https.html
testing/web-platform/tests/streams/piping/general.sharedworker.html
testing/web-platform/tests/streams/piping/multiple-propagation.dedicatedworker.html
testing/web-platform/tests/streams/piping/multiple-propagation.html
testing/web-platform/tests/streams/piping/multiple-propagation.js
testing/web-platform/tests/streams/piping/multiple-propagation.serviceworker.https.html
testing/web-platform/tests/streams/piping/multiple-propagation.sharedworker.html
testing/web-platform/tests/streams/piping/pipe-through.dedicatedworker.html
testing/web-platform/tests/streams/piping/pipe-through.html
testing/web-platform/tests/streams/piping/pipe-through.js
testing/web-platform/tests/streams/piping/pipe-through.serviceworker.https.html
testing/web-platform/tests/streams/piping/pipe-through.sharedworker.html
testing/web-platform/tests/streams/piping/then-interception.dedicatedworker.html
testing/web-platform/tests/streams/piping/then-interception.html
testing/web-platform/tests/streams/piping/then-interception.js
testing/web-platform/tests/streams/piping/then-interception.serviceworker.https.html
testing/web-platform/tests/streams/piping/then-interception.sharedworker.html
testing/web-platform/tests/streams/piping/transform-streams.dedicatedworker.html
testing/web-platform/tests/streams/piping/transform-streams.html
testing/web-platform/tests/streams/piping/transform-streams.js
testing/web-platform/tests/streams/piping/transform-streams.serviceworker.https.html
testing/web-platform/tests/streams/piping/transform-streams.sharedworker.html
testing/web-platform/tests/streams/readable-byte-streams/brand-checks.dedicatedworker.html
testing/web-platform/tests/streams/readable-byte-streams/brand-checks.html
testing/web-platform/tests/streams/readable-byte-streams/brand-checks.js
testing/web-platform/tests/streams/readable-byte-streams/brand-checks.serviceworker.https.html
testing/web-platform/tests/streams/readable-byte-streams/brand-checks.sharedworker.html
testing/web-platform/tests/streams/readable-byte-streams/construct-byob-request.dedicatedworker.html
testing/web-platform/tests/streams/readable-byte-streams/construct-byob-request.html
testing/web-platform/tests/streams/readable-byte-streams/construct-byob-request.js
testing/web-platform/tests/streams/readable-byte-streams/construct-byob-request.serviceworker.https.html
testing/web-platform/tests/streams/readable-byte-streams/construct-byob-request.sharedworker.html
testing/web-platform/tests/streams/readable-byte-streams/constructor.dedicatedworker.html
testing/web-platform/tests/streams/readable-byte-streams/constructor.html
testing/web-platform/tests/streams/readable-byte-streams/constructor.js
testing/web-platform/tests/streams/readable-byte-streams/constructor.serviceworker.https.html
testing/web-platform/tests/streams/readable-byte-streams/constructor.sharedworker.html
testing/web-platform/tests/streams/readable-byte-streams/detached-buffers.dedicatedworker.html
testing/web-platform/tests/streams/readable-byte-streams/detached-buffers.html
testing/web-platform/tests/streams/readable-byte-streams/detached-buffers.js
testing/web-platform/tests/streams/readable-byte-streams/detached-buffers.serviceworker.https.html
testing/web-platform/tests/streams/readable-byte-streams/detached-buffers.sharedworker.html
testing/web-platform/tests/streams/readable-byte-streams/general.dedicatedworker.html
testing/web-platform/tests/streams/readable-byte-streams/general.html
testing/web-platform/tests/streams/readable-byte-streams/general.js
testing/web-platform/tests/streams/readable-byte-streams/general.serviceworker.https.html
testing/web-platform/tests/streams/readable-byte-streams/general.sharedworker.html
testing/web-platform/tests/streams/readable-byte-streams/properties.dedicatedworker.html
testing/web-platform/tests/streams/readable-byte-streams/properties.html
testing/web-platform/tests/streams/readable-byte-streams/properties.js
testing/web-platform/tests/streams/readable-byte-streams/properties.serviceworker.https.html
testing/web-platform/tests/streams/readable-byte-streams/properties.sharedworker.html
testing/web-platform/tests/streams/readable-streams/bad-strategies.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/bad-strategies.html
testing/web-platform/tests/streams/readable-streams/bad-strategies.js
testing/web-platform/tests/streams/readable-streams/bad-strategies.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/bad-strategies.sharedworker.html
testing/web-platform/tests/streams/readable-streams/bad-underlying-sources.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/bad-underlying-sources.html
testing/web-platform/tests/streams/readable-streams/bad-underlying-sources.js
testing/web-platform/tests/streams/readable-streams/bad-underlying-sources.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/bad-underlying-sources.sharedworker.html
testing/web-platform/tests/streams/readable-streams/brand-checks.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/brand-checks.html
testing/web-platform/tests/streams/readable-streams/brand-checks.js
testing/web-platform/tests/streams/readable-streams/brand-checks.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/brand-checks.sharedworker.html
testing/web-platform/tests/streams/readable-streams/cancel.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/cancel.html
testing/web-platform/tests/streams/readable-streams/cancel.js
testing/web-platform/tests/streams/readable-streams/cancel.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/cancel.sharedworker.html
testing/web-platform/tests/streams/readable-streams/constructor.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/constructor.html
testing/web-platform/tests/streams/readable-streams/constructor.js
testing/web-platform/tests/streams/readable-streams/constructor.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/constructor.sharedworker.html
testing/web-platform/tests/streams/readable-streams/count-queuing-strategy-integration.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/count-queuing-strategy-integration.html
testing/web-platform/tests/streams/readable-streams/count-queuing-strategy-integration.js
testing/web-platform/tests/streams/readable-streams/count-queuing-strategy-integration.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/count-queuing-strategy-integration.sharedworker.html
testing/web-platform/tests/streams/readable-streams/default-reader.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/default-reader.html
testing/web-platform/tests/streams/readable-streams/default-reader.js
testing/web-platform/tests/streams/readable-streams/default-reader.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/default-reader.sharedworker.html
testing/web-platform/tests/streams/readable-streams/floating-point-total-queue-size.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/floating-point-total-queue-size.html
testing/web-platform/tests/streams/readable-streams/floating-point-total-queue-size.js
testing/web-platform/tests/streams/readable-streams/floating-point-total-queue-size.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/floating-point-total-queue-size.sharedworker.html
testing/web-platform/tests/streams/readable-streams/garbage-collection.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/garbage-collection.html
testing/web-platform/tests/streams/readable-streams/garbage-collection.js
testing/web-platform/tests/streams/readable-streams/garbage-collection.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/garbage-collection.sharedworker.html
testing/web-platform/tests/streams/readable-streams/general.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/general.html
testing/web-platform/tests/streams/readable-streams/general.js
testing/web-platform/tests/streams/readable-streams/general.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/general.sharedworker.html
testing/web-platform/tests/streams/readable-streams/patched-global.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/patched-global.html
testing/web-platform/tests/streams/readable-streams/patched-global.js
testing/web-platform/tests/streams/readable-streams/patched-global.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/patched-global.sharedworker.html
testing/web-platform/tests/streams/readable-streams/reentrant-strategies.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/reentrant-strategies.html
testing/web-platform/tests/streams/readable-streams/reentrant-strategies.js
testing/web-platform/tests/streams/readable-streams/reentrant-strategies.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/reentrant-strategies.sharedworker.html
testing/web-platform/tests/streams/readable-streams/tee.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/tee.html
testing/web-platform/tests/streams/readable-streams/tee.js
testing/web-platform/tests/streams/readable-streams/tee.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/tee.sharedworker.html
testing/web-platform/tests/streams/readable-streams/templated.dedicatedworker.html
testing/web-platform/tests/streams/readable-streams/templated.html
testing/web-platform/tests/streams/readable-streams/templated.js
testing/web-platform/tests/streams/readable-streams/templated.serviceworker.https.html
testing/web-platform/tests/streams/readable-streams/templated.sharedworker.html
testing/web-platform/tests/streams/transform-streams/backpressure.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/backpressure.html
testing/web-platform/tests/streams/transform-streams/backpressure.js
testing/web-platform/tests/streams/transform-streams/backpressure.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/backpressure.sharedworker.html
testing/web-platform/tests/streams/transform-streams/brand-checks.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/brand-checks.html
testing/web-platform/tests/streams/transform-streams/brand-checks.js
testing/web-platform/tests/streams/transform-streams/brand-checks.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/brand-checks.sharedworker.html
testing/web-platform/tests/streams/transform-streams/constructor.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/constructor.html
testing/web-platform/tests/streams/transform-streams/constructor.js
testing/web-platform/tests/streams/transform-streams/constructor.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/constructor.sharedworker.html
testing/web-platform/tests/streams/transform-streams/errors.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/errors.html
testing/web-platform/tests/streams/transform-streams/errors.js
testing/web-platform/tests/streams/transform-streams/errors.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/errors.sharedworker.html
testing/web-platform/tests/streams/transform-streams/flush.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/flush.html
testing/web-platform/tests/streams/transform-streams/flush.js
testing/web-platform/tests/streams/transform-streams/flush.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/flush.sharedworker.html
testing/web-platform/tests/streams/transform-streams/general.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/general.html
testing/web-platform/tests/streams/transform-streams/general.js
testing/web-platform/tests/streams/transform-streams/general.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/general.sharedworker.html
testing/web-platform/tests/streams/transform-streams/lipfuzz.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/lipfuzz.html
testing/web-platform/tests/streams/transform-streams/lipfuzz.js
testing/web-platform/tests/streams/transform-streams/lipfuzz.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/lipfuzz.sharedworker.html
testing/web-platform/tests/streams/transform-streams/patched-global.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/patched-global.html
testing/web-platform/tests/streams/transform-streams/patched-global.js
testing/web-platform/tests/streams/transform-streams/patched-global.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/patched-global.sharedworker.html
testing/web-platform/tests/streams/transform-streams/properties.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/properties.html
testing/web-platform/tests/streams/transform-streams/properties.js
testing/web-platform/tests/streams/transform-streams/properties.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/properties.sharedworker.html
testing/web-platform/tests/streams/transform-streams/reentrant-strategies.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/reentrant-strategies.html
testing/web-platform/tests/streams/transform-streams/reentrant-strategies.js
testing/web-platform/tests/streams/transform-streams/reentrant-strategies.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/reentrant-strategies.sharedworker.html
testing/web-platform/tests/streams/transform-streams/strategies.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/strategies.html
testing/web-platform/tests/streams/transform-streams/strategies.js
testing/web-platform/tests/streams/transform-streams/strategies.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/strategies.sharedworker.html
testing/web-platform/tests/streams/transform-streams/terminate.dedicatedworker.html
testing/web-platform/tests/streams/transform-streams/terminate.html
testing/web-platform/tests/streams/transform-streams/terminate.js
testing/web-platform/tests/streams/transform-streams/terminate.serviceworker.https.html
testing/web-platform/tests/streams/transform-streams/terminate.sharedworker.html
testing/web-platform/tests/streams/writable-streams/aborting.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/aborting.html
testing/web-platform/tests/streams/writable-streams/aborting.js
testing/web-platform/tests/streams/writable-streams/aborting.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/aborting.sharedworker.html
testing/web-platform/tests/streams/writable-streams/bad-strategies.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/bad-strategies.html
testing/web-platform/tests/streams/writable-streams/bad-strategies.js
testing/web-platform/tests/streams/writable-streams/bad-strategies.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/bad-strategies.sharedworker.html
testing/web-platform/tests/streams/writable-streams/bad-underlying-sinks.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/bad-underlying-sinks.html
testing/web-platform/tests/streams/writable-streams/bad-underlying-sinks.js
testing/web-platform/tests/streams/writable-streams/bad-underlying-sinks.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/bad-underlying-sinks.sharedworker.html
testing/web-platform/tests/streams/writable-streams/brand-checks.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/brand-checks.html
testing/web-platform/tests/streams/writable-streams/brand-checks.js
testing/web-platform/tests/streams/writable-streams/brand-checks.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/brand-checks.sharedworker.html
testing/web-platform/tests/streams/writable-streams/byte-length-queuing-strategy.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/byte-length-queuing-strategy.html
testing/web-platform/tests/streams/writable-streams/byte-length-queuing-strategy.js
testing/web-platform/tests/streams/writable-streams/byte-length-queuing-strategy.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/byte-length-queuing-strategy.sharedworker.html
testing/web-platform/tests/streams/writable-streams/close.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/close.html
testing/web-platform/tests/streams/writable-streams/close.js
testing/web-platform/tests/streams/writable-streams/close.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/close.sharedworker.html
testing/web-platform/tests/streams/writable-streams/constructor.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/constructor.html
testing/web-platform/tests/streams/writable-streams/constructor.js
testing/web-platform/tests/streams/writable-streams/constructor.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/constructor.sharedworker.html
testing/web-platform/tests/streams/writable-streams/count-queuing-strategy.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/count-queuing-strategy.html
testing/web-platform/tests/streams/writable-streams/count-queuing-strategy.js
testing/web-platform/tests/streams/writable-streams/count-queuing-strategy.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/count-queuing-strategy.sharedworker.html
testing/web-platform/tests/streams/writable-streams/error.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/error.html
testing/web-platform/tests/streams/writable-streams/error.js
testing/web-platform/tests/streams/writable-streams/error.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/error.sharedworker.html
testing/web-platform/tests/streams/writable-streams/floating-point-total-queue-size.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/floating-point-total-queue-size.html
testing/web-platform/tests/streams/writable-streams/floating-point-total-queue-size.js
testing/web-platform/tests/streams/writable-streams/floating-point-total-queue-size.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/floating-point-total-queue-size.sharedworker.html
testing/web-platform/tests/streams/writable-streams/general.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/general.html
testing/web-platform/tests/streams/writable-streams/general.js
testing/web-platform/tests/streams/writable-streams/general.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/general.sharedworker.html
testing/web-platform/tests/streams/writable-streams/properties.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/properties.html
testing/web-platform/tests/streams/writable-streams/properties.js
testing/web-platform/tests/streams/writable-streams/properties.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/properties.sharedworker.html
testing/web-platform/tests/streams/writable-streams/reentrant-strategy.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/reentrant-strategy.html
testing/web-platform/tests/streams/writable-streams/reentrant-strategy.js
testing/web-platform/tests/streams/writable-streams/reentrant-strategy.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/reentrant-strategy.sharedworker.html
testing/web-platform/tests/streams/writable-streams/start.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/start.html
testing/web-platform/tests/streams/writable-streams/start.js
testing/web-platform/tests/streams/writable-streams/start.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/start.sharedworker.html
testing/web-platform/tests/streams/writable-streams/write.dedicatedworker.html
testing/web-platform/tests/streams/writable-streams/write.html
testing/web-platform/tests/streams/writable-streams/write.js
testing/web-platform/tests/streams/writable-streams/write.serviceworker.https.html
testing/web-platform/tests/streams/writable-streams/write.sharedworker.html
testing/web-platform/tests/svg/types/scripted/SVGAnimatedEnumeration-SVGFEBlendElement.html
testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/safari_webdriver.py
testing/web-platform/tests/uievents/mouse/mouse_buttons_back_forward-manual.html
--- a/devtools/client/netmonitor/src/assets/styles/NetworkDetailsPanel.css
+++ b/devtools/client/netmonitor/src/assets/styles/NetworkDetailsPanel.css
@@ -178,22 +178,27 @@
 .network-monitor .headers-summary-label,
 .network-monitor .tree-container .objectBox {
   white-space: nowrap;
 }
 
 /* Summary tabpanel */
 
 .network-monitor .tabpanel-summary-container {
+  flex-wrap: wrap;
   padding: 1px;
+  padding-inline-start: 4px;
+}
+
+.network-monitor .tabpanel-summary-labelvalue {
+  white-space: pre-wrap;
 }
 
 .network-monitor .tabpanel-summary-label {
   display: inline-block;
-  padding-inline-start: 4px;
   padding-inline-end: 3px;
   font-weight: 600;
 }
 
 .network-monitor .tabpanel-summary-value {
   color: inherit;
   padding-inline-start: 3px;
 }
--- a/devtools/client/netmonitor/src/components/HeadersPanel.js
+++ b/devtools/client/netmonitor/src/components/HeadersPanel.js
@@ -120,24 +120,24 @@ class HeadersPanel extends Component {
     this.setState({
       rawHeadersOpened: !this.state.rawHeadersOpened,
     });
   }
 
   renderSummary(label, value) {
     return (
       div({ className: "tabpanel-summary-container headers-summary" },
-        div({
-          className: "tabpanel-summary-label headers-summary-label",
-        }, label),
-        input({
-          className: "tabpanel-summary-value textbox-input devtools-monospace",
-          readOnly: true,
-          value,
-        }),
+        div({ className: "tabpanel-summary-labelvalue"},
+          span({ className: "tabpanel-summary-label headers-summary-label"},
+            label
+          ),
+          span({ className: "tabpanel-summary-value textbox-input devtools-monospace"},
+            value
+          ),
+        ),
       )
     );
   }
 
   renderValue(props) {
     const member = props.member;
     const value = props.value;
 
--- a/devtools/client/netmonitor/test/browser_net_header-ref-policy.js
+++ b/devtools/client/netmonitor/test/browser_net_header-ref-policy.js
@@ -28,13 +28,13 @@ add_task(async function() {
   const referrerPolicyHeader
     = document.querySelectorAll(".tabpanel-summary-label")[referrerPolicyIndex];
   const referrerPolicyValue
     = document.querySelectorAll(".tabpanel-summary-value")[referrerPolicyIndex];
 
   is(referrerPolicyHeader.textContent === "Referrer Policy:",
   true, "\"Referrer Policy\" header is displayed in the header panel.");
 
-  is(referrerPolicyValue.value === "no-referrer-when-downgrade",
+  is(referrerPolicyValue.textContent === "no-referrer-when-downgrade",
   true, "The referrer policy value is reflected correctly.");
 
   return teardown(monitor);
 });
--- a/devtools/client/netmonitor/test/browser_net_status-codes.js
+++ b/devtools/client/netmonitor/test/browser_net_status-codes.js
@@ -175,19 +175,19 @@ add_task(async function() {
     const panel = document.querySelector("#headers-panel");
     const summaryValues = panel.querySelectorAll(".tabpanel-summary-value.textbox-input");
     const { method, correctUri, details: { status, statusText } } = data;
     const statusCode = panel.querySelector(".status-code");
     const statusTextInput = panel.querySelector(".status-text");
     EventUtils.sendMouseEvent({ type: "mouseover" }, statusCode);
     await waitUntil(() => statusCode.title);
 
-    is(summaryValues[0].value, correctUri,
+    is(summaryValues[0].textContent, correctUri,
       "The url summary value is incorrect.");
-    is(summaryValues[1].value, method, "The method summary value is incorrect.");
+    is(summaryValues[1].textContent, method, "The method summary value is incorrect.");
     is(statusCode.dataset.code, status,
       "The status summary code is incorrect.");
     is(statusCode.getAttribute("title"), status + " " + statusText,
       "The status summary value is incorrect.");
     is(statusTextInput.value, statusText, "The status text value is incorrect.");
   }
 
   /**
--- a/js/src/gc/GC.cpp
+++ b/js/src/gc/GC.cpp
@@ -6709,25 +6709,29 @@ AutoHeapSession::~AutoHeapSession() {
   runtime->heapState_ = prevState;
 }
 
 JS_PUBLIC_API JS::HeapState JS::RuntimeHeapState() {
   return TlsContext.get()->runtime()->heapState();
 }
 
 GCRuntime::IncrementalResult GCRuntime::resetIncrementalGC(
-    gc::AbortReason reason, AutoGCSession& session) {
-  MOZ_ASSERT(reason != gc::AbortReason::None);
+    gc::AbortReason reason) {
+  if (incrementalState == State::NotActive) {
+    return IncrementalResult::Ok;
+  }
+
+  minorGC(JS::gcreason::RESET, gcstats::PhaseKind::EVICT_NURSERY_FOR_MAJOR_GC);
+
+  AutoGCSession session(rt, JS::HeapState::MajorCollecting);
 
   switch (incrementalState) {
     case State::NotActive:
-      return IncrementalResult::Ok;
-
     case State::MarkRoots:
-      MOZ_CRASH("resetIncrementalGC did not expect MarkRoots state");
+      MOZ_CRASH("Unexpected GC state in resetIncrementalGC");
       break;
 
     case State::Mark: {
       /* Cancel any ongoing marking. */
       marker.reset();
       marker.stop();
       clearBufferedGrayRoots();
 
@@ -6909,16 +6913,18 @@ static bool ShouldCleanUpEverything(JS::
 }
 
 GCRuntime::IncrementalResult GCRuntime::incrementalSlice(
     SliceBudget& budget, JS::gcreason::Reason reason, AutoGCSession& session) {
   AutoDisableBarriers disableBarriers(rt);
 
   bool destroyingRuntime = (reason == JS::gcreason::DESTROY_RUNTIME);
 
+  number++;
+
   initialState = incrementalState;
 
 #ifdef JS_GC_ZEAL
   /*
    * Do the incremental collection type specified by zeal mode if the
    * collection was triggered by runDebugGC() and incremental GC has not been
    * cancelled by resetIncrementalGC().
    */
@@ -6954,16 +6960,17 @@ GCRuntime::IncrementalResult GCRuntime::
      * the budget is not used.
      */
     stats().writeLogMessage("Using unlimited budget for two-slice zeal mode");
     budget.makeUnlimited();
   }
 
   switch (incrementalState) {
     case State::NotActive:
+      incMajorGcNumber();
       initialReason = reason;
       cleanUpEverything = ShouldCleanUpEverything(reason, invocationKind);
       isCompacting = shouldCompact();
       MOZ_ASSERT(!lastMarkSlice);
       rootsRemoved = false;
 
       incrementalState = State::MarkRoots;
 
@@ -7029,41 +7036,25 @@ GCRuntime::IncrementalResult GCRuntime::
              !(useZeal && hasZealMode(ZealMode::YieldBeforeMarking))) ||
             (useZeal && hasZealMode(ZealMode::YieldBeforeSweeping))) {
           lastMarkSlice = true;
           stats().writeLogMessage("Yielding before starting sweeping");
           break;
         }
       }
 
-      /*
-       * If the nursery is not-empty we need to collect it before sweeping.
-       *
-       * This can happen regardless of 'isIncremental' since the GC may have
-       * been incremental when it started and later made a decision to do
-       * non-incremental collection.
-       *
-       * It's important to check this after the above case since this one
-       * wont give the mutator a chance to run.
-       */
-      if (!nursery().isEmpty()) {
-        lastMarkSlice = true;
-        stats().writeLogMessage(
-            "returning to collect the nursery before sweeping");
-        return IncrementalResult::ReturnToEvictNursery;
-      }
-
       incrementalState = State::Sweep;
       lastMarkSlice = false;
       beginSweepPhase(reason, session);
 
       MOZ_FALLTHROUGH;
 
     case State::Sweep:
       MOZ_ASSERT(nursery().isEmpty());
+      storeBuffer().checkEmpty();
 
       AutoGCRooter::traceAllWrappers(rt->mainContextFromOwnThread(), &marker);
 
       if (performSweepActions(budget) == NotFinished) {
         break;
       }
 
       endSweepPhase(destroyingRuntime);
@@ -7103,16 +7094,19 @@ GCRuntime::IncrementalResult GCRuntime::
       // Always yield before compacting since it is not incremental.
       if (isCompacting && !budget.isUnlimited()) {
         break;
       }
 
       MOZ_FALLTHROUGH;
 
     case State::Compact:
+      MOZ_ASSERT(nursery().isEmpty());
+      storeBuffer().checkEmpty();
+
       if (isCompacting) {
         MOZ_ASSERT(nursery().isEmpty());
         if (!startedCompacting) {
           beginCompactPhase();
         }
 
         if (compactPhase(reason, budget, session) == NotFinished) {
           break;
@@ -7176,53 +7170,52 @@ static inline void CheckZoneIsScheduled(
             zone->isGCScheduled() ? " scheduled" : "");
   }
   fflush(stderr);
   MOZ_CRASH("Zone not scheduled");
 #endif
 }
 
 GCRuntime::IncrementalResult GCRuntime::budgetIncrementalGC(
-    bool nonincrementalByAPI, JS::gcreason::Reason reason, SliceBudget& budget,
-    AutoGCSession& session) {
+    bool nonincrementalByAPI, JS::gcreason::Reason reason,
+    SliceBudget& budget) {
   if (nonincrementalByAPI) {
     stats().nonincremental(gc::AbortReason::NonIncrementalRequested);
     budget.makeUnlimited();
 
     // Reset any in progress incremental GC if this was triggered via the
     // API. This isn't required for correctness, but sometimes during tests
     // the caller expects this GC to collect certain objects, and we need
     // to make sure to collect everything possible.
     if (reason != JS::gcreason::ALLOC_TRIGGER) {
-      return resetIncrementalGC(gc::AbortReason::NonIncrementalRequested,
-                                session);
+      return resetIncrementalGC(gc::AbortReason::NonIncrementalRequested);
     }
 
     return IncrementalResult::Ok;
   }
 
   if (reason == JS::gcreason::ABORT_GC) {
     budget.makeUnlimited();
     stats().nonincremental(gc::AbortReason::AbortRequested);
-    return resetIncrementalGC(gc::AbortReason::AbortRequested, session);
+    return resetIncrementalGC(gc::AbortReason::AbortRequested);
   }
 
   AbortReason unsafeReason = IsIncrementalGCUnsafe(rt);
   if (unsafeReason == AbortReason::None) {
     if (reason == JS::gcreason::COMPARTMENT_REVIVED) {
       unsafeReason = gc::AbortReason::CompartmentRevived;
     } else if (mode != JSGC_MODE_INCREMENTAL) {
       unsafeReason = gc::AbortReason::ModeChange;
     }
   }
 
   if (unsafeReason != AbortReason::None) {
     budget.makeUnlimited();
     stats().nonincremental(unsafeReason);
-    return resetIncrementalGC(unsafeReason, session);
+    return resetIncrementalGC(unsafeReason);
   }
 
   if (mallocCounter.shouldTriggerGC(tunables) == NonIncrementalTrigger) {
     budget.makeUnlimited();
     stats().nonincremental(AbortReason::MallocBytesTrigger);
   }
 
   bool reset = false;
@@ -7245,17 +7238,17 @@ GCRuntime::IncrementalResult GCRuntime::
 
     if (isIncrementalGCInProgress() &&
         zone->isGCScheduled() != zone->wasGCStarted()) {
       reset = true;
     }
   }
 
   if (reset) {
-    return resetIncrementalGC(AbortReason::ZoneChange, session);
+    return resetIncrementalGC(AbortReason::ZoneChange);
   }
 
   return IncrementalResult::Ok;
 }
 
 namespace {
 
 class AutoScheduleZonesForGC {
@@ -7345,42 +7338,45 @@ void GCRuntime::maybeCallGCCallback(JSGC
 /*
  * We disable inlining to ensure that the bottom of the stack with possible GC
  * roots recorded in MarkRuntime excludes any pointers we use during the marking
  * implementation.
  */
 MOZ_NEVER_INLINE GCRuntime::IncrementalResult GCRuntime::gcCycle(
     bool nonincrementalByAPI, SliceBudget& budget,
     JS::gcreason::Reason reason) {
+  // Assert if this is a GC unsafe region.
+  rt->mainContextFromOwnThread()->verifyIsSafeToGC();
+
+  // It's ok if threads other than the main thread have suppressGC set, as
+  // they are operating on zones which will not be collected from here.
+  MOZ_ASSERT(!rt->mainContextFromOwnThread()->suppressGC);
+
   // Note that GC callbacks are allowed to re-enter GC.
   AutoCallGCCallbacks callCallbacks(*this);
 
   gcstats::AutoGCSlice agc(stats(), scanZonesBeforeGC(), invocationKind, budget,
                            reason);
 
+  auto result = budgetIncrementalGC(nonincrementalByAPI, reason, budget);
+
+  // If an ongoing incremental GC was reset, we may need to restart.
+  if (result == IncrementalResult::ResetIncremental) {
+    MOZ_ASSERT(!isIncrementalGCInProgress());
+    return result;
+  }
+
   if (shouldCollectNurseryForSlice(nonincrementalByAPI, budget)) {
     minorGC(reason, gcstats::PhaseKind::EVICT_NURSERY_FOR_MAJOR_GC);
   }
 
   AutoGCSession session(rt, JS::HeapState::MajorCollecting);
 
   majorGCTriggerReason = JS::gcreason::NO_REASON;
 
-  number++;
-  if (!isIncrementalGCInProgress()) {
-    incMajorGcNumber();
-  }
-
-  // It's ok if threads other than the main thread have suppressGC set, as
-  // they are operating on zones which will not be collected from here.
-  MOZ_ASSERT(!rt->mainContextFromOwnThread()->suppressGC);
-
-  // Assert if this is a GC unsafe region.
-  rt->mainContextFromOwnThread()->verifyIsSafeToGC();
-
   {
     gcstats::AutoPhase ap(stats(), gcstats::PhaseKind::WAIT_BACKGROUND_THREAD);
 
     // Background finalization and decommit are finished by defininition
     // before we can start a new GC session.
     if (!isIncrementalGCInProgress()) {
       assertBackgroundSweepingFinished();
       MOZ_ASSERT(!decommitTask.isRunning());
@@ -7394,25 +7390,16 @@ MOZ_NEVER_INLINE GCRuntime::IncrementalR
   }
 
   // We don't allow off-thread parsing to start while we're doing an
   // incremental GC of the atoms zone.
   if (rt->activeGCInAtomsZone()) {
     session.maybeCheckAtomsAccess.emplace(rt);
   }
 
-  auto result =
-      budgetIncrementalGC(nonincrementalByAPI, reason, budget, session);
-
-  // If an ongoing incremental GC was reset, we may need to restart.
-  if (result == IncrementalResult::ResetIncremental) {
-    MOZ_ASSERT(!isIncrementalGCInProgress());
-    return result;
-  }
-
   gcTracer.traceMajorGCStart();
 
   result = incrementalSlice(budget, reason, session);
 
   chunkAllocationSinceLastGC = false;
 
 #ifdef JS_GC_ZEAL
   /* Keeping these around after a GC is dangerous. */
@@ -7600,19 +7587,16 @@ void GCRuntime::collect(bool nonincremen
         /* Need to re-schedule all zones for GC. */
         JS::PrepareForFullGC(rt->mainContextFromOwnThread());
         repeat = true;
         reason = JS::gcreason::ROOTS_REMOVED;
       } else if (shouldRepeatForDeadZone(reason)) {
         repeat = true;
         reason = JS::gcreason::COMPARTMENT_REVIVED;
       }
-    } else if (cycleResult == ReturnToEvictNursery) {
-      /* Repeat so we can collect the nursery and run another slice. */
-      repeat = true;
     }
   } while (repeat);
 
   if (reason == JS::gcreason::COMPARTMENT_REVIVED) {
     maybeDoCycleCollection();
   }
 
 #ifdef JS_GC_ZEAL
--- a/js/src/gc/GCRuntime.h
+++ b/js/src/gc/GCRuntime.h
@@ -521,17 +521,17 @@ class GCRuntime {
   void startTask(GCParallelTask& task, gcstats::PhaseKind phase,
                  AutoLockHelperThreadState& locked);
   void joinTask(GCParallelTask& task, gcstats::PhaseKind phase,
                 AutoLockHelperThreadState& locked);
 
   void mergeRealms(JS::Realm* source, JS::Realm* target);
 
  private:
-  enum IncrementalResult { ResetIncremental = 0, ReturnToEvictNursery, Ok };
+  enum IncrementalResult { ResetIncremental = 0, Ok };
 
   // Delete an empty zone after its contents have been merged.
   void deleteEmptyZone(Zone* zone);
 
   // For ArenaLists::allocateFromArena()
   friend class ArenaLists;
   Chunk* pickChunk(AutoLockGCBgAlloc& lock);
   Arena* allocateArena(Chunk* chunk, Zone* zone, AllocKind kind,
@@ -561,20 +561,18 @@ class GCRuntime {
   friend class BackgroundAllocTask;
   bool wantBackgroundAllocation(const AutoLockGC& lock) const;
   bool startBackgroundAllocTaskIfIdle();
 
   void requestMajorGC(JS::gcreason::Reason reason);
   SliceBudget defaultBudget(JS::gcreason::Reason reason, int64_t millis);
   IncrementalResult budgetIncrementalGC(bool nonincrementalByAPI,
                                         JS::gcreason::Reason reason,
-                                        SliceBudget& budget,
-                                        AutoGCSession& session);
-  IncrementalResult resetIncrementalGC(AbortReason reason,
-                                       AutoGCSession& session);
+                                        SliceBudget& budget);
+  IncrementalResult resetIncrementalGC(AbortReason reason);
 
   // Assert if the system state is such that we should never
   // receive a request to do GC work.
   void checkCanCallAPI();
 
   // Check if the system state is such that GC has been supressed
   // or otherwise delayed.
   MOZ_MUST_USE bool checkIfGCAllowedInCurrentState(JS::gcreason::Reason reason);
@@ -585,18 +583,16 @@ class GCRuntime {
 
   /*
    * Run one GC "cycle" (either a slice of incremental GC or an entire
    * non-incremental GC).
    *
    * Returns:
    *  * ResetIncremental if we "reset" an existing incremental GC, which would
    *    force us to run another cycle or
-   *  * ReturnToEvictNursery if the collector needs the nursery to be
-   *    evicted before it can continue or
    *  * Ok otherwise.
    */
   MOZ_MUST_USE IncrementalResult gcCycle(bool nonincrementalByAPI,
                                          SliceBudget& budget,
                                          JS::gcreason::Reason reason);
   bool shouldRepeatForDeadZone(JS::gcreason::Reason reason);
   IncrementalResult incrementalSlice(SliceBudget& budget,
                                      JS::gcreason::Reason reason,
--- a/js/src/gc/StoreBuffer.cpp
+++ b/js/src/gc/StoreBuffer.cpp
@@ -26,17 +26,17 @@ void StoreBuffer::GenericBuffer::trace(S
 
   for (LifoAlloc::Enum e(*storage_); !e.empty();) {
     unsigned size = *e.read<unsigned>();
     BufferableRef* edge = e.read<BufferableRef>(size);
     edge->trace(trc);
   }
 }
 
-inline void StoreBuffer::checkEmpty() const {
+void StoreBuffer::checkEmpty() const {
   MOZ_ASSERT(bufferVal.isEmpty());
   MOZ_ASSERT(bufferCell.isEmpty());
   MOZ_ASSERT(bufferSlot.isEmpty());
   MOZ_ASSERT(bufferWholeCell.isEmpty());
   MOZ_ASSERT(bufferGeneric.isEmpty());
 }
 
 bool StoreBuffer::enable() {
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/bad-strategies.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/bad-strategies.js
@@ -1,2 +1,2 @@
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/bad-strategies.js");
+load_web_platform_test("streams/readable-streams/bad-strategies.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/bad-underlying-sources.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/bad-underlying-sources.js
@@ -1,2 +1,2 @@
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/bad-underlying-sources.js");
+load_web_platform_test("streams/readable-streams/bad-underlying-sources.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/brand-checks.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/brand-checks.js
@@ -1,2 +1,3 @@
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/brand-checks.js");
+load_web_platform_test("streams/resources/test-utils.js");
+load_web_platform_test("streams/readable-streams/brand-checks.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/cancel.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/cancel.js
@@ -1,2 +1,4 @@
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/cancel.js");
+load_web_platform_test("streams/resources/test-utils.js");
+load_web_platform_test("streams/resources/rs-utils.js");
+load_web_platform_test("streams/readable-streams/cancel.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/constructor.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/constructor.js
@@ -1,2 +1,3 @@
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/constructor.js");
+load_web_platform_test("streams/resources/constructor-ordering.js");
+load_web_platform_test("streams/readable-streams/constructor.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/count-queuing-strategy-integration.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/count-queuing-strategy-integration.js
@@ -1,2 +1,2 @@
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/count-queuing-strategy-integration.js");
+load_web_platform_test("streams/readable-streams/count-queuing-strategy-integration.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/default-reader.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/default-reader.js
@@ -1,2 +1,2 @@
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/default-reader.js");
+load_web_platform_test("streams/readable-streams/default-reader.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/floating-point-total-queue-size.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/floating-point-total-queue-size.js
@@ -1,2 +1,2 @@
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/floating-point-total-queue-size.js");
+load_web_platform_test("streams/readable-streams/floating-point-total-queue-size.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/garbage-collection.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/garbage-collection.js
@@ -1,2 +1,4 @@
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/garbage-collection.js");
+load_web_platform_test("streams/resources/test-utils.js");
+load_web_platform_test("streams/resources/rs-utils.js");
+load_web_platform_test("streams/readable-streams/garbage-collection.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/general.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/general.js
@@ -20,9 +20,11 @@ Object.defineProperties(ReadableStream.p
     enumerable: false,
     value: function pipeThrough({writable, readable}, {preventClose, preventAbort, preventCancel, signal}) {
       throw new InternalError("pipeThrough: not implemented");
     },
   },
 });
 
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/general.js");
+load_web_platform_test("streams/resources/test-utils.js");
+load_web_platform_test("streams/resources/rs-utils.js");
+load_web_platform_test("streams/readable-streams/general.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/patched-global.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/patched-global.js
@@ -1,2 +1,2 @@
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/patched-global.js");
+load_web_platform_test("streams/readable-streams/patched-global.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/reentrant-strategies.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/reentrant-strategies.js
@@ -1,4 +1,5 @@
-// |jit-test| error: ReferenceError: WritableStream is not defined
-
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/reentrant-strategies.js");
+load_web_platform_test("streams/resources/recording-streams.js");
+load_web_platform_test("streams/resources/rs-utils.js");
+load_web_platform_test("streams/resources/test-utils.js");
+load_web_platform_test("streams/readable-streams/reentrant-strategies.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/tee.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/tee.js
@@ -1,2 +1,3 @@
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/tee.js");
+load_web_platform_test("streams/resources/rs-utils.js");
+load_web_platform_test("streams/readable-streams/tee.any.js");
--- a/js/src/jit-test/tests/web-platform/streams/readable-streams/templated.js
+++ b/js/src/jit-test/tests/web-platform/streams/readable-streams/templated.js
@@ -20,9 +20,11 @@ Object.defineProperties(ReadableStream.p
     enumerable: false,
     value: function pipeThrough({writable, readable}, {preventClose, preventAbort, preventCancel, signal}) {
       throw new InternalError("pipeThrough: not implemented");
     },
   },
 });
 
 load(libdir + "web-platform-testharness.js");
-load_web_platform_test("streams/readable-streams/templated.js");
+load_web_platform_test("streams/resources/test-utils.js");
+load_web_platform_test("streams/resources/rs-test-templates.js");
+load_web_platform_test("streams/readable-streams/templated.any.js");
--- a/testing/web-platform/meta/FileAPI/url/sandboxed-iframe.html.ini
+++ b/testing/web-platform/meta/FileAPI/url/sandboxed-iframe.html.ini
@@ -16,8 +16,14 @@
     expected: FAIL
 
   [Appending a query string should cause fetch to fail]
     expected: FAIL
 
   [Revoke blob URL after creating Request, will fetch]
     expected: FAIL
 
+  [Blob URL fragment is implemented.]
+    expected: FAIL
+
+  [Blob URLs can be used in iframes, and are treated same origin]
+    expected: FAIL
+
--- a/testing/web-platform/meta/background-fetch/fetch.https.window.js.ini
+++ b/testing/web-platform/meta/background-fetch/fetch.https.window.js.ini
@@ -42,8 +42,11 @@
     expected: FAIL
 
   [Matching to a single request should work]
     expected: FAIL
 
   [Matching to a non-existing request should work]
     expected: FAIL
 
+  [Matching multiple times on the same request works as expected.]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/content-security-policy/inheritance/iframe-srcdoc-inheritance.html.ini
@@ -0,0 +1,8 @@
+[iframe-srcdoc-inheritance.html]
+  expected: TIMEOUT
+  [First image should be blocked]
+    expected: NOTRUN
+
+  [Second image should be blocked]
+    expected: NOTRUN
+
--- a/testing/web-platform/meta/content-security-policy/navigate-to/link-click-cross-origin-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/navigate-to/link-click-cross-origin-blocked.sub.html.ini
@@ -1,10 +1,12 @@
 [link-click-cross-origin-blocked.sub.html]
   [Test that the child iframe navigation is blocked]
     expected: FAIL
 
   [Violation report status OK.]
     expected: FAIL
 
   [Test that the child iframe navigation is not allowed]
-    expected: FAIL
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): NOTRUN
+      FAIL
 
--- a/testing/web-platform/meta/content-security-policy/navigate-to/link-click-redirected-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/navigate-to/link-click-redirected-blocked.sub.html.ini
@@ -1,10 +1,12 @@
 [link-click-redirected-blocked.sub.html]
   [Test that the child iframe navigation is blocked]
     expected: FAIL
 
   [Violation report status OK.]
     expected: FAIL
 
   [Test that the child iframe navigation is not allowed]
-    expected: FAIL
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): NOTRUN
+      FAIL
 
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html.ini
@@ -0,0 +1,4 @@
+[to-javascript-parent-initiated-parent-csp.html]
+  [Should not have executed the javascript url]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/cookies/path/default.html.ini
@@ -0,0 +1,4 @@
+[default.html]
+  [Test for default cookie path]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-break/parsing/break-after-computed.html.ini
@@ -0,0 +1,22 @@
+[break-after-computed.html]
+  [Property break-after value 'verso' computes to 'verso']
+    expected: FAIL
+
+  [Property break-after value 'region' computes to 'region']
+    expected: FAIL
+
+  [Property break-after value 'column' computes to 'column']
+    expected: FAIL
+
+  [Property break-after value 'avoid-region' computes to 'avoid-region']
+    expected: FAIL
+
+  [Property break-after value 'avoid-page' computes to 'avoid-page']
+    expected: FAIL
+
+  [Property break-after value 'avoid-column' computes to 'avoid-column']
+    expected: FAIL
+
+  [Property break-after value 'recto' computes to 'recto']
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-break/parsing/break-after-valid.html.ini
@@ -0,0 +1,22 @@
+[break-after-valid.html]
+  [e.style['break-after'\] = "avoid-column" should set the property value]
+    expected: FAIL
+
+  [e.style['break-after'\] = "avoid-region" should set the property value]
+    expected: FAIL
+
+  [e.style['break-after'\] = "verso" should set the property value]
+    expected: FAIL
+
+  [e.style['break-after'\] = "region" should set the property value]
+    expected: FAIL
+
+  [e.style['break-after'\] = "column" should set the property value]
+    expected: FAIL
+
+  [e.style['break-after'\] = "avoid-page" should set the property value]
+    expected: FAIL
+
+  [e.style['break-after'\] = "recto" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-break/parsing/break-before-computed.html.ini
@@ -0,0 +1,22 @@
+[break-before-computed.html]
+  [Property break-before value 'avoid-region' computes to 'avoid-region']
+    expected: FAIL
+
+  [Property break-before value 'region' computes to 'region']
+    expected: FAIL
+
+  [Property break-before value 'verso' computes to 'verso']
+    expected: FAIL
+
+  [Property break-before value 'recto' computes to 'recto']
+    expected: FAIL
+
+  [Property break-before value 'column' computes to 'column']
+    expected: FAIL
+
+  [Property break-before value 'avoid-column' computes to 'avoid-column']
+    expected: FAIL
+
+  [Property break-before value 'avoid-page' computes to 'avoid-page']
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-break/parsing/break-before-valid.html.ini
@@ -0,0 +1,22 @@
+[break-before-valid.html]
+  [e.style['break-before'\] = "region" should set the property value]
+    expected: FAIL
+
+  [e.style['break-before'\] = "avoid-region" should set the property value]
+    expected: FAIL
+
+  [e.style['break-before'\] = "recto" should set the property value]
+    expected: FAIL
+
+  [e.style['break-before'\] = "avoid-column" should set the property value]
+    expected: FAIL
+
+  [e.style['break-before'\] = "avoid-page" should set the property value]
+    expected: FAIL
+
+  [e.style['break-before'\] = "verso" should set the property value]
+    expected: FAIL
+
+  [e.style['break-before'\] = "column" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-break/parsing/break-inside-computed.html.ini
@@ -0,0 +1,10 @@
+[break-inside-computed.html]
+  [Property break-inside value 'avoid-page' computes to 'avoid-page']
+    expected: FAIL
+
+  [Property break-inside value 'avoid-column' computes to 'avoid-column']
+    expected: FAIL
+
+  [Property break-inside value 'avoid-region' computes to 'avoid-region']
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-break/parsing/break-inside-valid.html.ini
@@ -0,0 +1,10 @@
+[break-inside-valid.html]
+  [e.style['break-inside'\] = "avoid-column" should set the property value]
+    expected: FAIL
+
+  [e.style['break-inside'\] = "avoid-page" should set the property value]
+    expected: FAIL
+
+  [e.style['break-inside'\] = "avoid-region" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-break/parsing/orphans-valid.html.ini
@@ -0,0 +1,7 @@
+[orphans-valid.html]
+  [e.style['orphans'\] = "234" should set the property value]
+    expected: FAIL
+
+  [e.style['orphans'\] = "1" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-break/parsing/widows-valid.html.ini
@@ -0,0 +1,7 @@
+[widows-valid.html]
+  [e.style['widows'\] = "1" should set the property value]
+    expected: FAIL
+
+  [e.style['widows'\] = "234" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-contain/contain-layout-baseline-004.html.ini
@@ -0,0 +1,2 @@
+[contain-layout-baseline-004.html]
+  expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-multicol/parsing/column-fill-computed.html.ini
@@ -0,0 +1,4 @@
+[column-fill-computed.html]
+  [Property column-fill value 'balance-all' computes to 'balance-all']
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-multicol/parsing/column-fill-valid.html.ini
@@ -0,0 +1,4 @@
+[column-fill-valid.html]
+  [e.style['column-fill'\] = "balance-all" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-multicol/parsing/column-gap-computed.html.ini
@@ -0,0 +1,4 @@
+[column-gap-computed.html]
+  [Property column-gap value 'calc(50% + 60px)' computes to 'calc(50% + 60px)']
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-multicol/parsing/column-rule-valid.html.ini
@@ -0,0 +1,10 @@
+[column-rule-valid.html]
+  [e.style['column-rule'\] = "dotted" should set the property value]
+    expected: FAIL
+
+  [e.style['column-rule'\] = "red" should set the property value]
+    expected: FAIL
+
+  [e.style['column-rule'\] = "10px" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-multicol/parsing/column-span-valid.html.ini
@@ -0,0 +1,7 @@
+[column-span-valid.html]
+  [e.style['column-span'\] = "none" should set the property value]
+    expected: FAIL
+
+  [e.style['column-span'\] = "all" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-position/parsing/bottom-computed.html.ini
@@ -0,0 +1,4 @@
+[bottom-computed.html]
+  [Property bottom value 'calc(50% + 60px)' computes to 'calc(50% + 60px)']
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-position/parsing/inset-after-valid.html.ini
@@ -0,0 +1,13 @@
+[inset-after-valid.html]
+  [e.style['inset-after'\] = "auto" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-after'\] = "-20%" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-after'\] = "-10px" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-after'\] = "calc(2em + 3ex)" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-position/parsing/inset-before-valid.html.ini
@@ -0,0 +1,13 @@
+[inset-before-valid.html]
+  [e.style['inset-before'\] = "calc(2em + 3ex)" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-before'\] = "auto" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-before'\] = "-20%" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-before'\] = "-10px" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-position/parsing/inset-end-valid.html.ini
@@ -0,0 +1,13 @@
+[inset-end-valid.html]
+  [e.style['inset-end'\] = "auto" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-end'\] = "calc(2em + 3ex)" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-end'\] = "-10px" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-end'\] = "-20%" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-position/parsing/inset-start-valid.html.ini
@@ -0,0 +1,13 @@
+[inset-start-valid.html]
+  [e.style['inset-start'\] = "-20%" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-start'\] = "-10px" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-start'\] = "calc(2em + 3ex)" should set the property value]
+    expected: FAIL
+
+  [e.style['inset-start'\] = "auto" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-position/parsing/left-computed.html.ini
@@ -0,0 +1,4 @@
+[left-computed.html]
+  [Property left value 'calc(50% + 60px)' computes to 'calc(50% + 60px)']
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-position/parsing/right-computed.html.ini
@@ -0,0 +1,4 @@
+[right-computed.html]
+  [Property right value 'calc(50% + 60px)' computes to 'calc(50% + 60px)']
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-position/parsing/top-computed.html.ini
@@ -0,0 +1,4 @@
+[top-computed.html]
+  [Property top value 'calc(50% + 60px)' computes to 'calc(50% + 60px)']
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-position/parsing/z-index-invalid.html.ini
@@ -0,0 +1,4 @@
+[z-index-invalid.html]
+  [e.style['z-index'\] = "calc(0.5)" should not set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist.html.ini
@@ -0,0 +1,4 @@
+[invalidation-change-part-name-idl-domtokenlist.html]
+  [Part in selected host changed color via part IDL DOMTokenList attribute.]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-shadow-parts/part-name-idl.html.ini
@@ -0,0 +1,13 @@
+[part-name-idl.html]
+  [Access to .part returns an empty DOMTokenList.]
+    expected: FAIL
+
+  [Changes in DOMTokenList are refected in attribute.]
+    expected: FAIL
+
+  [DOMTokenList created by access is persisted.]
+    expected: FAIL
+
+  [Multiple names give a DOMTokenList with multiple entries.]
+    expected: FAIL
+
--- a/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-margin-001.html.ini
+++ b/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-margin-001.html.ini
@@ -11,8 +11,24 @@
       if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
       if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
       if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
       if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
       if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
       if os == "android": PASS
       FAIL
 
+  [10vh - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [10vmin - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [10vw - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [10vmax - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
--- a/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-outside-circle-005.html.ini
+++ b/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-outside-circle-005.html.ini
@@ -50,8 +50,24 @@
     expected: FAIL
 
   [test unit: vmin - circle(50vmin) - inline]
     expected: FAIL
 
   [test unit: vmax - circle(50vmax) - inline]
     expected: FAIL
 
+  [test unit: vw - circle(50vw) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmax - circle(50vmax) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmin - circle(50vmin) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vh - circle(50vh) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
--- a/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-outside-ellipse-004.html.ini
+++ b/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-outside-ellipse-004.html.ini
@@ -1696,8 +1696,328 @@
     expected: FAIL
 
   [test unit (inline): ch - ellipse(at bottom 70% right 80ch)]
     expected: FAIL
 
   [test unit (inline): em - ellipse(at left 50% top 50em)]
     expected: FAIL
 
+  [test unit (computed): vw - ellipse(at top 50vw right 80%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at 50vmax 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at center 60vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at top 50vh left 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at 50% 50vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at left 50vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at left 50vw top 50vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at right 80vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at 60vmax center)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at top 50vh right 80%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at left 50% top 50vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at 50vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at 50vw 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at right 80% top 50vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at top 50vmin left 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at top 50vmax right 80%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at left 50% top 50vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at left 50vh bottom 70%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at 50% 50vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at left 50vmin bottom 70%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at right 80vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at right 80vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at top 50vmin left 50vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at 50vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at center 60vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at left 50% top 50vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at right 80% top 50vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at right 80% top 50vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at 50vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at left 50vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at bottom 70% left 50vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at 50vh 50vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at right 80% top 50vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at 50% 50vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at 70vw bottom)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at left 50vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at left 50vh top 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at 50vh top)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at top 50% left 50vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at left 50vmax top 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at 50vw 50vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at 50vmin 50vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at 50vmin top)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at 50vh 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at left 50vw top 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at 50% 50vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at 60vh center)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at left 50vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at top 50vw left 50vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at top 50vmax left 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at left 50vmin top 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at 50vw top)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at top 50% left 50vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at left 50% top 50vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at center 60vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at 50vmin 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at top 50vh left 50vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at right 80vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at 70vmax bottom)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at top 50vmin right 80%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at left 50vw bottom 70%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at center 60vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at top 50vmax left 50vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at 60vmin center)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at bottom 70% left 50vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at 50vmax top)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at top 50% left 50vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at left 50vmax bottom 70%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at top 50% left 50vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at left 50vmax top 50vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at left 50vh top 50vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at 70vmin bottom)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at 70vh bottom)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at bottom 70% left 50vw)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at 50vmax 50vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vh - ellipse(at bottom 70% left 50vh)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at top 50vw left 50%)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmin - ellipse(at left 50vmin top 50vmin)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vw - ellipse(at 60vw center)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit (computed): vmax - ellipse(at 50vmax)]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
--- a/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-outside-ellipse-005.html.ini
+++ b/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-outside-ellipse-005.html.ini
@@ -541,8 +541,121 @@
   [test unit: vmax - ellipse(25% 50vmax) - inline]
     expected: FAIL
 
   [test unit: vmin - ellipse(farthest-side 75vmin) - inline]
     expected: FAIL
 
   [test unit: vh - ellipse(closest-side 75vh) - inline]
     expected: FAIL
+
+  [test unit: vw - ellipse(25vw farthest-side) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vh - ellipse(50vh 25%) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmax - ellipse(25% 50vmax) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmin - ellipse(50vmin 25%) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vh - ellipse(closest-side 75vh) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmin - ellipse(25% 50vmin) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vh - ellipse(25vh farthest-side) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmin - ellipse(closest-side 75vmin) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmin - ellipse(25vmin farthest-side) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vw - ellipse(25% 50vw) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmax - ellipse(closest-side 75vmax) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmin - ellipse(farthest-side 75vmin) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vh - ellipse(25% 50vh) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vw - ellipse(50vw 25%) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vw - ellipse(closest-side 75vw) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vh - ellipse(50vh 100vh) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vw - ellipse(50vw 100vw) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmax - ellipse(farthest-side 75vmax) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vh - ellipse(100vh 100px) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmin - ellipse(50vmin 100vmin) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmax - ellipse(50vmax 25%) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vw - ellipse(100vw 100px) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmax - ellipse(100vmax 100px) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmax - ellipse(25vmax farthest-side) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vh - ellipse(farthest-side 75vh) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vw - ellipse(farthest-side 75vw) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmin - ellipse(100vmin 100px) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
+  [test unit: vmax - ellipse(50vmax 100vmax) - computed]
+    expected:
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
+
--- a/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-outside-inset-003.html.ini
+++ b/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-outside-inset-003.html.ini
@@ -336,326 +336,326 @@
       if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
       if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
       if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
       if os == "android": PASS
       FAIL
 
   [inset(10vmin round 10vmin 20vmin 30vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax 30vmax 40vmax / 10vmax 20vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax / 10vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin 30vmin 40vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin / 10vmin 20vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin 30vmin 40vmin / 10vmin 20vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax 30vmax 40vmax / 10vmax 20vmax 30vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw 30vw / 10vw 20vw 30vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin 30vmin 40vmin / 10vmin 20vmin 30vmin 40vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax 30vmax / 10vmax 20vmax 30vmax 40vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin / 10vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax 30vmax / 10vmax 20vmax 30vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw 30vw / 10vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin / 10vmin 20vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw 30vw / 10vw 20vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax / 10vmax 20vmax 30vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh / 10vh 20vh 30vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw / 10vw 20vw 30vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh 30vh 40vh / 10vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh / 10vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh / 10vh 20vh 30vh 40vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh / 10vh 20vh 30vh 40vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax / 10vmax 20vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh 30vh / 10vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh 30vh 40vh / 10vh 20vh 30vh 40vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh 30vh / 10vh 20vh 30vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh / 10vh 20vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin / 10vmin 20vmin 30vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw / 10vw 20vw 30vw 40vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax 30vmax / 10vmax 20vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax / 10vmax 20vmax 30vmax 40vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw / 10vw 20vw 30vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax 30vmax 40vmax / 10vmax 20vmax 30vmax 40vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin 30vmin / 10vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin / 10vmin 20vmin 30vmin 40vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax 30vmax 40vmax / 10vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw 30vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin 30vmin / 10vmin 20vmin 30vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin 30vmin 40vmin / 10vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw 30vw 40vw / 10vw 20vw 30vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin / 10vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin 30vmin / 10vmin 20vmin 30vmin 40vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax / 10vmax 20vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax 30vmax 40vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh 30vh / 10vh 20vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh / 10vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw 30vw 40vw / 10vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin / 10vmin 20vmin 30vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax 30vmax / 10vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw / 10vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax / 10vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin / 10vmin 20vmin 30vmin 40vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax / 10vmax 20vmax 30vmax 40vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax 30vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw 30vw 40vw / 10vw 20vw 30vw 40vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin 30vmin 40vmin / 10vmin 20vmin 30vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh 30vh 40vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh / 10vh 20vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh 30vh / 10vh 20vh 30vh 40vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw / 10vw 20vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw / 10vw 20vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw 30vw 40vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw 30vw / 10vw 20vw 30vw 40vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh 30vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh 30vh 40vh / 10vh 20vh 30vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh 30vh 40vh / 10vh 20vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw 30vw 40vw / 10vw 20vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vh round 10vh 20vh / 10vh 20vh 30vh) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw / 10vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmax round 10vmax 20vmax / 10vmax 20vmax 30vmax) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vw round 10vw 20vw / 10vw 20vw 30vw 40vw) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [inset(10vmin round 10vmin 20vmin 30vmin / 10vmin 20vmin) - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
--- a/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-outside-polygon-004.html.ini
+++ b/testing/web-platform/meta/css/css-shapes/shape-outside/values/shape-outside-polygon-004.html.ini
@@ -59,70 +59,70 @@
   [Three vertices - cm cm, mm mm, pc pc - computed]
     expected: FAIL
 
   [Three vertices - pc pc, cm, cm, mm mm - computed]
     expected: FAIL
 
   [Two vertices - vw vw, vh vh - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Two vertices - vmin vmin, vmin vmin - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Three vertices - vw vw, vh vh, % % - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Three vertices - % %, vw, vw, vh vh - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Three vertices - vw vw, vw vw, vw vw - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Three vertices - vmax vmax, vmin, vmin, vmin vmin - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Three vertices - vmin vmin, vmin vmin, vmin vmin - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Three vertices - vh vh, vh vh, vh vh - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Three vertices - vmin vmin, vmin vmin, vmax vmax - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Two vertices - vw vh, vh vw - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [One vertex - vw vh - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Three vertices - vmax vmax, vmax vmax, vmax vmax - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Two vertices - vh vh, vw vw - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [One vertex - vmin vmin - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [Two vertices - vw vw, vw vw - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
   [One vertex - vw vw - computed]
     expected:
-      if os == "android": FAIL
+      if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
 
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/filter-effects/parsing/flood-opacity-valid.svg.ini
@@ -0,0 +1,10 @@
+[flood-opacity-valid.svg]
+  [e.style['flood-opacity'\] = "-100%" should set the property value]
+    expected: FAIL
+
+  [e.style['flood-opacity'\] = "50%" should set the property value]
+    expected: FAIL
+
+  [e.style['flood-opacity'\] = "300%" should set the property value]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/filter-effects/svgfeblendelement-mode-001.html.ini
@@ -0,0 +1,7 @@
+[svgfeblendelement-mode-001.html]
+  [SVGFEBlendElement.prototype.mode, getter, invalid value]
+    expected: FAIL
+
+  [SVGFEBlendElement.prototype.mode, setter, numeric value for "normal"]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-layout-suppress-baseline-002.html.ini
@@ -0,0 +1,2 @@
+[contain-layout-suppress-baseline-002.html]
+  expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-size-button-001.html.ini
@@ -0,0 +1,2 @@
+[contain-size-button-001.html]
+  expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/adopted-callback.html.ini
@@ -0,0 +1,2 @@
+[adopted-callback.html]
+  expected: ERROR
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/attribute-changed-callback.html.ini
@@ -0,0 +1,4 @@
+[attribute-changed-callback.html]
+  [Custom Elements: attributeChangedCallback]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/connected-callbacks-html-fragment-parsing.html.ini
@@ -0,0 +1,4 @@
+[connected-callbacks-html-fragment-parsing.html]
+  [Custom Elements: the HTML fragment parsing algorithm must not create a custom element synchronously]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/connected-callbacks.html.ini
@@ -0,0 +1,4 @@
+[connected-callbacks.html]
+  [Custom Elements: connectedCallback]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/custom-element-reaction-queue.html.ini
@@ -0,0 +1,4 @@
+[custom-element-reaction-queue.html]
+  [Custom Elements: Each element must have its own custom element reaction queue]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/disconnected-callbacks.html.ini
@@ -0,0 +1,4 @@
+[disconnected-callbacks.html]
+  [Custom Elements: disconnectedCallback]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/htmlconstructor/newtarget.html.ini
@@ -0,0 +1,4 @@
+[newtarget.html]
+  [Custom Elements: [HTMLConstructor\] derives prototype from NewTarget]
+    expected: FAIL
+
--- a/testing/web-platform/meta/custom-elements/parser/parser-sets-attributes-and-children.html.ini
+++ b/testing/web-platform/meta/custom-elements/parser/parser-sets-attributes-and-children.html.ini
@@ -1,4 +1,7 @@
 [parser-sets-attributes-and-children.html]
   [HTML parser should call connectedCallback before appending child nodes.]
     expected: FAIL
 
+  [Custom Elements: Changes to the HTML parser]
+    expected: FAIL
+
--- a/testing/web-platform/meta/custom-elements/parser/parser-uses-registry-of-owner-document.html.ini
+++ b/testing/web-platform/meta/custom-elements/parser/parser-uses-registry-of-owner-document.html.ini
@@ -1,4 +1,5 @@
 [parser-uses-registry-of-owner-document.html]
+  expected: ERROR
   [HTML parser must use the registry of window.document in a document created by document.implementation.createHTMLDocument()]
     expected: FAIL
 
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/Attr.html.ini
@@ -0,0 +1,7 @@
+[Attr.html]
+  [value on Attr must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+    expected: FAIL
+
+  [value on Attr must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/CSSStyleDeclaration.html.ini
@@ -0,0 +1,91 @@
+[CSSStyleDeclaration.html]
+  [A dashed property (border-width) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+    expected: FAIL
+
+  [cssText on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+    expected: FAIL
+
+  [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [cssFloat on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+    expected: FAIL
+
+  [cssText on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [A camel case attribute (borderWidth) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [cssFloat on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [setProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important but the style attribute is not observed]
+    expected: FAIL
+
+  [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important and the style attribute is observed]
+    expected: FAIL
+
+  [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+    expected: FAIL
+
+  [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+    expected: FAIL
+
+  [A dashed property (border-width) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+    expected: FAIL
+
+  [A camel case attribute (borderWidth) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+    expected: FAIL
+
+  [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+    expected: FAIL
+
+  [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+    expected: FAIL
+
+  [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [removeProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it removes a property from the observed style attribute]
+    expected: FAIL
+
+  [cssText on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+    expected: FAIL
+
+  [A camel case attribute (borderWidth) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [A dashed property (border-width) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+    expected: FAIL
+
+  [setProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [cssText on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+    expected: FAIL
+
+  [removeProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it removes a property from the style attribute but the style attribute is not observed]
+    expected: FAIL
+
+  [A camel case attribute (borderWidth) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+    expected: FAIL
+
+  [A dashed property (border-width) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/ChildNode.html.ini
@@ -0,0 +1,22 @@
+[ChildNode.html]
+  [before on ChildNode must enqueue a connected reaction]
+    expected: FAIL
+
+  [replaceWith on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+    expected: FAIL
+
+  [before on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+    expected: FAIL
+
+  [after on ChildNode must enqueue a connected reaction]
+    expected: FAIL
+
+  [remove on ChildNode must enqueue a disconnected reaction]
+    expected: FAIL
+
+  [replaceWith on ChildNode must enqueue a connected reaction]
+    expected: FAIL
+
+  [after on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/DOMStringMap.html.ini
@@ -0,0 +1,25 @@
+[DOMStringMap.html]
+  [deleter on DOMStringMap must enqueue an attributeChanged reaction when removing an observed data attribute]
+    expected: FAIL
+
+  [deleter on DOMStringMap must not enqueue an attributeChanged reaction when removing an unobserved data attribute]
+    expected: FAIL
+
+  [setter on DOMStringMap must not enqueue an attributeChanged reaction when mutating the value of an unobserved data attribute]
+    expected: FAIL
+
+  [setter on DOMStringMap must enqueue an attributeChanged reaction when adding an observed data attribute]
+    expected: FAIL
+
+  [setter on DOMStringMap must not enqueue an attributeChanged reaction when adding an unobserved data attribute]
+    expected: FAIL
+
+  [setter on DOMStringMap must enqueue an attributeChanged reaction when mutating the value of an observed data attribute to the same value]
+    expected: FAIL
+
+  [deleter on DOMStringMap must not enqueue an attributeChanged reaction when it does not remove a data attribute]
+    expected: FAIL
+
+  [setter on DOMStringMap must enqueue an attributeChanged reaction when mutating the value of an observed data attribute]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/DOMTokenList.html.ini
@@ -0,0 +1,58 @@
+[DOMTokenList.html]
+  [add on DOMTokenList must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+    expected: FAIL
+
+  [replace on DOMTokenList must not enqueue an attributeChanged reaction when the token to replace does not exist in the attribute]
+    expected: FAIL
+
+  [replace on DOMTokenList must not enqueue an attributeChanged reaction when replacing a value in an unobserved attribute]
+    expected: FAIL
+
+  [toggle on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute]
+    expected: FAIL
+
+  [add on DOMTokenList must not enqueue an attributeChanged reaction when adding a value to an unobserved attribute]
+    expected: FAIL
+
+  [add on DOMTokenList must enqueue exactly one attributeChanged reaction when adding multiple values to an attribute]
+    expected: FAIL
+
+  [remove on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute]
+    expected: FAIL
+
+  [the stringifier of DOMTokenList must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+    expected: FAIL
+
+  [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when the setter is called with the original value of the attribute]
+    expected: FAIL
+
+  [toggle on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an attribute]
+    expected: FAIL
+
+  [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when adding an observed attribute]
+    expected: FAIL
+
+  [add on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an existing attribute]
+    expected: FAIL
+
+  [remove on DOMTokenList must enqueue an attributeChanged reaction even when removing a non-existent value from an attribute]
+    expected: FAIL
+
+  [remove on DOMTokenList must not enqueue an attributeChanged reaction when removing a value from an unobserved attribute]
+    expected: FAIL
+
+  [remove on DOMTokenList must enqueue exactly one attributeChanged reaction when removing multiple values to an attribute]
+    expected: FAIL
+
+  [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when mutating the value of an observed attribute]
+    expected: FAIL
+
+  [replace on DOMTokenList must enqueue an attributeChanged reaction when replacing a value in an attribute]
+    expected: FAIL
+
+  [add on DOMTokenList must enqueue an attributeChanged reaction when adding an attribute]
+    expected: FAIL
+
+  [the stringifier of DOMTokenList must not enqueue an attributeChanged reaction when mutating the value of an unobserved attribute]
+    expected: FAIL
+
--- a/testing/web-platform/meta/custom-elements/reactions/Document.html.ini
+++ b/testing/web-platform/meta/custom-elements/reactions/Document.html.ini
@@ -1,7 +1,10 @@
 [Document.html]
   [importNode on Document must construct a new custom element when importing a custom element]
     expected: FAIL
 
   [execCommand on Document must enqueue a disconnected reaction when deleting a custom element from a contenteditable element]
     expected: FAIL
 
+  [Custom Elements: CEReactions on Document interface]
+    expected: FAIL
+
--- a/testing/web-platform/meta/custom-elements/reactions/Element.html.ini
+++ b/testing/web-platform/meta/custom-elements/reactions/Element.html.ini
@@ -9,8 +9,131 @@
     expected: FAIL
 
   [undefined must enqueue a connected reaction]
     expected: FAIL
 
   [undefined must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
     expected: FAIL
 
+  [className on Element must enqueue an attributeChanged reaction when adding class content attribute]
+    expected: FAIL
+
+  [id on Element must enqueue an attributeChanged reaction when adding id content attribute]
+    expected: FAIL
+
+  [removeAttributeNS on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute]
+    expected: FAIL
+
+  [setAttributeNode on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+    expected: FAIL
+
+  [slot on Element must enqueue an attributeChanged reaction when adding slot content attribute]
+    expected: FAIL
+
+  [insertAdjacentHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element]
+    expected: FAIL
+
+  [removeAttribute on Element must enqueue an attributeChanged reaction when removing an existing attribute]
+    expected: FAIL
+
+  [setAttributeNodeNS on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+    expected: FAIL
+
+  [removeAttribute on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute]
+    expected: FAIL
+
+  [id on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [insertAdjacentHTML on Element must enqueue a connected reaction for a newly constructed custom element]
+    expected: FAIL
+
+  [removeAttributeNode on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute]
+    expected: FAIL
+
+  [removeAttributeNode on Element must enqueue an attributeChanged reaction when removing an existing attribute]
+    expected: FAIL
+
+  [slot on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [outerHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element]
+    expected: FAIL
+
+  [innerHTML on Element must enqueue a disconnected reaction]
+    expected: FAIL
+
+  [setAttributeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [setAttribute on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+    expected: FAIL
+
+  [outerHTML on Element must enqueue a disconnected reaction]
+    expected: FAIL
+
+  [removeAttributeNode on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute]
+    expected: FAIL
+
+  [outerHTML on Element must enqueue a connected reaction for a newly constructed custom element]
+    expected: FAIL
+
+  [innerHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element]
+    expected: FAIL
+
+  [setAttribute on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [setAttributeNode on Element must enqueue an attributeChanged reaction when adding an attribute]
+    expected: FAIL
+
+  [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [insertAdjacentElement on Element must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+    expected: FAIL
+
+  [removeAttribute on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute]
+    expected: FAIL
+
+  [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+    expected: FAIL
+
+  [className on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [removeAttributeNS on Element must enqueue an attributeChanged reaction when removing an existing attribute]
+    expected: FAIL
+
+  [innerHTML on Element must enqueue a connected reaction for a newly constructed custom element]
+    expected: FAIL
+
+  [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when adding an attribute]
+    expected: FAIL
+
+  [removeAttributeNS on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute]
+    expected: FAIL
+
+  [insertAdjacentElement on Element must enqueue a connected reaction]
+    expected: FAIL
+
+  [setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+    expected: FAIL
+
+  [setAttribute on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+    expected: FAIL
+
+  [setAttributeNS on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+    expected: FAIL
+
+  [setAttribute on Element must enqueue an attributeChanged reaction when adding an attribute]
+    expected: FAIL
+
+  [setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [setAttributeNS on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+    expected: FAIL
+
+  [setAttributeNS on Element must enqueue an attributeChanged reaction when adding an attribute]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/ElementContentEditable.html.ini
@@ -0,0 +1,7 @@
+[ElementContentEditable.html]
+  [contentEditable on ElementContentEditable must enqueue an attributeChanged reaction when adding contenteditable content attribute]
+    expected: FAIL
+
+  [contentEditable on ElementContentEditable must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/HTMLAnchorElement.html.ini
@@ -0,0 +1,4 @@
+[HTMLAnchorElement.html]
+  [Custom Elements: CEReactions on HTMLAnchorElement interface]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/HTMLButtonElement.html.ini
@@ -0,0 +1,61 @@
+[HTMLButtonElement.html]
+  [autofocus on HTMLButtonElement must enqueue an attributeChanged reaction when adding autofocus content attribute]
+    expected: FAIL
+
+  [autofocus on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [disabled on HTMLButtonElement must enqueue an attributeChanged reaction when adding disabled content attribute]
+    expected: FAIL
+
+  [disabled on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [formNoValidate on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute]
+    expected: FAIL
+
+  [formNoValidate on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [formMethod on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [formMethod on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute]
+    expected: FAIL
+
+  [formEnctype on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute]
+    expected: FAIL
+
+  [formAction on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute]
+    expected: FAIL
+
+  [value on HTMLButtonElement must enqueue an attributeChanged reaction when adding value content attribute]
+    expected: FAIL
+
+  [type on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [formTarget on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [formTarget on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute]
+    expected: FAIL
+
+  [formAction on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [name on HTMLButtonElement must enqueue an attributeChanged reaction when adding name content attribute]
+    expected: FAIL
+
+  [value on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [formEnctype on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [name on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [type on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute]
+    expected: FAIL
+
--- a/testing/web-platform/meta/custom-elements/reactions/HTMLElement.html.ini
+++ b/testing/web-platform/meta/custom-elements/reactions/HTMLElement.html.ini
@@ -12,8 +12,59 @@
     expected: FAIL
 
   [contextMenu on HTMLElement must enqueue an attributeChanged reaction when adding contextmenu content attribute]
     expected: FAIL
 
   [contextMenu on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
     expected: FAIL
 
+  [hidden on HTMLElement must enqueue an attributeChanged reaction when adding hidden content attribute]
+    expected: FAIL
+
+  [hidden on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [tabIndex on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [draggable on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [accessKey on HTMLElement must enqueue an attributeChanged reaction when adding accesskey content attribute]
+    expected: FAIL
+
+  [spellcheck on HTMLElement must enqueue an attributeChanged reaction when adding spellcheck content attribute]
+    expected: FAIL
+
+  [lang on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [accessKey on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [draggable on HTMLElement must enqueue an attributeChanged reaction when adding draggable content attribute]
+    expected: FAIL
+
+  [innerText on HTMLElement must enqueue a disconnected reaction]
+    expected: FAIL
+
+  [title on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [spellcheck on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [lang on HTMLElement must enqueue an attributeChanged reaction when adding lang content attribute]
+    expected: FAIL
+
+  [dir on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [title on HTMLElement must enqueue an attributeChanged reaction when adding title content attribute]
+    expected: FAIL
+
+  [tabIndex on HTMLElement must enqueue an attributeChanged reaction when adding tabindex content attribute]
+    expected: FAIL
+
+  [dir on HTMLElement must enqueue an attributeChanged reaction when adding dir content attribute]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/HTMLOptionElement.html.ini
@@ -0,0 +1,4 @@
+[HTMLOptionElement.html]
+  [Custom Elements: CEReactions on HTMLOptionElement interface]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/HTMLOptionsCollection.html.ini
@@ -0,0 +1,4 @@
+[HTMLOptionsCollection.html]
+  [Custom Elements: CEReactions on HTMLOptionsCollection interface]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/HTMLOutputElement.html.ini
@@ -0,0 +1,4 @@
+[HTMLOutputElement.html]
+  [Custom Elements: CEReactions on HTMLOutputElement interface]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/HTMLSelectElement.html.ini
@@ -0,0 +1,4 @@
+[HTMLSelectElement.html]
+  [Custom Elements: CEReactions on HTMLSelectElement interface]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/HTMLTableElement.html.ini
@@ -0,0 +1,4 @@
+[HTMLTableElement.html]
+  [Custom Elements: CEReactions on HTMLTableElement interface]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/HTMLTableRowElement.html.ini
@@ -0,0 +1,4 @@
+[HTMLTableRowElement.html]
+  [Custom Elements: CEReactions on HTMLTableRowElement interface]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/HTMLTableSectionElement.html.ini
@@ -0,0 +1,4 @@
+[HTMLTableSectionElement.html]
+  [Custom Elements: CEReactions on HTMLTableSectionElement interface]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/HTMLTitleElement.html.ini
@@ -0,0 +1,4 @@
+[HTMLTitleElement.html]
+  [Custom Elements: CEReactions on HTMLTitleElement interface]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/NamedNodeMap.html.ini
@@ -0,0 +1,43 @@
+[NamedNodeMap.html]
+  [removeNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when removing an existing unobserved attribute]
+    expected: FAIL
+
+  [removeNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when removing an existing attribute]
+    expected: FAIL
+
+  [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when adding an attribute]
+    expected: FAIL
+
+  [removeNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when removing an existing attribute]
+    expected: FAIL
+
+  [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+    expected: FAIL
+
+  [removeNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when removing an unobserved attribute]
+    expected: FAIL
+
+  [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when adding an attribute]
+    expected: FAIL
+
+  [setNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+    expected: FAIL
+
+  [removeNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when removing an unobserved attribute]
+    expected: FAIL
+
+  [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+    expected: FAIL
+
+  [removeNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when removing an existing unobserved attribute]
+    expected: FAIL
+
+  [setNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+    expected: FAIL
+
+  [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/Node.html.ini
@@ -0,0 +1,43 @@
+[Node.html]
+  [removeChild on ChildNode must enqueue a disconnected reaction]
+    expected: FAIL
+
+  [cloneNode on Node must enqueue an attributeChanged reaction when cloning an element with an observed attribute]
+    expected: FAIL
+
+  [replaceChild on ChildNode must enqueue a connected reaction]
+    expected: FAIL
+
+  [nodeValue on Node must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [cloneNode on Node must not enqueue an attributeChanged reaction when cloning an element with an unobserved attribute]
+    expected: FAIL
+
+  [cloneNode on Node must enqueue an attributeChanged reaction when cloning an element only for observed attributes]
+    expected: FAIL
+
+  [appendChild on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+    expected: FAIL
+
+  [insertBefore on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+    expected: FAIL
+
+  [insertBefore on ChildNode must enqueue a connected reaction]
+    expected: FAIL
+
+  [appendChild on ChildNode must enqueue a connected reaction]
+    expected: FAIL
+
+  [textContent on Node must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+    expected: FAIL
+
+  [textContent on Node must enqueue an attributeChanged reaction when replacing an existing attribute]
+    expected: FAIL
+
+  [replaceChild on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+    expected: FAIL
+
+  [nodeValue on Node must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/ParentNode.html.ini
@@ -0,0 +1,13 @@
+[ParentNode.html]
+  [prepend on ParentNode must enqueue a connected reaction]
+    expected: FAIL
+
+  [prepend on ParentNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+    expected: FAIL
+
+  [append on ParentNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+    expected: FAIL
+
+  [append on ParentNode must enqueue a connected reaction]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/Range.html.ini
@@ -0,0 +1,31 @@
+[Range.html]
+  [cloneContents on Range must enqueue an attributeChanged reaction when cloning an element only for observed attributes]
+    expected: FAIL
+
+  [cloneContents on Range must not enqueue an attributeChanged reaction when cloning an element with an unobserved attribute]
+    expected: FAIL
+
+  [deleteContents on Range must enqueue a disconnected reaction]
+    expected: FAIL
+
+  [extractContents on Range must enqueue a disconnected reaction]
+    expected: FAIL
+
+  [insertNode on Range must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+    expected: FAIL
+
+  [cloneContents on Range must enqueue an attributeChanged reaction when cloning an element with an observed attribute]
+    expected: FAIL
+
+  [surroundContents on Range must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+    expected: FAIL
+
+  [surroundContents on Range must enqueue a connected reaction]
+    expected: FAIL
+
+  [insertNode on Range must enqueue a connected reaction]
+    expected: FAIL
+
+  [createContextualFragment on Range must construct a custom element]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/Selection.html.ini
@@ -0,0 +1,4 @@
+[Selection.html]
+  [deleteFromDocument on Selection must enqueue a disconnected reaction]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/ShadowRoot.html.ini
@@ -0,0 +1,4 @@
+[ShadowRoot.html]
+  [Custom Elements: CEReactions on ShadowRoot interface]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/reactions/with-exceptions.html.ini
@@ -0,0 +1,4 @@
+[with-exceptions.html]
+  [Custom Elements: CEReactions interaction with exceptions]
+    expected: FAIL
+
--- a/testing/web-platform/meta/custom-elements/upgrading.html.ini
+++ b/testing/web-platform/meta/custom-elements/upgrading.html.ini
@@ -1,2 +1,5 @@
 [upgrading.html]
   max-asserts: 4
+  [Custom Elements: Enqueue a custom element upgrade reaction]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/custom-elements/upgrading/Document-importNode.html.ini
@@ -0,0 +1,4 @@
+[Document-importNode.html]
+  [Document-importNode]
+    expected: FAIL
+
--- a/testing/web-platform/meta/editing/run/forwarddelete.html.ini
+++ b/testing/web-platform/meta/editing/run/forwarddelete.html.ini
@@ -951,16 +951,19 @@
     expected: FAIL
 
   [[["forwarddelete",""\]\] "<p>foo[\]</p><img src=/img/lion.svg><p>bar" compare innerHTML]
     expected: FAIL
 
   [[["forwarddelete",""\]\] "foo [\]&nbsp;" compare innerHTML]
     expected: FAIL
 
+  [forwarddelete - HTML editing conformance tests]
+    expected: FAIL
+
 
 [forwarddelete.html?5001-6000]
   [[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["forwarddelete",""\]\] "<p>foo[bar<p style=color:blue>baz\]quz" compare innerHTML]
     expected: FAIL
 
   [[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["forwarddelete",""\]\] "<p>foo[bar<p style=color:blue>baz\]quz" compare innerHTML]
     expected: FAIL
 
--- a/testing/web-platform/meta/encrypted-media/__dir__.ini
+++ b/testing/web-platform/meta/encrypted-media/__dir__.ini
@@ -1,3 +1,3 @@
 prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
-lsan-allowed: [Alloc, MakeUnique, Malloc, NewPage, Realloc, mozilla::EMEDecryptor::EMEDecryptor, mozilla::SchedulerGroup::CreateEventTargetFor, CreateCDMProxy, mozilla::dom::MediaKeys::CreateCDMProxy, mozilla::dom::nsIContentChild::GetConstructedEventTarget]
-leak-threshold: [default: 51200]
+lsan-allowed: [Alloc, CreateCDMProxy, MakeUnique, Malloc, NewPage, Realloc, mozilla::EMEDecryptor::EMEDecryptor, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::MediaKeys::CreateCDMProxy, mozilla::dom::nsIContentChild::GetConstructedEventTarget]
+leak-threshold: [default:51200]
deleted file mode 100644
--- a/testing/web-platform/meta/feature-policy/reporting/encrypted-media-reporting.https.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[encrypted-media-reporting.https.html]
-  expected: TIMEOUT
-  [Encrypted Media report format]
-    expected: TIMEOUT
-
deleted file mode 100644
--- a/testing/web-platform/meta/feature-policy/reporting/geolocation-reporting.https.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[geolocation-reporting.https.html]
-  [Geolocation Report Format]
-    expected: FAIL
-
--- a/testing/web-platform/meta/fetch/api/response/response-clone.html.ini
+++ b/testing/web-platform/meta/fetch/api/response/response-clone.html.ini
@@ -30,8 +30,11 @@
     expected: FAIL
 
   [Check response clone use structureClone for teed ReadableStreams (DataViewchunk)]
     expected: FAIL
 
   [Cloned responses should provide the same data]
     expected: FAIL
 
+  [Check Response's clone with default values, without body]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/fetch/content-type/response.window.js.ini
@@ -0,0 +1,241 @@
+[response.window.html]
+  [Response: combined response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
+    expected: FAIL
+
+  [Request: combined response Content-Type: */* text/html]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/html */*]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: */* text/html]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/html;" text/plain]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/html;x=" text/plain]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: */* text/html]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/html */*]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/plain;charset=gbk text/html]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/html;x=" text/plain]
+    expected: FAIL
+
+  [<iframe>: separate response Content-Type: text/html;" text/plain]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/html;charset=gbk text/plain text/html]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/html text/plain]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+    expected: FAIL
+
+  [<iframe>: separate response Content-Type: text/plain;charset=gbk text/html]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/html */*;charset=gbk]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/plain;charset=gbk text/plain]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/html text/plain]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/plain */*]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/html;charset=gbk text/plain text/html]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/plain;charset=gbk text/plain]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/plain;charset=gbk text/html]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/html;" text/plain]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/html text/plain]
+    expected: FAIL
+
+  [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/html;x=" text/plain]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/plain */*]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/html */*;charset=gbk]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/html;x=" text/plain]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/html */*]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/html;" text/plain]
+    expected: FAIL
+
+  [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254]
+    expected: FAIL
+
+  [Response: combined response Content-Type: */* text/html]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/plain;charset=gbk text/html]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/plain;charset=gbk text/html]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/plain */*]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/plain */*;charset=gbk]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/plain */*;charset=gbk]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/plain;charset=gbk text/plain]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/html text/plain]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/html;" text/plain]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/plain */*;charset=gbk]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/html */*;charset=gbk]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/plain ]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/plain ]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type:  text/plain]
+    expected: FAIL
+
+  [Response: combined response Content-Type:  text/plain]
+    expected: FAIL
+
+  [Request: combined response Content-Type:  text/plain]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type:  text/plain]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/plain ]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/html;" \\" text/plain]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/html;" \\" text/plain]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/html;" \\" text/plain]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/html;" \\" text/plain]
+    expected: FAIL
+
+  [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/html;" \\" text/plain ";charset=GBK]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/html;" " text/plain]
+    expected: FAIL
+
+  [Request: combined response Content-Type: text/html;" " text/plain]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/plain;charset=gbk;x=foo text/plain]
+    expected: FAIL
+
+  [<iframe>: separate response Content-Type: text/html;" \\" text/plain ";charset=GBK]
+    expected: FAIL
+
+  [fetch(): combined response Content-Type: text/html;" " text/plain]
+    expected: FAIL
+
+  [fetch(): separate response Content-Type: text/html;" " text/plain]
+    expected: FAIL
+
+  [Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/fetch/content-type/script.window.js.ini
@@ -0,0 +1,19 @@
+[script.window.html]
+  [separate text/javascript;";charset=windows-1252]
+    expected: FAIL
+
+  [separate x/x;charset=windows-1252 text/javascript]
+    expected: FAIL
+
+  [separate text/javascript;" x/x]
+    expected: FAIL
+
+  [separate text/javascript;charset=windows-1252 x/x text/javascript]
+    expected: FAIL
+
+  [separate text/javascript;charset=windows-1252;" \\" x/x]
+    expected: FAIL
+
+  [separate x/x;" x/y;\\" text/javascript;charset=windows-1252;" text/javascript]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/fullscreen/api/element-request-fullscreen.html.ini
@@ -0,0 +1,4 @@
+[element-request-fullscreen.html]
+  [Element#requestFullscreen()]
+    expected: FAIL
+
--- a/testing/web-platform/meta/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
+++ b/testing/web-platform/meta/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
@@ -1,11 +1,4 @@
 [traverse_the_history_3.html]
   [Multiple history traversals, last would be aborted]
-    expected:
-      if not debug and not webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): TIMEOUT
-      if not debug and webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): TIMEOUT
-      if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      if not debug and not webrender and e10s and not sw-e10s and not asan and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      FAIL
+    expected: FAIL
 
--- a/testing/web-platform/meta/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
+++ b/testing/web-platform/meta/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
@@ -1,11 +1,4 @@
 [traverse_the_history_4.html]
   [Multiple history traversals, last would be aborted]
-    expected:
-      if not debug and not webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): TIMEOUT
-      if not debug and webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): TIMEOUT
-      if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      if not debug and not webrender and e10s and not sw-e10s and not asan and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      FAIL
+    expected: FAIL
 
--- a/testing/web-platform/meta/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
+++ b/testing/web-platform/meta/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
@@ -1,11 +1,4 @@
 [traverse_the_history_5.html]
   [Multiple history traversals, last would be aborted]
-    expected:
-      if not debug and not webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): TIMEOUT
-      if not debug and webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      if not debug and not webrender and e10s and not sw-e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      if not debug and not webrender and e10s and not sw-e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): TIMEOUT
-      if not debug and not webrender and e10s and not sw-e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      if not debug and not webrender and e10s and not sw-e10s and not asan and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
-      FAIL
+    expected: FAIL
 
--- a/testing/web-platform/meta/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/no_window_open_when_term_nesting_level_nonzero.window.js.ini
+++ b/testing/web-platform/meta/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/no_window_open_when_term_nesting_level_nonzero.window.js.ini
@@ -1,12 +1,10 @@
 [no_window_open_when_term_nesting_level_nonzero.window.html]
-  expected:
-    if not debug and webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
-    ERROR
+  expected: ERROR
   [no popups from synchronously reachable window]
     expected: FAIL
 
   [no popups with frame navigation]
     expected: FAIL
 
   [no popups from another synchronously reachable window]
     expected:
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/ready-states/autoplay-hidden.optional.html.ini
@@ -0,0 +1,4 @@
+[autoplay-hidden.optional.html]
+  [Allow delaying autoplay until video elements become visible]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-manual-classic.html.ini
@@ -0,0 +1,8 @@
+[no-active-script-manual-classic.html]
+  expected: TIMEOUT
+  [onclick that indirectly imports after a task should successfully import, using page's base URL]
+    expected: NOTRUN
+
+  [onclick that directly imports should successfully import, using page's base URL]
+    expected: TIMEOUT
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-manual-module.html.ini
@@ -0,0 +1,8 @@
+[no-active-script-manual-module.html]
+  expected: TIMEOUT
+  [onclick that indirectly imports after a task should successfully import, using page's base URL]
+    expected: NOTRUN
+
+  [onclick that directly imports should successfully import, using page's base URL]
+    expected: TIMEOUT
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/empty-root-margin.html.ini
@@ -0,0 +1,4 @@
+[empty-root-margin.html]
+  [An empty rootMargin string is interpreted as a margin of size zero]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/loading/preloader-css-import-no-quote.tentative.html.ini
@@ -0,0 +1,4 @@
+[preloader-css-import-no-quote.tentative.html]
+  [Imported inline CSS with no quote is not blocked on pending CSS]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/loading/preloader-css-import-no-semicolon.tentative.html.ini
@@ -0,0 +1,4 @@
+[preloader-css-import-no-semicolon.tentative.html]
+  [Imported inline CSS with no semicolon is not blocked on pending CSS]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/loading/preloader-css-import-no-space.tentative.html.ini
@@ -0,0 +1,4 @@
+[preloader-css-import-no-space.tentative.html]
+  [Imported inline CSS with no quote is not blocked on pending CSS]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/loading/preloader-css-import-single-quote.tentative.html.ini
@@ -0,0 +1,4 @@
+[preloader-css-import-single-quote.tentative.html]
+  [Imported inline CSS is not blocked on pending CSS]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/loading/preloader-css-import.tentative.html.ini
@@ -0,0 +1,4 @@
+[preloader-css-import.tentative.html]
+  [Imported inline CSS is not blocked on pending CSS]
+    expected: FAIL
+
--- a/testing/web-platform/meta/media-capabilities/decodingInfo.html.ini
+++ b/testing/web-platform/meta/media-capabilities/decodingInfo.html.ini
@@ -1,7 +1,10 @@
 [decodingInfo.html]
   [Test that decodingInfo rejects if the video configuration contentType has more than one parameter]
     expected: FAIL
 
   [Test that decodingInfo rejects if the audio configuration contentType has more than one parameters]
     expected: FAIL
 
+  [Test that decodingInfo returns a valid MediaCapabilitiesInfo objects]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/media-capabilities/decodingInfoEncryptedMedia.http.html.ini
@@ -0,0 +1,4 @@
+[decodingInfoEncryptedMedia.http.html]
+  [Test that decodingInfo() with a keySystemConfiguration fails on a non-secure context.]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/media-capabilities/decodingInfoEncryptedMedia.https.html.ini
@@ -0,0 +1,22 @@
+[decodingInfoEncryptedMedia.https.html]
+  [Test that decodingInfo() rejects if distinctiveIdentifier isn't valid.]
+    expected: FAIL
+
+  [Test that decodingInfo() rejects if robustness and configuration do not match (1).]
+    expected: FAIL
+
+  [Test that decodingInfo() rejects if persistentState isn't valid.]
+    expected: FAIL
+
+  [Test that decodingInfo() rejects if sessionTypes isn't a sequence.]
+    expected: FAIL
+
+  [Test that decodingInfo() rejects if robustness and configuration do not match (3).]
+    expected: FAIL
+
+  [Test that decodingInfo() rejects if robustness and configuration do not match (2).]
+    expected: FAIL
+
+  [Test that decodingInfo returns a valid MediaCapabilitiesDecodingInfo objects with encrypted media]
+    expected: FAIL
+
--- a/testing/web-platform/meta/mimesniff/mime-types/parsing.any.js.ini
+++ b/testing/web-platform/meta/mimesniff/mime-types/parsing.any.js.ini
@@ -10693,16 +10693,6214 @@
     expected: FAIL
 
   [x/x;„=x;bonus=x (Request/Response)]
     expected: FAIL
 
   [í/x (Request/Response)]
     expected: FAIL
 
+  [¯/x (Request/Response)]
+    expected: FAIL
+
+  [Ë/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ò;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=œ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ø;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="„";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=¥;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ã";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="È";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/“ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="’";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Î (Request/Response)]
+    expected: FAIL
+
+  [ã/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Á;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Á";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ç";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Æ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ó;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/ë (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="×";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Å;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Ã/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Î;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ñ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=•;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=”;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/€ (Request/Response)]
+    expected: FAIL
+
+  [x/” (Request/Response)]
+    expected: FAIL
+
+  [È/x (Request/Response)]
+    expected: FAIL
+
+  [™/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¨;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="À";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="í";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ë=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ý=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¢";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=¡;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=À;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="–";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [“/x (Request/Response)]
+    expected: FAIL
+
+  [x/‡ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¾";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="«";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ñ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;é=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=–;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;•=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ý;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="†";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="á";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ï=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Ù/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ä=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/ž (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ê";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;å=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;²=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;à=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=¸;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;†=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="µ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [É/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ø;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Û";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Õ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="“";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Û;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ð";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=€;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Â=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [î/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¡=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;˜=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;²=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/ó (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ý;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ž=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/ã (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="”";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="±";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Œ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ñ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¼";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [þ/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;½=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=½;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ë";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¦;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [‘/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¾;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ë;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ƒ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ž=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;’=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [ý/x (Request/Response)]
+    expected: FAIL
+
+  [/x (Request/Response)]
+    expected: FAIL
+
+  [x/Í (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="§";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [¶/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=„;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [×/x (Request/Response)]
+    expected: FAIL
+
+  [—/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ú;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=³;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ñ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="‹";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/ˆ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="â";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=" ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;…=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="²";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ˆ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ó=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [±/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ý;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Ï (Request/Response)]
+    expected: FAIL
+
+  [x/µ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ë";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;“=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;™=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¸";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;™=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ä=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="÷";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ª=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;¹=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Ÿ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=«;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/ƒ (Request/Response)]
+    expected: FAIL
+
+  [x/x;Á=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=è;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=†;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ƒ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¡=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;´=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ã=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=à;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=æ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=–;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Æ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="‹";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ê=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Í";bonus=x (Blob/File)]
+    expected: FAIL
+
+  ["text/html" (Request/Response)]
+    expected: FAIL
+
+  [x/ò (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=”;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="À";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;í=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ž;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ð=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Š;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ø";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;æ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/É (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ñ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ç;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¬";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/æ (Request/Response)]
+    expected: FAIL
+
+  [x/¯ (Request/Response)]
+    expected: FAIL
+
+  [Ô/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ò=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ž";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [ø/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ú=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Ž=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¹";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Œ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ç";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=í;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¡";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Ä=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [Ý/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/© (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=›;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ä;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=è;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ž;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;å=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;test=�;x=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ü=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Í=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ú";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/· (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Â;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;†=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/è (Request/Response)]
+    expected: FAIL
+
+  [x/x;¦=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [·/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¸=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=…;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ý";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=®;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/î (Request/Response)]
+    expected: FAIL
+
+  [x/¶ (Request/Response)]
+    expected: FAIL
+
+  [x/ý (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ÿ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ú";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="þ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Ü/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ß=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=‹;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;¬=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/À (Request/Response)]
+    expected: FAIL
+
+  [x/È (Request/Response)]
+    expected: FAIL
+
+  [x/¢ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¾";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¶=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ï=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Ð=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="‚";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="û";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¶";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Â;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ø=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Œ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [õ/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ô=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=’;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/± (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¨;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=å;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;“=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/ß (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="‘";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ã;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¯";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ˆ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="‚";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [ü/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ý=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;©=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ñ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;±=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;õ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ô=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=š;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="³";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Ù (Request/Response)]
+    expected: FAIL
+
+  [à/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ä";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="©";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Æ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [Å/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Ò (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=È;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="»";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="™";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [‚/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="·";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [â/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="º";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/ (Request/Response)]
+    expected: FAIL
+
+  [x/ÿ (Request/Response)]
+    expected: FAIL
+
+  [x/x;±=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;›=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ä";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;‰=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;˜=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="­";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ñ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/« (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¹;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [ò/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ª=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [¦/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="»";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="È";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;œ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ù=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ø;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¿=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=æ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [š/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x= ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/´ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ž;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ç;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ñ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="©";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="è";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/ª (Request/Response)]
+    expected: FAIL
+
+  [ƒ/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;­=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/é (Request/Response)]
+    expected: FAIL
+
+  [x/x;›=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Æ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Â=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="§";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [’/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ó";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;„=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [³/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=£;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Ü=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Á";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Á;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/¼ (Request/Response)]
+    expected: FAIL
+
+  [x/x;õ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ô;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ë";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Û (Request/Response)]
+    expected: FAIL
+
+  [x/x;…=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¤=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [ç/x (Request/Response)]
+    expected: FAIL
+
+  [x/ (Request/Response)]
+    expected: FAIL
+
+  [x/‹ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=‚;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=€;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ô";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [/x (Request/Response)]
+    expected: FAIL
+
+  [Þ/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="é";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ÿ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Î=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ß=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [Ì/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="÷";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ã";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Š;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ê;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ý";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="‰";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ã=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¡;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ê";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=É;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ÿ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ø=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=…;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=á;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Þ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ò=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=°;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=î;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ò";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;»=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=²;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/¿ (Request/Response)]
+    expected: FAIL
+
+  [x/x;î=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [÷/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ã";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;¹=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="“";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [„/x (Request/Response)]
+    expected: FAIL
+
+  [Í/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ø";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=þ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="‰";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=±;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/™ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="£";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ø=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [º/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;°=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Š=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ï";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Ê (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¨";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="·";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ô;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/÷ (Request/Response)]
+    expected: FAIL
+
+  [x/Ë (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ü";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Õ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¢";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/» (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="°";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ö=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [‡/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;‡=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="‡";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ß";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Þ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=—;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=¼;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Æ/x (Request/Response)]
+    expected: FAIL
+
+  [Ç/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ô";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/º (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=à;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="—";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ò";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=­;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="½";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [æ/x (Request/Response)]
+    expected: FAIL
+
+  [°/x (Request/Response)]
+    expected: FAIL
+
+  [ê/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=‰;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=‘;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Ä (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="½";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ó=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ð";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Ì=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ô;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ô;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ï";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ž";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ø";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ß";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="š";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [À/x (Request/Response)]
+    expected: FAIL
+
+  [x/ô (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Î";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¸;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Í";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Î";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¦";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [ú/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=•;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="´";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ü";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ð;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Þ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [¥/x (Request/Response)]
+    expected: FAIL
+
+  [Î/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ü;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ù=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ê;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="æ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ì";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ä;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ƒ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [á/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¯=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="™";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=²;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=‚;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/í (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ž=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ÿ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ô=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;þ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [¾/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;â=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Š=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Á=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¥;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Û/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;‘=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/§ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=É;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=—;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¦=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ž";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [¸/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="á";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=÷;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¸";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=’;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ð=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="É";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/– (Request/Response)]
+    expected: FAIL
+
+  [x/x;‹=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Ò/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=õ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ÿ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;·=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=“;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [¨/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ú=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ç=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=­;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ã;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="œ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ù";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ú=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=§;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=¯;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ê=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Ú (Request/Response)]
+    expected: FAIL
+
+  [x/ú (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ÿ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Ý=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;©=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ó;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¤";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [¤/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ð;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="å";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="è";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [Ê/x (Request/Response)]
+    expected: FAIL
+
+  [x/ð (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ÿ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="…";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=³;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¤;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ë;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [Ÿ/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ö=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Ø=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [ž/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¨";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ô=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="€";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ã;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Ü=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [ˆ/x (Request/Response)]
+    expected: FAIL
+
+  [˜/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¾=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [ /x (Request/Response)]
+    expected: FAIL
+
+  [x/š (Request/Response)]
+    expected: FAIL
+
+  [x/ü (Request/Response)]
+    expected: FAIL
+
+  [x/x;Å=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ð=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ù";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¼;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ú";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;§=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=©;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/ (Request/Response)]
+    expected: FAIL
+
+  [x/x;µ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ß;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="–";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [½/x (Request/Response)]
+    expected: FAIL
+
+  [´/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/ö (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="å";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="à";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=©;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ã";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [ë/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=“;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;û=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;À=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;¿=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=þ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;á=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="î";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=¬;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/‘ (Request/Response)]
+    expected: FAIL
+
+  [x/x;=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¹";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ó=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;‡=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [œ/x (Request/Response)]
+    expected: FAIL
+
+  [x/x; =x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ú;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;î=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¿;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;¨=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ã=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Ñ/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¬";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/× (Request/Response)]
+    expected: FAIL
+
+  ["text/html" (Blob/File)]
+    expected: FAIL
+
+  [x/Ž (Request/Response)]
+    expected: FAIL
+
+  [x/x;÷=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/þ (Request/Response)]
+    expected: FAIL
+
+  [ß/x (Request/Response)]
+    expected: FAIL
+
+  [¡/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¶";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [¹/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ù;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Â (Request/Response)]
+    expected: FAIL
+
+  [x/¨ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="³";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ý";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¨=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;‰=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ÿ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/ç (Request/Response)]
+    expected: FAIL
+
+  [x/x;þ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¿";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/… (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=‡;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Â";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=È;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;æ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¼=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="±";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;¥=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ü";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Ç (Request/Response)]
+    expected: FAIL
+
+  [Š/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;·=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Š";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="®";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Ñ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="É";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¢=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=¹;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ç;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Û;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ç;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="õ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ä";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [ù/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ë=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ì;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [û/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ê";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Û";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=»;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [ó/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="­";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;–=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [è/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Š";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [å/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=‘;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ú";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="®";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Æ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/å (Request/Response)]
+    expected: FAIL
+
+  [Ð/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¢;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¦";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/ø (Request/Response)]
+    expected: FAIL
+
+  [x/x;–=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Î=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/¡ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ü;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [ï/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;à=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;µ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;—=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [¿/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;è=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Ó=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [text/html;test=ÿ;charset=gbk (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ž;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;â=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [§/x (Request/Response)]
+    expected: FAIL
+
+  [ª/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;º=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ì=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ì;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ÿ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [ô/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ö";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/‰ (Request/Response)]
+    expected: FAIL
+
+  [x/x;ä=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;«=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;¤=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [«/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ú;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=÷;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ç";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¡";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¼=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ß;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/ì (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="š";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="œ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ü;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Å";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=á;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/½ (Request/Response)]
+    expected: FAIL
+
+  [¬/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ˆ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ë;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ø;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=õ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [ä/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=º;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;—=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ƒ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ê=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [Œ/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ü;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ô";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Þ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ø";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;‹=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [•/x (Request/Response)]
+    expected: FAIL
+
+  [Ó/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ï;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Þ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ö";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=" ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=«;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="€";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Œ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="˜";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [Ö/x (Request/Response)]
+    expected: FAIL
+
+  [x/ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=½;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ç";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Ü (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ä;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Ö (Request/Response)]
+    expected: FAIL
+
+  [x/x;É=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ñ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="×";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;‘=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="þ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ð";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ì=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Æ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/¥ (Request/Response)]
+    expected: FAIL
+
+  [x/à (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ö;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ª";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [µ/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="û";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ü=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=À;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;½=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x= ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;£=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="…";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="\t !\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" (Request/Response)]
+    expected: FAIL
+
+  [x/x;Þ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=µ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="µ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=˜;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="‡";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ò;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/† (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ò=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;š=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;®=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=˜;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=œ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="º";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Œ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [£/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;‚=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;œ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [text /html (Request/Response)]
+    expected: FAIL
+
+  [€/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=·;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=û;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/£ (Request/Response)]
+    expected: FAIL
+
+  [x/x;É=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;¾=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ï";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=¾;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ú=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/’ (Request/Response)]
+    expected: FAIL
+
+  [x/x;»=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ì";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;‚=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/¸ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ó;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;º=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/­ (Request/Response)]
+    expected: FAIL
+
+  [¼/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¿;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=£;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Ø/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;À=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/ù (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ý";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;§=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/á (Request/Response)]
+    expected: FAIL
+
+  [x/ä (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ê=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;û=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¤";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="à";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ö;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="‘";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;•=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [©/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;´=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ù;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/• (Request/Response)]
+    expected: FAIL
+
+  [x/Á (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=™;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ò";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="°";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Í=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ë=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="£";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ù;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;š=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ô";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=›;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [ð/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="’";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ú;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [é/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ç=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ö;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/¦ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ò;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ç=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;£=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ò";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=â;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;€=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [ñ/x (Request/Response)]
+    expected: FAIL
+
+  [text/ html (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ƒ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ï;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ù";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ì;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=„;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="´";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="•";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/‚ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¢;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="â";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=í;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/õ (Request/Response)]
+    expected: FAIL
+
+  [Ž/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ù=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [‹/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ó";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="î";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=é;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ï=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="›";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¸=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Õ/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ì;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Å";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [¢/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¤;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¯";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ª";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=î;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/ê (Request/Response)]
+    expected: FAIL
+
+  [x/³ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ö=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ˆ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="”";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/° (Request/Response)]
+    expected: FAIL
+
+  [–/x (Request/Response)]
+    expected: FAIL
+
+  [x/Ì (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ï=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¯;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [text /html (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ñ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/› (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Þ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¿";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ð;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/¾ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ï;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;”=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Ã (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="˜";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ó";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Ï/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ö=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="²";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=é;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ê;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=×;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/® (Request/Response)]
+    expected: FAIL
+
+  [x/x; =x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ö;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ä";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="«";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="õ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ì";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [›/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ð";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;è=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ï";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=º;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¶;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Ð (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=×;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [ì/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ÿ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;é=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [†/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ý;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="†";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Õ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ë";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=â;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="„";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;«=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/¬ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¼";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ó";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Í;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=û;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ê;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/û (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ñ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ð;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Û=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ÿ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Å=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;È=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/â (Request/Response)]
+    expected: FAIL
+
+  [x/x;ò=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=§;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Ø (Request/Response)]
+    expected: FAIL
+
+  [x/ñ (Request/Response)]
+    expected: FAIL
+
+  [/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ÿ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="›";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;¥=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="—";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;’=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ê";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [­/x (Request/Response)]
+    expected: FAIL
+
+  [x/Π(Request/Response)]
+    expected: FAIL
+
+  [Ú/x (Request/Response)]
+    expected: FAIL
+
+  [x/¹ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=·;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=°;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ù";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¥";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ï;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/„ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=´;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [ÿ/ÿ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=±;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;×=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="•";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Í;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Š (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Õ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;Œ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;€=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Î;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [ö/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=‰;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ö";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ì=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ª;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [‰/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=‡;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ù=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Â";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Ì";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/¤ (Request/Response)]
+    expected: FAIL
+
+  [x/x;ˆ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¯=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Ó (Request/Response)]
+    expected: FAIL
+
+  [x/œ (Request/Response)]
+    expected: FAIL
+
+  [x/x;³=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;³=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;®=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/ï (Request/Response)]
+    expected: FAIL
+
+  [text/html;test=ÿ;charset=gbk (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="\t !\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" (Blob/File)]
+    expected: FAIL
+
+  [x/x;°=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [text/ html (Request/Response)]
+    expected: FAIL
+
+  [Â/x (Request/Response)]
+    expected: FAIL
+
+  [®/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Æ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ö";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Û=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Ô (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ã;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=‹;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¶=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;”=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [”/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ž";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ñ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;á=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=´;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/² (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¦;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [»/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;÷=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Á/x (Request/Response)]
+    expected: FAIL
+
+  [Ä/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=™;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=µ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/— (Request/Response)]
+    expected: FAIL
+
+  [x/x;ý=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ˆ;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=†;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=¬;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="é";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="ƒ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=š;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;í=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/Å (Request/Response)]
+    expected: FAIL
+
+  [ÿ/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ã=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;¢=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="Õ";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;¬=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Õ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ä;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=å;bonus=x (Request/Response)]
+    expected: FAIL
+
+  […/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¶;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=®;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/  (Request/Response)]
+    expected: FAIL
+
+  [x/Ý (Request/Response)]
+    expected: FAIL
+
+  [²/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;×=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ë=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Å;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ù;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¥";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;È=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Õ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="æ";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ë;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ò;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="í";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ü";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=ª;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;­=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=»;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ç=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Ó;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/˜ (Request/Response)]
+    expected: FAIL
+
+  [x/x;„=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [í/x (Request/Response)]
+    expected: FAIL
+
+  [¯/x (Request/Response)]
+    expected: FAIL
+
+  [Ë/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Ò;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=œ;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ø;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="„";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=¥;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ã";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="È";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/“ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="’";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Î (Request/Response)]
+    expected: FAIL
+
+  [ã/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Á;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Á";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="Ç";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/Æ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ó;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/ë (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="×";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=Å;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Ã/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=Î;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ñ=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=•;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=”;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/€ (Request/Response)]
+    expected: FAIL
+
+  [x/” (Request/Response)]
+    expected: FAIL
+
+  [È/x (Request/Response)]
+    expected: FAIL
+
+  [™/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=¨;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="À";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="í";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ë=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ý=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="¢";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x=¡;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=À;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="–";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [“/x (Request/Response)]
+    expected: FAIL
+
+  [x/‡ (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="¾";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="«";bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;Ñ=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;é=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=–;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;•=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [x/x;x=ý;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="†";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;x="á";bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/x;ï=x;bonus=x (Request/Response)]
+    expected: FAIL
+
+  [Ù/x (Request/Response)]
+    expected: FAIL
+
+  [x/x;ä=x;bonus=x (Blob/File)]
+    expected: FAIL
+
+  [x/ž (Request/Response)]
+    expected: FAIL
+
+  [x/x;x="ê";bonus=x (Reque