Chromium Code Reviews| Index: PerformanceTests/SVG/Bamboo_transform.html |
| diff --git a/PerformanceTests/SVG/Bamboo_transform.html b/PerformanceTests/SVG/Bamboo_transform.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ecdc44acc1df60e955b9382cf8c32fb084e3ad58 |
| --- /dev/null |
| +++ b/PerformanceTests/SVG/Bamboo_transform.html |
| @@ -0,0 +1,61 @@ |
| +<pre id="log"></pre> |
|
fs
2015/08/19 23:04:32
Add <!DOCTYPE html>? (Who wants quirks mode anyway
junchao.han
2015/08/20 06:32:47
Done.
|
| +<div id="svg-div"> |
| + <embed id="svg-content" src="./resources/Bamboo.svg" width="400px" height="400px" type="image/svg+xml" /> |
|
fs
2015/08/19 23:04:31
Use <object> instead of <embed>?
junchao.han
2015/08/20 06:32:47
Done.
|
| +</div> |
| +<script src="../resources/runner.js"></script> |
| +<script> |
| +var svgContent; |
| +var startTime; |
| +var endTime; |
| +var loop0 = 20; |
|
pdr.
2015/08/19 17:28:35
Lets change this to a static in all caps. Maybe va
junchao.han
2015/08/20 06:32:47
Done.
|
| +var loop = loop0; |
| +var offset = 0; |
| +var state = 'zoomin'; |
| +var delta = 1; |
| +var step = function(){ |
| + loop--; |
| + if (loop==0){ |
| + loop = loop0; |
| + if (state=='zoomin'){ |
| + state='scroll'; |
| + delta = 0; |
| + } |
| + else if (state=='scroll'){ |
| + state='zoomout'; |
| + delta = 2; |
| + } |
| + else if (state=='zoomout'){ |
| + endTime = Date.now(); |
|
pdr.
2015/08/19 17:28:35
Lets use performance.now if available:
endTime = w
junchao.han
2015/08/20 06:32:47
Done.
|
| + var log = document.getElementById("log"); |
| + log.innerHTML += "values "+(endTime-startTime)+" ms"; |
| + testRunner.notifyDone(); |
| + return; |
| + } |
| + } |
| + if (state=='zoomin'){ |
|
pdr.
2015/08/19 17:28:35
Lets replace these if(...) blocks with a switch st
junchao.han
2015/08/20 06:32:47
Done.
|
| + delta += 0.05; |
| + svgContent.style.transform='matrix('+delta+',0,0,'+delta+',0,0)'; |
| + } |
| + if (state=='scroll'){ |
| + if (loop>loop0/2) delta += 20; |
| + else delta -= 20; |
| + svgContent.style.transform='matrix(2,0,0,2,'+delta+',0)'; |
| + } |
| + if (state=='zoomout'){ |
| + delta -= 0.05; |
| + svgContent.style.transform='matrix('+delta+',0,0,'+delta+',0,0)'; |
| + } |
| + requestAnimationFrame(step); |
| +}; |
| +var init = function(){ |
| + try{ |
| + svgContent = document.getElementById('svg-content').getSVGDocument().documentElement; |
|
fs
2015/08/19 23:04:31
Prefer to not use getSVGDocument() - contentDocume
junchao.han
2015/08/20 06:32:47
Done.
|
| + startTime = Date.now(); |
| + requestAnimationFrame(step); |
| + } |
| + catch(err){ |
| + setTimeout(init,100); |
|
fs
2015/08/19 23:04:32
This looks a bit sketchy - listen for a load event
junchao.han
2015/08/20 06:32:47
Done.
|
| + } |
| +}; |
| +init(); |
| +</script> |