csswg/css-device-adapt Overview.html,1.2,1.3 Overview.src.html,1.2,1.3

Update of /sources/public/csswg/css-device-adapt
In directory hutz:/tmp/cvs-serv27003

Modified Files:
	Overview.html Overview.src.html 
Log Message:
Let computed value of 'auto' for 'zoom' become 'auto' as used value.
Also added a section on how to handle 'auto' as used value for 'zoom'.


Index: Overview.html
===================================================================
RCS file: /sources/public/csswg/css-device-adapt/Overview.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Overview.html	2 Nov 2010 21:00:41 -0000	1.2
+++ Overview.html	3 May 2011 13:01:36 -0000	1.3
@@ -17,8 +17,7 @@
 
    <h1>CSS Device Adaptation</h1>
 
-   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 2 November
-    2010</h2>
+   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 3 May 2011</h2>
 
    <dl>
     <dt>This version:
@@ -43,7 +42,7 @@
    <!--begin-copyright-->
    <p class=copyright><a
     href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
-    rel=license>Copyright</a> &copy; 2010 <a
+    rel=license>Copyright</a> &copy; 2011 <a
     href="http://www.w3.org/"><acronym title="World Wide Web
     Consortium">W3C</acronym></a><sup>&reg;</sup> (<a
     href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute
@@ -166,6 +165,11 @@
       class=css>@viewport</code> properties</a>
     </ul>
 
+   <li><a href="#handling-auto-zoom"><span class=secno>10. </span>Handling
+    &lsquo;<code class=css title="auto!!zoom">auto</code>&rsquo; for
+    &lsquo;<code class=property title="zoom!!property">zoom</code>&rsquo;</a>
+    
+
    <li class=no-num><a href="#acknowledgments">Acknowledgments</a>
 
    <li class=no-num><a href="#references">References</a>
@@ -287,8 +291,8 @@
 
   <div class=example>
    <p>This example sets the viewport to fit the width of the device. Note
