| 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 10 matching lines...) Expand all Loading... |
| 34 { | 34 { |
| 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 overridesEnabled = false; |
| 45 var originalScreenSize; | 45 var originalScreenSize; |
| 46 | 46 |
| 47 function saveSizeCallback(jsonResult) | 47 function saveSizeCallback(jsonResult) |
| 48 { | 48 { |
| 49 var value = JSON.parse(jsonResult.value); | 49 var value = JSON.parse(jsonResult.value); |
| 50 originalScreenSize = value.screen; | 50 originalScreenSize = value.screen; |
| 51 if (!originalScreenSize || originalScreenSize.indexOf("x") === -1) | 51 if (!originalScreenSize || originalScreenSize.indexOf("x") === -1) |
| 52 InspectorTest.addResult("Invalid original screen size: " + originalS
creenSize + ". Expect runtime failures later on."); | 52 InspectorTest.addResult("Invalid original screen size: " + originalS
creenSize + ". Expect runtime failures later on."); |
| 53 | 53 |
| 54 InspectorTest.selectNodeAndWaitForStyles("main", step0); | 54 InspectorTest.selectNodeAndWaitForStyles("main", step0); |
| 55 } | 55 } |
| 56 | 56 |
| 57 InspectorTest.evaluateInPage("getSizes()", saveSizeCallback); | 57 InspectorTest.evaluateInPage("getSizes()", saveSizeCallback); |
| 58 | 58 |
| 59 | 59 |
| 60 function step0() | 60 function step0() |
| 61 { | 61 { |
| 62 overrideAndDumpData(480, 800, step1); | 62 overrideAndDumpData(480, 800, step1); |
| 63 } | 63 } |
| 64 | 64 |
| 65 function step1() | 65 function step1() |
| 66 { | 66 { |
| 67 function compareSizeCallback(jsonResult) | |
| 68 { | |
| 69 // Check that the screen size reported is the same as the original o
ne. | |
| 70 var result = JSON.parse(jsonResult.value); | |
| 71 if (result.screen !== originalScreenSize) | |
| 72 InspectorTest.addResult("Original size " + originalScreenSize +
" not restored, found: " + result.screen); | |
| 73 step2(); | |
| 74 } | |
| 75 | |
| 76 function overrideCallback() | |
| 77 { | |
| 78 InspectorTest.evaluateInPage("getSizes()", compareSizeCallback); | |
| 79 } | |
| 80 | |
| 81 // Disable overrides. | |
| 82 PageAgent.setDeviceMetricsOverride(0, 0, 1, true, 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) | 67 function callback(jsonResult) |
| 118 { | 68 { |
| 119 var value = JSON.parse(jsonResult.value); | 69 var value = JSON.parse(jsonResult.value); |
| 120 if (value.screen !== originalScreenSize) | 70 if (value.screen !== originalScreenSize) |
| 121 InspectorTest.addResult("Screen size not restored, actual: " + v
alue.screen + ", expected: " + originalScreenSize); | 71 InspectorTest.addResult("Screen size not restored, actual: " + v
alue.screen + ", expected: " + originalScreenSize); |
| 122 else | 72 else |
| 123 InspectorTest.addResult("Screen size same as original - OK"); | 73 InspectorTest.addResult("Screen size same as original - OK"); |
| 124 step8(); | 74 step2(); |
| 125 } | 75 } |
| 126 | 76 |
| 127 InspectorTest.addResult("Disable PageAgent:"); | 77 InspectorTest.addResult("Disable PageAgent:"); |
| 128 PageAgent.disable(); | 78 PageAgent.disable(); |
| 129 InspectorTest.evaluateInPage("getSizes()", callback); | 79 InspectorTest.evaluateInPage("getSizes()", callback); |
| 130 } | 80 } |
| 131 | 81 |
| 132 function step8() | 82 function step2() |
| 133 { | 83 { |
| 134 function callback(jsonResult) | 84 function callback(jsonResult) |
| 135 { | 85 { |
| 136 var value = JSON.parse(jsonResult.value); | 86 var value = JSON.parse(jsonResult.value); |
| 137 if (value.screen !== originalScreenSize) | 87 if (value.screen !== originalScreenSize) |
| 138 InspectorTest.addResult("Screen size not restored, actual: " + v
alue.screen + ", expected: " + originalScreenSize); | 88 InspectorTest.addResult("Screen size not restored, actual: " + v
alue.screen + ", expected: " + originalScreenSize); |
| 139 else | 89 else |
| 140 InspectorTest.addResult("Screen size same as original - OK"); | 90 InspectorTest.addResult("Screen size same as original - OK"); |
| 141 InspectorTest.completeTest(); | 91 InspectorTest.completeTest(); |
| 142 } | 92 } |
| 143 | 93 |
| 144 InspectorTest.addResult("Enable PageAgent:"); | 94 InspectorTest.addResult("Enable PageAgent:"); |
| 145 PageAgent.enable(); | 95 PageAgent.enable(); |
| 146 InspectorTest.evaluateInPage("getSizes()", callback); | 96 InspectorTest.evaluateInPage("getSizes()", callback); |
| 147 } | 97 } |
| 148 | 98 |
| 149 function applyOverride(width, height, userCallback) | 99 function applyOverride(width, height, userCallback) |
| 150 { | 100 { |
| 151 function callback(error) | 101 function callback(reload, error) |
| 152 { | 102 { |
| 153 if (error) | 103 if (error) |
| 154 InspectorTest.addResult("Override: " + width + "x" + height + "
=> ERROR"); | 104 InspectorTest.addResult("Override: " + width + "x" + height + "
=> ERROR"); |
| 155 userCallback(); | 105 if (reload && !error) { |
| 106 InspectorTest.reloadPage(userCallback); |
| 107 } else { |
| 108 userCallback(); |
| 109 } |
| 156 } | 110 } |
| 157 PageAgent.setDeviceMetricsOverride(width, height, 1, true, callback); | 111 |
| 112 var enabled = width > 0 && height > 0; |
| 113 PageAgent.setDeviceMetricsOverride(width, height, 1, true, callback.bind
(null, enabled != overridesEnabled)); |
| 114 overridesEnabled = enabled; |
| 158 } | 115 } |
| 159 | 116 |
| 160 function overrideAndDumpData(width, height, callback) | 117 function overrideAndDumpData(width, height, callback) |
| 161 { | 118 { |
| 162 function finalCallback() | 119 function finalCallback() |
| 163 { | 120 { |
| 164 InspectorTest.addResult("Main style:"); | 121 InspectorTest.addResult("Main style:"); |
| 165 InspectorTest.dumpSelectedElementStyles(true, false, true); | 122 InspectorTest.dumpSelectedElementStyles(true, false, true); |
| 166 callback(); | 123 callback(); |
| 167 } | 124 } |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 } | 162 } |
| 206 | 163 |
| 207 InspectorTest.evaluateInPage("getSizes()", getSizesCallback); | 164 InspectorTest.evaluateInPage("getSizes()", getSizesCallback); |
| 208 } | 165 } |
| 209 } | 166 } |
| 210 </script> | 167 </script> |
| 211 </head> | 168 </head> |
| 212 | 169 |
| 213 <body onload="runTest()"> | 170 <body onload="runTest()"> |
| 214 <p> | 171 <p> |
| 215 Tests that screen dimension overrides affect media rules, body dimensions, and w
indow.screen. | 172 Tests that disabling page agent cancels device metrics override. |
| 216 </p> | 173 </p> |
| 217 | 174 |
| 218 <div id="main"></div> | 175 <div id="main"></div> |
| 219 </body> | 176 </body> |
| 220 </html> | 177 </html> |
| OLD | NEW |