CINXE.COM

mozilla-central: changeset 59721:dd88bfc07421c1ba6518ff48577680c0907b5690

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> <head> <link rel="icon" href="/static/f9b6f94339cb/hgicon.png" type="image/png" /> <meta name="robots" content="index, nofollow"/> <link rel="stylesheet" href="/static/f9b6f94339cb/style-gitweb.css" type="text/css" /> <style type="text/css"> div.feed { float: right; } a img { border-width: 0px; } div.log_link { width: 80px; background-color: white; } div.log_body { padding-left: 96px; } </style> <script type="text/javascript" src="/static/f9b6f94339cb/mercurial.js"></script> <meta property="og:image" content="/static/f9b6f94339cb/moz-logo-bw-rgb.svg"/> <meta property="og:type" content="website"/> <title>mozilla-central: changeset 59721:dd88bfc07421c1ba6518ff48577680c0907b5690</title> <link rel="alternate" type="application/atom+xml" href="/mozilla-central/atom-log" title="Atom feed for mozilla-central"/> <link rel="alternate" type="application/rss+xml" href="/mozilla-central/rss-log" title="RSS feed for mozilla-central"/> <meta property="og:title" content="mozilla-central @ dd88bfc07421" /> <meta property="og:url" content="/mozilla-central/rev/dd88bfc07421" /> <meta property="og:description" content="Bug 607537 - SVG SMIL: Support paint servers an animation values; r=dholbert,dbaron; a=roc" /> </head> <body> <div class="page_header"> <div class="logo"> <a href="https://firefox-source-docs.mozilla.org/contributing/vcs/mercurial.html"> <img src="/static/f9b6f94339cb/moz-logo-bw-rgb.svg" alt="mercurial" /> </a> </div> <a href="/">Mercurial</a> &gt; <a href="/mozilla-central">mozilla-central</a> / changeset / dd88bfc07421c1ba6518ff48577680c0907b5690 </div> <div class="page_nav"> <div> <a href="/mozilla-central/summary">summary</a> | <a href="/mozilla-central/shortlog/dd88bfc07421">shortlog</a> | <a href="/mozilla-central/log/dd88bfc07421">changelog</a> | <a href="/mozilla-central/pushloghtml">pushlog</a> | <a href="/mozilla-central/graph/dd88bfc07421">graph</a> | <a href="/mozilla-central/tags">tags</a> | <a href="/mozilla-central/bookmarks">bookmarks</a> | <a href="/mozilla-central/branches">branches</a> | <a href="/mozilla-central/file/dd88bfc07421">files</a> | changeset | <a href="/mozilla-central/raw-rev/dd88bfc07421">raw</a> | <a href="/mozilla-central/archive/dd88bfc07421.zip">zip</a> | <a href="/mozilla-central/help">help</a> </div> <div class="search"> <form id="searchform" action="/mozilla-central/log"> <input name="rev" type="text" value="" size="40" /> <div id="hint">Find changesets by keywords (author, files, the commit message), revision number or hash, or <a href="/mozilla-central/help/revsets">revset expression</a>.</div> </form> </div> </div> <div class="title"> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=607537">Bug 607537</a> - SVG SMIL: Support paint servers an animation values; r=dholbert,dbaron; a=roc <span class="logtags"></span> </div> <div class="title_text"> <table cellspacing="0"> <tr><td>author</td><td>&#66;&#114;&#105;&#97;&#110;&#32;&#66;&#105;&#114;&#116;&#108;&#101;&#115;&#32;&#60;&#98;&#105;&#114;&#116;&#108;&#101;&#115;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</td></tr> <tr><td></td><td class="date age">Wed, 29 Dec 2010 10:31:14 +0900</td></tr> <tr> <td>changeset 59721</td> <td style="font-family:monospace"><a class="list" href="/mozilla-central/rev/dd88bfc07421c1ba6518ff48577680c0907b5690">dd88bfc07421c1ba6518ff48577680c0907b5690</a></td> </tr> <tr> <td>parent 59720</td> <td style="font-family:monospace"> <a class="list" href="/mozilla-central/rev/d8e1001989a065061ed0b020b8bf0c08099f4be3">d8e1001989a065061ed0b020b8bf0c08099f4be3</a> </td> </tr> <tr> <td>child 59722</td> <td style="font-family:monospace"> <a class="list" href="/mozilla-central/rev/811435151990cc60cd462bcbcda0b8fc8c55b76b">811435151990cc60cd462bcbcda0b8fc8c55b76b</a> </td> </tr> <tr><td>push id</td><td><a href="/mozilla-central/pushloghtml?changeset=dd88bfc07421c1ba6518ff48577680c0907b5690">17754</a></td></tr> <tr><td>push user</td><td>bbirtles@mozilla.com</td></tr> <tr><td>push date</td><td class="date age">Wed, 29 Dec 2010 01:32:34 +0000</td></tr> <tr><td>treeherder</td><td>mozilla-central@dd88bfc07421 [<a href="https://treeherder.mozilla.org/jobs?repo=mozilla-central&revision=dd88bfc07421c1ba6518ff48577680c0907b5690">default view</a>] [<a href="https://treeherder.mozilla.org/jobs?repo=mozilla-central&revision=dd88bfc07421c1ba6518ff48577680c0907b5690&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception">failures only]</td></tr> <tr><td>perfherder</td><td>[<a href="https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=dd88bfc07421c1ba6518ff48577680c0907b5690&newProject=mozilla-central&newRevision=dd88bfc07421c1ba6518ff48577680c0907b5690&framework=1" target="_blank">talos</a>] [<a href="https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=dd88bfc07421c1ba6518ff48577680c0907b5690&newProject=mozilla-central&newRevision=dd88bfc07421c1ba6518ff48577680c0907b5690&framework=2" target="_blank">build metrics</a>] [<a href="https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=dd88bfc07421c1ba6518ff48577680c0907b5690&newProject=mozilla-central&newRevision=dd88bfc07421c1ba6518ff48577680c0907b5690&framework=6" target="_blank">platform microbench</a>] (compared to previous push)</td></tr> <tr><td>reviewers</td><td><a href="/mozilla-central/log?rev=reviewer%28dholbert%29&revcount=50">dholbert</a>, <a href="/mozilla-central/log?rev=reviewer%28dbaron%29&revcount=50">dbaron</a>, <a href="/mozilla-central/log?rev=reviewer%28roc%29&revcount=50">roc</a></td></tr> <tr><td>bugs</td><td><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=607537">607537</a></td></tr> <tr><td>milestone</td><td>2.0b9pre</td></tr> <tr><td>first release with</td><td><div><div class="firefoxreleasecsetentry"> <div>nightly linux32</div> <div class="firefoxreleasecsetdetails"> <a href="/mozilla-central/rev/759b0cf2e6ebef2bf527aae47ede4fbdde00ddc4">759b0cf2e6eb</a> / 4.0b9pre / <a href="/mozilla-central/firefoxreleases#759b0cf2e6ebnightlylinux3220101229030346">20101229030346</a> / <a href="https://archive.mozilla.org/pub/firefox/nightly/2010/12/2010-12-29-03-mozilla-central/">files</a> </div></div><div class="firefoxreleasecsetentry"> <div>nightly linux64</div> <div class="firefoxreleasecsetdetails"> <a href="/mozilla-central/rev/759b0cf2e6ebef2bf527aae47ede4fbdde00ddc4">759b0cf2e6eb</a> / 4.0b9pre / <a href="/mozilla-central/firefoxreleases#759b0cf2e6ebnightlylinux6420101229030346">20101229030346</a> / <a href="https://archive.mozilla.org/pub/firefox/nightly/2010/12/2010-12-29-03-mozilla-central/">files</a> </div></div><div class="firefoxreleasecsetentry"> <div>nightly mac</div> <div class="firefoxreleasecsetdetails"> <a href="/mozilla-central/rev/759b0cf2e6ebef2bf527aae47ede4fbdde00ddc4">759b0cf2e6eb</a> / 4.0b9pre / <a href="/mozilla-central/firefoxreleases#759b0cf2e6ebnightlymac20101229030346">20101229030346</a> / <a href="https://archive.mozilla.org/pub/firefox/nightly/2010/12/2010-12-29-03-mozilla-central/">files</a> </div></div><div class="firefoxreleasecsetentry"> <div>nightly win32</div> <div class="firefoxreleasecsetdetails"> <a href="/mozilla-central/rev/759b0cf2e6ebef2bf527aae47ede4fbdde00ddc4">759b0cf2e6eb</a> / 4.0b9pre / <a href="/mozilla-central/firefoxreleases#759b0cf2e6ebnightlywin3220101229030346">20101229030346</a> / <a href="https://archive.mozilla.org/pub/firefox/nightly/2010/12/2010-12-29-03-mozilla-central/">files</a> </div></div><div class="firefoxreleasecsetentry"> <div>nightly win64</div> <div class="firefoxreleasecsetdetails"> <a href="/mozilla-central/rev/fc1ca73d597894fe3067cb013c9257119f54c1b4">fc1ca73d5978</a> / 4.0b9pre / <a href="/mozilla-central/firefoxreleases#fc1ca73d5978nightlywin6420101229045037">20101229045037</a> / <a href="https://archive.mozilla.org/pub/firefox/nightly/2010/12/2010-12-29-04-mozilla-central/">files</a> </div></div></div></td></tr> <tr><td>last release without</td><td><div><div class="firefoxreleasecsetentry"> <div>nightly linux32</div> <div class="firefoxreleasecsetdetails"> <a href="/mozilla-central/rev/e928817fb4e970906e559720faad7a5465a2fc76">e928817fb4e9</a> / 4.0b9pre / <a href="/mozilla-central/firefoxreleases#e928817fb4e9nightlylinux3220101228030339">20101228030339</a> / <a href="https://archive.mozilla.org/pub/firefox/nightly/2010/12/2010-12-28-03-mozilla-central/">files</a> </div></div><div class="firefoxreleasecsetentry"> <div>nightly linux64</div> <div class="firefoxreleasecsetdetails"> <a href="/mozilla-central/rev/e928817fb4e970906e559720faad7a5465a2fc76">e928817fb4e9</a> / 4.0b9pre / <a href="/mozilla-central/firefoxreleases#e928817fb4e9nightlylinux6420101228030339">20101228030339</a> / <a href="https://archive.mozilla.org/pub/firefox/nightly/2010/12/2010-12-28-03-mozilla-central/">files</a> </div></div><div class="firefoxreleasecsetentry"> <div>nightly mac</div> <div class="firefoxreleasecsetdetails"> <a href="/mozilla-central/rev/e928817fb4e970906e559720faad7a5465a2fc76">e928817fb4e9</a> / 4.0b9pre / <a href="/mozilla-central/firefoxreleases#e928817fb4e9nightlymac20101228030339">20101228030339</a> / <a href="https://archive.mozilla.org/pub/firefox/nightly/2010/12/2010-12-28-03-mozilla-central/">files</a> </div></div><div class="firefoxreleasecsetentry"> <div>nightly win32</div> <div class="firefoxreleasecsetdetails"> <a href="/mozilla-central/rev/e928817fb4e970906e559720faad7a5465a2fc76">e928817fb4e9</a> / 4.0b9pre / <a href="/mozilla-central/firefoxreleases#e928817fb4e9nightlywin3220101228030339">20101228030339</a> / <a href="https://archive.mozilla.org/pub/firefox/nightly/2010/12/2010-12-28-03-mozilla-central/">files</a> </div></div><div class="firefoxreleasecsetentry"> <div>nightly win64</div> <div class="firefoxreleasecsetdetails"> <a href="/mozilla-central/rev/e928817fb4e970906e559720faad7a5465a2fc76">e928817fb4e9</a> / 4.0b9pre / <a href="/mozilla-central/firefoxreleases#e928817fb4e9nightlywin6420101228044913">20101228044913</a> / <a href="https://archive.mozilla.org/pub/firefox/nightly/2010/12/2010-12-28-04-mozilla-central/">files</a> </div></div></div></td></tr> </table></div> <div class="page_body description"><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=607537">Bug 607537</a> - SVG SMIL: Support paint servers an animation values; r=dholbert,dbaron; a=roc</div> <div class="list_head"></div> <div class="title_text"> <table cellspacing="0"> <tr class="parity0"> <td><a class="list" href="/mozilla-central/diff/dd88bfc07421c1ba6518ff48577680c0907b5690/content/smil/test/db_smilCSSFromBy.js">content/smil/test/db_smilCSSFromBy.js</a></td> <td></td> <td class="link"> <a href="/mozilla-central/file/dd88bfc07421c1ba6518ff48577680c0907b5690/content/smil/test/db_smilCSSFromBy.js">file</a> | <a href="/mozilla-central/annotate/dd88bfc07421c1ba6518ff48577680c0907b5690/content/smil/test/db_smilCSSFromBy.js">annotate</a> | <a href="/mozilla-central/diff/dd88bfc07421c1ba6518ff48577680c0907b5690/content/smil/test/db_smilCSSFromBy.js">diff</a> | <a href="/mozilla-central/comparison/dd88bfc07421c1ba6518ff48577680c0907b5690/content/smil/test/db_smilCSSFromBy.js">comparison</a> | <a href="/mozilla-central/log/dd88bfc07421c1ba6518ff48577680c0907b5690/content/smil/test/db_smilCSSFromBy.js">revisions</a> </td> </tr> <tr class="parity1"> <td><a class="list" href="/mozilla-central/diff/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1-ref.svg">layout/reftests/svg/smil/anim-paintserver-1-ref.svg</a></td> <td></td> <td class="link"> <a href="/mozilla-central/file/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1-ref.svg">file</a> | <a href="/mozilla-central/annotate/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1-ref.svg">annotate</a> | <a href="/mozilla-central/diff/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1-ref.svg">diff</a> | <a href="/mozilla-central/comparison/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1-ref.svg">comparison</a> | <a href="/mozilla-central/log/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1-ref.svg">revisions</a> </td> </tr> <tr class="parity0"> <td><a class="list" href="/mozilla-central/diff/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1.svg">layout/reftests/svg/smil/anim-paintserver-1.svg</a></td> <td></td> <td class="link"> <a href="/mozilla-central/file/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1.svg">file</a> | <a href="/mozilla-central/annotate/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1.svg">annotate</a> | <a href="/mozilla-central/diff/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1.svg">diff</a> | <a href="/mozilla-central/comparison/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1.svg">comparison</a> | <a href="/mozilla-central/log/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/anim-paintserver-1.svg">revisions</a> </td> </tr> <tr class="parity1"> <td><a class="list" href="/mozilla-central/diff/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/reftest.list">layout/reftests/svg/smil/reftest.list</a></td> <td></td> <td class="link"> <a href="/mozilla-central/file/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/reftest.list">file</a> | <a href="/mozilla-central/annotate/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/reftest.list">annotate</a> | <a href="/mozilla-central/diff/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/reftest.list">diff</a> | <a href="/mozilla-central/comparison/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/reftest.list">comparison</a> | <a href="/mozilla-central/log/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/reftests/svg/smil/reftest.list">revisions</a> </td> </tr> <tr class="parity0"> <td><a class="list" href="/mozilla-central/diff/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/style/nsStyleAnimation.cpp">layout/style/nsStyleAnimation.cpp</a></td> <td></td> <td class="link"> <a href="/mozilla-central/file/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/style/nsStyleAnimation.cpp">file</a> | <a href="/mozilla-central/annotate/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/style/nsStyleAnimation.cpp">annotate</a> | <a href="/mozilla-central/diff/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/style/nsStyleAnimation.cpp">diff</a> | <a href="/mozilla-central/comparison/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/style/nsStyleAnimation.cpp">comparison</a> | <a href="/mozilla-central/log/dd88bfc07421c1ba6518ff48577680c0907b5690/layout/style/nsStyleAnimation.cpp">revisions</a> </td> </tr> </table></div> <div class="page_body diffblocks"><div class="diffblock"><pre class="sourcelines"> <a href="#l1.1"></a><span id="l1.1" class="difflineminus">--- a/content/smil/test/db_smilCSSFromBy.js</span> <a href="#l1.2"></a><span id="l1.2" class="difflineplus">+++ b/content/smil/test/db_smilCSSFromBy.js</span> <a href="#l1.3"></a><span id="l1.3" class="difflineat">@@ -80,19 +80,16 @@ var _fromByTestLists =</span> <a href="#l1.4"></a><span id="l1.4"> new AnimTestcaseFromBy(&quot;0.8&quot;, &quot;-1.4&quot;, { midComp: &quot;0.1&quot;, toComp: &quot;0&quot;},</span> <a href="#l1.5"></a><span id="l1.5"> &quot;opacities with abs val &gt;1 get clamped too early&quot;),</span> <a href="#l1.6"></a><span id="l1.6"> new AnimTestcaseFromBy(&quot;1.2&quot;, &quot;-0.6&quot;, { midComp: &quot;0.9&quot;, toComp: &quot;0.6&quot;},</span> <a href="#l1.7"></a><span id="l1.7"> &quot;opacities with abs val &gt;1 get clamped too early&quot;),</span> <a href="#l1.8"></a><span id="l1.8"> ],</span> <a href="#l1.9"></a><span id="l1.9"> paint: [</span> <a href="#l1.10"></a><span id="l1.10"> // The &quot;none&quot; keyword &amp; URI values aren't addiditve, so the animations in</span> <a href="#l1.11"></a><span id="l1.11"> // these testcases are expected to have no effect.</span> <a href="#l1.12"></a><span id="l1.12" class="difflineminus">- // XXXdholbert Of course, we don't support animation between URI values yet</span> <a href="#l1.13"></a><span id="l1.13" class="difflineminus">- // (bug 520487), so the testcases that use URIs currently have no effect</span> <a href="#l1.14"></a><span id="l1.14" class="difflineminus">- // for that reason, too.</span> <a href="#l1.15"></a><span id="l1.15"> new AnimTestcaseFromBy(&quot;none&quot;, &quot;none&quot;, { noEffect: 1 }),</span> <a href="#l1.16"></a><span id="l1.16"> new AnimTestcaseFromBy(&quot;url(#gradA)&quot;, &quot;url(#gradB)&quot;, { noEffect: 1 }),</span> <a href="#l1.17"></a><span id="l1.17"> new AnimTestcaseFromBy(&quot;url(#gradA)&quot;, &quot;url(#gradB) red&quot;, { noEffect: 1 }),</span> <a href="#l1.18"></a><span id="l1.18"> new AnimTestcaseFromBy(&quot;url(#gradA)&quot;, &quot;none&quot;, { noEffect: 1 }),</span> <a href="#l1.19"></a><span id="l1.19"> new AnimTestcaseFromBy(&quot;red&quot;, &quot;url(#gradA)&quot;, { noEffect: 1 }),</span> <a href="#l1.20"></a><span id="l1.20"> ],</span> <a href="#l1.21"></a><span id="l1.21"> URIsAndNone: [</span> <a href="#l1.22"></a><span id="l1.22"> // No need to specify { noEffect: 1 }, since plain URI-valued properties</span></pre></div><div class="diffblock"><pre class="sourcelines"> <a href="#l2.1"></a><span id="l2.1">new file mode 100644</span> <a href="#l2.2"></a><span id="l2.2" class="difflineminus">--- /dev/null</span> <a href="#l2.3"></a><span id="l2.3" class="difflineplus">+++ b/layout/reftests/svg/smil/anim-paintserver-1-ref.svg</span> <a href="#l2.4"></a><span id="l2.4" class="difflineat">@@ -0,0 +1,3 @@</span> <a href="#l2.5"></a><span id="l2.5" class="difflineplus">+&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;</span> <a href="#l2.6"></a><span id="l2.6" class="difflineplus">+ &lt;rect x=&quot;0&quot; y=&quot;0&quot; width=&quot;300&quot; height=&quot;400&quot; fill=&quot;lime&quot;/&gt;</span> <a href="#l2.7"></a><span id="l2.7" class="difflineplus">+&lt;/svg&gt;</span></pre></div><div class="diffblock"><pre class="sourcelines"> <a href="#l3.1"></a><span id="l3.1">new file mode 100644</span> <a href="#l3.2"></a><span id="l3.2" class="difflineminus">--- /dev/null</span> <a href="#l3.3"></a><span id="l3.3" class="difflineplus">+++ b/layout/reftests/svg/smil/anim-paintserver-1.svg</span> <a href="#l3.4"></a><span id="l3.4" class="difflineat">@@ -0,0 +1,86 @@</span> <a href="#l3.5"></a><span id="l3.5" class="difflineplus">+&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;</span> <a href="#l3.6"></a><span id="l3.6" class="difflineplus">+ &lt;defs&gt;</span> <a href="#l3.7"></a><span id="l3.7" class="difflineplus">+ &lt;linearGradient id=&quot;lime&quot;&gt;</span> <a href="#l3.8"></a><span id="l3.8" class="difflineplus">+ &lt;stop offset=&quot;0.0&quot; stop-color=&quot;lime&quot;/&gt;</span> <a href="#l3.9"></a><span id="l3.9" class="difflineplus">+ &lt;/linearGradient&gt;</span> <a href="#l3.10"></a><span id="l3.10" class="difflineplus">+ &lt;linearGradient id=&quot;red&quot;&gt;</span> <a href="#l3.11"></a><span id="l3.11" class="difflineplus">+ &lt;stop offset=&quot;0.0&quot; stop-color=&quot;red&quot;/&gt;</span> <a href="#l3.12"></a><span id="l3.12" class="difflineplus">+ &lt;/linearGradient&gt;</span> <a href="#l3.13"></a><span id="l3.13" class="difflineplus">+ &lt;/defs&gt;</span> <a href="#l3.14"></a><span id="l3.14" class="difflineplus">+</span> <a href="#l3.15"></a><span id="l3.15" class="difflineplus">+ &lt;!-- 1. Set paint server --&gt;</span> <a href="#l3.16"></a><span id="l3.16" class="difflineplus">+ &lt;rect x=&quot;0&quot; y=&quot;0&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;red&quot;&gt;</span> <a href="#l3.17"></a><span id="l3.17" class="difflineplus">+ &lt;set attributeName=&quot;fill&quot; to=&quot;url(#lime)&quot;/&gt;</span> <a href="#l3.18"></a><span id="l3.18" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.19"></a><span id="l3.19" class="difflineplus">+ &lt;!-- 2. Get paint server. We're looking for a code path that will fetch the</span> <a href="#l3.20"></a><span id="l3.20" class="difflineplus">+ base value, fail to replace it, and end up setting the animation</span> <a href="#l3.21"></a><span id="l3.21" class="difflineplus">+ value as the fetched base value.</span> <a href="#l3.22"></a><span id="l3.22" class="difflineplus">+ To-animation requires fetching the base value so we use that, plus</span> <a href="#l3.23"></a><span id="l3.23" class="difflineplus">+ invalid animation values so that we won't replace the base value. --&gt;</span> <a href="#l3.24"></a><span id="l3.24" class="difflineplus">+ &lt;rect x=&quot;100&quot; y=&quot;0&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;url(#lime)&quot;&gt;</span> <a href="#l3.25"></a><span id="l3.25" class="difflineplus">+ &lt;animate attributeName=&quot;fill&quot; to=&quot;pikapikaglittergold&quot;/&gt;</span> <a href="#l3.26"></a><span id="l3.26" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.27"></a><span id="l3.27" class="difflineplus">+ &lt;!-- 3. &quot;Interpolate&quot; paint servers. We should fall back to discrete mode</span> <a href="#l3.28"></a><span id="l3.28" class="difflineplus">+ which should mean that 150s into a 3-valued animation of 400s duration</span> <a href="#l3.29"></a><span id="l3.29" class="difflineplus">+ we're in the middle value since each value will get about 133s each.</span> <a href="#l3.30"></a><span id="l3.30" class="difflineplus">+ --&gt;</span> <a href="#l3.31"></a><span id="l3.31" class="difflineplus">+ &lt;rect x=&quot;200&quot; y=&quot;0&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;red&quot;&gt;</span> <a href="#l3.32"></a><span id="l3.32" class="difflineplus">+ &lt;animate attributeName=&quot;fill&quot; values=&quot;orange; url(#lime); purple&quot;</span> <a href="#l3.33"></a><span id="l3.33" class="difflineplus">+ begin=&quot;-150s&quot; dur=&quot;400s&quot;/&gt;</span> <a href="#l3.34"></a><span id="l3.34" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.35"></a><span id="l3.35" class="difflineplus">+</span> <a href="#l3.36"></a><span id="l3.36" class="difflineplus">+ &lt;!-- By addition tests: In the following cases we'll go to calculate our</span> <a href="#l3.37"></a><span id="l3.37" class="difflineplus">+ animation function values but since they're by-animation we'll try to do</span> <a href="#l3.38"></a><span id="l3.38" class="difflineplus">+ some addition which should fail since addition with paint servers isn't</span> <a href="#l3.39"></a><span id="l3.39" class="difflineplus">+ supported and hence the animation should not be applied. --&gt;</span> <a href="#l3.40"></a><span id="l3.40" class="difflineplus">+ &lt;!-- 4. Check by-addition behaves (1): by: paint server --&gt;</span> <a href="#l3.41"></a><span id="l3.41" class="difflineplus">+ &lt;rect x=&quot;0&quot; y=&quot;100&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;lime&quot;&gt;</span> <a href="#l3.42"></a><span id="l3.42" class="difflineplus">+ &lt;animate attributeName=&quot;fill&quot; from=&quot;#f00&quot; by=&quot;url(#red)&quot;/&gt;</span> <a href="#l3.43"></a><span id="l3.43" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.44"></a><span id="l3.44" class="difflineplus">+ &lt;!-- 5. Check by-addition behaves (2): from: paint server --&gt;</span> <a href="#l3.45"></a><span id="l3.45" class="difflineplus">+ &lt;rect x=&quot;100&quot; y=&quot;100&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;lime&quot;&gt;</span> <a href="#l3.46"></a><span id="l3.46" class="difflineplus">+ &lt;animate attributeName=&quot;fill&quot; from=&quot;url(#red)&quot; by=&quot;#f00&quot;/&gt;</span> <a href="#l3.47"></a><span id="l3.47" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.48"></a><span id="l3.48" class="difflineplus">+ &lt;!-- 6. Check by-addition behaves (3): from-by paint server --&gt;</span> <a href="#l3.49"></a><span id="l3.49" class="difflineplus">+ &lt;rect x=&quot;200&quot; y=&quot;100&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;#0f0&quot;&gt;</span> <a href="#l3.50"></a><span id="l3.50" class="difflineplus">+ &lt;animate attributeName=&quot;fill&quot; from=&quot;url(#red)&quot; by=&quot;url(#red)&quot;/&gt;</span> <a href="#l3.51"></a><span id="l3.51" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.52"></a><span id="l3.52" class="difflineplus">+</span> <a href="#l3.53"></a><span id="l3.53" class="difflineplus">+ &lt;!-- 7. Check that by-addition without a paint server is ok though.</span> <a href="#l3.54"></a><span id="l3.54" class="difflineplus">+ (Since the animation has indefinite simple duration we'll never get past</span> <a href="#l3.55"></a><span id="l3.55" class="difflineplus">+ the first value which is is lime green.) --&gt;</span> <a href="#l3.56"></a><span id="l3.56" class="difflineplus">+ &lt;rect x=&quot;0&quot; y=&quot;200&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;red&quot;&gt;</span> <a href="#l3.57"></a><span id="l3.57" class="difflineplus">+ &lt;animate attributeName=&quot;fill&quot; from=&quot;#0f0&quot; by=&quot;#00f&quot; dur=&quot;indefinite&quot;/&gt;</span> <a href="#l3.58"></a><span id="l3.58" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.59"></a><span id="l3.59" class="difflineplus">+ &lt;!-- 8. Sandwich addition test. In the following cases we should be able to</span> <a href="#l3.60"></a><span id="l3.60" class="difflineplus">+ calculate the animation function ok, but we'll fail to add it to the</span> <a href="#l3.61"></a><span id="l3.61" class="difflineplus">+ underlying values (since paint servers can't be added) and just set the</span> <a href="#l3.62"></a><span id="l3.62" class="difflineplus">+ value instead. (SMIL 3 12.6.3 says, &quot;[The additive] attribute is</span> <a href="#l3.63"></a><span id="l3.63" class="difflineplus">+ ignored if the target attribute does not support additive animation.&quot;)</span> <a href="#l3.64"></a><span id="l3.64" class="difflineplus">+ --&gt;</span> <a href="#l3.65"></a><span id="l3.65" class="difflineplus">+ &lt;rect x=&quot;100&quot; y=&quot;200&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;red&quot;&gt;</span> <a href="#l3.66"></a><span id="l3.66" class="difflineplus">+ &lt;animate attributeName=&quot;fill&quot; values=&quot;url(#lime)&quot; additive=&quot;sum&quot;/&gt;</span> <a href="#l3.67"></a><span id="l3.67" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.68"></a><span id="l3.68" class="difflineplus">+ &lt;!-- 9. Check paced animation fails expectedly. The operation is as with case</span> <a href="#l3.69"></a><span id="l3.69" class="difflineplus">+ 3 and we should fall back to discrete mode --&gt;</span> <a href="#l3.70"></a><span id="l3.70" class="difflineplus">+ &lt;rect x=&quot;200&quot; y=&quot;200&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;red&quot;&gt;</span> <a href="#l3.71"></a><span id="l3.71" class="difflineplus">+ &lt;animate attributeName=&quot;fill&quot; values=&quot;#0f1; url(#lime); #00f&quot;</span> <a href="#l3.72"></a><span id="l3.72" class="difflineplus">+ begin=&quot;-150s&quot; dur=&quot;400s&quot; calcMode=&quot;paced&quot;/&gt;</span> <a href="#l3.73"></a><span id="l3.73" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.74"></a><span id="l3.74" class="difflineplus">+</span> <a href="#l3.75"></a><span id="l3.75" class="difflineplus">+ &lt;!-- 10. Fallback color - specified color --&gt;</span> <a href="#l3.76"></a><span id="l3.76" class="difflineplus">+ &lt;rect x=&quot;0&quot; y=&quot;300&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;red&quot;&gt;</span> <a href="#l3.77"></a><span id="l3.77" class="difflineplus">+ &lt;set attributeName=&quot;fill&quot; to=&quot;url(#nonexistant) lime&quot;/&gt;</span> <a href="#l3.78"></a><span id="l3.78" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.79"></a><span id="l3.79" class="difflineplus">+ &lt;!-- 11. Fallback color - currentColor --&gt;</span> <a href="#l3.80"></a><span id="l3.80" class="difflineplus">+ &lt;g color=&quot;lime&quot;&gt;</span> <a href="#l3.81"></a><span id="l3.81" class="difflineplus">+ &lt;rect x=&quot;100&quot; y=&quot;300&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;red&quot;&gt;</span> <a href="#l3.82"></a><span id="l3.82" class="difflineplus">+ &lt;set attributeName=&quot;fill&quot; to=&quot;url(#nonexistant) currentColor&quot;/&gt;</span> <a href="#l3.83"></a><span id="l3.83" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.84"></a><span id="l3.84" class="difflineplus">+ &lt;/g&gt;</span> <a href="#l3.85"></a><span id="l3.85" class="difflineplus">+ &lt;!-- 12. Fallback color - none --&gt;</span> <a href="#l3.86"></a><span id="l3.86" class="difflineplus">+ &lt;rect x=&quot;200&quot; y=&quot;300&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;lime&quot;/&gt;</span> <a href="#l3.87"></a><span id="l3.87" class="difflineplus">+ &lt;rect x=&quot;200&quot; y=&quot;300&quot; width=&quot;100&quot; height=&quot;100&quot; fill=&quot;red&quot;&gt;</span> <a href="#l3.88"></a><span id="l3.88" class="difflineplus">+ &lt;set attributeName=&quot;fill&quot; to=&quot;url(#nonexistant) none&quot;/&gt;</span> <a href="#l3.89"></a><span id="l3.89" class="difflineplus">+ &lt;/rect&gt;</span> <a href="#l3.90"></a><span id="l3.90" class="difflineplus">+&lt;/svg&gt;</span></pre></div><div class="diffblock"><pre class="sourcelines"> <a href="#l4.1"></a><span id="l4.1" class="difflineminus">--- a/layout/reftests/svg/smil/reftest.list</span> <a href="#l4.2"></a><span id="l4.2" class="difflineplus">+++ b/layout/reftests/svg/smil/reftest.list</span> <a href="#l4.3"></a><span id="l4.3" class="difflineat">@@ -125,16 +125,19 @@ fails == anim-fillcolor-1.svg anim-</span> <a href="#l4.4"></a><span id="l4.4"> </span> <a href="#l4.5"></a><span id="l4.5"> # animate some string attributes:</span> <a href="#l4.6"></a><span id="l4.6"> == anim-filter-href-01.svg lime.svg</span> <a href="#l4.7"></a><span id="l4.7"> == anim-gradient-href-01.svg lime.svg</span> <a href="#l4.8"></a><span id="l4.8"> == anim-image-href-01.svg lime.svg</span> <a href="#l4.9"></a><span id="l4.9"> == anim-pattern-href-01.svg lime.svg</span> <a href="#l4.10"></a><span id="l4.10"> asserts(9) == anim-use-href-01.svg lime.svg # the asserts here are bug 563481</span> <a href="#l4.11"></a><span id="l4.11"> </span> <a href="#l4.12"></a><span id="l4.12" class="difflineplus">+# animate with some paint server values</span> <a href="#l4.13"></a><span id="l4.13" class="difflineplus">+== anim-paintserver-1.svg anim-paintserver-1-ref.svg</span> <a href="#l4.14"></a><span id="l4.14" class="difflineplus">+</span> <a href="#l4.15"></a><span id="l4.15"> # animate where the base value is non-interpolatable but will be replaced anyway</span> <a href="#l4.16"></a><span id="l4.16"> == anim-fill-overpaintserver-1.svg lime.svg</span> <a href="#l4.17"></a><span id="l4.17"> == anim-fill-overpaintserver-2.svg lime.svg</span> <a href="#l4.18"></a><span id="l4.18"> </span> <a href="#l4.19"></a><span id="l4.19"> # animate where we fallback from 'additive' animation to non-additive</span> <a href="#l4.20"></a><span id="l4.20"> == anim-additive-fallback-1.svg anim-standard-ref.svg</span> <a href="#l4.21"></a><span id="l4.21"> </span> <a href="#l4.22"></a><span id="l4.22"> == anim-remove-1.svg anim-standard-ref.svg</span></pre></div><div class="diffblock"><pre class="sourcelines"> <a href="#l5.1"></a><span id="l5.1" class="difflineminus">--- a/layout/style/nsStyleAnimation.cpp</span> <a href="#l5.2"></a><span id="l5.2" class="difflineplus">+++ b/layout/style/nsStyleAnimation.cpp</span> <a href="#l5.3"></a><span id="l5.3" class="difflineat">@@ -240,16 +240,26 @@ SetCalcValue(const nsStyleCoord::Calc* a</span> <a href="#l5.4"></a><span id="l5.4"> arr-&gt;Item(0).SetArrayValue(arr2, eCSSUnit_Calc_Plus);</span> <a href="#l5.5"></a><span id="l5.5"> nscoordToCSSValue(aCalc-&gt;mLength, arr2-&gt;Item(0));</span> <a href="#l5.6"></a><span id="l5.6"> arr2-&gt;Item(1).SetPercentValue(aCalc-&gt;mPercent);</span> <a href="#l5.7"></a><span id="l5.7"> }</span> <a href="#l5.8"></a><span id="l5.8"> </span> <a href="#l5.9"></a><span id="l5.9"> aValue.SetArrayValue(arr, eCSSUnit_Calc);</span> <a href="#l5.10"></a><span id="l5.10"> }</span> <a href="#l5.11"></a><span id="l5.11"> </span> <a href="#l5.12"></a><span id="l5.12" class="difflineplus">+static already_AddRefed&lt;nsStringBuffer&gt;</span> <a href="#l5.13"></a><span id="l5.13" class="difflineplus">+GetURIAsUtf16StringBuffer(nsIURI* aUri)</span> <a href="#l5.14"></a><span id="l5.14" class="difflineplus">+{</span> <a href="#l5.15"></a><span id="l5.15" class="difflineplus">+ nsCAutoString utf8String;</span> <a href="#l5.16"></a><span id="l5.16" class="difflineplus">+ nsresult rv = aUri-&gt;GetSpec(utf8String);</span> <a href="#l5.17"></a><span id="l5.17" class="difflineplus">+ NS_ENSURE_SUCCESS(rv, nsnull);</span> <a href="#l5.18"></a><span id="l5.18" class="difflineplus">+</span> <a href="#l5.19"></a><span id="l5.19" class="difflineplus">+ return nsCSSValue::BufferFromString(NS_ConvertUTF8toUTF16(utf8String));</span> <a href="#l5.20"></a><span id="l5.20" class="difflineplus">+}</span> <a href="#l5.21"></a><span id="l5.21" class="difflineplus">+</span> <a href="#l5.22"></a><span id="l5.22"> // CLASS METHODS</span> <a href="#l5.23"></a><span id="l5.23"> // -------------</span> <a href="#l5.24"></a><span id="l5.24"> </span> <a href="#l5.25"></a><span id="l5.25"> PRBool</span> <a href="#l5.26"></a><span id="l5.26"> nsStyleAnimation::ComputeDistance(nsCSSProperty aProperty,</span> <a href="#l5.27"></a><span id="l5.27"> const Value&amp; aStartValue,</span> <a href="#l5.28"></a><span id="l5.28"> const Value&amp; aEndValue,</span> <a href="#l5.29"></a><span id="l5.29"> double&amp; aDistance)</span> <a href="#l5.30"></a><span id="l5.30" class="difflineat">@@ -357,17 +367,18 @@ nsStyleAnimation::ComputeDistance(nsCSSP</span> <a href="#l5.31"></a><span id="l5.31"> case eUnit_CSSValuePair: {</span> <a href="#l5.32"></a><span id="l5.32"> const nsCSSValuePair *pair1 = aStartValue.GetCSSValuePairValue();</span> <a href="#l5.33"></a><span id="l5.33"> const nsCSSValuePair *pair2 = aEndValue.GetCSSValuePairValue();</span> <a href="#l5.34"></a><span id="l5.34"> nsCSSUnit unit[2];</span> <a href="#l5.35"></a><span id="l5.35"> unit[0] = GetCommonUnit(aProperty, pair1-&gt;mXValue.GetUnit(),</span> <a href="#l5.36"></a><span id="l5.36"> pair2-&gt;mXValue.GetUnit());</span> <a href="#l5.37"></a><span id="l5.37"> unit[1] = GetCommonUnit(aProperty, pair1-&gt;mYValue.GetUnit(),</span> <a href="#l5.38"></a><span id="l5.38"> pair2-&gt;mYValue.GetUnit());</span> <a href="#l5.39"></a><span id="l5.39" class="difflineminus">- if (unit[0] == eCSSUnit_Null || unit[1] == eCSSUnit_Null) {</span> <a href="#l5.40"></a><span id="l5.40" class="difflineplus">+ if (unit[0] == eCSSUnit_Null || unit[1] == eCSSUnit_Null ||</span> <a href="#l5.41"></a><span id="l5.41" class="difflineplus">+ unit[0] == eCSSUnit_URL) {</span> <a href="#l5.42"></a><span id="l5.42"> return PR_FALSE;</span> <a href="#l5.43"></a><span id="l5.43"> }</span> <a href="#l5.44"></a><span id="l5.44"> </span> <a href="#l5.45"></a><span id="l5.45"> double squareDistance = 0.0;</span> <a href="#l5.46"></a><span id="l5.46"> static nsCSSValue nsCSSValuePair::* const pairValues[2] = {</span> <a href="#l5.47"></a><span id="l5.47"> &amp;nsCSSValuePair::mXValue, &amp;nsCSSValuePair::mYValue</span> <a href="#l5.48"></a><span id="l5.48"> };</span> <a href="#l5.49"></a><span id="l5.49"> for (PRUint32 i = 0; i &lt; 2; ++i) {</span> <a href="#l5.50"></a><span id="l5.50" class="difflineat">@@ -1452,17 +1463,18 @@ nsStyleAnimation::AddWeighted(nsCSSPrope</span> <a href="#l5.51"></a><span id="l5.51"> case eUnit_CSSValuePair: {</span> <a href="#l5.52"></a><span id="l5.52"> const nsCSSValuePair *pair1 = aValue1.GetCSSValuePairValue();</span> <a href="#l5.53"></a><span id="l5.53"> const nsCSSValuePair *pair2 = aValue2.GetCSSValuePairValue();</span> <a href="#l5.54"></a><span id="l5.54"> nsCSSUnit unit[2];</span> <a href="#l5.55"></a><span id="l5.55"> unit[0] = GetCommonUnit(aProperty, pair1-&gt;mXValue.GetUnit(),</span> <a href="#l5.56"></a><span id="l5.56"> pair2-&gt;mXValue.GetUnit());</span> <a href="#l5.57"></a><span id="l5.57"> unit[1] = GetCommonUnit(aProperty, pair1-&gt;mYValue.GetUnit(),</span> <a href="#l5.58"></a><span id="l5.58"> pair2-&gt;mYValue.GetUnit());</span> <a href="#l5.59"></a><span id="l5.59" class="difflineminus">- if (unit[0] == eCSSUnit_Null || unit[1] == eCSSUnit_Null) {</span> <a href="#l5.60"></a><span id="l5.60" class="difflineplus">+ if (unit[0] == eCSSUnit_Null || unit[1] == eCSSUnit_Null ||</span> <a href="#l5.61"></a><span id="l5.61" class="difflineplus">+ unit[0] == eCSSUnit_URL) {</span> <a href="#l5.62"></a><span id="l5.62"> return PR_FALSE;</span> <a href="#l5.63"></a><span id="l5.63"> }</span> <a href="#l5.64"></a><span id="l5.64"> </span> <a href="#l5.65"></a><span id="l5.65"> nsAutoPtr&lt;nsCSSValuePair&gt; result(new nsCSSValuePair);</span> <a href="#l5.66"></a><span id="l5.66"> static nsCSSValue nsCSSValuePair::* const pairValues[2] = {</span> <a href="#l5.67"></a><span id="l5.67"> &amp;nsCSSValuePair::mXValue, &amp;nsCSSValuePair::mYValue</span> <a href="#l5.68"></a><span id="l5.68"> };</span> <a href="#l5.69"></a><span id="l5.69"> for (PRUint32 i = 0; i &lt; 2; ++i) {</span> <a href="#l5.70"></a><span id="l5.70" class="difflineat">@@ -2603,26 +2615,45 @@ nsStyleAnimation::ExtractComputedValue(n</span> <a href="#l5.71"></a><span id="l5.71"> return PR_TRUE;</span> <a href="#l5.72"></a><span id="l5.72"> case eStyleAnimType_Color:</span> <a href="#l5.73"></a><span id="l5.73"> aComputedValue.SetColorValue(*static_cast&lt;const nscolor*&gt;(</span> <a href="#l5.74"></a><span id="l5.74"> StyleDataAtOffset(styleStruct, ssOffset)));</span> <a href="#l5.75"></a><span id="l5.75"> return PR_TRUE;</span> <a href="#l5.76"></a><span id="l5.76"> case eStyleAnimType_PaintServer: {</span> <a href="#l5.77"></a><span id="l5.77"> const nsStyleSVGPaint &amp;paint = *static_cast&lt;const nsStyleSVGPaint*&gt;(</span> <a href="#l5.78"></a><span id="l5.78"> StyleDataAtOffset(styleStruct, ssOffset));</span> <a href="#l5.79"></a><span id="l5.79" class="difflineminus">- // FIXME: At some point in the future, we should animate gradients.</span> <a href="#l5.80"></a><span id="l5.80"> if (paint.mType == eStyleSVGPaintType_Color) {</span> <a href="#l5.81"></a><span id="l5.81"> aComputedValue.SetColorValue(paint.mPaint.mColor);</span> <a href="#l5.82"></a><span id="l5.82"> return PR_TRUE;</span> <a href="#l5.83"></a><span id="l5.83"> }</span> <a href="#l5.84"></a><span id="l5.84" class="difflineminus">- if (paint.mType == eStyleSVGPaintType_None) {</span> <a href="#l5.85"></a><span id="l5.85" class="difflineminus">- aComputedValue.SetNoneValue();</span> <a href="#l5.86"></a><span id="l5.86" class="difflineplus">+ if (paint.mType == eStyleSVGPaintType_Server) {</span> <a href="#l5.87"></a><span id="l5.87" class="difflineplus">+ if (!paint.mPaint.mPaintServer) {</span> <a href="#l5.88"></a><span id="l5.88" class="difflineplus">+ NS_WARNING(&quot;Null paint server&quot;);</span> <a href="#l5.89"></a><span id="l5.89" class="difflineplus">+ return PR_FALSE;</span> <a href="#l5.90"></a><span id="l5.90" class="difflineplus">+ }</span> <a href="#l5.91"></a><span id="l5.91" class="difflineplus">+ nsAutoPtr&lt;nsCSSValuePair&gt; pair(new nsCSSValuePair);</span> <a href="#l5.92"></a><span id="l5.92" class="difflineplus">+ nsRefPtr&lt;nsStringBuffer&gt; uriAsStringBuffer =</span> <a href="#l5.93"></a><span id="l5.93" class="difflineplus">+ GetURIAsUtf16StringBuffer(paint.mPaint.mPaintServer);</span> <a href="#l5.94"></a><span id="l5.94" class="difflineplus">+ NS_ENSURE_TRUE(!!uriAsStringBuffer, PR_FALSE);</span> <a href="#l5.95"></a><span id="l5.95" class="difflineplus">+ nsIDocument* doc = aStyleContext-&gt;PresContext()-&gt;Document();</span> <a href="#l5.96"></a><span id="l5.96" class="difflineplus">+ nsRefPtr&lt;nsCSSValue::URL&gt; url =</span> <a href="#l5.97"></a><span id="l5.97" class="difflineplus">+ new nsCSSValue::URL(paint.mPaint.mPaintServer,</span> <a href="#l5.98"></a><span id="l5.98" class="difflineplus">+ uriAsStringBuffer,</span> <a href="#l5.99"></a><span id="l5.99" class="difflineplus">+ doc-&gt;GetDocumentURI(),</span> <a href="#l5.100"></a><span id="l5.100" class="difflineplus">+ doc-&gt;NodePrincipal());</span> <a href="#l5.101"></a><span id="l5.101" class="difflineplus">+ pair-&gt;mXValue.SetURLValue(url);</span> <a href="#l5.102"></a><span id="l5.102" class="difflineplus">+ pair-&gt;mYValue.SetColorValue(paint.mFallbackColor);</span> <a href="#l5.103"></a><span id="l5.103" class="difflineplus">+ aComputedValue.SetAndAdoptCSSValuePairValue(pair.forget(),</span> <a href="#l5.104"></a><span id="l5.104" class="difflineplus">+ eUnit_CSSValuePair);</span> <a href="#l5.105"></a><span id="l5.105"> return PR_TRUE;</span> <a href="#l5.106"></a><span id="l5.106"> }</span> <a href="#l5.107"></a><span id="l5.107" class="difflineminus">- return PR_FALSE;</span> <a href="#l5.108"></a><span id="l5.108" class="difflineplus">+ NS_ABORT_IF_FALSE(paint.mType == eStyleSVGPaintType_None,</span> <a href="#l5.109"></a><span id="l5.109" class="difflineplus">+ &quot;Unexpected SVG paint type&quot;);</span> <a href="#l5.110"></a><span id="l5.110" class="difflineplus">+ aComputedValue.SetNoneValue();</span> <a href="#l5.111"></a><span id="l5.111" class="difflineplus">+ return PR_TRUE;</span> <a href="#l5.112"></a><span id="l5.112"> }</span> <a href="#l5.113"></a><span id="l5.113"> case eStyleAnimType_Shadow: {</span> <a href="#l5.114"></a><span id="l5.114"> const nsCSSShadowArray *shadowArray =</span> <a href="#l5.115"></a><span id="l5.115"> *static_cast&lt;const nsRefPtr&lt;nsCSSShadowArray&gt;*&gt;(</span> <a href="#l5.116"></a><span id="l5.116"> StyleDataAtOffset(styleStruct, ssOffset));</span> <a href="#l5.117"></a><span id="l5.117"> if (!shadowArray) {</span> <a href="#l5.118"></a><span id="l5.118"> aComputedValue.SetAndAdoptCSSValueListValue(nsnull, eUnit_Shadow);</span> <a href="#l5.119"></a><span id="l5.119"> return PR_TRUE;</span></pre></div></div> <div class="page_footer"> <div class="page_footer_text">mozilla-central</div> <div class="page_footer_text" style="padding-left: 10px">Deployed from <a href="https://hg.mozilla.org/hgcustom/version-control-tools/rev/f9b6f94339cb">f9b6f94339cb</a> at 2025-02-03T13:09:27Z.</div> <div class="rss_logo"> <a href="/mozilla-central/rss-log">RSS</a> <a href="/mozilla-central/atom-log">Atom</a> </div> <br /> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10