| OLD | NEW | 
|    1 <html> |    1 <html> | 
|    2 <head> |    2 <head> | 
|    3  |    3  | 
|    4 <style type="text/css" media="screen"> |    4 <style type="text/css" media="screen"> | 
|    5 @media (max-device-width: 478px) and (max-device-height: 959px) { |    5 @media (max-device-width: 478px) and (max-device-height: 799px) { | 
|    6     #main { background: red; } |    6     #main { background: red; } | 
|    7 } |    7 } | 
|    8  |    8  | 
|    9 @media (max-device-width: 480px) and (max-device-height: 960px) { |    9 @media (max-device-width: 480px) and (max-device-height: 800px) { | 
|   10     #main { background: green; } |   10     #main { background: green; } | 
|   11 } |   11 } | 
|   12  |   12  | 
|   13 @media (min-device-width: 481px) and (min-device-height: 961px) { |   13 @media (min-device-width: 481px) and (min-device-height: 801px) { | 
|   14     #main { background: yellow; } |   14     #main { background: yellow; } | 
|   15 } |   15 } | 
|   16  |   16  | 
|   17 body { |   17 body { | 
|   18     position: absolute; |   18     position: absolute; | 
|   19     top: 0; |   19     top: 0; | 
|   20     right: 0; |   20     right: 0; | 
|   21     bottom: 0; |   21     bottom: 0; | 
|   22     left: 0; |   22     left: 0; | 
|   23     margin: 0; |   23     margin: 0; | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
|   35     return JSON.stringify({ |   35     return JSON.stringify({ | 
|   36         screen: window.screen.width + "x" + window.screen.height, |   36         screen: window.screen.width + "x" + window.screen.height, | 
|   37         inner: window.innerWidth + "x" + window.innerHeight, |   37         inner: window.innerWidth + "x" + window.innerHeight, | 
|   38         body: document.body.offsetWidth + "x" + document.body.offsetHeight |   38         body: document.body.offsetWidth + "x" + document.body.offsetHeight | 
|   39     }); |   39     }); | 
|   40 } |   40 } | 
|   41  |   41  | 
|   42 function test() |   42 function test() | 
|   43 { |   43 { | 
|   44     var exceededDimension = 10000001; |   44     var exceededDimension = 10000001; | 
 |   45     var overridesEnabled = false; | 
|   45     var originalScreenSize; |   46     var originalScreenSize; | 
|   46  |   47  | 
|   47     function saveSizeCallback(jsonResult) |   48     function saveSizeCallback(jsonResult) | 
|   48     { |   49     { | 
|   49         var value = JSON.parse(jsonResult.value); |   50         var value = JSON.parse(jsonResult.value); | 
|   50         originalScreenSize = value.screen; |   51         originalScreenSize = value.screen; | 
|   51         if (!originalScreenSize || originalScreenSize.indexOf("x") === -1) |   52         if (!originalScreenSize || originalScreenSize.indexOf("x") === -1) | 
|   52             InspectorTest.addResult("Invalid original screen size: " + originalS
     creenSize + ". Expect runtime failures later on."); |   53             InspectorTest.addResult("Invalid original screen size: " + originalS
     creenSize + ". Expect runtime failures later on."); | 
|   53  |   54  | 
|   54         InspectorTest.selectNodeAndWaitForStyles("main", step0); |   55         InspectorTest.selectNodeAndWaitForStyles("main", step0); | 
|   55     } |   56     } | 
|   56  |   57  | 
|   57     InspectorTest.evaluateInPage("getSizes()", saveSizeCallback); |   58     InspectorTest.evaluateInPage("getSizes()", saveSizeCallback); | 
|   58  |   59  | 
|   59  |   60  | 
|   60     function step0() |   61     function step0() | 
|   61     { |   62     { | 
|   62         overrideAndDumpData(480, 800, step1); |   63         overrideAndDumpData(480, 800, step1); | 
|   63     } |   64     } | 
|   64  |   65  | 
|   65     function step1() |   66     function step1() | 
|   66     { |   67     { | 
 |   68         overrideAndDumpData(800, 480, step2); | 
 |   69     } | 
 |   70  | 
 |   71     function step2() | 
 |   72     { | 
 |   73         applyOverride(exceededDimension, 800, step3); | 
 |   74     } | 
 |   75  | 
 |   76     function step3() | 
 |   77     { | 
 |   78         applyOverride(-1, 800, step4); | 
 |   79     } | 
 |   80  | 
 |   81     function step4() | 
 |   82     { | 
 |   83         applyOverride(480, exceededDimension, step5); | 
 |   84     } | 
 |   85  | 
 |   86     function step5() | 
 |   87     { | 
 |   88         function callback() | 
 |   89         { | 
 |   90             InspectorTest.addResult("Current dimensions:"); | 
 |   91             getAndDumpSizes(step6); | 
 |   92         } | 
 |   93         applyOverride(480, -1, callback); | 
 |   94     } | 
 |   95  | 
 |   96     function step6() | 
 |   97     { | 
|   67         function compareSizeCallback(jsonResult) |   98         function compareSizeCallback(jsonResult) | 
|   68         { |   99         { | 
|   69             // Check that the screen size reported is the same as the original o
     ne. |  100             // Check that the screen size reported is the same as the original o
     ne. | 
|   70             var result = JSON.parse(jsonResult.value); |  101             var result = JSON.parse(jsonResult.value); | 
|   71             if (result.screen !== originalScreenSize) |  102             if (result.screen !== originalScreenSize) | 
|   72                 InspectorTest.addResult("Original size " + originalScreenSize + 
     " not restored, found: " + result.screen); |  103                 InspectorTest.addResult("Original size " + originalScreenSize + 
     " not restored, found: " + result.screen); | 
|   73             step2(); |  104             InspectorTest.completeTest(); | 
|   74         } |  105         } | 
|   75  |  106  | 
|   76         function overrideCallback() |  107         function overrideCallback() | 
|   77         { |  108         { | 
|   78             InspectorTest.evaluateInPage("getSizes()", compareSizeCallback); |  109             InspectorTest.evaluateInPage("getSizes()", compareSizeCallback); | 
|   79         } |  110         } | 
|   80  |  111  | 
|   81         // Disable overrides. |  112         // Disable overrides. | 
|   82         PageAgent.setDeviceMetricsOverride(0, 0, 1, true, overrideCallback); |  113         applyOverride(0, 0, overrideCallback); | 
|   83     } |  | 
|   84  |  | 
|   85     function step2() |  | 
|   86     { |  | 
|   87         overrideAndDumpData(800, 480, step3); |  | 
|   88     } |  | 
|   89  |  | 
|   90     function step3() |  | 
|   91     { |  | 
|   92         applyOverride(exceededDimension, 800, step4); |  | 
|   93     } |  | 
|   94  |  | 
|   95     function step4() |  | 
|   96     { |  | 
|   97         applyOverride(-1, 800, step5); |  | 
|   98     } |  | 
|   99  |  | 
|  100     function step5() |  | 
|  101     { |  | 
|  102         applyOverride(480, exceededDimension, step6); |  | 
|  103     } |  | 
|  104  |  | 
|  105     function step6() |  | 
|  106     { |  | 
|  107         function callback() |  | 
|  108         { |  | 
|  109             InspectorTest.addResult("Current dimensions:"); |  | 
|  110             getAndDumpSizes(step7); |  | 
|  111         } |  | 
|  112         applyOverride(480, -1, callback); |  | 
|  113     } |  | 
|  114  |  | 
|  115     function step7() |  | 
|  116     { |  | 
|  117         function callback(jsonResult) |  | 
|  118         { |  | 
|  119             var value = JSON.parse(jsonResult.value); |  | 
|  120             if (value.screen !== originalScreenSize) |  | 
|  121                 InspectorTest.addResult("Screen size not restored, actual: " + v
     alue.screen + ", expected: " + originalScreenSize); |  | 
|  122             else |  | 
|  123                 InspectorTest.addResult("Screen size same as original - OK"); |  | 
|  124             step8(); |  | 
|  125         } |  | 
|  126  |  | 
|  127         InspectorTest.addResult("Disable PageAgent:"); |  | 
|  128         PageAgent.disable(); |  | 
|  129         InspectorTest.evaluateInPage("getSizes()", callback); |  | 
|  130     } |  | 
|  131  |  | 
|  132     function step8() |  | 
|  133     { |  | 
|  134         function callback(jsonResult) |  | 
|  135         { |  | 
|  136             var value = JSON.parse(jsonResult.value); |  | 
|  137             if (value.screen !== originalScreenSize) |  | 
|  138                 InspectorTest.addResult("Screen size not restored, actual: " + v
     alue.screen + ", expected: " + originalScreenSize); |  | 
|  139             else |  | 
|  140                 InspectorTest.addResult("Screen size same as original - OK"); |  | 
|  141             InspectorTest.completeTest(); |  | 
|  142         } |  | 
|  143  |  | 
|  144         InspectorTest.addResult("Enable PageAgent:"); |  | 
|  145         PageAgent.enable(); |  | 
|  146         InspectorTest.evaluateInPage("getSizes()", callback); |  | 
|  147     } |  114     } | 
|  148  |  115  | 
|  149     function applyOverride(width, height, userCallback) |  116     function applyOverride(width, height, userCallback) | 
|  150     { |  117     { | 
|  151         function callback(error) |  118         function callback(reload, error) | 
|  152         { |  119         { | 
|  153             if (error) |  120             if (error) | 
|  154                 InspectorTest.addResult("Override: " + width + "x" + height + " 
     => ERROR"); |  121                 InspectorTest.addResult("Override: " + width + "x" + height + " 
     => ERROR"); | 
|  155             userCallback(); |  122             if (reload && !error) { | 
 |  123                 InspectorTest.reloadPage(userCallback); | 
 |  124             } else { | 
 |  125                 userCallback(); | 
 |  126             } | 
|  156         } |  127         } | 
|  157         PageAgent.setDeviceMetricsOverride(width, height, 1, true, callback); |  128          | 
 |  129         var enabled = width != 0 || height != 0; | 
 |  130         PageAgent.setDeviceMetricsOverride(width, height, 1, true, callback.bind
     (null, enabled != overridesEnabled)); | 
 |  131         overridesEnabled = enabled; | 
|  158     } |  132     } | 
|  159  |  133  | 
|  160     function overrideAndDumpData(width, height, callback) |  134     function overrideAndDumpData(width, height, callback) | 
|  161     { |  135     { | 
|  162         function finalCallback() |  136         function finalCallback() | 
|  163         { |  137         { | 
|  164             InspectorTest.addResult("Main style:"); |  138             InspectorTest.addResult("Main style:"); | 
|  165             InspectorTest.dumpSelectedElementStyles(true, false, true); |  139             InspectorTest.dumpSelectedElementStyles(true, false, true); | 
|  166             callback(); |  140             callback(); | 
|  167         } |  141         } | 
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  211 </head> |  185 </head> | 
|  212  |  186  | 
|  213 <body onload="runTest()"> |  187 <body onload="runTest()"> | 
|  214 <p> |  188 <p> | 
|  215 Tests that screen dimension overrides affect media rules, body dimensions, and w
     indow.screen. |  189 Tests that screen dimension overrides affect media rules, body dimensions, and w
     indow.screen. | 
|  216 </p> |  190 </p> | 
|  217  |  191  | 
|  218 <div id="main"></div> |  192 <div id="main"></div> | 
|  219 </body> |  193 </body> | 
|  220 </html> |  194 </html> | 
| OLD | NEW |