From f75a7b225117c02966749ec214a5f9d8b53ea4f6 Mon Sep 17 00:00:00 2001 From: Anne van Kesteren Date: Wed, 30 Jan 2019 15:30:57 +0100 Subject: [PATCH] Editorial: centralize nested browsing context creation --- source | 76 ++++++++++++++++++++-------------------------------------- 1 file changed, 26 insertions(+), 50 deletions(-) diff --git a/source b/source index 15ab2b6d64d..9842cf1c926 100644 --- a/source +++ b/source @@ -29812,15 +29812,7 @@ interface HTMLIFrameElement : HTMLElement { context, the user agent must run these steps:
    -
  1. Let browsingContext be the result of creating a new browsing - context with element's node document.

  2. - -
  3. Set the element's nested browsing context to - browsingContext.

  4. - -
  5. If element has a name attribute, then - set browsingContext's name to the value of - this attribute.

  6. +
  7. Create a new nested browsing context for element.

  8. Process the iframe attributes for the "first time".

@@ -30294,7 +30286,7 @@ interface HTMLIFrameElement : HTMLElement { embedded content has specific dimensions (e.g. ad units have well-defined dimensions).

An iframe element never has fallback content, as it will always - create a nested browsing context, regardless of whether the specified initial + create a new nested browsing context, regardless of whether the specified initial contents are successfully used.


@@ -30556,23 +30548,10 @@ interface HTMLEmbedElement : HTMLElement {
image/svg+xml
    -
  1. -

    If element's nested browsing context is null, then:

    - -
      -
    1. Let browsingContext be the result of creating a new browsing - context with element's node document.

    2. - -
    3. Set element's nested browsing context to - browsingContext.

    4. - -
    5. If element has a name - attribute, then set browsingContext's name to the value of this attribute.

    6. - -
    -
  2. +
  3. If element's nested browsing context is null, then + create a new nested browsing context for element.

  4. +
  5. Navigate element's nested browsing context to @@ -30586,7 +30565,7 @@ interface HTMLEmbedElement : HTMLElement { locations.

  6. -
  7. embed element now represents its nested browsing +

  8. element now represents its nested browsing context.

  9. When the Document of the nested browsing context is @@ -31347,13 +31326,8 @@ interface HTMLObjectElement : HTMLElement {

    -

    If the object element's nested browsing context is null, set - the element's nested browsing context to a newly-created browsing context with the element's node - document.

    - -

    The object element must be associated with a newly created nested - browsing context, if it does not already have one.

    +

    If the object element's nested browsing context is null, then + create a new nested browsing context for the element.

    If the URL of the given resource is not about:blank, the element's nested browsing context must then be HTMLObjectElement : HTMLElement {

    The object element represents the nested browsing context.

    -

    If the name attribute is present, the - object element's nested browsing context's browsing context - name must be set to the value of this attribute; otherwise, the browsing - context name must be set to the empty string.

    -

    In certain situations, e.g., if the resource was fetched from an application cache but it is an HTML file with a manifest attribute that points to a different DragEventInit : MouseEventInit {

    This creates a top-level browsing context.

    To create a new auxiliary browsing - context, given a browsing context opener: + context, given a browsing context opener:

    1. Let browsingContext be the result of creating a new browsing @@ -77160,6 +77129,21 @@ dictionary DragEventInit : MouseEventInit {

      This creates a top-level browsing context that is also an auxiliary browsing context.

      +

      To create a new nested browsing context, + given an element element:

      + +
        +
      1. Let browsingContext be the result of creating a new browsing + context with element's node document.

      2. + +
      3. Set element's nested browsing context to + browsingContext.

      4. + +
      5. If element has a name attribute, then set + browsingContext's name to the value of + this attribute.

      6. +
      + @@ -115303,15 +115287,7 @@ interface HTMLFrameSetElement : HTMLElement { after not having been one, the user agent must run these steps:

        -
      1. Let browsingContext be the result of creating a new browsing - context with element's node document.

      2. - -
      3. Set element's nested browsing context to - browsingContext.

      4. - -
      5. If element has a name - attribute, then set browsingContext's name - to the value of this attribute.

      6. +
      7. Create a new nested browsing context for element.

      8. Process the frame attributes for the first time.