Skip to content

Commits on Jan 14, 2022

  1. Clarify note regarding <source> element attribute changes

    The note meant to talk about both src="" and type="", but it just said "attribute".
    chrisn committed Jan 14, 2022

Commits on Jan 13, 2022

Commits on Jan 12, 2022

  1. Bail out location.hash setter when set to the current hash

    This adds a special case which is necessary for compatibility with deployed content, and implemented in 2/3 engines. Closes #7386.
    domenic committed Jan 12, 2022
  2. Always replace the initial about:blank Document

    Previously, the caller of the navigate algorithm would (usually) check for the browsing context still being on the initial about:blank Document, and if so, switch its history handling to "replace". However, a few call sites missed this: e.g., following hyperlinks or when they were targeted at an existing browsing context.
    This change instead centralizes the conversion of "default" navigations into "replace" navigations for the initial about:blank Document.
    This also fixes a minor bug where the conversion of "default" into "replace" navigations for same-URL fragment navigations was not taking place correctly, due to the check being located after the fragment navigation step.
    Closes #6491.
    domenic committed Jan 12, 2022

Commits on Jan 11, 2022

Commits on Jan 5, 2022

Commits on Jan 4, 2022

  1. Editorial: assert entry list isn't null in the form submission algorithm

    The construct the entry list algorithm can return null if the form's
    constructing entry list flag is true, but "entry list" is assumed to be
    non-null in the rest of the form submission algorithm. This makes sense,
    since the constructing entry list flag has been checked in step 2, and
    even if the submit event listeners invoked the `FormData` constructor,
    the entry list construction would happen synchronously in that listener.
    This change adds an assertion to clarify that entry list cannot be null.
    andreubotella committed Jan 4, 2022

Commits on Jan 3, 2022

Commits on Dec 14, 2021

  1. Editorial: align with Fetch renaming

    (The old) processResponseEndOfBody is now processResponseConsumeBody.
    See whatwg/fetch#1369 for context.
    Closes #7417.
    noamr committed Dec 14, 2021

Commits on Dec 8, 2021

  1. Add showPicker() to <input> elements

    Also specifies that both color and file inputs show pickers on both programmatic and user clicks, since that is true in all browsers. (Previously the spec included this behavior only for file inputs.)
    Closes #6909. Closes #3232.
    domenic committed Dec 8, 2021
  2. Fix bogus assert for subframe navigations

    Closes #7380.
    hemeryar committed Dec 8, 2021

Commits on Nov 30, 2021

  1. Remove a setTimeout()'s entry in the map of active timers after it runs

    It used to be unobservable whether a non-repeating timer that had already run its callback had an entry in the list of active timers or not, and so those entries were never removed from the list. However, calculation of the idle deadline, meaning that if a timer expires and is never cancelled, the deadline will be in the past.
    This change avoids this case by removing non-repeating timers from the map of active timers after their callback runs.
    Closes #7376.
    andreubotella committed Nov 30, 2021
  2. Define behavior of <link rel=preload> in detail

    A document keeps a list of preloaded resources, each with relevant parameters from the request, and the response once available.
    Once a <link rel=preload> element starts fetching a resource, that entry is added, and once the response is fully loaded, the fetch consuming the resource receives the response.
    See whatwg/fetch#590.
    noamr committed Nov 30, 2021
  3. Enforce COOP first when opening a popup from a sandbox

    I.e., the relationship between the browsing contexts is severed first and only then does the popup become a network error.
    Tests: WPT html/cross-origin-opener-policy/coop-sandbox-cuts-opener.https.html.
    Closes #7345.
    hemeryar committed Nov 30, 2021

Commits on Nov 29, 2021

  1. Editorial: Move XHR's definition of "entry list" to HTML

    This change also moves the "create an entry" algorithm to HTML, adding to it the conversion to scalar value strings that previously took place in "append an entry". It also links various previously-unlinked usages of "entry list" and "entry" to these definitions.
    Closes #6701.
    andreubotella committed Nov 29, 2021
  2. Specify "time origin" computation

    The time origin, which is the epoch for all performance timeline APIs, was previously defined in
    This makes its computation explicit, without changing its current definition and behavior. Notably:
    * "time origin becomes an environment settings object algorithm, computed differently for windows vs. worker scopes.
    * The 4 places where this timestamp is set are creation of an about:blank browsing context, the beginning of navigation, the confirmation of an unload prompt, and the creation of a worker.
    * The timestamp is a "shared monotonic clock" value, which is defined in HR-TIME (and internally in ECMAScript).
    As part of this PR, also refactored unload prompts to return a result rather than rely on a somewhat hand-wavy "refused to allow" property.
    See w3c/hr-time#131 and w3c/navigation-timing#166. See also w3c/ServiceWorker#1621.
    noamr committed Nov 29, 2021