-    that it is enough to set the width as the zoom and height will be
-    resolved from the width.</p>
+    that it is enough to set the width as the height will be resolved from
+    the width.</p>
 
    <pre><!--
 	-->@viewport {
@@ -784,8 +788,13 @@
    <dt>&lsquo;<code class=css><dfn id=auto0
     title="auto!!zoom">auto</dfn></code>&rsquo;
 
-   <dd>The used value is calculated from the other property values according
-    to the <a href="#constraining-procedure">constraining procedure</a>.
+   <dd>The zoom factor is UA-dependent. The UA may use the size of the area
+    of the canvas on which the document is rendered to find that initial zoom
+    factor. See <a href="#handling-auto-zoom">this section</a> for a proposed
+    way of handling &lsquo;<a href="#auto0"><code class=css
+    title="auto!!zoom">auto</code></a>&rsquo; values for &lsquo;<a
+    href="#zoom"><code class=property
+    title="zoom!!property">zoom</code></a>&rsquo;.
 
    <dt><var>&lt;number&gt;</var>
 
@@ -852,8 +861,16 @@
   </table>
 
   <p>Specifies the smallest allowed zoom factor. It is used as input to the
-   <a href="#constraining-procedure">constraining procedure</a>, but also to
-   limit the allowed zoom factor that can be set through user interaction.
+   <a href="#constraining-procedure">constraining procedure</a> to constrain
+   non-&lsquo;<a href="#auto0"><code class=css
+   title="auto!!zoom">auto</code></a>&rsquo; &lsquo;<a href="#zoom"><code
+   class=property title="zoom!!property">zoom</code></a>&rsquo; values, but
+   also to limit the allowed zoom factor that can be set through user
+   interaction. The UA should also use this value as a constraint when
+   choosing an actual zoom factor when the used value of &lsquo;<a
+   href="#zoom"><code class=property
+   title="zoom!!property">zoom</code></a>&rsquo; is &lsquo;<a
+   href="#auto0"><code class=css title="auto!!zoom">auto</code></a>&rsquo;.
 
   <p>Values have the following meanings:
 
@@ -861,8 +878,10 @@
    <dt>&lsquo;<code class=css><dfn id=auto1
     title="auto!!min-zoom">auto</dfn></code>&rsquo;
 
-   <dd>The used value is calculated from the other property values according
-    to the <a href="#constraining-procedure">constraining procedure</a>.
+   <dd>The lower limit on zoom factor is UA dependant. There will be no
+    minimum value constraint on the &lsquo;<a href="#zoom"><code
+    class=property title="zoom!!property">zoom</code></a>&rsquo; property
+    used in the <a href="#constraining-procedure">constraining procedure</a>
 
    <dt><var>&lt;number&gt;</var>
 
@@ -925,8 +944,16 @@
   </table>
 
   <p>Specifies the largest allowed zoom factor. It is used as input to the <a
-   href="#constraining-procedure">constraining procedure</a>, but also to
-   limit the allowed zoom factor that can be set through user interaction.
+   href="#constraining-procedure">constraining procedure</a> to constrain
+   non-&lsquo;<a href="#auto0"><code class=css
+   title="auto!!zoom">auto</code></a>&rsquo; &lsquo;<a href="#zoom"><code
+   class=property title="zoom!!property">zoom</code></a>&rsquo; values, but
+   also to limit the allowed zoom factor that can be set through user
+   interaction. The UA should also use this value as a constraint when
+   choosing an actual zoom factor when the used value of &lsquo;<a
+   href="#zoom"><code class=property
+   title="zoom!!property">zoom</code></a>&rsquo; is &lsquo;<a
+   href="#auto0"><code class=css title="auto!!zoom">auto</code></a>&rsquo;.
 
   <p>Values have the following meanings:
 
@@ -934,8 +961,10 @@
    <dt>&lsquo;<code class=css><dfn id=auto2
     title="auto!!max-zoom">auto</dfn></code>&rsquo;
 
-   <dd>The used value is calculated from the other property values according
-    to the <a href="#constraining-procedure">constraining procedure</a>.
+   <dd>The upper limit on zoom factor is UA dependant. There will be no
+    maximum value constraint on the &lsquo;<code
+    class=property>zoom</code>&rsquo; property used in the <a
+    href="#constraining-procedure">constraining procedure</a>
 
    <dt><var>&lt;number&gt;</var>
 
@@ -1095,10 +1124,8 @@
 
   <p>For the procedure below:
 
-  <p>Computed values refer to the computed values from the property
-   definitions. Other values refer to the values resolved/constrained to at
-   that point in the procedure. The values are initially resolved to their
-   computed values.
+  <p>Properties refer to the values resolved/constrained to at that point in
+   the procedure. They are initially resolved to their computed values.
 
   <p><code class=index id=width0 title="width!!resolved">width</code> and
    <code class=index id=height0 title="height!!resolved">height</code> refer
@@ -1195,45 +1222,23 @@
     MAX(min-zoom, max-zoom)</code>
   </ol>
 
-  <h4 class="no-num no-toc" id=resolve-zoom-value>Resolve <code
-   title="zoom!!resolved">zoom</code> value</h4>
-
-  <ol start=5>
-   <li>If the computed value of &lsquo;<a href="#zoom"><code class=property
-    title="zoom!!property">zoom</code></a>&rsquo; is &lsquo;<a
-    href="#auto0"><code class=css title="auto!!zoom">auto</code></a>&rsquo;
-    and <code title="width!!resolved">width</code> is not &lsquo;<a
-    href="#auto"><code class=css title="auto!!length">auto</code></a>&rsquo;,
-    set <code>zoom = (initial-width / width)</code>
-
-   <li>If <code title="zoom!!resolved">zoom</code> is &lsquo;<a
-    href="#auto0"><code class=css title="auto!!zoom">auto</code></a>&rsquo;,
-    set <code>zoom = 1</code>
-
-   <li>If the computed value of &lsquo;<a href="#zoom"><code class=property
-    title="zoom!!property">zoom</code></a>&rsquo; is &lsquo;<a
-    href="#auto0"><code class=css title="auto!!zoom">auto</code></a>&rsquo;
-    and <code title="height!!resolved">height</code> is not &lsquo;<a
-    href="#auto"><code class=css title="auto!!length">auto</code></a>&rsquo;,
-    set <code>zoom = MAX(zoom, (initial-height / height))</code>
-  </ol>
-
   <h4 class="no-num no-toc"
    id=constrain-zoom-value-to-the-min-zoom-max>Constrain <code
    title="zoom!!resolved">zoom</code> value to the <code>[min-zoom,
    max-zoom]</code> range</h4>
 
-  <ol start=8>
-   <li>Set <code>zoom = MAX(min-zoom, MIN(max-zoom, zoom))</code>
+  <ol start=5>
+   <li>If <code title="zoom!!resolved">zoom</code> is not &lsquo;<a
+    href="#auto0"><code class=css title="auto!!zoom">auto</code></a>&rsquo;,
+    set <code>zoom = MAX(min-zoom, MIN(max-zoom, zoom))</code>
   </ol>
 
   <h4 class="no-num no-toc" id=resolve-width-value>Resolve <code
    title="width!!resolved">width</code> value</h4>
 
-  <ol start=9>
-   <li>If <code title="width!!resolved">width</code> and the computed value
-    of &lsquo;<a href="#zoom"><code class=property
-    title="zoom!!property">zoom</code></a>&rsquo; are both &lsquo;<code
+  <ol start=6>
+   <li>If <code title="width!!resolved">width</code> and <code
+    title="zoom!!resolved">zoom</code> are both &lsquo;<code
     class=css>auto</code>&rsquo;, set <code>width = initial-width</code>
 
    <li>If <code title="width!!resolved">width</code> is &lsquo;<code
@@ -1250,7 +1255,7 @@
   <h4 class="no-num no-toc" id=resolve-height-value>Resolve <code
    title="height!!resolved">height</code> value</h4>
 
-  <ol start=12>
+  <ol start=9>
    <li>If <code title="height!!resolved">height</code> is &lsquo;<code
     class=css>auto</code>&rsquo;, set <code>height = width * (initial-height
     / initial-width)</code>
@@ -1260,12 +1265,20 @@
    id=extend-width-and-height-to-fill-the-wind>Extend <code
    title="width!!resolved">width</code> and <code
    title="height!!resolved">height</code> to fill the window/viewing area for
-   the resolved <code title="zoom!!resolved">zoom</code></h4>
+   the specified <code title="zoom!!resolved">zoom</code></h4>
 
-  <ol start=13>
-   <li>Set <code>width = MAX(width, (initial-width / zoom))</code>
+  <ol start=10>
+   <li>If <code title="zoom!!resolved">zoom</code> or <code
+    title="max-zoom!!resolved">max-zoom</code> is not &lsquo;<a
+    href="#auto0"><code class=css title="auto!!zoom">auto</code></a>&rsquo;,
+    set <code>width = MAX(width, (initial-width / MIN(zoom,
+    max-zoom)))</code>
 
-   <li>Set <code>height = MAX(height, (initial-height / zoom))</code>
+   <li>If <code title="zoom!!resolved">zoom</code> or <code
+    title="max-zoom!!resolved">max-zoom</code> is not &lsquo;<a
+    href="#auto0"><code class=css title="auto!!zoom">auto</code></a>&rsquo;,
+    set <code>height = MAX(height, (initial-height / MIN(zoom,
+    max-zoom)))</code>
   </ol>
 
   <div class=example>
@@ -1458,8 +1471,8 @@
     <p>This will for instance allow UAs without zooming capabilities to
      conform and still have interoperable implementations when it comes to
      viewport dimensions. It will also allow the UA to choose a different
-     zoom factor if the content overflows the <a
-     href="#actual-viewport">actual viewport</a>.
+     zoom factor when content overflows the <a href="#actual-viewport">actual
+     viewport</a>.
 
    <li>
     <p>Support for the &lsquo;<a href="#user-zoom"><code
@@ -1491,7 +1504,7 @@
 <!--  -->}<!--
  --></pre>
 
