| <p> |
| This tests that when the user style sheet location is set to a data: |
| URL with base64-encoded UTF-8 data, the style sheet is processed |
| synchronously, instead of invoking the asynchronous loader. |
| </p> |
| <script> |
| var testObjects = [ |
| {result:true, size:"100px", url:"data:text/css;charset=utf-8;base64,Ym9keSB7Zm9udC1zaXplOiAxMDBweH0="}, |
| {result:true, size:"110px", url:encodeURI("data:text/css;charset=utf-8;base64, Ym9keSB7Zm9udC1zaXplOiAxMTBweH0= ")}, |
| {result:true, size:"120px", url:encodeURI("data:text/css;charset=utf-8;base64,\n \r \t Ym9k \t eSB7 \r Zm9ud \n \n C1zaXp \r lOiAxM \t jBweH0= \t \r \n")}, |
| {result:true, size:"130px", url:encodeURI("data:text/css;charset=utf-8;base64,\u0059 \u006D \u0039 \u006B eSB7Zm9ud C1zaXplOiAxMzBwe \u0048 \u0030 \u003D")}, |
| {result:false, size:"140px", url:"data:text/css;charset=utf-8;base64,Ym9k$#eSB7Zm#9ud(C1zaXp)lOiAxNDBweH0="}, |
| {result:false, size:"150px", url:"data:text/css;charset=utf-8;base64,Ym9ke%00SB7Z%20m9udC1z\n\taXplO#iAx%03NTBw%eH0="}, |
| {result:false, size:"160px", url:"%50%30%10%00%20%40"} |
| ]; |
| |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.setUserStyleSheetEnabled(true); |
| |
| for (var i = 0; i < testObjects.length; i++) { |
| var obj = testObjects[i]; |
| testRunner.setUserStyleSheetLocation(obj.url); |
| |
| document.body.offsetTop; |
| var result = getComputedStyle(document.body).fontSize == obj.size; |
| document.write((result == obj.result ? "PASS" : "FAIL") + " " + obj.size + "<br>"); |
| |
| testRunner.setUserStyleSheetLocation(""); |
| } |
| } else |
| document.write("This test can only be run in DumpRenderTree."); |
| </script> |