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

Issue 2592433003: [DevTools] Replace ViewportControl with ListControl. (Closed)

Created:
4 years ago by dgozman
Modified:
3 years, 10 months ago
Reviewers:
caseq, einbinder, alph, pfeldman
CC:
apavlov+blink_chromium.org, blink-reviews, caseq+blink_chromium.org, chromium-reviews, devtools-reviews_chromium.org, kozyatinskiy+blink_chromium.org, lushnikov+blink_chromium.org, pfeldman+blink_chromium.org, pfeldman
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[DevTools] Replace ViewportControl with ListControl. This patch introduces a list control, which maintains an array-like model. This makes it possible to update model efficiently (not in O(n) all the time). It also improves fast smooth scrolling of viewport on mac (less flashes) by using gap elements instead of absolute positioning. Only supports fixed/measured height elements, variable height is coming next (to be used in treeoutline). BUG=none Committed: https://crrev.com/c17e290fa034b6f07969f27aaa78ceb6b651c12b Cr-Commit-Position: refs/heads/master@{#440919}

Patch Set 1 #

Total comments: 2

Patch Set 2 : partial #

Total comments: 1

Patch Set 3 : different api #

Total comments: 3

Patch Set 4 : map #

Patch Set 5 : temp #

Patch Set 6 : moved selection #

Patch Set 7 : small fix #

Total comments: 57

Patch Set 8 : fixed review comments #

Patch Set 9 : measure, small fixes #

Total comments: 18

Patch Set 10 : more review comments, test #

