Skip to content
Permalink
Browse files

[] (0) fix how we talk about objects that implement the [] syntax. gr…

…ammar fix. support rel=sidebar and <base>; window, frames, self; length, opener, window[]. all very much WIP.

git-svn-id: http://svn.whatwg.org/webapps@668 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information...
Hixie committed Mar 6, 2007
1 parent 9fc7343 commit c2ebc3f4220b8f084e8a162604bb346dfdbd0aa3
Showing with 148 additions and 36 deletions.
  1. +80 −21 index
  2. +68 −15 source
101 index
@@ -1170,7 +1170,10 @@
<li><a href="#auxillary"><span class=secno>5.7. </span>Auxillary
browsing contexts</a>
<ul class=toc>
<li><a href="#browsing"><span class=secno>5.7.1. </span>Browsing
<li><a href="#accessing"><span class=secno>5.7.1. </span>Accessing
other browsing contexts</a>

<li><a href="#browsing"><span class=secno>5.7.2. </span>Browsing
context names</a>
</ul>
</ul>
@@ -2625,14 +2628,15 @@

<p>If no such elements are found, then the method must return null.

<p>In the ECMAScript DOM binding, objects implementing the <code><a
href="#htmlcollection0">HTMLCollection</a></code> interface must support
being dereferenced using the square bracket notation, such that
dereferencing with an integer index is equivalent to invoking the <code
title=dom-HTMLCollection-item><a href="#itemindex">item()</a></code>
method with that index, and such that dereferencing with a string index is
equivalent to invoking the <code title=dom-HTMLCollection-namedItem><a
href="#nameditem">namedItem()</a></code> method with that index.
<p>In ECMAScript implementations, objects that implement the <code><a
href="#htmlcollection0">HTMLCollection</a></code> interface must also have
a [[Get]] method that, when invoked with a property name that is a number,
acts like the <code title=dom-HTMLCollection-item><a
href="#itemindex">item()</a></code> method would when invoked with that
argument, and when invoked with a property name that is a string, acts
like the <code title=dom-HTMLCollection-namedItem><a
href="#nameditem">namedItem()</a></code> method would when invoked with
that argument.

<h5 id=htmlformcontrolscollection><span class=secno>2.3.1.2.
</span>HTMLFormControlsCollection</h5>
navigating a particular browsing context, then that is the browsing
context that must be navigated.

<p>Otherwise, if the hyperlink element is a <code><a
<p>Otherwise, if the hyperlink element is an <code><a
href="#a0">a</a></code> or <code><a href="#area0">area</a></code> element
and has a <code title=attr-hyperlink-target><a
that has a <code title=attr-hyperlink-target><a
href="#target3">target</a></code> attribute, then the browsing context
that is navigated must be chosen by applying <a href="#the-rules">the
rules for chosing a browsing context given a browsing context name</a>,
using the value of the <code title=attr-hyperlink-target><a
href="#target3">target</a></code> attribute as the browsing context name.

<p>Otherwise, if the hyperlink element is a <a href="#sidebar1"
title=rel-sidebar-hyperlink>sidebar hyperlink</a> and the user agent
implements a feature that can be considered a secondary browsing context,
such a secondary browsing context may be selected as the browsing context
to be navigated.

<p>Otherwise, if the hyperlink element is an <code><a
href="#a0">a</a></code> or <code><a href="#area0">area</a></code> element
with no <code title=attr-hyperlink-target><a
href="#target3">target</a></code> attribute, but there is a <code><a
href="#base0">base</a></code> element with a <code
title=attr-base-target><a href="#target">target</a></code> attribute in
the document, then the browsing context that is navigated must be chosen
by applying <a href="#the-rules">the rules for chosing a browsing context
given a browsing context name</a>, using the value of the <code
title=attr-base-target><a href="#target">target</a></code> attribute of
the first such <code><a href="#base0">base</a></code> element as the
browsing context name.

<p>Otherwise, the browsing context that must be navigated is the same
browsing context as the one which the hyperlink element itself is in.

