-
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