@@ -8111,19 +8111,24 @@ interface <dfn>DOMStringList</dfn> {
8111
8111
data-x="Serializable SameAgentCluster">SameAgentCluster</code>. It must only appear on an
8112
8112
interface. It must not appear more than once on an interface.</p>
8113
8113
8114
- <p>For a given <span>platform object</span>, only the object's <span>primary interface</span> is
8115
- considered during the (de)serialization process. Thus, if inheritance is involved in defining the
8116
- interface, each <code data-x="Serializable">[Serializable]</code>-annotated interface in the
8117
- inheritance chain needs to define standalone <span>serialization steps</span> and
8118
- <span>deserialization steps</span>, including taking into account any important data that might
8119
- come from inherited interfaces.</p>
8114
+ <p class="note">The <code data-x="Serializable SameOrigin">SameOrigin</code> identifier prevents
8115
+ deserialization in cross-origin realms. Similarly, the <code data-x="Serializable
8116
+ SameAgentCluster">SameAgentCluster</code> identifier prevents deserialization in realms belonging
8117
+ to other agent clusters.</p>
8120
8118
8121
8119
<p class="XXX">As discussed in <a href="https://github.com/whatwg/html/issues/4920">issue
8122
8120
#4920</a>, new features are strongly encouraged to use either <code data-x="Serializable
8123
8121
SameOrigin">SameOrigin</code> or <code data-x="Serializable SameOrigin">SameOrigin</code> and
8124
8122
<code data-x="Serializable SameAgentCluster">SameAgentCluster</code> together. A future
8125
8123
refactoring will likely tightly couple the latter.</p>
8126
8124
8125
+ <p>For a given <span>platform object</span>, only the object's <span>primary interface</span> is
8126
+ considered during the (de)serialization process. Thus, if inheritance is involved in defining the
8127
+ interface, each <code data-x="Serializable">[Serializable]</code>-annotated interface in the
8128
+ inheritance chain needs to define standalone <span>serialization steps</span> and
8129
+ <span>deserialization steps</span>, including taking into account any important data that might
8130
+ come from inherited interfaces.</p>
8131
+
8127
8132
<div class="example">
8128
8133
<p>Let's say we were defining a platform object <code data-x="">Person</code>, which had
8129
8134
associated with it two pieces of associated data:</p>
@@ -8479,12 +8484,12 @@ interface <dfn>DOMStringList</dfn> {
8479
8484
8480
8485
<li><p>Set <var>serialized</var> to { [[Type]]: <var>typeString</var> }.</p></li>
8481
8486
8482
- <li><p>If <var>value</var>'s interface <code data-x="Serializable">[Serializable]</code>
8487
+ <li><p>If <var>value</var>'s interface's <code data-x="Serializable">[Serializable]</code>
8483
8488
extended attribute contains the <code data-x="Serializable SameOrigin">SameOrigin</code>
8484
8489
identifier, then set <var>serialized</var>.[[EnforceOrigin]] to the <span>current settings
8485
8490
object</span>'s <span data-x="concept-settings-object-origin">origin</span>.</p></li>
8486
8491
8487
- <li><p>If <var>value</var>'s interface <code data-x="Serializable">[Serializable]</code>
8492
+ <li><p>If <var>value</var>'s interface's <code data-x="Serializable">[Serializable]</code>
8488
8493
extended attribute contains the <code data-x="Serializable
8489
8494
SameAgentCluster">SameAgentCluster</code> identifier, then set
8490
8495
<var>serialized</var>.[[EnforceAgentCluster]] to the <span>surrounding agent</span>'s
0 commit comments