to be shown in a secondary browsing context (if possible), instead of in
the current browsing context.

<p>A <a href="#hyperlinks" title=hyperlink>hyperlink element</a> with with
the <code title=rel-sidebar><a href="#sidebar0">sidebar</a></code> keyword
specified is a <dfn id=sidebar1 title=rel-sidebar-hyperlink>sidebar
hyperlink</dfn>.

<h5 id=link-type15><span class=secno>4.3.3.17. </span>Link type "<dfn
id=tag0 title=rel-tag><code>tag</code></dfn>"</h5>

DOMString <span title=dom-prompt>prompt</span>(in DOMString message);
DOMString <span title=dom-prompt>prompt</span>(in DOMString message, in DOMString default);

// auxillary browsing contexts
// browsing contexts
readonly attribute <span>Window</span> <a href="#window" title=dom-window>window</a>;
readonly attribute <span>Window</span> <a href="#frames" title=dom-frames>frames</a>;
readonly attribute <span>Window</span> <a href="#self" title=dom-self>self</a>;
readonly attribute unsigned long <a href="#length5" title=dom-length>length</a>;
readonly attribute <span>Window</span> <a href="#opener" title=dom-opener>opener</a>;
<span>Window</span> <a href="#window.open" title=dom-open>open</a>();
<span>Window</span> <a href="#window.open" title=dom-open>open</a>(in DOMString url);
<span>Window</span> <a href="#window.open" title=dom-open>open</a>(in DOMString url, in DOMString target);
<span>Window</span> <a href="#window.open" title=dom-open>open</a>(in DOMString url, in DOMString target, in DOMString features);
<span>Window</span> <a href="#window.open" title=dom-open>open</a>(in DOMString url, in DOMString target, in DOMString features, in DOMString replace);
readonly attribute <span>Window</span> <a href="#opener" title=dom-opener>opener</a>;
};</pre>
<!-- XXX XMLHttpRequest
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_window.asp
argument processing</span>
</dl>

<p class=note><code>Window</code> objects also <a href="#get"
title=dom-item>have an implicit [[Get]] method</a>.

<h3 id=history><span class=secno>5.2. </span>Session history and navigation</h3>

<h4 id=the-session><span class=secno>5.2.1. </span>The <dfn
agent must translate this action into the equivalent invocations of the
<code title=dom-history-go><a href="#godelta">history.go(<var
title="">delta</var>)</a></code> method on the various affected <code
title=dom-window>window</code> objects.
title=dom-window><a href="#window">window</a></code> objects.

<p>Some of the other members of the <code><a
href="#history1">History</a></code> interface are defined in terms of the
title="">replace</var> is true, then <a href="#replacement"
title="replacement enabled">replacement must be enabled</a>.

<p class=big-issue>The <dfn id=opener
title=dom-opener><code>opener</code></dfn> DOM attribute...
<h4 id=accessing><span class=secno>5.7.1. </span>Accessing other browsing
contexts</h4>

<p>The <dfn id=opener title=dom-opener><code>opener</code></dfn> DOM
attribute on the <code>Window</code> object must return the
<code>Window</code> object of the browsing context from which the current
browsing context was created, if there is one and it is still available.

<p>In ECMAScript implementations, objects that implement the <code><a
href="#windowhtml">WindowHTML</a></code> interface must also have a <dfn
id=get title=dom-item>[[Get]]</dfn> method that, when invoked with a
property name that is a number <var title="">i</var>, returns the <var
title="">i</var>th <span>child browsing context</span><!-- XXX
xref -->
of the current <code>Document</code>.

<p>The <dfn id=length5 title=dom-length><code>length</code></dfn> DOM
attribute on the <code><a href="#windowhtml">WindowHTML</a></code>
interface must return the number of <span title="child browsing
context">child browsing contexts</span><!-- XXX xref --> of the current
<code>Document</code>.

<p>The <dfn id=window title=dom-window><code>window</code></dfn>, <dfn
id=frames title=dom-frames><code>frames</code></dfn>, <dfn id=self
title=dom-self><code>self</code></dfn> DOM attributes must all return the
<code>Window</code> object itself.