-  <p class=note>Note that these values might not fit well with any UA. For
+  <p class=note>Note that these values might not fit well with all UAs. For
    instance, with a min-zoom of 0.25 you will be able to fit the whole width
    of the document inside the window for widths up to 1280px on a 320px wide
    device like the iPhone, but only 960px if you have 240px display.
@@ -1744,6 +1757,38 @@
    --></pre>
   </div>
 
+  <h2 id=handling-auto-zoom><span class=secno>10. </span>Handling &lsquo;<a
+   href="#auto0"><code class=css title="auto!!zoom">auto</code></a>&rsquo;
+   for &lsquo;<a href="#zoom"><code class=property
+   title="zoom!!property">zoom</code></a>&rsquo;</h2>
+
+  <p><em>This section is not normative.</em>
+
+  <p>This section presents one way of picking an actual value for the
+   &lsquo;<a href="#zoom"><code class=property
+   title="zoom!!property">zoom</code></a>&rsquo; property when the used value
+   is &lsquo;<a href="#auto0"><code class=css
+   title="auto!!zoom">auto</code></a>.
+
+  <p>Given an <a href="#initial-viewport">initial viewport</a> with size
+   <code>(initial-width, initial-height)</code>, and a finite region within
+   the <a href="http://www.w3.org/TR/CSS21/intro.html#canvas">canvas</a>
+   where the formatting structure is rendered <code>(rendered-width,
+   rendered-height)</code>. That region is at least as large as the <a
+   href="#actual-viewport">actual viewport</a>.
+
+  <p>Then, if the used value of &lsquo;<a href="#zoom"><code class=property
+   title="zoom!!property">zoom</code></a>&rsquo; is &lsquo;<a
+   href="#auto0"><code class=css title="auto!!zoom">auto</code></a>&rsquo;,
+   let the actual zoom factor be:
+
+  <pre>
+<!---->zoom = MAX(initial-width / rendered-width, initial-height / rendered-height)<!--
+ --></pre>
+
+  <p>The actual zoom factor should also be further limited by the [min-zoom,
+   max-zoom] range.
+
   <h2 class=no-num id=acknowledgments>Acknowledgments</h2>
 
   <h2 class=no-num id=references>References</h2>
