Skip to content
  • commit-queue@webkit.org's avatar
    Source/WebCore: [User Timing] implement main interface in of User Timing,... · e1e35a27
    commit-queue@webkit.org authored
    Source/WebCore: [User Timing] implement main interface in of User Timing, according to http://www.w3.org/TR/2012/CR-user-timing-20120726/
    https://bugs.webkit.org/show_bug.cgi?id=90963
    
    Patch by Pan Deng <pan.deng@intel.com> on 2012-10-17
    Reviewed by Tony Gentilcore.
    
    This patch implemented mark(), measure(), clearMarks() and clearMeasures() interface of User Timing. Getters are not exposed by Performance Timeline yet, it will be future patch.
    
    Tests: http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMarks.html
           http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMeasures.html
           http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark.html
           http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark_exception.html
           http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure.html
           http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_associate_with_navigation_timing.html
           http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_exception.html
           http/tests/w3c/webperf/submission/user-timing/test_user_timing_method_exist.html
    
    * GNUmakefile.list.am:
    * WebCore.gypi:
    * page/Performance.cpp:
    (WebCore::Performance::webkitGetEntries):
    (WebCore::Performance::webkitGetEntriesByType):
    (WebCore::Performance::webkitGetEntriesByName):
    (WebCore):
    (WebCore::Performance::webkitMark):
    (WebCore::Performance::webkitClearMarks):
    (WebCore::Performance::webkitMeasure):
    (WebCore::Performance::webkitClearMeasures):
    * page/Performance.h:
    (WebCore):
    (Performance):
    * page/Performance.idl:
    * page/PerformanceMark.h: Added.
    (WebCore):
    (PerformanceMark):
    (WebCore::PerformanceMark::create):
    (WebCore::PerformanceMark::PerformanceMark):
    (WebCore::PerformanceMark::~PerformanceMark):
    * page/PerformanceMark.idl: Added.
    * page/PerformanceMeasure.h: Added.
    (WebCore):
    (PerformanceMeasure):
    (WebCore::PerformanceMeasure::create):
    (WebCore::PerformanceMeasure::PerformanceMeasure):
    (WebCore::PerformanceMeasure::~PerformanceMeasure):
    * page/PerformanceMeasure.idl: Added.
    * page/PerformanceUserTiming.cpp: Added.
    (WebCore):
    (WebCore::UserTiming::UserTiming):
    (WebCore::insertPerformanceEntry):
    (WebCore::clearPeformanceEntries):
    (WebCore::UserTiming::mark):
    (WebCore::UserTiming::clearMarks):
    (WebCore::UserTiming::findExistingMarkStartTime):
    (WebCore::UserTiming::measure):
    (WebCore::UserTiming::clearMeasures):
    * page/PerformanceUserTiming.h: Added.
    (WebCore):
    (UserTiming):
    (WebCore::UserTiming::create):
    
    LayoutTests: [User Timing] Test Cases of User Timing. According to http://www.w3.org/TR/2012/CR-user-timing-20120726/
    https://bugs.webkit.org/show_bug.cgi?id=90963
    
    Patch by Pan Deng <pan.deng@intel.com> on 2012-10-17
    Reviewed by Tony Gentilcore.
    
    Test cases in this patch validate functionality of W3C User Timing interface. These test cases use W3C testharness. Since User Timing feature is not enabled in any platform yet, all skipped currenttly.
    
    * http/tests/w3c/webperf/resources/webperftestharnessextension.js: Added.
    (test_method_exists):
    (test_noless_than):
    (performance_entrylist_checker.entry_check.test_equals):
    (performance_entrylist_checker.entry_check):
    (performance_entrylist_checker.entrylist_order_check):
    (performance_entrylist_checker.entrylist_check):
    (PerformanceContext):
    (PerformanceContext.prototype.initialMeasures):
    (PerformanceContext.prototype.mark):
    (PerformanceContext.prototype.measure):
    (PerformanceContext.prototype.clearMarks):
    (PerformanceContext.prototype.clearMeasures):
    (PerformanceContext.prototype.getEntries):
    (PerformanceContext.prototype.getEntriesByType):
    (PerformanceContext.prototype.getEntriesByName):
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMarks-expected.txt: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMarks.html: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMeasures-expected.txt: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMeasures.html: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark-expected.txt: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark.html: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark_exception-expected.txt: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark_exception.html: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure-expected.txt: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure.html: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_associate_with_navigation_timing-expected.txt: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_associate_with_navigation_timing.html: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_exception-expected.txt: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_exception.html: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_method_exist-expected.txt: Added.
    * http/tests/w3c/webperf/submission/user-timing/test_user_timing_method_exist.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@131693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    e1e35a27