dom/smil/test/test_smilMinTiming.html

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 <!doctype html>
     2 <html>
     3 <!--
     4 https://bugzilla.mozilla.org/show_bug.cgi?id=948245
     5 -->
     6 <head>
     7   <meta charset="utf-8">
     8   <title>Test for Bug 948245</title>
     9   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
    10   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
    11 </head>
    12 <body>
    13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=948245">Mozilla Bug 948245</a>
    14 <p id="display"></p>
    15 <div id="content" style="display: none">
    16 <svg id="svg" onload="this.pauseAnimations()">
    17   <rect fill="red" id="rect" x="0">
    18     <animate attributeName="x" to="100" id="animation" dur="100s" min="200s"/>
    19   </rect>
    20 </svg>
    21 </div>
    22 <pre id="test">
    23 <script class="testbody" type="text/javascript">
    24   // The 'min' attribute introduces a kind of additional state into the SMIL
    25   // model. If the 'min' attribute extends the active duration, the additional
    26   // time between the amount of time the animation normally runs for (called the
    27   // 'repeat duration') and the extended active duration is filled using the
    28   // fill mode.
    29   //
    30   // Below we refer to this period of time between the end of the repeat
    31   // duration and the end of the active duration as the 'extended period'.
    32   //
    33   // This test verifies that as we jump in and out of these states we produce
    34   // the correct values.
    35   //
    36   // The test animation above produces an active interval that is longer than
    37   // the 'repeating duration' of the animation.
    38   var rect      = $('rect'),
    39       animation = $('animation');
    41   // Animation doesn't start until onload
    42   SimpleTest.waitForExplicitFinish();
    43   window.addEventListener("load", runTests, false);
    45   function runTests() {
    46     ok($('svg').animationsPaused(), "should be paused by <svg> load handler");
    48     // In the extended period (t=150s) we should not be animating or filling
    49     // since the default fill mode is "none".
    50     animation.ownerSVGElement.setCurrentTime(150);
    51     ise(rect.x.animVal.value, 0,
    52         "Shouldn't fill in extended period with fill='none'");
    54     // If we set the fill mode we should start filling.
    55     animation.setAttribute("fill", "freeze");
    56     ise(rect.x.animVal.value, 100,
    57         "Should fill in extended period with fill='freeze'");
    59     // If we unset the fill attribute we should stop filling.
    60     animation.removeAttribute("fill");
    61     ise(rect.x.animVal.value, 0, "Shouldn't fill after unsetting fill");
    63     // If we jump back into the repeated interval (at t=50s) we should be
    64     // animating.
    65     animation.ownerSVGElement.setCurrentTime(50);
    66     ise(rect.x.animVal.value, 50, "Should be active in repeating interval");
    68     // If we jump to the boundary at the start of the extended period we should
    69     // not be filling (since we removed the fill attribute above).
    70     animation.ownerSVGElement.setCurrentTime(100);
    71     ise(rect.x.animVal.value, 0,
    72         "Shouldn't fill after seeking to boundary of extended period");
    74     // If we apply a fill mode at this boundary point we should do regular fill
    75     // behavior of using the last value in the interpolation range.
    76     animation.setAttribute("fill", "freeze");
    77     ise(rect.x.animVal.value, 100,
    78         "Should fill at boundary to extended period");
    80     // Check that if we seek past the interval we fill with the value at the end
    81     // of the _repeat_duration_ not the value at the end of the
    82     // _active_duration_.
    83     animation.setAttribute("repeatCount", "1.5");
    84     animation.ownerSVGElement.setCurrentTime(225);
    85     ise(rect.x.animVal.value, 50,
    86         "Should fill with the end of the repeat duration value");
    88     SimpleTest.finish();
    89   }
    90 </script>
    91 </pre>
    92 </body>
    93 </html>

mercurial