• eric@webkit.org's avatar
    2009-09-08 Kelly Norton <knorton@google.com> · 80bd7d6d
    eric@webkit.org authored
            Reviewed by Eric Seidel.
    
            WebInspector: Adds a timeline agent to InspectorController that collects
            high-level timing data about event dispatch, layout, painting and HTML
            parsing and makes it available to Inspector.
            https://bugs.webkit.org/show_bug.cgi?id=25503
    
            * WebCore.gypi:
            * WebCore.xcodeproj/project.pbxproj:
            * dom/Document.cpp:
            (WebCore::Document::recalcStyle):
            * dom/Document.h:
            (WebCore::Document::inspectorTimelineAgent):
            * dom/Node.cpp:
            (WebCore::Node::dispatchGenericEvent):
            * html/HTMLTokenizer.cpp:
            (WebCore::HTMLTokenizer::write):
            * inspector/DOMDispatchTimelineItem.cpp: Added.
            (WebCore::DOMDispatchTimelineItem::DOMDispatchTimelineItem):
            (WebCore::DOMDispatchTimelineItem::convertToScriptObject):
            * inspector/DOMDispatchTimelineItem.h: Added.
            (WebCore::DOMDispatchTimelineItem::~DOMDispatchTimelineItem):
            * inspector/InspectorBackend.cpp:
            (WebCore::InspectorBackend::enableTimeline):
            (WebCore::InspectorBackend::disableTimeline):
            (WebCore::InspectorBackend::timelineEnabled):
            * inspector/InspectorBackend.h:
            * inspector/InspectorBackend.idl:
            * inspector/InspectorController.cpp:
            (WebCore::InspectorController::setFrontendProxyObject):
            (WebCore::InspectorController::close):
            (WebCore::InspectorController::resetScriptObjects):
            (WebCore::InspectorController::enableTimeline):
            (WebCore::InspectorController::disableTimeline):
            (WebCore::InspectorController::timelineEnabled):
            * inspector/InspectorController.h:
            (WebCore::InspectorController::timelineAgent):
            * inspector/InspectorFrontend.cpp:
            (WebCore::InspectorFrontend::timelineWasEnabled):
            (WebCore::InspectorFrontend::timelineWasDisabled):
            (WebCore::InspectorFrontend::addItemToTimeline):
            * inspector/InspectorFrontend.h:
            * inspector/InspectorTimelineAgent.cpp: Added.
            (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
            (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
            (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
            (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
            (WebCore::InspectorTimelineAgent::willLayout):
            (WebCore::InspectorTimelineAgent::didLayout):
            (WebCore::InspectorTimelineAgent::willRecalculateStyle):
            (WebCore::InspectorTimelineAgent::didRecalculateStyle):
            (WebCore::InspectorTimelineAgent::willPaint):
            (WebCore::InspectorTimelineAgent::didPaint):
            (WebCore::InspectorTimelineAgent::willWriteHTML):
            (WebCore::InspectorTimelineAgent::didWriteHTML):
            (WebCore::InspectorTimelineAgent::reset):
            (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
            (WebCore::InspectorTimelineAgent::currentTimeInMilliseconds):
            (WebCore::InspectorTimelineAgent::sessionTimeInMilliseconds):
            * inspector/InspectorTimelineAgent.h: Added.
            * inspector/TimelineItem.cpp: Added.
            (WebCore::TimelineItem::TimelineItem):
            (WebCore::TimelineItem::addToTimeline):
            (WebCore::TimelineItem::convertToScriptObject):
            (WebCore::TimelineItem::convertChildrenToScriptArray):
            (WebCore::TimelineItem::addChildItem):
            * inspector/TimelineItem.h: Added.
            (WebCore::):
            (WebCore::TimelineItem::~TimelineItem):
            (WebCore::TimelineItem::previous):
            (WebCore::TimelineItem::releasePrevious):
            (WebCore::TimelineItem::setEndTime):
            (WebCore::TimelineItem::type):
            * inspector/front-end/TimelineAgent.js: Added.
            (WebInspector.TimelineAgent):
            (WebInspector.addItemToTimeline):
            (WebInspector.timelineWasEnabled):
            (WebInspector.timelineWasDisabled):
            * inspector/front-end/inspector.html:
            * page/FrameView.cpp:
            (WebCore::FrameView::layout):
            (WebCore::FrameView::paintContents):
            * page/FrameView.h:
            (WebCore::FrameView::inspectorTimelineAgent):
            * page/Page.cpp:
            (WebCore::Page::inspectorTimelineAgent):
            * page/Page.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    80bd7d6d
Document.cpp 141 KB