Commits on Nov 24, 2021

  1. Remove inert check from dialog focusing steps

    This step was redundant. The focus fixup rule should reset focus to body in the modal case, and no element will be focused in the non-modal case. So the behavior doesn't change, in terms of the focused element.
    nt1m committed Nov 24, 2021
  2. Move away from including IANA templates, part 2

    This concludes moving away from using IANA templates to define HTTP headers. It takes care of Last-Event-ID, Ping-From, Ping-To, Refresh, and X-Frame-Options.
    It also adds an index to ensure these headers are still easy to find.
    And finally it corrects the casing of several index sections.
    This helps with #7274 (kept open to update the IANA registry) and fixes #7355.
    annevk committed Nov 24, 2021
  3. Editorial: expose "run steps after a timeout"

    This factors out a new algorithm which can be used by postTask() ( and AbortSignal.timeout() (whatwg/dom#1032), ensuring that they correctly contribute to idle deadline computation and in general share all the appropriate logic with setTimeout() and setInterval().
    This also exports the "timer task source" term since AbortSignal.abort() will want to use that.
    domenic committed Nov 24, 2021

Commits on Nov 23, 2021

  1. Prevent type: "javascript" import asessions

    This was the original intent of the import assertions integration, but type: "javascript" was unintentionally allowed to work due to a bug involving the spec's internal use of the "javascript" module type for JavaScript module scripts.
    Fixes #7342.
    dandclark committed Nov 23, 2021
  2. Move away from including IANA templates

    This is the first step towards addressing #7274. It takes care of Cross-Origin-Embedder-Policy, Cross-Origin-Embedder-Policy-Report-Only, Cross-Origin-Opener-Policy, Cross-Origin-Opener-Policy-Report-Only, and Origin-Agent-Cluster.
    Closes #7325.
    annevk committed Nov 23, 2021
  3. Editorial: modernize timers spec

    In addition to general updates to use modern terminology and improve precision, this:
    * Moves the Web IDL conversion note and example to after the algorithm.
    * Removes the (exported) "list of active timers" concept since it's not something other specs should be messing with.
    * Renames the return value of setTimeout()/setInterval() and the argument to clearTimeout()/clearInterval() from "handle" to "id", since having both "handle" and "handler" was confusing.
    domenic committed Nov 23, 2021

Commits on Nov 22, 2021

  1. Correct a module map example

    annevk committed Nov 22, 2021

Commits on Nov 18, 2021

  1. Handle shadow DOM and <dialog> focusing

    Closes #2393, by making <dialog> behave the same as delegatesFocus: they both "delegate focus" to either autofocus="" if it's specified on a (non-shadow-including) descendant, or the first focusable element among their shadow-including descendants if not.
    domenic committed Nov 18, 2021
  2. Fix a variable reference in module fetching

    moduleRequest → requested
    annevk committed Nov 18, 2021

Commits on Nov 17, 2021

Commits on Nov 15, 2021

  1. Add an explicit algorithm for idle callback deadline

    The algorithm replaces the algorithm that is currently defined in prose here:
    It works like so:
    * Timers can calculate their estimated next callback timestamps, based on their start time and document-inactive time so far.
    * The deadline for idle tasks for an event loop is the earliest between:
      * The time until the next timer callback in this event loop is estimated to fire.
      * The time until the next render, estimated at 1000 ms / refresh rate after the start of the previous task that had a rendering opportunity, if there are pending animation frame callbacks (or if the user agent believes a render is coming).
      * 50ms
    The deadline computation is passed as a set of algorithm steps to the requestIdleCallback() spec, so that it can always return the up-to-date deadline.
    Helps with w3c/requestidlecallback#71.
    noamr committed Nov 15, 2021

Commits on Nov 9, 2021

Commits on Nov 5, 2021

  1. BroadcastChannel: Ignore msgs from detached iframes/closing workers

    For BroadcastChannel instances associated with detached iframes or closing workers, update the specification to require that calls to postMessage() should be ignored (without throwing an exception).
    Closes #7219. Some potential followup in #7253 for the related bfcache case.
    recvfrom committed Nov 5, 2021
  2. Meta: export image request terms

    See WICG/element-timing#66 for context.
    npm1 committed Nov 5, 2021