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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/inspector-unit/viewport-control.js

Issue 2592433003: [DevTools] Replace ViewportControl with ListControl. (Closed)
Patch Set: different api Created 3 years, 12 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 TestRunner.addResult("This tests if the ViewportControl works properly."); 1 TestRunner.addResult("This tests if the ViewportControl works properly.");
2 2
3 var items = []; 3 function createItem(height, item) {
4 var heights = []; 4 var element = document.createElement("div");
5 for (var i = 0; i < 100; i++){ 5 element.style.height = height + "px";
6 items[i] = document.createElement("div"); 6 element.textContent = item.title;
7 items[i].style.height = (heights[i] = (i % 4) ? 50 : 28) + "px"; 7 return element;
8 items[i].textContent = i;
9 } 8 }
10 var viewport = new UI.ViewportControl({ 9
11 fastItemHeight: i => heights[i], 10 var viewport = new UI.ViewportControl();
12 itemCount: _ => items.length,
13 itemElement: i => items[i]
14 });
15 viewport.element.style.height = "300px"; 11 viewport.element.style.height = "300px";
16 UI.inspectorView.element.appendChild(viewport.element); 12 UI.inspectorView.element.appendChild(viewport.element);
17 13
18 viewport.refresh(); 14 var items = [];
15 for (var i = 0; i < 100; i++)
16 items.push({title: i});
17
18 viewport.setFixedHeight(28);
19 viewport.setRenderer(createItem.bind(null, 28));
20 viewport.replaceAllItems(items);
19 dumpViewport(); 21 dumpViewport();
20 22
21 viewport.forceScrollItemToBeFirst(26); 23 viewport.scrollItemAtIndexIntoView(33);
22 dumpViewport(); 24 dumpViewport();
23 25
24 viewport.scrollItemIntoView(33); 26 viewport.scrollItemAtIndexIntoView(30);
25 dumpViewport(); 27 dumpViewport();
26 28
27 viewport.scrollItemIntoView(30); 29 viewport.scrollItemAtIndexIntoView(7);
28 dumpViewport(); 30 dumpViewport();
29 31
30 viewport.forceScrollItemToBeFirst(30); 32 viewport.scrollItemAtIndexIntoView(99);
31 dumpViewport(); 33 dumpViewport();
32 34
33 viewport.forceScrollItemToBeLast(88); 35 viewport.scrollItemAtIndexIntoView(98);
34 dumpViewport(); 36 dumpViewport();
35 37
36 for (var i = 0; i < 100; i++) 38 viewport.scrollItemAtIndexIntoView(0);
37 items[i].style.height = (heights[i] = (i % 2) ? 55 : 63) + "px"; 39 dumpViewport();
38 viewport.refresh(); 40
39 viewport.forceScrollItemToBeLast(88); 41 viewport.setFixedHeight(55);
42 viewport.setRenderer(createItem.bind(null, 55));
43
44 viewport.scrollItemAtIndexIntoView(88);
40 dumpViewport(); 45 dumpViewport();
41 46
42 TestRunner.completeTest(); 47 TestRunner.completeTest();
43 48
44 function dumpViewport() 49 function dumpViewport()
45 { 50 {
46 TestRunner.addResult("First:" + viewport.firstVisibleIndex()); 51 TestRunner.addResult("First:" + viewport._firstIndex);
47 TestRunner.addResult("Last:" + viewport.lastVisibleIndex()); 52 TestRunner.addResult("Last:" + viewport._lastIndex);
48 TestRunner.addResult("Active Items:" + viewport._innerElement.children.lengt h); 53 TestRunner.addResult("ScrollTop:" + viewport.element.scrollTop);
49 TestRunner.addResult(""); 54 TestRunner.addResult("");
50 } 55 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698