Patch Set 11 : tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1555 lines, -606 lines) Patch
M third_party/WebKit/LayoutTests/http/tests/inspector-unit/filtered-item-selection-dialog-filtering.js View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -3 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/inspector-unit/list-control-fixed-height.js View 1 2 3 4 5 6 7 8 9 10 1 chunk +201 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/inspector-unit/list-control-fixed-height-expected.txt View 1 2 3 4 5 6 7 8 9 10 1 chunk +623 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/inspector-unit/viewport-control.js View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -50 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/inspector-unit/viewport-control-expected.txt View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -30 lines 0 comments Download
M third_party/WebKit/Source/devtools/BUILD.gn View 1 2 3 4 5 6 7 2 chunks +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/devtools/front_end/sources/StyleSheetOutlineDialog.js View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/devtools/front_end/test_runner/TestRunner.js View 1 2 3 4 5 6 7 8 9 10 2 chunks +8 lines, -8 lines 0 comments Download
A third_party/WebKit/Source/devtools/front_end/ui/ListControl.js View 1 2 3 4 5 6 7 8 9 10 1 chunk +528 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/devtools/front_end/ui/SuggestBox.js View 1 2 3 4 5 6 7 8 14 chunks +115 lines, -218 lines 0 comments Download
M third_party/WebKit/Source/devtools/front_end/ui/UIUtils.js View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/devtools/front_end/ui/ViewportControl.js View 1 2 3 4 5 1 chunk +0 lines, -169 lines 0 comments Download
M third_party/WebKit/Source/devtools/front_end/ui/module.json View 1 2 3 4 5 2 chunks +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/devtools/front_end/ui_lazy/CommandMenu.js View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/devtools/front_end/ui_lazy/FilteredListWidget.js View 1 2 3 4 5 6 7 8 9 16 chunks +67 lines, -122 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 42 (29 generated)
dgozman
Take a look please.
4 years ago (2016-12-20 01:18:41 UTC) #3
pfeldman
https://codereview.chromium.org/2592433003/diff/1/third_party/WebKit/Source/devtools/front_end/ui/ViewportControl.js File third_party/WebKit/Source/devtools/front_end/ui/ViewportControl.js (right): https://codereview.chromium.org/2592433003/diff/1/third_party/WebKit/Source/devtools/front_end/ui/ViewportControl.js#newcode142 third_party/WebKit/Source/devtools/front_end/ui/ViewportControl.js:142: indexAtOffset(height) {}, I understand the former API, but don't ...
4 years ago (2016-12-20 01:23:52 UTC) #8
pfeldman
https://codereview.chromium.org/2592433003/diff/1/third_party/WebKit/Source/devtools/front_end/ui/SuggestBox.js File third_party/WebKit/Source/devtools/front_end/ui/SuggestBox.js (right): https://codereview.chromium.org/2592433003/diff/1/third_party/WebKit/Source/devtools/front_end/ui/SuggestBox.js#newcode473 third_party/WebKit/Source/devtools/front_end/ui/SuggestBox.js:473: return this._selectClosest(-this._viewport.elementsPerViewport(), false); Since scrollbar belongs to viewport, this ...
4 years ago (2016-12-20 02:00:18 UTC) #9
einbinder
https://codereview.chromium.org/2592433003/diff/20001/third_party/WebKit/LayoutTests/http/tests/inspector-unit/viewport-control-expected.txt File third_party/WebKit/LayoutTests/http/tests/inspector-unit/viewport-control-expected.txt (right): https://codereview.chromium.org/2592433003/diff/20001/third_party/WebKit/LayoutTests/http/tests/inspector-unit/viewport-control-expected.txt#newcode1 third_party/WebKit/LayoutTests/http/tests/inspector-unit/viewport-control-expected.txt:1: This tests if the SimpleViewport works properly. SimpleViewport looks ...
3 years, 12 months ago (2016-12-21 00:23:53 UTC) #15
dgozman
Take a look please. https://codereview.chromium.org/2592433003/diff/40001/third_party/WebKit/Source/devtools/front_end/ui/ViewportControl.js File third_party/WebKit/Source/devtools/front_end/ui/ViewportControl.js (right): https://codereview.chromium.org/2592433003/diff/40001/third_party/WebKit/Source/devtools/front_end/ui/ViewportControl.js#newcode28 third_party/WebKit/Source/devtools/front_end/ui/ViewportControl.js:28: this._elementSymbol = Symbol('UI.ViewportControl.element'); On 2016/12/21 ...
3 years, 11 months ago (2016-12-27 21:33:00 UTC) #17
alph
https://codereview.chromium.org/2592433003/diff/120001/third_party/WebKit/Source/devtools/front_end/ui/ListControl.js File third_party/WebKit/Source/devtools/front_end/ui/ListControl.js (right): https://codereview.chromium.org/2592433003/diff/120001/third_party/WebKit/Source/devtools/front_end/ui/ListControl.js#newcode70 third_party/WebKit/Source/devtools/front_end/ui/ListControl.js:70: this._boundKeyDown = (event) => { drop () https://codereview.chromium.org/2592433003/diff/120001/third_party/WebKit/Source/devtools/front_end/ui/ListControl.js#newcode74 third_party/WebKit/Source/devtools/front_end/ui/ListControl.js:74: ...
3 years, 11 months ago (2016-12-27 23:38:33 UTC) #20
dgozman
https://codereview.chromium.org/2592433003/diff/120001/third_party/WebKit/Source/devtools/front_end/ui/ListControl.js File third_party/WebKit/Source/devtools/front_end/ui/ListControl.js (right): https://codereview.chromium.org/2592433003/diff/120001/third_party/WebKit/Source/devtools/front_end/ui/ListControl.js#newcode70 third_party/WebKit/Source/devtools/front_end/ui/ListControl.js:70: this._boundKeyDown = (event) => { On 2016/12/27 23:38:33, alph_ooo ...
3 years, 11 months ago (2016-12-28 06:15:22 UTC) #21
dgozman
Please take a look. The only missing part is tests.
3 years, 11 months ago (2016-12-28 07:10:24 UTC) #25
caseq
lgtm https://codereview.chromium.org/2592433003/diff/160001/third_party/WebKit/Source/devtools/front_end/ui/ListControl.js File third_party/WebKit/Source/devtools/front_end/ui/ListControl.js (right): https://codereview.chromium.org/2592433003/diff/160001/third_party/WebKit/Source/devtools/front_end/ui/ListControl.js#newcode39 third_party/WebKit/Source/devtools/front_end/ui/ListControl.js:39: /** @enum {string} */ Make it an @enum ...
3 years, 11 months ago (2016-12-28 18:40:51 UTC) #29
dgozman
https://codereview.chromium.org/2592433003/diff/160001/third_party/WebKit/Source/devtools/front_end/ui/ListControl.js File third_party/WebKit/Source/devtools/front_end/ui/ListControl.js (right): https://codereview.chromium.org/2592433003/diff/160001/third_party/WebKit/Source/devtools/front_end/ui/ListControl.js#newcode39 third_party/WebKit/Source/devtools/front_end/ui/ListControl.js:39: /** @enum {string} */ On 2016/12/28 18:40:51, caseq wrote: ...
3 years, 11 months ago (2016-12-28 19:17:11 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2592433003/200001
3 years, 11 months ago (2016-12-29 01:17:22 UTC) #37
commit-bot: I haz the power
Committed patchset #11 (id:200001)
3 years, 11 months ago (2016-12-29 01:22:05 UTC) #40
commit-bot: I haz the power
3 years, 11 months ago (2017-01-02 15:51:16 UTC) #42
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/c17e290fa034b6f07969f27aaa78ceb6b651c12b
Cr-Commit-Position: refs/heads/master@{#440919}

Powered by Google App Engine
This is Rietveld 408576698