Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f7dd925a68af3c39406f6942a728e1428d00f802
      
https://github.com/WebKit/WebKit/commit/f7dd925a68af3c39406f6942a728e1428d00f802
  Author: Vitaly Dyachkov <[email protected]>
  Date:   2026-06-03 (Wed, 03 Jun 2026)

  Changed paths:
    M LayoutTests/inspector/timeline/resources/timeline-event-utilities.js
    A LayoutTests/inspector/timeline/timeline-layout-events-expected.txt
    A LayoutTests/inspector/timeline/timeline-layout-events-iframe-expected.txt
    A LayoutTests/inspector/timeline/timeline-layout-events-iframe.html
    A LayoutTests/inspector/timeline/timeline-layout-events.html
    M Source/WebCore/inspector/InspectorInstrumentation.cpp
    M Source/WebCore/inspector/InspectorInstrumentation.h
    M Source/WebCore/inspector/TimelineRecordFactory.cpp
    M Source/WebCore/inspector/TimelineRecordFactory.h
    M Source/WebCore/inspector/agents/page/PageTimelineAgent.cpp
    M Source/WebCore/inspector/agents/page/PageTimelineAgent.h
    M Source/WebCore/page/LocalFrameViewLayoutContext.cpp
    M Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js
    M Source/WebInspectorUI/UserInterface/Views/LayoutTimelineDataGridNode.js
    M Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js

  Log Message:
  -----------
  Web Inspector: Show a Node associated with layout and rendering events in a 
separate column
https://bugs.webkit.org/show_bug.cgi?id=314816

Reviewed by Devin Rousso.

`Layout` and `Largest Contentful Paint` events in the Timeline panel
have associated Nodes. For these events, a little arrow is shown next
to the name of the event. While this lets navigate to the Node in the
Elements panel, it is not very discoverable.

This patch adds a separate column for the Node in the Timeline panel,
making it more visible and navigatable. It also adds a Node to other
layout and rendering events.

* LayoutTests/inspector/timeline/resources/timeline-event-utilities.js:
(TestPage.registerInitializer.InspectorTest.TimelineEvent.captureTimelineWithScript):
(TestPage.registerInitializer.InspectorTest.TimelineEvent.captureTimelineWithMarker):
(TestPage.registerInitializer):
* LayoutTests/inspector/timeline/timeline-layout-events-expected.txt: Added.
* LayoutTests/inspector/timeline/timeline-layout-events-iframe-expected.txt: 
Added.
* LayoutTests/inspector/timeline/timeline-layout-events-iframe.html: Added.
* LayoutTests/inspector/timeline/timeline-layout-events.html: Added.
* Source/WebCore/inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didInvalidateLayoutImpl):
(WebCore::InspectorInstrumentation::didCompositeImpl):
(WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
(WebCore::InspectorInstrumentation::didCompleteRenderingFrameImpl):
* Source/WebCore/inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didInvalidateLayout):
(WebCore::InspectorInstrumentation::didComposite):
(WebCore::InspectorInstrumentation::didRecalculateStyle):
(WebCore::InspectorInstrumentation::didCompleteRenderingFrame):
* Source/WebCore/inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::appendLayoutRoot):
(WebCore::TimelineRecordFactory::appendNodeId):
* Source/WebCore/inspector/TimelineRecordFactory.h:
* Source/WebCore/inspector/agents/page/PageTimelineAgent.cpp:
(WebCore::PageTimelineAgent::internalStart):
(WebCore::PageTimelineAgent::didInvalidateLayout):
(WebCore::PageTimelineAgent::didLayout):
(WebCore::PageTimelineAgent::didScheduleStyleRecalculation):
(WebCore::PageTimelineAgent::didRecalculateStyle):
(WebCore::PageTimelineAgent::didComposite):
(WebCore::PageTimelineAgent::didPaint):
(WebCore::PageTimelineAgent::didCompleteRenderingFrame):
(WebCore::PageTimelineAgent::nodeIdForDocument const):
(WebCore::PageTimelineAgent::nodeIdForRenderer const):
* Source/WebCore/inspector/agents/page/PageTimelineAgent.h:
* Source/WebCore/page/LocalFrameViewLayoutContext.cpp:
(WebCore::LocalFrameViewLayoutContext::scheduleLayout):
(WebCore::LocalFrameViewLayoutContext::scheduleSubtreeLayout):
* Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.prototype._processRecord):
* Source/WebInspectorUI/UserInterface/Views/LayoutTimelineDataGridNode.js:
(WI.LayoutTimelineDataGridNode.prototype.get data):
(WI.LayoutTimelineDataGridNode.prototype.createCellContent):
(WI.LayoutTimelineDataGridNode):
* Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js:
(WI.LayoutTimelineView):

Canonical link: https://commits.webkit.org/314460@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to