Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / http / tests / misc / webtiming-resolution.html
blob812af6acba83755431a922dd40d77bcf1ee770c7
1 <html>
2 <head>
3 <script src="/js-test-resources/js-test.js"></script>
4 </head>
5 <body>
6 <p id="description"></p>
7 <div id="console"></div>
8 <script>
9 description("Verifies the minimum resolution is 5 microseconds.");
11 function testTimeResolution(highResTimeFunc) {
12 var t0 = highResTimeFunc();
13 var t1 = highResTimeFunc();
14 while (t0 == t1) {
15 t1 = highResTimeFunc();
18 var expectedResolutionMilliseconds = 0.005;
19 var integerMultipleOfResolution = (t1 - t0) / expectedResolutionMilliseconds;
20 shouldBeNearZeroOrOne = integerMultipleOfResolution % 1;
21 shouldBe("shouldBeNearZeroOrOne < 1e-10 || Math.abs(shouldBeNearZeroOrOne - 1) < 1e-10", "true");
24 function timeByPerformanceNow() {
25 return performance.now();
28 function timeByUserTiming() {
29 performance.mark('timer');
30 var t = performance.getEntriesByName('timer')[0].startTime;
31 performance.clearMarks('timer');
32 return t;
35 testTimeResolution(timeByPerformanceNow);
36 testTimeResolution(timeByUserTiming);
37 </script>
38 </body>
39 </html>