- From: Tab Atkins Jr.. via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 06 Feb 2012 10:58:19 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-images In directory hutz:/tmp/cvs-serv25016 Modified Files: Overview.html Overview.src.html Log Message: Reworded the description of the dependency graph for element() to make it more obvious that it's declarative. Added a clause about host-language elements that depend on other things. Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css3-images/Overview.html,v retrieving revision 1.276 retrieving revision 1.277 diff -u -d -r1.276 -r1.277 --- Overview.html 6 Feb 2012 10:53:08 -0000 1.276 +++ Overview.html 6 Feb 2012 10:58:17 -0000 1.277 @@ -209,7 +209,7 @@ <ul class=toc> <li class=no-num><a href="#paint-sources"> Paint Sources</a> - <li class=no-num><a href="#element-cycles"> Circular References</a> + <li class=no-num><a href="#element-cycles"> Cycle Detection</a> </ul> </ul> @@ -847,7 +847,7 @@ </dl> <!-- ====================================================================== --> - <h4 class=no-num id=element-cycles> Circular References</h4> + <h4 class=no-num id=element-cycles> Cycle Detection</h4> <p>The ‘<code class=css>element()</code>’ function can produce nonsensical circular relationships, such as an element using itself as its @@ -855,14 +855,24 @@ and resolved, however, by keeping track of a dependency graph and using common cycle-detection algorithms. - <p>Populate the dependency graph initially by having every element depend - on each of its children. Then, whenever a property on an element A uses - the ‘<code class=css>element()</code>’ function to refer to an - element B, add an edge to the graph by having A depend on B. If a - dependency cycle is detected, any ‘<code - class=css>element()</code>’ functions that produced a dependency in - the cycle must represent a fully transparent image with no intrinsic - dimensions. + <p>The dependency graph consists of edges such that: + + <ul> + <li>every element depends on its children + + <li>for any element A with a property using the ‘<code + class=css>element()</code>’ function pointing to an element B, A + depends on B + + <li>if a host language defines a way for elements to refer to the + rendering of other elements, the referencing element depends on the + referenced element. For example, in SVG, a <use> element depends on + the element it referenced. + </ul> + + <p>If the graph contains a cycle, any ‘<code + class=css>element()</code>’ functions participating in the cycle + must represent a fully transparent image with no intrinsic dimensions. <p class=issue>Someone else needs to review this and make sure that I'm not missing any cycles. Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/css3-images/Overview.src.html,v retrieving revision 1.286 retrieving revision 1.287 diff -u -d -r1.286 -r1.287 --- Overview.src.html 6 Feb 2012 10:53:08 -0000 1.286 +++ Overview.src.html 6 Feb 2012 10:58:17 -0000 1.287 @@ -461,19 +461,24 @@ <!-- ====================================================================== --> <h4 class="no-num" id='element-cycles'> -Circular References</h4> +Cycle Detection</h4> <p>The ''element()'' function can produce nonsensical circular relationships, such as an element using itself as its own background. These relationships can be easily and reliably detected and resolved, however, by keeping track of a dependency graph and using common cycle-detection algorithms.</p> - <p>Populate the dependency graph initially by having every element depend - on each of its children. Then, whenever a property on an element A uses - the ''element()'' function to refer to an element B, add an edge to the - graph by having A depend on B. If a dependency cycle is detected, any - ''element()'' functions that produced a dependency in the cycle must represent - a fully transparent image with no intrinsic dimensions.</p> + <p>The dependency graph consists of edges such that:</p> + + <ul> + <li>every element depends on its children</li> + + <li>for any element A with a property using the ''element()'' function pointing to an element B, A depends on B</li> + + <li>if a host language defines a way for elements to refer to the rendering of other elements, the referencing element depends on the referenced element. For example, in SVG, a <use> element depends on the element it referenced.</li> + </ul> + + <p>If the graph contains a cycle, any ''element()'' functions participating in the cycle must represent a fully transparent image with no intrinsic dimensions.</p> <p class=issue>Someone else needs to review this and make sure that I'm not missing any cycles.</p>
Received on Monday, 6 February 2012 11:00:27 UTC