Consider:
async function* f() {
const x = Promise.resolve(1);
const y = Promise.resolve(2);
const fromX = yield x;
return y;
}
DIR: dom/collections | |
HTMLCollection-as-proto-length-get-throws.html: [fail, https://github.com/jsdom/webidl2js/issues/62] | |
HTMLCollection-supported-property-indices.html: [fail, Named versus indexed properties trickiness] | |
HTMLCollection-supported-property-names.html: [fail, Names vs. ids priority and effect on enumeration order] | |
domstringmap-supported-property-names.html: [fail, DOMStringMap not implemented] | |
--- | |
DIR: dom/events |
// Current spec | |
function finally(onFinally) { | |
let C = SpeciesConstructor(this); | |
return this.then( | |
x => new C(r => r(onFinally())).then(() => x), | |
e => new C(r => r(onFinally())).then(() => { throw e; }) | |
); | |
} | |
// Proposed, but rejected (potentially because of a miscommunication) spec |
Consider:
async function* f() {
const x = Promise.resolve(1);
const y = Promise.resolve(2);
const fromX = yield x;
return y;
}
"use strict"; | |
const conversions = require("webidl-conversions"); | |
const utils = require("./utils.js"); | |
const Impl = require(".//URL-impl.js"); | |
const impl = utils.implSymbol; | |
function URL(url) { | |
if (!this || this[impl] || !(this instanceof URL)) { |
"use strict"; | |
const worker = new Worker("worker.js"); | |
self.onfetch = e => { | |
e.respondWith(new Promise(resolve => { | |
const guid = generateGUID(); | |
worker.addEventListener("message", function messageListener({ data: { readableStream, messageId } }) { | |
if (messageId !== guid) { |
"use strict"; | |
const worker = new Worker("worker.js"); | |
self.onfetch = e => { | |
const transform = new TransformStream(); // creates an identity transform | |
e.respondWith(new Response(transform.readable)); | |
// Give the worker the writable end. An identity transform stream will just shuffle | |
// bytes written there into transform.readable. |
You have a repository, call it alice/repo
. You would like to transfer it to the user bob
, so it will become bob/repo
.
However, you make heavy use of the GitHub Pages feature, so that people are often accessing https://alice.github.io/repo/
. GitHub will helpfully redirect all of your repository stuff hosted on github.com after the move, but will not redirect the GitHub Pages hosted on github.io.
What is a subset of HTML's reflection rules which we should make easy for web components?
HTML's reflection algorithms include:
Web IDL (which is used for writing web specs) would like to introduce a concept of "mixins", which work by adding properties and methods to the mixin target. Currently this is accomplished by
interface MixinTarget { };
[NoInterfaceObject]
interface Mixin { };
MixinTarget implements Mixin;
adoptedCallback(oldDocument, newDocument) { | |
const newWindow = newDocument.defaultView; | |
if (newWindow) { | |
// newDocument belongs to a window | |
const otherConstructor = newWindow.customElements.get(this.localName); | |
if (otherConstructor && otherConstructor._isFromPolymer) { | |
Object.setPrototypeOf(this, otherConstructor.prototype); | |
// Now any customizations that newWindow code has applied to the |