Changeset 192455 in webkit


Ignore:
Timestamp:
Nov 13, 2015 9:51:27 PM (9 years ago)
Author:
commit-queue@webkit.org
Message:

Eliminate a request for layout every time an item is added to the stage of the graphics benchmark
https://bugs.webkit.org/show_bug.cgi?id=151289

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-13
Reviewed by Simon Fraser.

Cache the stage size when it is created instead of requesting every time
an object is added via clientWidth and clientHeight.

  • Animometer/resources/extensions.js:

(Insets.elementPadding):

  • Animometer/tests/resources/stage.js:

(Stage):
(Stage.prototype.get size):

Location:
trunk/PerformanceTests
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/PerformanceTests/Animometer/resources/extensions.js

    r191853 r192455  
    6767    this.bottom = bottom;
    6868    this.left = left;
     69}
     70
     71Insets.elementPadding = function(element)
     72{
     73    var styles = window.getComputedStyle(element);
     74    return new Insets(
     75        parseFloat(styles.paddingTop),
     76        parseFloat(styles.paddingRight),
     77        parseFloat(styles.paddingBottom),
     78        parseFloat(styles.paddingTop));
    6979}
    7080
  • trunk/PerformanceTests/Animometer/tests/resources/stage.js

    r191853 r192455  
    3636{
    3737    this.element = element;
     38    this._size = Point.elementClientSize(element).subtract(Insets.elementPadding(element).size);
    3839}
    3940
     
    4243    get size()
    4344    {
    44         var styles = window.getComputedStyle(this.element);
    45         var padding = new Insets(
    46             parseFloat(styles.paddingTop),
    47             parseFloat(styles.paddingRight),
    48             parseFloat(styles.paddingBottom),
    49             parseFloat(styles.paddingTop));
    50         return new Point(this.element.clientWidth - padding.width, this.element.clientHeight - padding.height);
     45        return this._size
    5146    },
    5247   
  • trunk/PerformanceTests/ChangeLog

    r192107 r192455  
     12015-11-13  Said Abou-Hallawa  <sabouhallawa@apple.com>
     2
     3        Eliminate a request for layout every time an item is added to the stage of the graphics benchmark
     4        https://bugs.webkit.org/show_bug.cgi?id=151289
     5
     6        Reviewed by Simon Fraser.
     7       
     8        Cache the stage size when it is created instead of requesting every time
     9        an object is added via clientWidth and clientHeight.
     10
     11        * Animometer/resources/extensions.js:
     12        (Insets.elementPadding):
     13        * Animometer/tests/resources/stage.js:
     14        (Stage):
     15        (Stage.prototype.get size):
     16
    1172015-11-06  Said Abou-Hallawa  <sabouhallawa@apple.com>
    218
Note: See TracChangeset for help on using the changeset viewer.