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

Unified Diff: third_party/WebKit/LayoutTests/http/tests/inspector-unit/static-viewport-control.html

Issue 2371393002: DevTools: Add lightweight StaticViewportControl (Closed)
Patch Set: _indexSymbol Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/http/tests/inspector-unit/static-viewport-control-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/http/tests/inspector-unit/static-viewport-control.html
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector-unit/static-viewport-control.html b/third_party/WebKit/LayoutTests/http/tests/inspector-unit/static-viewport-control.html
new file mode 100644
index 0000000000000000000000000000000000000000..9afa1da353ab286614f8efc7c6fd171da7d5d8ba
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/inspector-unit/static-viewport-control.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<base href="/inspector-debug/"></base>
+<script src="/inspector-debug/Runtime.js"></script>
+<script src="/inspector-unit/inspector-unit-test.js"></script>
+<script>
+function test() {
+ var items = [];
+ var heights = [];
+ for (var i = 0; i < 100; i++){
+ items[i] = document.createElement("div");
+ items[i].style.height = (heights[i] = (i % 4) ? 50 : 28) + "px";
+ items[i].textContent = i;
+ }
+ var viewport = new WebInspector.StaticViewportControl({
+ fastItemHeight: i => heights[i],
+ itemCount: _ => items.length,
+ itemElement: i => items[i]
+ });
+ viewport.element.style.height = "300px";
+ WebInspector.inspectorView.element.appendChild(viewport.element);
+
+ viewport.refresh();
+ dumpViewport();
+
+ viewport.forceScrollItemToBeFirst(26);
+ dumpViewport();
+
+ viewport.scrollItemIntoView(33);
+ dumpViewport();
+
+ viewport.scrollItemIntoView(30);
+ dumpViewport();
+
+ viewport.forceScrollItemToBeFirst(30);
+ dumpViewport();
+
+ viewport.forceScrollItemToBeLast(88);
+ dumpViewport();
+
+ for (var i = 0; i < 100; i++)
+ items[i].style.height = (heights[i] = (i % 2) ? 55 : 63) + "px";
+ viewport.refresh();
+ viewport.forceScrollItemToBeLast(88);
+ dumpViewport();
+
+ UnitTest.completeTest();
+
+ function dumpViewport()
+ {
+ UnitTest.addResult("First:" + viewport.firstVisibleIndex());
+ UnitTest.addResult("Last:" + viewport.lastVisibleIndex());
+ UnitTest.addResult("Active Items:" + viewport._innerElement.children.length);
+ UnitTest.addResult("");
+ }
+}
+</script>
+</head>
+<body>
+This tests if the StaticViewportControl works properly.
+</body>
+</html>
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/http/tests/inspector-unit/static-viewport-control-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698