diff --git a/sections/attributes.include b/sections/attributes.include index b9aaa7616a..275da60ebe 100644 --- a/sections/attributes.include +++ b/sections/attributes.include @@ -680,12 +680,6 @@ Whether the styles apply to the entire document or just the parent subtree Boolean attribute - - seamless - <{iframe}> - Whether to apply the document's styles to the nested content - Boolean attribute - selected <{option}> diff --git a/sections/browsers.include b/sections/browsers.include index 179cc1f6c3..b0220ddc28 100644 --- a/sections/browsers.include +++ b/sections/browsers.include @@ -188,9 +188,6 @@ context. User agents must not allow the user to interact with child browsing contexts of elements that are in Documents that are not themselves fully active. - A nested browsing context can have a seamless browsing context flag - set, if it is embedded through an <{iframe}> element with a seamless attribute. - A nested browsing context can be put into a delaying load events mode. This is used when it is navigated, to delay the load event of the browsing context container before the new Document is created. @@ -426,9 +423,7 @@ These values have different meanings based on whether the page is sandboxed or not, as summarized in the following (non-normative) table. In this table, "current" means the browsing context that the link or script is in, "parent" means the parent - browsing context of the one the link or script is in, "master" means the nearest - ancestor browsing context of the one the link or script is in that is not itself in a - seamless iframe, "top" means the top-level + browsing context of the one the link or script is in, "top" means the top-level browsing context of the one the link or script is in, "new" means a new top-level browsing context or auxiliary browsing context is to be created, subject to various user preferences and user agent policies, "none" means that nothing will happen, and @@ -443,37 +438,25 @@ Ordinary effect Effect in an iframe with... - seamless="" sandbox="" - sandbox="" seamless="" sandbox="allow-top-navigation" - sandbox="allow-top-navigation" seamless="" none specified, for links and form submissions current - master current - master current - master empty string current - master current - master current - master _blank new - new - maybe new - maybe new maybe new maybe new @@ -482,34 +465,22 @@ current current current - current - current - current _parent if there isn't a parent current current current - current - current - current _parent if parent is also top parent/top - parent/top - none none parent/top - parent/top _parent if there is one and it's not top parent - parent - none - none none none @@ -518,25 +489,16 @@ current current current - current - current - current _top if top is not current top - top - none none top - top name that doesn't exist new - new - maybe new - maybe new maybe new maybe new @@ -545,43 +507,28 @@ specified descendant specified descendant specified descendant - specified descendant - specified descendant - specified descendant name that exists and is current current current current - current - current - current name that exists and is an ancestor that is top specified ancestor - specified ancestor none - none - specified ancestor/top specified ancestor/top name that exists and is an ancestor that is not top specified ancestor - specified ancestor - none - none none none other name that exists with common top specified - specified - none - none none none @@ -590,25 +537,16 @@ specified specified specified - specified - specified - specified name that exists with different top, if familiar but not one permitted sandboxed navigator specified - specified - none - none none none name that exists with different top, not familiar new - new - maybe new - maybe new maybe new maybe new @@ -671,16 +609,8 @@
    -
  1. - - If the given browsing context name is the empty string or _self, then - the chosen browsing context must be the current one. - - If the given browsing context name is _self, then this is an - explicit self-navigation override, which overrides the behavior of the - seamless browsing context flag set by the seamless attribute on <{iframe}> elements. - -
  2. +
  3. If the given browsing context name is the empty string or _self, then + the chosen browsing context must be the current one.
  4. If the given browsing context name is _parent, then the chosen browsing context must be the parent browsing context of the current one, @@ -691,24 +621,16 @@ context must be the top-level browsing context of the current one, if there is one, or else the current browsing context.
  5. -
  6. - - If the given browsing context name is not _blank and there exists a +
  7. If the given browsing context name is not _blank and there exists a browsing context whose name is the same as the given browsing context name, and the current browsing context is familiar with that browsing context, and the user agent determines that the two browsing contexts are related enough that it is ok if they reach each other, then that browsing context must be the chosen one. If there are multiple matching browsing contexts, the user agent should select one in some arbitrary consistent manner, such as the most recently opened, most recently focused, or more - closely related. - - If the browsing context is chosen by this step to be the current browsing context, then this - is also an explicit self-navigation override. - -
  8. + closely related.
  9. - Otherwise, a new browsing context is being requested, and what happens depends on the user agent's configuration and abilities — it is determined by the rules given for the first applicable option from the following list: @@ -2169,21 +2091,6 @@ -
    The sandboxed seamless iframes flag
    - -
    - - This flag prevents content from using the seamless - attribute on descendant <{iframe}> elements. - -

    - This prevents a page inserted using the allow-same-origin keyword from using a - CSS-selector-based method of probing the DOM of other pages on the same site (in particular, - pages that contain user-sensitive information). -

    - -
    -
    The sandboxed origin browsing context flag
    @@ -2310,8 +2217,6 @@
  10. The sandboxed plugins browsing context flag.
  11. -
  12. The sandboxed seamless iframes flag.
  13. -
  14. The sandboxed origin browsing context flag, unless the tokens contains the allow-same-origin @@ -3756,14 +3661,6 @@
  15. -
  16. If the source browsing context is the same as the - browsing context being navigated, and this browsing context has its seamless - browsing context flag set, and the browsing context being navigated was not - chosen using an explicit self-navigation override, then find the nearest - ancestor browsing context that does not have its seamless browsing context - flag set, and continue these steps as if that browsing context was - the one that was going to be navigated instead.
  17. -
  18. If there is a preexisting attempt to navigate the browsing context, and the source browsing context is the same as the browsing context being navigated, and that attempt is currently running the unload a document algorithm, diff --git a/sections/rendering.include b/sections/rendering.include index 2355c4285e..22c9c0f188 100644 --- a/sections/rendering.include +++ b/sections/rendering.include @@ -143,9 +143,8 @@ For each property in the table below, given a <{body}> element, the first attribute that exists maps to the pixel length property on the <{body}> element. If none of the attributes for a property are found, or if the value of the attribute that was found - cannot be parsed successfully, then, if the <{body}> element's node document's - browsing context does not have its seamless browsing context flag set, a - default value of 8px is expected to be used for that property instead. + cannot be parsed successfully, then, then a default value of 8px is expected to be used for that + property instead. @@ -1240,8 +1239,6 @@ path: includes/cldr.include
         @namespace url(http://www.w3.org/1999/xhtml);
     
    -    iframe:not([seamless]) { border: 2px inset; }
    -    iframe[seamless] { display: block; }
         video { object-fit: contain; }
       
    diff --git a/sections/semantics-embedded-content.include b/sections/semantics-embedded-content.include index b2e8b13c17..02f0a1fcd6 100644 --- a/sections/semantics-embedded-content.include +++ b/sections/semantics-embedded-content.include @@ -3408,7 +3408,6 @@ My <img src="heart.png" alt="heart"> breaks.
    srcdoc - A document to render in the iframe
    name - Name of nested browsing context
    sandbox - Security rules for nested content
    -
    seamless - Whether to apply the document's styles to the nested content
    allowfullscreen - Whether to allow the iframe's contents to use requestFullscreen()
    width - Horizontal dimension
    @@ -3429,7 +3428,6 @@ My <img src="heart.png" alt="heart"> breaks. attribute DOMString srcdoc; attribute DOMString name; [PutForwards=value] readonly attribute DOMTokenList sandbox; - attribute boolean seamless; attribute boolean allowFullscreen; attribute DOMString width; attribute DOMString height; @@ -3474,7 +3472,7 @@ My <img src="heart.png" alt="heart"> breaks.
    Here a blog uses the srcdoc attribute in conjunction - with the sandbox and seamless attributes described below to provide users of user + with the sandbox attributes described below to provide users of user agents that support this feature with an extra layer of protection from script injection in the blog post comments: @@ -3490,15 +3488,15 @@ My <img src="heart.png" alt="heart"> breaks. </footer> <article> <footer> Thirteen minutes ago, <a href="/users/ch">ch</a> wrote: </footer> - <iframe title="Comment" seamless sandbox srcdoc="<p>did you get a cover picture yet?"></iframe> + <iframe sandbox srcdoc="<p>did you get a cover picture yet?"></iframe> </article> <article> <footer> Nine minutes ago, <a href="/users/cap">cap</a> wrote: </footer> - <iframe title="Comment" seamless sandbox srcdoc="<p>Yeah, you can see it <a href=&quot;/gallery?mode=cover&amp;amp;page=1&quot;>in my gallery</a>."></iframe> + <iframe sandbox srcdoc="<p>Yeah, you can see it <a href=&quot;/gallery?mode=cover&amp;amp;page=1&quot;>in my gallery</a>."></iframe> </article> <article> <footer> Five minutes ago, <a href="/users/ch">ch</a> wrote: </footer> - <iframe title="Comment" seamless sandbox srcdoc="<p>hey that's earl's table. + <iframe sandbox srcdoc="<p>hey that's earl's table. <p>you should get earl&amp;amp;me on the next cover."></iframe> </article> @@ -3631,11 +3629,6 @@ My <img src="heart.png" alt="heart"> breaks. - Any navigation required of the user agent in the process - the iframe attributes algorithm must be completed as an explicit - self-navigation override and with the <{iframe}> element's node document's - browsing context as the source browsing context. - Furthermore, if the active document of the element's child browsing context before such a navigation was not completely loaded at the time of the new navigation, then the navigation must be completed with replacement enabled. @@ -3850,167 +3843,6 @@ My <img src="heart.png" alt="heart"> breaks.
    - The seamless attribute is a boolean - attribute. When specified, it indicates that the <{iframe}> element's - browsing context is to be rendered in a manner that makes it appear to be part of the - containing document (seamlessly included in the parent document). - -
    - An HTML inclusion is effected using this attribute as in the following example. - In this case, the inclusion is of a site-wide navigation bar. Any links in the - iframe will, in new user agents, be automatically opened in the - iframe's parent browsing context; for legacy user agents, the site could also - include a <{base}> element with a target - attribute with the value _parent. Similarly, in new user agents the styles - of the parent page will be automatically applied to the contents of the frame, but to support - legacy user agents authors might wish to include the styles explicitly. - -
    -<!DOCTYPE HTML>
    -<title>Mirror Mirror — MovieInfo™</title>
    -<header>
    -  <h1>Mirror Mirror</h1>
    -  <p>Part of the MovieInfo™ Database</p>
    -  <nav>
    -  <iframe title="Movie links" seamless src="nav.inc"></iframe>
    -  </nav>
    -</header>
    -...
    -    
    - -
    - -
    - - An <{iframe}> element is said to be in seamless mode when all of the - following conditions are met: - - - - When an <{iframe}> element is in seamless mode, the following - requirements apply: - -
      - -
    • The user agent must set the seamless browsing context flag to true for that - browsing context. This will cause links to open in the parent browsing context unless an explicit self-navigation override is used - (target="_self").
    • - -
    • Media queries in the context of the iframe's browsing context - (e.g., on media attributes of <{style}> elements in - {{Document}}s in that iframe) must be evaluated with respect to the nearest - ancestor browsing context that is not itself being nested through an iframe that is in seamless - mode. [[!MEDIAQ]]
    • - -
    • In a CSS-supporting user agent: the user agent must add all the style sheets that apply to - the <{iframe}> element to the cascade of the active document of the - <{iframe}> element's nested browsing context, at the appropriate cascade - levels, before any style sheets specified by the document itself.
    • - -
    • In a CSS-supporting user agent: the user agent must, for the purpose of CSS property - inheritance only, treat the root element of the active document of the - <{iframe}> element's nested browsing context as being a child of the - <{iframe}> element. (Thus inherited properties on the root element of the document in - the iframe will inherit the computed values of those properties on the - <{iframe}> element instead of taking their initial values.)
    • - -
    • In visual media, in a CSS-supporting user agent: the user agent should set the - intrinsic width of the iframe to the width that the element would have - if it was a non-replaced block-level element with "width: auto", unless that width would be zero - (e.g., if the element is floating or absolutely positioned), in which case the user agent should - set the intrinsic width of the iframe to the shrink-to-fit width of - the root element (if any) of the content rendered in the <{iframe}>.
    • - -
    • In visual media, in a CSS-supporting user agent: the user agent should set the - intrinsic height of the iframe to the shortest height that would make - the content rendered in the iframe at its current width (as given in the previous - bullet point) have no scrollable overflow at its bottom edge. Scrollable overflow is any overflow that - would increase the range to which a scrollbar or other scrolling mechanism can scroll.
    • - -
    • - - In visual media, in a CSS-supporting user agent: the user agent must force the height of the - initial containing block of the active document of the nested browsing context of the iframe to zero. - -

      - This is intended to get around the otherwise circular dependency of percentage - dimensions that depend on the height of the containing block, thus affecting the height of the - document's bounding box, thus affecting the height of the viewport, thus affecting the size of - the initial containing block. -

      - -
    • - -
    • In speech media, the user agent should render the nested browsing context - without announcing that it is a separate document.
    • - -
    • - - User agents should, in general, act as if the active document of the - iframe's nested browsing context was part of the document that the - iframe is in, if any. - -

      For example if the user agent supports listing all the links in a document, - links in "seamlessly" nested documents would be included in that list without being - significantly distinguished from links in the document itself.

      - -
    • - -
    • The nested browsing context's Window object's - cross-boundary event parent is the browsing context container. [[!DOM]]
    • - -
    - - If the attribute is not specified, or if the origin conditions listed above are - not met, then the user agent should render the nested browsing context in a manner - that is clearly distinguishable as a separate browsing context, and the - seamless browsing context flag must be set to false for that browsing context. - -

    It is important that user agents recheck the above conditions whenever the - active document of the nested browsing context of the - iframe changes, such that the seamless browsing context flag gets unset - if the nested browsing context is navigated to another - origin.

    - -
    - -

    - The attribute can be set or removed dynamically, with the rendering updating in - tandem. -

    - -

    - The contenteditable attribute does not - propagate into seamless iframes. -

    - -
    - The allowfullscreen attribute is a boolean attribute. When specified, it indicates that {{Document}} objects in the <{iframe}> element's browsing context are to be allowed to use requestFullscreen() (if it's not blocked for other @@ -4068,7 +3900,7 @@ My <img src="heart.png" alt="heart"> breaks.
    - The IDL attributes src, srcdoc, name, sandbox, and seamless must reflect the respective + The IDL attributes src, srcdoc, name, and sandbox must reflect the respective content attributes of the same name. The supported tokens for sandbox's DOMTokenList are the