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

Side by Side Diff: LayoutTests/fast/events/resize-events-fixed-layout.html

Issue 14766010: Clarify the size of a document view (a.k.a layout size) that causes FrameView to emit the resize ev… (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Apply aellas's review Created 7 years, 6 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
OLDNEW
1 <html> 1 <html>
2 <head> 2 <head>
3 <style> 3 <style>
4 div.block { height: 400px; border: 1px solid black; margin:10px; } 4 div.block { height: 400px; border: 1px solid black; margin:10px; }
5 </style> 5 </style>
6 <script> 6 <script>
7 var resizecount = 0; 7 var resizecount = 0;
8 var loaded = false; 8 var loaded = false;
9 window.onresize = function() { 9 window.onresize = function() {
10 resizecount++; 10 resizecount++;
11 document.getElementById('count1').innerHTML = resizecount; 11 document.getElementById('count1').innerHTML = resizecount;
12 } 12 }
13 </script> 13 </script>
14 </head> 14 </head>
15 <body> 15 <body>
16 <div> 16 <div>
17 Test how many resize events are emitted during page load and dynamic con tent generation. 17 Following actions must not emit resize events: page load, dynamic conten t generation and page scaling.<br/>
18
19 When fixed layout is enabled, changing fixed layout size must emit resiz e event.<br/>
20
21 The spec DOM Level 2 Events states that the resize event occurs when doc ument view size (a.k.a layout size) is changed. Refer to http://www.w3.org/TR/DO M-Level-2-Events/events.html<br/>
22 However, showing/hiding scrollbars shouldn't be considered a layout size change. Refer to webkit.org/b/80242<br/>
18 23
19 Do not resize the page. It invalidates the test. 24 Do not resize the page. It invalidates the test.
20 <p style="text-indent: 10px" id=result1> 25 <p style="text-indent: 10px" id=result1>
21 Resize events (should be 0): <span id=count1>0</span> 26 Resize events (should be 1): <span id=count1>0</span>
22 </div> 27 </div>
23 <div id=expandingblock> 28 <div id=expandingblock>
24 </div> 29 </div>
25 <script> 30 <script>
26 if (window.testRunner) { 31 if (window.testRunner) {
27 testRunner.dumpAsText(); 32 testRunner.dumpAsText();
33 testRunner.enableFixedLayoutMode(true);
34 testRunner.setFixedLayoutSize(700, 240);
28 testRunner.waitUntilDone(); 35 testRunner.waitUntilDone();
29 } 36 }
30 function test() { 37 function test() {
31 setTimeout(addBlock, 20); 38 setTimeout(showScrollbar, 20);
32 } 39 }
33 function addBlock() { 40 // Add many div blocks to increase document height more than view height .
41 function showScrollbar() {
34 for (var i = 0; i < 10; i++) { 42 for (var i = 0; i < 10; i++) {
35 var el = document.createElement('div'); 43 var el = document.createElement('div');
36 el.setAttribute('class','block'); 44 el.setAttribute('class','block');
37 document.getElementById('expandingblock').appendChild(el); 45 document.getElementById('expandingblock').appendChild(el);
38 } 46 }
47 setTimeout(scalePage, 20);
48 }
49 function scalePage() {
50 if (window.internals)
51 window.internals.setPageScaleFactor(3, 0, 0);
52 setTimeout(changeFixedLayoutSize, 20);
53 }
54 function changeFixedLayoutSize() {
55 if (window.testRunner)
56 testRunner.setFixedLayoutSize(1600, 1600);
39 setTimeout(finish, 20); 57 setTimeout(finish, 20);
40 } 58 }
41 function finish() { 59 function finish() {
42 var result; 60 var result;
43 // No resize events are acceptable. 61 // No resize events are acceptable.
leviw_travelin_and_unemployed 2013/06/26 16:14:19 Ditto comment.
44 if (resizecount < 1) 62 if (resizecount == 1)
45 result = '<p style="color: green">PASS'; 63 result = '<p style="color: green">PASS';
46 else 64 else
47 result = '<p style="color: red">FAIL'; 65 result = '<p style="color: red">FAIL';
48 var resultElement = document.getElementById('result1') 66 var resultElement = document.getElementById('result1')
49 resultElement.innerHTML += result; 67 resultElement.innerHTML += result;
50 if (window.testRunner) 68 if (window.testRunner)
51 testRunner.notifyDone(); 69 testRunner.notifyDone();
52 } 70 }
53 onload = test; 71 onload = test;
54 </script> 72 </script>
55 </body> 73 </body>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698