HTML Standard Tracker

Diff (omit for latest revision)
Filter

Short URL: http://html5.org/r/3015

File a bug

SVNBugCommentTime (UTC)
3015[Gecko] [Internet Explorer] [Opera] [Webkit] Add the URL decomposition attributes to <a> and <area>.2009-04-29 00:29
Index: source
===================================================================
--- source	(revision 3014)
+++ source	(revision 3015)
@@ -4440,9 +4440,9 @@
   requirements.</p>
 
   <p>On getting, if the <span title="concept-uda-input">input</span>
-  fulfills the condition given in the "getter condition" column
-  corresponding to the attribute in the table below, the user agent
-  must return the part of the <span
+  is an <span>absolute URL</span> that fulfills the condition given in
+  the "getter condition" column corresponding to the attribute in the
+  table below, the user agent must return the part of the <span
   title="concept-uda-input">input</span> URL given in the "component"
   column, with any prefixes specified in the "prefix" column
   appropriately added to the start of the string and any suffixes
@@ -4453,11 +4453,12 @@
   <p>On setting, the new value must first be mutated as described by
   the "setter preprocessor" column, then mutated by %-escaping any
   characters in the new value that are not valid in the relevant
-  component as given by the "component" column. Then, if the resulting
-  new value fulfills the condition given in the "setter condition"
-  column, the user agent must make a new string <var
-  title="">output</var> by replacing the component of the URL given by
-  the "component" column in the <span
+  component as given by the "component" column. Then, if the <span
+  title="concept-uda-input">input</span> is an <span>absolute
+  URL</span> and the resulting new value fulfills the condition given
+  in the "setter condition" column, the user agent must make a new
+  string <var title="">output</var> by replacing the component of the
+  URL given by the "component" column in the <span
   title="concept-uda-input">input</span> URL with the new value;
   otherwise, the user agent must let <var title="">output</var> be
   equal to the <span title="concept-uda-input">input</span>. Finally,
@@ -4506,7 +4507,7 @@
      <td>&mdash;
      <td>&mdash;
      <td>&mdash;
-     <td>&mdash;
+     <td>The new value is not the empty string and <span title="concept-uda-input">input</span> is hierarchical and uses a server-based naming authority
     <tr>
      <td><dfn title="dom-uda-hostname"><code>hostname</code></dfn>
      <td><span title="url-host">&lt;host&gt;</span>
@@ -4514,7 +4515,7 @@
      <td>&mdash;
      <td>&mdash;
      <td>Remove all leading U+002F SOLIDUS ("<code title="">/</code>") characters
-     <td>&mdash;
+     <td>The new value is not the empty string and <span title="concept-uda-input">input</span> is hierarchical and uses a server-based naming authority
     <tr>
      <td><dfn title="dom-uda-port"><code>port</code></dfn>
      <td><span title="url-port">&lt;port&gt;</span>
@@ -4523,7 +4524,7 @@
      <td>&mdash;
      <td>Remove any characters in the new value that are not in the range U+0030 DIGIT ZERO .. U+0039 DIGIT NINE.
          If the resulting string is empty, set it to a single U+0030 DIGIT ZERO character ('0').
-     <td>&mdash;
+     <td><span title="concept-uda-input">input</span> is hierarchical and uses a server-based naming authority
     <tr>
      <td><dfn title="dom-uda-pathname"><code>pathname</code></dfn>
      <td><span title="url-path">&lt;path&gt;</span>
@@ -14839,7 +14840,16 @@
            attribute DOMString <span title="dom-a-media">media</span>;
            attribute DOMString <span title="dom-a-hreflang">hreflang</span>;
            attribute DOMString <span title="dom-a-type">type</span>;
