Index: LayoutTests/inspector/styles/override-screen-size.html |
diff --git a/LayoutTests/inspector/styles/override-screen-size.html b/LayoutTests/inspector/styles/override-screen-size.html |
index 826f1babb7c32969545f3266a8f091cb76e6b6f1..c1b741545828cb4eec5838dd57a274cde0b94164 100644 |
--- a/LayoutTests/inspector/styles/override-screen-size.html |
+++ b/LayoutTests/inspector/styles/override-screen-size.html |
@@ -2,15 +2,15 @@ |
<head> |
<style type="text/css" media="screen"> |
-@media (max-device-width: 478px) and (max-device-height: 959px) { |
+@media (max-device-width: 478px) and (max-device-height: 799px) { |
#main { background: red; } |
} |
-@media (max-device-width: 480px) and (max-device-height: 960px) { |
+@media (max-device-width: 480px) and (max-device-height: 800px) { |
#main { background: green; } |
} |
-@media (min-device-width: 481px) and (min-device-height: 961px) { |
+@media (min-device-width: 481px) and (min-device-height: 801px) { |
#main { background: yellow; } |
} |
@@ -42,6 +42,7 @@ function getSizes() |
function test() |
{ |
var exceededDimension = 10000001; |
+ var overridesEnabled = false; |
var originalScreenSize; |
function saveSizeCallback(jsonResult) |
@@ -64,97 +65,70 @@ function test() |
function step1() |
{ |
- function compareSizeCallback(jsonResult) |
- { |
- // Check that the screen size reported is the same as the original one. |
- var result = JSON.parse(jsonResult.value); |
- if (result.screen !== originalScreenSize) |
- InspectorTest.addResult("Original size " + originalScreenSize + " not restored, found: " + result.screen); |
- step2(); |
- } |
- |
- function overrideCallback() |
- { |
- InspectorTest.evaluateInPage("getSizes()", compareSizeCallback); |
- } |
- |
- // Disable overrides. |
- PageAgent.setDeviceMetricsOverride(0, 0, 1, true, overrideCallback); |
+ overrideAndDumpData(800, 480, step2); |
} |
function step2() |
{ |
- overrideAndDumpData(800, 480, step3); |
+ applyOverride(exceededDimension, 800, step3); |
} |
function step3() |
{ |
- applyOverride(exceededDimension, 800, step4); |
+ applyOverride(-1, 800, step4); |
} |
function step4() |
{ |
- applyOverride(-1, 800, step5); |
+ applyOverride(480, exceededDimension, step5); |
} |
function step5() |
{ |
- applyOverride(480, exceededDimension, step6); |
- } |
- |
- function step6() |
- { |
function callback() |
{ |
InspectorTest.addResult("Current dimensions:"); |
- getAndDumpSizes(step7); |
+ getAndDumpSizes(step6); |
} |
applyOverride(480, -1, callback); |
} |
- function step7() |
+ function step6() |
{ |
- function callback(jsonResult) |
+ function compareSizeCallback(jsonResult) |
{ |
- var value = JSON.parse(jsonResult.value); |
- if (value.screen !== originalScreenSize) |
- InspectorTest.addResult("Screen size not restored, actual: " + value.screen + ", expected: " + originalScreenSize); |
- else |
- InspectorTest.addResult("Screen size same as original - OK"); |
- step8(); |
+ // Check that the screen size reported is the same as the original one. |
+ var result = JSON.parse(jsonResult.value); |
+ if (result.screen !== originalScreenSize) |
+ InspectorTest.addResult("Original size " + originalScreenSize + " not restored, found: " + result.screen); |
+ InspectorTest.completeTest(); |
} |
- InspectorTest.addResult("Disable PageAgent:"); |
- PageAgent.disable(); |
- InspectorTest.evaluateInPage("getSizes()", callback); |
- } |
- |
- function step8() |
- { |
- function callback(jsonResult) |
+ function overrideCallback() |
{ |
- var value = JSON.parse(jsonResult.value); |
- if (value.screen !== originalScreenSize) |
- InspectorTest.addResult("Screen size not restored, actual: " + value.screen + ", expected: " + originalScreenSize); |
- else |
- InspectorTest.addResult("Screen size same as original - OK"); |
- InspectorTest.completeTest(); |
+ InspectorTest.evaluateInPage("getSizes()", compareSizeCallback); |
} |
- InspectorTest.addResult("Enable PageAgent:"); |
- PageAgent.enable(); |
- InspectorTest.evaluateInPage("getSizes()", callback); |
+ // Disable overrides. |
+ applyOverride(0, 0, overrideCallback); |
} |
function applyOverride(width, height, userCallback) |
{ |
- function callback(error) |
+ function callback(reload, error) |
{ |
if (error) |
InspectorTest.addResult("Override: " + width + "x" + height + " => ERROR"); |
- userCallback(); |
+ if (reload && !error) { |
+ InspectorTest.reloadPage(userCallback); |
+ } else { |
+ userCallback(); |
+ } |
} |
- PageAgent.setDeviceMetricsOverride(width, height, 1, true, callback); |
+ |
+ var enabled = width != 0 || height != 0; |
+ PageAgent.setDeviceMetricsOverride(width, height, 1, true, callback.bind(null, enabled != overridesEnabled)); |
+ overridesEnabled = enabled; |
} |
function overrideAndDumpData(width, height, callback) |