Changeset 140335 in webkit


Ignore:
Timestamp:
Jan 21, 2013 8:07:43 AM (11 years ago)
Author:
caseq@chromium.org
Message:

Web Inspector: data grid resize is slow
https://bugs.webkit.org/show_bug.cgi?id=107291

Reviewed by Pavel Feldman.

  • avoid (most of) unnecessary relayouts and style recalculation when dragging data grid resizer.
  • inspector/front-end/DataGrid.js:

(WebInspector.DataGrid.prototype._positionResizers):
(WebInspector.DataGrid.prototype._resizerDragging):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r140333 r140335  
     12013-01-18  Andrey Kosyakov  <caseq@chromium.org>
     2
     3        Web Inspector: data grid resize is slow
     4        https://bugs.webkit.org/show_bug.cgi?id=107291
     5
     6        Reviewed by Pavel Feldman.
     7
     8        - avoid (most of) unnecessary relayouts and style recalculation when dragging data grid resizer.
     9
     10        * inspector/front-end/DataGrid.js:
     11        (WebInspector.DataGrid.prototype._positionResizers):
     12        (WebInspector.DataGrid.prototype._resizerDragging):
     13
    1142013-01-21  Vladislav Kaznacheev  <kaznacheev@chromium.org>
    215
  • trunk/Source/WebCore/inspector/front-end/DataGrid.js

    r139614 r140335  
    685685            if (!this._columnsArray[i].hidden) {
    686686                resizer.style.removeProperty("display");
    687                 resizer.style.left = left + "px";
     687                if (resizer._position !== left) {
     688                    resizer._position = left;
     689                    resizer.style.left = left + "px";
     690                }
    688691                resizer.leftNeighboringColumnIndex = i;
    689692                if (previousResizer)
     
    975978            return;
    976979
     980        var tableWidth = this._dataTable.offsetWidth; // Cache it early, before we invalidate layout.
     981
    977982        // Constrain the dragpoint to be within the containing div of the
    978983        // datagrid.
     
    10051010        resizer.style.left = (dragPoint - this.CenterResizerOverBorderAdjustment) + "px";
    10061011
    1007         var percentLeftColumn = (((dragPoint - leftEdgeOfPreviousColumn) / this._dataTable.offsetWidth) * 100) + "%";
     1012        var percentLeftColumn = (((dragPoint - leftEdgeOfPreviousColumn) / tableWidth) * 100) + "%";
    10081013        this._headerTableColumnGroup.children[leftCellIndex].style.width = percentLeftColumn;
    10091014        this._dataTableColumnGroup.children[leftCellIndex].style.width = percentLeftColumn;
    10101015
    1011         var percentRightColumn = (((rightEdgeOfNextColumn - dragPoint) / this._dataTable.offsetWidth) * 100) + "%";
     1016        var percentRightColumn = (((rightEdgeOfNextColumn - dragPoint) / tableWidth) * 100) + "%";
    10121017        this._headerTableColumnGroup.children[rightCellIndex].style.width =  percentRightColumn;
    10131018        this._dataTableColumnGroup.children[rightCellIndex].style.width = percentRightColumn;
Note: See TracChangeset for help on using the changeset viewer.