Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: LayoutTests/inspector/styles/override-and-disable.html

Issue 23187005: [DevTools] Use device metrics emulation implemented in content. (Closed) Base URL: svn://svn.chromium.org/blink/trunk/
Patch Set: Another rebase Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698