diff --git a/source b/source index ea0c892a6f5..e75c33d9171 100644 --- a/source +++ b/source @@ -26385,7 +26385,6 @@ href="?audio">audio</a> test instead.)</p>
srcdoc
name
sandbox
-
seamless
allowfullscreen
width
height
@@ -26396,7 +26395,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; @@ -26453,10 +26451,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>
@@ -26469,15 +26466,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> @@ -26631,11 +26628,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 @@ -27102,8 +26930,10 @@ 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 allowFullscreen IDL attribute must reflect the allowfullscreen @@ -78310,10 +78140,6 @@ dictionary 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 @@ -78593,9 +78419,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 @@ -78611,37 +78435,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 @@ -78650,34 +78462,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 @@ -78686,25 +78486,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 @@ -78713,43 +78504,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 @@ -78758,25 +78534,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 @@ -78843,11 +78610,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 @@ -78870,9 +78632,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.

    -
  • @@ -80464,23 +80223,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
    @@ -80620,8 +80362,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 @@ -82089,14 +81829,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, @@ -108433,13 +108165,12 @@ 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.

    - +

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

    @@ -109600,8 +109331,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; }
    @@ -111842,11 +111572,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 @@ -116195,11 +115919,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