Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 16b731767043e9593b5a3589cc716612547a5c17
https://github.com/WebKit/WebKit/commit/16b731767043e9593b5a3589cc716612547a5c17
Author: Ahmad Saleem <[email protected]>
Date: 2026-07-13 (Mon, 13 Jul 2026)
Changed paths:
M LayoutTests/inspector/dom-debugger/dom-breakpoints-expected.txt
M LayoutTests/inspector/dom-debugger/dom-breakpoints.html
M Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js
Log Message:
-----------
Web Inspector: removing a DOM breakpoint deletes sibling breakpoints that
share the same URL
https://bugs.webkit.org/show_bug.cgi?id=319243
rdar://182090330
Reviewed by Devin Rousso.
`_domBreakpointURLMap` is a `Multimap` keyed by frame URL, so every DOM
breakpoint on a page is stored under the same key. `removeDOMBreakpoint`
called `_domBreakpointURLMap.delete(breakpoint.url)` with a single
argument, which `Multimap.delete` treats as "remove the entire key" —
evicting every sibling breakpoint sharing that URL from the map.
The surviving breakpoints stayed attached for the current page, but the
URL map is what re-resolves breakpoints to nodes on navigation (via
`_speculativelyResolveDOMBreakpointsForURL` and `_nodeInserted`), so
after a reload the siblings silently failed to re-resolve and stopped
breaking.
Pass the breakpoint as the second argument so only that value is
removed, matching the two-arg `_domBreakpointFrameIdentifierMap.delete`
form used just below.
* LayoutTests/inspector/dom-debugger/dom-breakpoints-expected.txt:
* LayoutTests/inspector/dom-debugger/dom-breakpoints.html:
* Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js:
(WI.DOMDebuggerManager.prototype.removeDOMBreakpoint):
Canonical link: https://commits.webkit.org/317054@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications