Skip to content
  • commit-queue@webkit.org's avatar
    Source/WebCore: [Resource Timing]Implementation of resource timing buffer size... · e0aabaae
    commit-queue@webkit.org authored
    Source/WebCore: [Resource Timing]Implementation of resource timing buffer size restriction functionality
    https://bugs.webkit.org/show_bug.cgi?id=84885.
    
    Patch by Pan Deng <pan.deng@intel.com> on 2012-10-18
    Reviewed by Tony Gentilcore.
    
    http://www.w3.org/TR/2012/CR-resource-timing-20120522/
    This patch enable functionality of set buffer size(default is 150 as spec). When buffer is full, resourceTimingBufferFull event will be fired. Incoming entries will be dropped if no more space for them.
    
    Tests: http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_populate_entries.html
           http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_shrink_buffer_size.html
           http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_size_restriction.html
           http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_clear_resource_timing_functionality.html
           http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_on_shrink_buffer_size.html
           http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_store_and_clear_during_callback.html
    
    * page/Performance.cpp:
    (WebCore):
    (WebCore::Performance::Performance):
    (WebCore::Performance::webkitSetResourceTimingBufferSize):
    (WebCore::Performance::addResourceTiming):
    (WebCore::Performance::isResourceTimingBufferFull):
    * page/Performance.h:
    (Performance):
    
    LayoutTests: [Resource Timing]Test cases for set buffer size functionality and event when buffer full.
    https://bugs.webkit.org/show_bug.cgi?id=84885.
    
    Patch by Pan Deng <pan.deng@intel.com> on 2012-10-18
    Reviewed by Tony Gentilcore.
    
    Test cases in this patch validate buffer size restriction functionality, clear resource timing functionality and the fired event when buffer full.
    
    * http/tests/w3c/webperf/resources/webperftestharnessextension.js:
    (PerformanceContext.prototype.getEntriesByName):
    (PerformanceContext.prototype.setResourceTimingBufferSize):
    (PerformanceContext.prototype.registerResourceTimingBufferFullCallback):
    (PerformanceContext.prototype.clearResourceTimings):
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_populate_entries-expected.txt: Added.
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_populate_entries.html: Added.
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_shrink_buffer_size-expected.txt: Added.
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_shrink_buffer_size.html: Added.
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_size_restriction-expected.txt: Added.
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_size_restriction.html: Added.
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_clear_resource_timing_functionality-expected.txt: Added.
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_clear_resource_timing_functionality.html: Added.
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_on_shrink_buffer_size-expected.txt: Added.
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_on_shrink_buffer_size.html: Added.
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_store_and_clear_during_callback-expected.txt: Added.
    * http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_store_and_clear_during_callback.html: Added.
    * platform/chromium/TestExpectations:
    * platform/efl/TestExpectations:
    * platform/gtk/TestExpectations:
    * platform/mac/TestExpectations:
    * platform/qt-5.0-wk2/TestExpectations:
    * platform/qt/TestExpectations:
    * platform/win/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    e0aabaae