<h4 id=browsing><span class=secno>5.7.1. </span>Browsing context names</h4>
<h4 id=browsing><span class=secno>5.7.2. </span>Browsing context names</h4>

<p>A <dfn id=valid7>valid browsing context name</dfn> is any string that
does not start with a U+005F LOW LINE character, or, a string that
void <a href="#clearundo" title=dom-UndoManager-clearUndo>clearUndo</a>();
void <a href="#clearredo" title=dom-UndoManager-clearRedo>clearRedo</a>();
DOMObject <a href="#itemn" title=dom-UndoManager-item>item</a>(in unsigned long index);
readonly attribute unsigned long <a href="#length5" title=dom-UndoManager-length>length</a>;
readonly attribute unsigned long <a href="#length6" title=dom-UndoManager-length>length</a>;
readonly attribute unsigned long <a href="#position0" title=dom-UndoManager-position>position</a>;
};</pre>

entries are absent from the <a href="#undo-transaction">undo transaction
history</a>.

<p>The <dfn id=length5
<p>The <dfn id=length6
title=dom-UndoManager-length><code>length</code></dfn> attribute must
return the number of <a href="#undo-object">undo object</a> entries in the
<a href="#undo-transaction">undo transaction history</a>.
nearest to the <a href="#current2">undo position</a>, on the "redo" side.
If there are no <a href="#undo-object">undo object</a> entries on the
"redo" side, then the attribute must return the same as the <code
title=dom-UndoManager-length><a href="#length5">length</a></code>
title=dom-UndoManager-length><a href="#length6">length</a></code>
attribute. If there are no <a href="#undo-object">undo object</a> entries
on the "undo" side of the <a href="#current2">undo position</a>, the <code
title=dom-UndoManager-position><a href="#position0">position</a></code>
href="#undo-object">undo object</a> entry with the specified <var
title="">index</var>. If the index is less than zero or greater than or
equal to <code title=dom-UndoManager-length><a
href="#length5">length</a></code> then the method must raise an
href="#length6">length</a></code> then the method must raise an
<code>INDEX_SIZE_ERR</code> exception. <a href="#dom-changes">DOM
changes</a> entries are unaffected by this method.

83 source
@@ -1287,15 +1287,14 @@
<p>If no such elements are found, then the method must return
null.</p>

<p>In the ECMAScript DOM binding, objects implementing the
<code>HTMLCollection</code> interface must support being
dereferenced using the square bracket notation, such that
dereferencing with an integer index is equivalent to invoking the
<code title="dom-HTMLCollection-item">item()</code> method with that
index, and such that dereferencing with a string index is equivalent
to invoking the <code
title="dom-HTMLCollection-namedItem">namedItem()</code> method with
that index.</p>
<p>In ECMAScript implementations, objects that implement the
<code>HTMLCollection</code> interface must also have a [[Get]]
method that, when invoked with a property name that is a number,
acts like the <code title="dom-HTMLCollection-item">item()</code>
method would when invoked with that argument, and when invoked with
a property name that is a string, acts like the <code
title="dom-HTMLCollection-namedItem">namedItem()</code> method would
when invoked with that argument.</p>



hyperlinks by navigating a particular browsing context, then that is
the browsing context that must be navigated.</p>

<p>Otherwise, if the hyperlink element is a <code>a</code> or
<code>area</code> element and has a <code
<p>Otherwise, if the hyperlink element is an <code>a</code> or
<code>area</code> element that has a <code
title="attr-hyperlink-target">target</code> attribute, then the
browsing context that is navigated must be chosen by applying
<span>the rules for chosing a browsing context given a browsing
context name</span>, using the value of the <code
title="attr-hyperlink-target">target</code> attribute as the
browsing context name.</p>

<p>Otherwise, if the hyperlink element is a <span
title="rel-sidebar-hyperlink">sidebar hyperlink</span> and the user
agent implements a feature that can be considered a secondary
browsing context, such a secondary browsing context may be selected
as the browsing context to be navigated.</p>