-};</pre><!-- XXX also support the URL decomposition attributes -->
+
+  // <span>URL decomposition attributes</span>
+           attribute DOMString <span title="dom-a-protocol">protocol</span>;
+           attribute DOMString <span title="dom-a-host">host</span>;
+           attribute DOMString <span title="dom-a-hostname">hostname</span>;
+           attribute DOMString <span title="dom-a-port">port</span>;
+           attribute DOMString <span title="dom-a-pathname">pathname</span>;
+           attribute DOMString <span title="dom-a-search">search</span>;
+           attribute DOMString <span title="dom-a-hash">hash</span>;
+};</pre>
     <p>The <code title="command-ro">Command</code> interface must also be implemented by
     this element.</p>
    </dd>
@@ -14971,6 +14981,25 @@
   <span>reflect</span> the <code title="attr-hyperlink-rel">rel</code>
   content attribute.</p>
 
+  <p>The <code>a</code> element also suports the complement of
+  <span>URL decomposition attributes</span>, <dfn
+  title="dom-a-protocol"><code>protocol</code></dfn>, <dfn
+  title="dom-a-host"><code>host</code></dfn>, <dfn
+  title="dom-a-port"><code>port</code></dfn>, <dfn
+  title="dom-a-hostname"><code>hostname</code></dfn>, <dfn
+  title="dom-a-pathname"><code>pathname</code></dfn>, <dfn
+  title="dom-a-search"><code>search</code></dfn>, and <dfn
+  title="dom-a-hash"><code>hash</code></dfn>. These must follow the
+  rules given for URL decomposition attributes, with the <span
+  title="concept-uda-input">input</span> being the result of <span
+  title="resolve a url">resolving</span> the element's <code
+  title="attr-a-href">href</code> attribute relative to the element,
+  if there is such an attribute and resolving it is successful, or the
+  empty string otherwise; and the <span
+  title="concept-uda-setter">common setter action</span> being the
+  same as setting the element's <code title="attr-a-href">href</code>
+  attribute to the new output value.</p>
+
   </div>
 
   <div class="example">
@@ -27584,7 +27613,16 @@
            attribute DOMString <span title="dom-area-media">media</span>;
            attribute DOMString <span title="dom-area-hreflang">hreflang</span>;
            attribute DOMString <span title="dom-area-type">type</span>;
-};</pre><!-- XXX also support the URL decomposition attributes -->
+
+  // <span>URL decomposition attributes</span>
+           attribute DOMString <span title="dom-area-protocol">protocol</span>;
+           attribute DOMString <span title="dom-area-host">host</span>;
+           attribute DOMString <span title="dom-area-hostname">hostname</span>;
+           attribute DOMString <span title="dom-area-port">port</span>;
+           attribute DOMString <span title="dom-area-pathname">pathname</span>;
+           attribute DOMString <span title="dom-area-search">search</span>;
+           attribute DOMString <span title="dom-area-hash">hash</span>;
+};</pre>
    </dd>
   </dl>
 
@@ -27779,6 +27817,26 @@
   <span>reflect</span> the <code title="attr-hyperlink-rel">rel</code>
   content attribute.</p>
 
+  <p>The <code>area</code> element also suports the complement of
+  <span>URL decomposition attributes</span>, <dfn
+  title="dom-area-protocol"><code>protocol</code></dfn>, <dfn
+  title="dom-area-host"><code>host</code></dfn>, <dfn
+  title="dom-area-port"><code>port</code></dfn>, <dfn
+  title="dom-area-hostname"><code>hostname</code></dfn>, <dfn
+  title="dom-area-pathname"><code>pathname</code></dfn>, <dfn
+  title="dom-area-search"><code>search</code></dfn>, and <dfn
+  title="dom-area-hash"><code>hash</code></dfn>. These must follow the
+  rules given for URL decomposition attributes, with the <span
+  title="concept-uda-input">input</span> being the result of <span
+  title="resolve a url">resolving</span> the element's <code
+  title="attr-area-href">href</code> attribute relative to the
+  element, if there is such an attribute and resolving it is
+  successful, or the empty string otherwise; and the <span
+  title="concept-uda-setter">common setter action</span> being the
+  same as setting the element's <code
+  title="attr-area-href">href</code> attribute to the new output
+  value.</p>
+
   </div>
 
 

|