Web Inspector: add didCancelFrame timeline event
authorcaseq@chromium.org <caseq@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 14 Mar 2012 16:04:38 +0000 (16:04 +0000)
committercaseq@chromium.org <caseq@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 14 Mar 2012 16:04:38 +0000 (16:04 +0000)
commit40ef57ef93829790ca0fe5b5f651319713ff4070
treec61db757509d8f14e2ecb049685bdce1c9ed725f
parente44d55a6b84b27defd5045a929d441b120da1da1
Web Inspector: add didCancelFrame timeline event
https://bugs.webkit.org/show_bug.cgi?id=80994

Reviewed by Pavel Feldman.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

- add an ability to cancel certain timeline events, unless they've been followed by other events.
- implement didCancelFrame() event, fired when a platform decides not to render frame after didBeginFrame() was called.

Test: inspector/timeline/timeline-frames.html

* WebCore.exp.in:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didCancelFrameImpl):
(WebCore):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didCancelFrame):
(WebCore):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didBeginFrame):
(WebCore):
(WebCore::InspectorTimelineAgent::didCancelFrame):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
(WebCore::InspectorTimelineAgent::pushCancelableRecord):
(WebCore::InspectorTimelineAgent::commitCancelableRecords):
(WebCore::InspectorTimelineAgent::cancelRecord):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
(TimelineRecordEntry):
* testing/Internals.cpp:
(WebCore::Internals::emitInspectorDidBeginFrame):
(WebCore):
(WebCore::Internals::emitInspectorDidCancelFrame):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit/chromium:

- add intrumentCanceFrame(), called when renderer decides not to
    render frame after instrumentBeginFrame() was called.

* public/WebWidget.h:
(WebWidget):
(WebKit::WebWidget::instrumentCancelFrame):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::instrumentCancelFrame):
(WebKit):
* src/WebViewImpl.h:
(WebViewImpl):

Source/WebKit2:

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests:

- added test for didBeginFrame()/didCancelFrame()

* inspector/timeline/timeline-frames-expected.txt: Added.
* inspector/timeline/timeline-frames.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
21 files changed:
ChangeLog
LayoutTests/ChangeLog
LayoutTests/inspector/timeline/timeline-frames-expected.txt [new file with mode: 0644]
LayoutTests/inspector/timeline/timeline-frames.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/WebCore.exp.in
Source/WebCore/inspector/InspectorInstrumentation.cpp
Source/WebCore/inspector/InspectorInstrumentation.h
Source/WebCore/inspector/InspectorTimelineAgent.cpp
Source/WebCore/inspector/InspectorTimelineAgent.h
Source/WebCore/testing/Internals.cpp
Source/WebCore/testing/Internals.h
Source/WebCore/testing/Internals.idl
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/public/WebWidget.h
Source/WebKit/chromium/src/WebViewImpl.cpp
Source/WebKit/chromium/src/WebViewImpl.h
Source/WebKit2/ChangeLog
Source/WebKit2/win/WebKit2.def
Source/WebKit2/win/WebKit2CFLite.def
Source/autotools/symbols.filter