<p>Otherwise, if the hyperlink element is an <code>a</code> or
<code>area</code> element with no <code
title="attr-hyperlink-target">target</code> attribute, but there is
a <code>base</code> element with a <code
title="attr-base-target">target</code> attribute in the document,
then the browsing context that is navigated must be chosen by
applying <span>the rules for chosing a browsing context given a
browsing context name</span>, using the value of the <code
title="attr-base-target">target</code> attribute of the first such
<code>base</code> element as the browsing context name.</p>

<p>Otherwise, the browsing context that must be navigated is the
same browsing context as the one which the hyperlink element itself
is in.</p>
in a secondary browsing context (if possible), instead of in the
current browsing context.</p>

<p>A <span title="hyperlink">hyperlink element</span> with with the
<code title="rel-sidebar">sidebar</code> keyword specified is a <dfn
title="rel-sidebar-hyperlink">sidebar hyperlink</dfn>.</p>


<h5>Link type "<dfn title="rel-tag"><code>tag</code></dfn>"</h5>

DOMString <span title="dom-prompt">prompt</span>(in DOMString message);
DOMString <span title="dom-prompt">prompt</span>(in DOMString message, in DOMString default);

// auxillary browsing contexts
// browsing contexts
readonly attribute <span>Window</span> <span title="dom-window">window</span>;
readonly attribute <span>Window</span> <span title="dom-frames">frames</span>;
readonly attribute <span>Window</span> <span title="dom-self">self</span>;
readonly attribute unsigned long <span title="dom-length">length</span>;
readonly attribute <span>Window</span> <span title="dom-opener">opener</span>;
<span>Window</span> <span title="dom-open">open</span>();
<span>Window</span> <span title="dom-open">open</span>(in DOMString url);
<span>Window</span> <span title="dom-open">open</span>(in DOMString url, in DOMString target);
<span>Window</span> <span title="dom-open">open</span>(in DOMString url, in DOMString target, in DOMString features);
<span>Window</span> <span title="dom-open">open</span>(in DOMString url, in DOMString target, in DOMString features, in DOMString replace);
readonly attribute <span>Window</span> <span title="dom-opener">opener</span>;
};</pre>

<!-- XXX XMLHttpRequest

</dl>

<p class="note"><code>Window</code> objects also <span
title="dom-item">have an implicit [[Get]] method</span>.</p>


<h3 id="history">Session history and navigation</h3>

<var title="">replace</var> is true, then <span title="replacement
enabled">replacement must be enabled</span>.</p>

<p class="big-issue">The <dfn
title="dom-opener"><code>opener</code></dfn> DOM attribute...</p>


<h4>Accessing other browsing contexts</h4>

<p>The <dfn title="dom-opener"><code>opener</code></dfn> DOM
attribute on the <code>Window</code> object must return the
<code>Window</code> object of the browsing context from which the
current browsing context was created, if there is one and it is
still available.</p>

<p>In ECMAScript implementations, objects that implement the
<code>WindowHTML</code> interface must also have a <dfn
title="dom-item">[[Get]]</dfn> method that, when invoked with a
property name that is a number <var title="">i</var>, returns the
<var title="">i</var>th <span>child browsing context</span><!-- XXX
xref --> of the current <code>Document</code>.</p>

<p>The <dfn title="dom-length"><code>length</code></dfn> DOM
attribute on the <code>WindowHTML</code> interface must return the
number of <span title="child browsing context">child browsing
contexts</span><!-- XXX xref --> of the current
<code>Document</code>.</p>

<p>The <dfn title="dom-window"><code>window</code></dfn>, <dfn
title="dom-frames"><code>frames</code></dfn>, <dfn
title="dom-self"><code>self</code></dfn> DOM attributes must all
return the <code>Window</code> object itself.</p>



<h4>Browsing context names</h4>

0 comments on commit c2ebc3f

Please sign in to comment.
You can’t perform that action at this time.