@@ -1759,10 +1804,10 @@
    <dt id=CSS21>[CSS21]
 
    <dd>Bert Bos; et al. <a
-    href="http://www.w3.org/TR/2009/CR-CSS2-20090908"><cite>Cascading Style
-    Sheets Level 2 Revision 1 (CSS 2.1) Specification.</cite></a> 8 September
-    2009. W3C Candidate Recommendation. (Work in progress.) URL: <a
-    href="http://www.w3.org/TR/2009/CR-CSS2-20090908">http://www.w3.org/TR/2009/CR-CSS2-20090908</a>
+    href="http://www.w3.org/TR/2009/CR-CSS2-20090423"><cite>Cascading Style
+    Sheets Level 2 Revision 1 (CSS&#160;2.1) Specification.</cite></a> 23
+    April 2009. W3C Candidate Recommendation. (Work in progress.) URL: <a
+    href="http://www.w3.org/TR/2009/CR-CSS2-20090423">http://www.w3.org/TR/2009/CR-CSS2-20090423</a>
     </dd>
    <!---->
 
@@ -1778,7 +1823,7 @@
 
    <dt id=CSS3VAL>[CSS3VAL]
 
-   <dd>Chris Lilley; H&#229;kon Wium Lie. <a
+   <dd>H&#229;kon Wium Lie; Chris Lilley. <a
     href="http://www.w3.org/TR/2006/WD-css3-values-20060919"><cite>CSS3
     Values and Units.</cite></a> 19 September 2006. W3C Working Draft. (Work
     in progress.) URL: <a
@@ -1788,11 +1833,11 @@
 
    <dt id=MEDIAQ>[MEDIAQ]
 
-   <dd>Daniel Glazman; et al. <a
-    href="http://www.w3.org/TR/2010/CR-css3-mediaqueries-20100727"><cite>Media
+   <dd>H&#229;kon Wium Lie; et al. <a
+    href="http://www.w3.org/TR/2010/CR-css3-mediaqueries-20100727/"><cite>Media
     Queries.</cite></a> 27 July 2010. W3C Candidate Recommendation. (Work in
     progress.) URL: <a
-    href="http://www.w3.org/TR/2010/CR-css3-mediaqueries-20100727">http://www.w3.org/TR/2010/CR-css3-mediaqueries-20100727</a>
+    href="http://www.w3.org/TR/2010/CR-css3-mediaqueries-20100727/">http://www.w3.org/TR/2010/CR-css3-mediaqueries-20100727/</a>
     </dd>
    <!---->
   </dl>

Index: Overview.src.html
===================================================================
RCS file: /sources/public/csswg/css-device-adapt/Overview.src.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Overview.src.html	2 Nov 2010 20:58:06 -0000	1.2
+++ Overview.src.html	3 May 2011 13:01:36 -0000	1.3
@@ -141,9 +141,9 @@
     </p>
 
     <div class="example">
-      <p>This example sets the viewport to fit the width of the device.
-	Note that it is enough to set the width as the zoom and height
-	will be resolved from the width.</p>
+      <p>This example sets the viewport to fit the width of the device. Note
+        that it is enough to set the width as the height will be resolved from
+        the width.</p>
       <pre><!--
 	-->@viewport {
 <!--    -->  width: device-width;
@@ -153,8 +153,8 @@
 
     <h3>Syntax</h3>
 
-    <p>The syntax for the <code class="css">@viewport</code> rule is as follows (using
-      the notation from the <a
+    <p>The syntax for the <code class="css">@viewport</code> rule is as follows
+      (using the notation from the <a
       href="http://www.w3.org/TR/CSS21/grammar.html">Grammar appendix</a> of CSS
       2.1 [[!CSS21]]):</p>
 
@@ -615,8 +615,12 @@
 
     <dl>
       <dt>&lsquo;<code class="css"><dfn title="auto!!zoom">auto</dfn></code>&rsquo;</dt>
-      <dd>The used value is calculated from the other property values according
-	to the <a href="#constraining-procedure">constraining procedure</a>.</dd>
+      <dd>The zoom factor is UA-dependent. The UA may use the size of the area
+        of the canvas on which the document is rendered to find that initial
+        zoom factor. See <a href="#handling-auto-zoom">this section</a> for a
+        proposed way of handling
+        &lsquo;<code class="css" title="auto!!zoom">auto</code>&rsquo; values
+        for &lsquo;<code class="property" title="zoom!!property">zoom</code>&rsquo;.</dd>
 
       <dt><var>&lt;number&gt;</var></dt>
       <dd>
@@ -682,15 +686,23 @@
     </table>
 
     <p>Specifies the smallest allowed zoom factor. It is used as input to the
-      <a href="#constraining-procedure">constraining procedure</a>, but also to
-      limit the allowed zoom factor that can be set through user interaction.</p>
+      <a href="#constraining-procedure">constraining procedure</a> to constrain
+      non-&lsquo;<code class="css" title="auto!!zoom">auto</code>&rsquo;
+      &lsquo;<code class="property" title="zoom!!property">zoom</code>&rsquo;
+      values, but also to limit the allowed zoom factor that can be set through
+      user interaction. The UA should also use this value as a constraint when
+      choosing an actual zoom factor when the used value of
+      &lsquo;<code class="property" title="zoom!!property">zoom</code>&rsquo; is
+      &lsquo;<code class="css" title="auto!!zoom">auto</code>&rsquo;.</p>
 
     <p>Values have the following meanings:</p>
 
     <dl>
       <dt>&lsquo;<code class="css"><dfn title="auto!!min-zoom">auto</dfn></code>&rsquo;</dt>
-      <dd>The used value is calculated from the other property values
-	according to the <a href="#constraining-procedure">constraining procedure</a>.</dd>
+      <dd>The lower limit on zoom factor is UA dependant. There will be no minimum
+        value constraint on the &lsquo;<code class="property"
+        title="zoom!!property">zoom</code>&rsquo; property used in the
+        <a href="#constraining-procedure">constraining procedure</a></dd>
 
       <dt><var>&lt;number&gt;</var></dt>
       <dd>
@@ -752,15 +764,23 @@
     </table>
 
     <p>Specifies the largest allowed zoom factor. It is used as input to the
-      <a href="#constraining-procedure">constraining procedure</a>, but also to
-      limit the allowed zoom factor that can be set through user interaction.</p>
+      <a href="#constraining-procedure">constraining procedure</a> to constrain
+      non-&lsquo;<code class="css" title="auto!!zoom">auto</code>&rsquo;
+      &lsquo;<code class="property" title="zoom!!property">zoom</code>&rsquo;
+      values, but also to limit the allowed zoom factor that can be set through
+      user interaction. The UA should also use this value as a constraint when
+      choosing an actual zoom factor when the used value of
+      &lsquo;<code class="property" title="zoom!!property">zoom</code>&rsquo; is
+      &lsquo;<code class="css" title="auto!!zoom">auto</code>&rsquo;.</p>
 
     <p>Values have the following meanings:</p>
 
     <dl>
       <dt>&lsquo;<code class="css"><dfn title="auto!!max-zoom">auto</dfn></code>&rsquo;</dt>
-      <dd>The used value is calculated from the other property values according
-      to the <a href="#constraining-procedure">constraining procedure</a>.</dd>
+      <dd>The upper limit on zoom factor is UA dependant. There will be no maximum
+        value constraint on the &lsquo;<code class="property">zoom</code>&rsquo;
+        property used in the <a href="#constraining-procedure">constraining
+        procedure</a></dd>
 
       <dt><var>&lt;number&gt;</var></dt>
       <dd>
@@ -909,10 +929,8 @@
 
     <p>For the procedure below:</p>
 
-    <p>Computed values refer to the computed values from the property
-      definitions. Other values refer to the values resolved/constrained
-      to at that point in the procedure. The values are initially resolved
-      to their computed values.
+    <p>Properties refer to the values resolved/constrained to at that point in
+      the procedure. They are initially resolved to their computed values.
     </p>
 
     <p><code class="index" title="width!!resolved">width</code> and
@@ -1000,43 +1018,22 @@
 	&lsquo;<code class="css" title="auto!!max-zoom">auto</code>&rsquo;,
 	set <code>max-zoom = MAX(min-zoom, max-zoom)</code></li>
 
-    <h4 class="no-num no-toc">Resolve <code title="zoom!!resolved">zoom</code>
-      value</h4>
-
-    <ol start="5">
-      <li>If the computed value
-	of &lsquo;<code class="property" title="zoom!!property">zoom</code>&rsquo;
-	is &lsquo;<code class="css" title="auto!!zoom">auto</code>&rsquo;
-	and <code title="width!!resolved">width</code> is not
-	&lsquo;<code class="css" title="auto!!length">auto</code>&rsquo;,
-	set <code>zoom = (initial-width / width)</code></li>
-
-      <li>If <code title="zoom!!resolved">zoom</code> is
-	&lsquo;<code class="css" title="auto!!zoom">auto</code>&rsquo;,
-	set <code>zoom = 1</code></li>
-
-      <li>If the computed value
-	of &lsquo;<code class="property" title="zoom!!property">zoom</code>&rsquo;
-	is &lsquo;<code class="css" title="auto!!zoom">auto</code>&rsquo;
-	and <code title="height!!resolved">height</code> is not
-	&lsquo;<code class="css" title="auto!!length">auto</code>&rsquo;,
-	set <code>zoom = MAX(zoom, (initial-height / height))</code></li>
-    </ol>
-
     <h4 class="no-num no-toc">Constrain <code title="zoom!!resolved">zoom</code>
       value to the <code>[min-zoom, max-zoom]</code> range</h4>
 
-    <ol start="8">
-      <li>Set <code>zoom = MAX(min-zoom, MIN(max-zoom, zoom))</code></li>
+    <ol start="5">
+      <li>If <code title="zoom!!resolved">zoom</code> is not
+      &lsquo;<code class="css" title="auto!!zoom">auto</code>&rsquo;,
+      set <code>zoom = MAX(min-zoom, MIN(max-zoom, zoom))</code></li>
     </ol>
 
     <h4 class="no-num no-toc">Resolve <code title="width!!resolved">width</code>
       value</h4>
 
-    <ol start="9">
-      <li>If <code title="width!!resolved">width</code> and the computed value
-	of &lsquo;<code class="property" title="zoom!!property">zoom</code>&rsquo;
-	are both &lsquo;<code class="css">auto</code>&rsquo;, set <code>width =
+    <ol start="6">
+      <li>If <code title="width!!resolved">width</code>
+	and <code title="zoom!!resolved">zoom</code> are both
+	&lsquo;<code class="css">auto</code>&rsquo;, set <code>width =
 	initial-width</code></li>
 
       <li>If <code title="width!!resolved">width</code> is
@@ -1053,7 +1050,7 @@
     <h4 class="no-num no-toc">Resolve <code title="height!!resolved">height</code>
       value</h4>
 
-    <ol start="12">
+    <ol start="9">
       <li>If <code title="height!!resolved">height</code> is
 	&lsquo;<code class="css">auto</code>&rsquo;, set <code>height = width *
 	(initial-height / initial-width)</code></li>
@@ -1061,11 +1058,20 @@
 
     <h4 class="no-num no-toc">Extend <code title="width!!resolved">width</code>
       and <code title="height!!resolved">height</code> to fill the
-      window/viewing area for the resolved <code title="zoom!!resolved">zoom</code></h4>
+      window/viewing area for the specified <code title="zoom!!resolved">zoom</code></h4>
 
-    <ol start="13">
-      <li>Set <code>width = MAX(width, (initial-width / zoom))</code></li>
-      <li>Set <code>height = MAX(height, (initial-height / zoom))</code></li>
+    <ol start="10">
+      <li>If <code title="zoom!!resolved">zoom</code>
+	or <code title="max-zoom!!resolved">max-zoom</code> is not
+	&lsquo;<code class="css"
+	title="auto!!zoom">auto</code>&rsquo;, set <code>width =
+	MAX(width, (initial-width / MIN(zoom, max-zoom)))</code></li>
+      <li>If <code title="zoom!!resolved">zoom</code>
+	or <code title="max-zoom!!resolved">max-zoom</code> is not
+	&lsquo;<code class="css"
+	title="auto!!zoom">auto</code>&rsquo;, set <code>height =
+	MAX(height, (initial-height / MIN(zoom, max-zoom)))</code>
+      </li>
     </ol>
 
     <div class="example">
@@ -1245,7 +1251,7 @@
 	  <p>This will for instance allow UAs without zooming capabilities to
 	  conform and still have interoperable implementations when it comes to
 	  viewport dimensions. It will also allow the UA to choose a different
-	  zoom factor if the content overflows the <span>actual viewport</span>.</p></li>
+	  zoom factor when content overflows the <span>actual viewport</span>.</p></li>
 	<li><p>Support for the &lsquo;<code class="property">user-zoom</code>&rsquo;
 	  and &lsquo;<code class="property">orientation</code>&rsquo;
 	  properties is optional.</p></li>
@@ -1276,7 +1282,7 @@
 <!--  -->}<!--
  --></pre>
 
-    <p class="note">Note that these values might not fit well with any UA. For
+    <p class="note">Note that these values might not fit well with all UAs. For
       instance, with a min-zoom of 0.25 you will be able to fit the whole width
       of the document inside the window for widths up to 1280px on a 320px wide
       device like the iPhone, but only 960px if you have 240px display.</p>
@@ -1491,6 +1497,35 @@
    --></pre>
     </div>
 
+    <h2 id="handling-auto-zoom">Handling &lsquo;<code class="css" title="auto!!zoom">auto</code>&rsquo;
+      for &lsquo;<code class="property" title="zoom!!property">zoom</code>&rsquo;</h2>
+
+    <p><em>This section is not normative.</em></p>
+
+    <p>This section presents one way of picking an actual value for the
+      &lsquo;<code class="property" title="zoom!!property">zoom</code>&rsquo;
+      property when the used value is
+      &lsquo;<code class="css" title="auto!!zoom">auto</code>.</p>
+
+    <p>Given an <span>initial viewport</span> with size <code>(initial-width,
+      initial-height)</code>, and a finite region within the
+      <a href="http://www.w3.org/TR/CSS21/intro.html#canvas">canvas</a> where
+      the formatting structure is rendered <code>(rendered-width,
+      rendered-height)</code>. That region is at least as large as the
+      <span>actual viewport</span>.
+
+    <p>Then, if the used value of
+      &lsquo;<code class="property" title="zoom!!property">zoom</code>&rsquo; is
+      &lsquo;<code class="css" title="auto!!zoom">auto</code>&rsquo;, let the
+      actual zoom factor be:</p>
+
+    <pre>
+<!---->zoom = MAX(initial-width / rendered-width, initial-height / rendered-height)<!--
+ --></pre>
+
+    <p>The actual zoom factor should also be further limited by the [min-zoom,
+      max-zoom] range.</p>
+
 
     <h2 class="no-num">Acknowledgments</h2>
 

Received on Tuesday, 3 May 2011 13:01:44 UTC