Bug 156663 - Web Inspector: DataGrid should be virtualized so it only renders visible rows
Summary: Web Inspector: DataGrid should be virtualized so it only renders visible rows
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (show other bugs)
Version: WebKit Local Build
Hardware: All All
: P2 Normal
Assignee: Timothy Hatcher
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2016-04-16 09:50 PDT by Timothy Hatcher
Modified: 2016-08-01 11:52 PDT (History)
7 users (show)

See Also:


Attachments
Patch (37.09 KB, patch)
2016-04-18 19:50 PDT, Timothy Hatcher
no flags Details | Formatted Diff | Diff
Patch (42.84 KB, patch)
2016-04-19 15:41 PDT, Timothy Hatcher
joepeck: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Timothy Hatcher 2016-04-16 09:50:27 PDT
We make a large table that is causing major rendering hangs. We should only need to make a table for the visible portion of the table (plus some padding rows to reduce scrolling flashes).
Comment 1 Radar WebKit Bug Importer 2016-04-16 09:50:55 PDT
<rdar://problem/25765256>
Comment 2 Timothy Hatcher 2016-04-18 19:50:08 PDT
Created attachment 276684 [details]
Patch
Comment 3 Matt Baker 2016-04-18 20:15:45 PDT
Comment on attachment 276684 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=276684&action=review

> Source/WebInspectorUI/UserInterface/Views/DataGrid.js:40
> +        this.rows = [];

This could be _rows, since it's an implementation detail only accessed by DataGrid and DataGridNode.

> Source/WebInspectorUI/UserInterface/Views/DataGrid.js:547
> +            var dividerElement = headerCellElement.createChild("div", "divider");

let

> Source/WebInspectorUI/UserInterface/Views/DataGrid.js:549
> +            var collapseDiv = headerCellElement.createChild("div", "collapser-button");

let
Comment 4 Timothy Hatcher 2016-04-19 15:41:30 PDT
Created attachment 276766 [details]
Patch
Comment 5 Joseph Pecoraro 2016-04-19 16:12:34 PDT
Comment on attachment 276766 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=276766&action=review

r=me

> Source/WebInspectorUI/ChangeLog:12
> +        Call uplateLayoutIfNeeded since we don't use views here.

Typo: "uplate" in many places in this ChangeLog.

> Source/WebInspectorUI/UserInterface/Views/DataGrid.js:252
> +    set inline(x)

These setters should bail if the value didn't change.

> Source/WebInspectorUI/UserInterface/Views/DataGrid.js:1089
> +        // A sortable data grid might not be in added to a view, so it needs its layout updated here.

Grammar: "might not be in added"
Comment 6 Joseph Pecoraro 2016-04-19 16:12:53 PDT
Comment on attachment 276766 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=276766&action=review

> Source/WebInspectorUI/ChangeLog:33
> +        when the virtural table starts at an odd row.

Typo: "virtural"
Comment 7 Timothy Hatcher 2016-04-19 16:42:54 PDT
Comment on attachment 276766 [details]
Patch

https://trac.webkit.org/changeset/199747