diff --git a/source b/source index aedeb2cd6d5..68ff80fa8d7 100644 --- a/source +++ b/source @@ -26393,7 +26393,6 @@ href="?audio">audio</a> test instead.)</p>
srcdoc
name
sandbox
-
seamless
allowfullscreen
width
height
@@ -26404,7 +26403,6 @@ href="?audio">audio</a> test instead.)</p> attribute DOMString srcdoc; attribute DOMString name; [PutForwards=value] readonly attribute DOMSettableTokenList sandbox; - attribute boolean seamless; attribute boolean allowFullscreen; attribute DOMString width; attribute DOMString height; @@ -26461,10 +26459,9 @@ href="?audio">audio</a> test instead.)</p>

Here a blog uses the srcdoc attribute in conjunction - with the sandbox and seamless 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:

+ with the sandbox attribute 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:

<article>
  <h1>I got my own magazine!</h1>
@@ -26477,15 +26474,15 @@ href="?audio">audio</a> test instead.)</p>
</footer> <article> <footer> Thirteen minutes ago, <a href="/users/ch">ch</a> wrote: </footer> - <iframe 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 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 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> @@ -26641,11 +26638,6 @@ href="?audio">audio</a> test instead.)</p> -

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 audio</a> test instead.)</p>

-
- -

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>
- <hgroup>
-  <h1>Mirror Mirror</h1>
-  <h2>Part of the MovieInfo™ Database</h2>
- </hgroup>
- <nav>
-  <iframe 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:

- - - -

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 @@ -27112,8 +26940,11 @@ href="?audio">audio</a> test instead.)</p>


-

The IDL attributes src, srcdoc, name, sandbox, and seamless must reflect the respective - content attributes of the same name.

+

The IDL attributes src, srcdoc, name,and sandbox must reflect the respective content + attributes of the same name.

The supported tokens for sandbox are the allowed values defined for the DragEventInit : MouseEventInit { context">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 @@ -77984,9 +77811,7 @@ dictionary DragEventInit : MouseEventInit {

These values have different meanings based on whether the page is sandboxed or not, as summarised 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 @@ -78002,37 +77827,25 @@ dictionary DragEventInit : MouseEventInit { 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 @@ -78041,34 +77854,22 @@ dictionary DragEventInit : MouseEventInit { 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 @@ -78077,25 +77878,16 @@ dictionary DragEventInit : MouseEventInit { 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 @@ -78104,43 +77896,28 @@ dictionary DragEventInit : MouseEventInit { 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 @@ -78149,25 +77926,16 @@ dictionary DragEventInit : MouseEventInit { 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 @@ -78234,11 +78002,6 @@ dictionary DragEventInit : MouseEventInit {

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 behaviour of the - seamless browsing context flag set by the seamless attribute on iframe elements.

-
  • If the given browsing context name is _parent, then the chosen @@ -78261,9 +78024,6 @@ dictionary DragEventInit : MouseEventInit { 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.

    -
  • @@ -79950,23 +79710,6 @@ x === this; // true -
    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
    @@ -80105,8 +79848,6 @@ x === this; // true
  • The sandboxed plugins browsing context flag.

  • -
  • The sandboxed seamless iframes flag.

  • -
  • The sandboxed origin browsing context flag, unless the tokens contains the allow-same-origin @@ -81621,14 +81362,6 @@ State: <OUTPUT NAME=I>1</OUTPUT> <INPUT VALUE="Increment" TYPE=BUTTON O

  • - -
  • 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, @@ -108162,10 +107895,8 @@ html, body { display: block; }

    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 a default value of 8px is expected to be used for that + property instead.

    @@ -109329,8 +109060,7 @@ legend {
    @namespace url(http://www.w3.org/1999/xhtml);
     
    -iframe:not([seamless]) { border: 2px inset; }
    -iframe[seamless] { display: block; }
    +iframe { border: 2px inset; }
     video { object-fit: contain; }
    @@ -111571,11 +111301,6 @@ if (s = prompt('What is your name?')) { -

    Any navigation required of the user agent in the process - the frame attributes algorithm must be completed as an explicit - self-navigation override and with the frame 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 srcdoc; name; sandbox; - seamless; allowfullscreen; width; height @@ -115953,11 +115677,6 @@ if (s = prompt('What is your name?')) {

    -
    style 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