Developer Tools help developers write and debug websites on Firefox. This newsletter gives an overview of the work we’ve done as part of the Firefox 130 Nightly release cycle.
Firefox being an open source project, we are grateful to get contributions from people outside of Mozilla, like Artem Manushenkov who made the Inspector show the dimension of the page in an overlay when the window is resized (#1826409)
Want to help? DevTools are written in HTML, CSS and JS so any web developer can contribute! Read how to setup the work environment and check the list of mentored issues
Important Debugger fixes…
We got a report for what we call zombie breakpoints, aka breakpoints that are still seen as active by the engine, even if the user removed it from the client. This was affecting WebExtension debugging and should be fixed now (#1908095).
Speaking of the Debugger, pretty printing got almost 30% faster and opening large files 10% faster (#1907794). This is due to some work on some work on Cycle Collection in Javascript Workers, which the Debugger is using when opening a Javascript profile to parse its content. We’re currently doing more work to optimize opening files even faster, so stay tunes for even better numbers soon!
Finally, we fixed local script override for Service Worker cached requests (#1876060) and scripts with crossorigin
attributes (#1834799).
… and quality of life Inspector improvements
In the markup view, you can now add attributes in the input that appears when you double click the tagname (#1173057).
You might now know it, but by default, the Inspector element picker ignores nodes with pointer-events: none
, as those are often used as absolutely positioned on the whole page and would prevent to pick items underneath it. In the cases where you do want to pick those non-targetable element, you can hold Shift while using the element picker. In 130, we ensured that pressing Shift will change the behavior directly instead of waiting for the next mouse move (#1899704).
That’s it for this months, this post is shorter than usual as most of the team is working on longer projects that are not shipping yet, but hopefully we can talk about them in the coming months! Thank you for reading this and using our tools, see you in a few weeks for a new round of updates 🙂
Full list of fixed bugs in DevTools for the Firefox 130 release:
- Artem Manushenkov Show dimension overlay by default while window is resizing (#1826409)
- Jonathan Kew [:jfkthame] CSS value suggestion for white-space doesn’t include normal, pre, pre-line, pre-wrap (#1913536)
- Benjamin VanderSloot [:bvandersloot] Cannot save JSON results from file:/// url or blob object URL (#1872307)
- Boris Chiou [:boris] InspectorUtils.getCSSStyleRules only returns nested CSSStartingStyleRule rules of rules with selectors using children/descendent combinator in their selectors (#1905035)
- :gerard-majax devtools test might run into race on process kill with forkserver (#1906816)
- Masayuki Nakano `TextPropertyEditor.prototype._draggingOnMouseDown` uses `Element.setPointerCapture` with `undefined` (#1907489)
- Masayuki Nakano `Draggable.startDragging` uses `Element.setPointerCapture` with `undefined` (#1907490)
- Masayuki Nakano `LinearEasingFunctionWidget.#onMouseDown` uses `Element.setPointerCapture` with `undefined` (#1907494)
- Olli Pettay Very long cycle collection times (4.3s) in parser-worker.js (#1907794)
- Alexandre Poirot [:ochameau] Ensure JS Tracer work with remote debugging (#1866818)
- Alexandre Poirot [:ochameau] Display tracer argument values as inline previews when opening frames from the console (#1871500)
- Alexandre Poirot [:ochameau] Move the tracer toggle icon from debugger to the toolbox (#1873060)
- Alexandre Poirot [:ochameau] Display JS trace in a debugger sidebar (#1885054)
- Alexandre Poirot [:ochameau] Unify CSS rules around various tree expand arrows (#1906125)
- Alexandre Poirot [:ochameau] Land various tweaks in favor of a debugger tracer sidebar (#1906291)
- Alexandre Poirot [:ochameau] Error: no selectedSource (#1906496)
- Alexandre Poirot [:ochameau] Use a shared test helper to expand object inspector items (#1906906)
- Alexandre Poirot [:ochameau] source not showing in worker (#1907977)
- Alexandre Poirot [:ochameau] DOM Mutation depth is wrong in the tracer (#1908456)
- Alexandre Poirot [:ochameau] Cover jstracer debugger and profiler output performance in DAMP (#1908695)
- Alexandre Poirot [:ochameau] Add minimal documentation for the debugger sidebar (#1908704)
- Alexandre Poirot [:ochameau] Fix recording raw server performance of the jstracer. (#1909481)
- Alexandre Poirot [:ochameau] Enable the jstracer in the browser toolbox (#1909544)
- Alexandre Poirot [:ochameau] Show an toggle in the options panel for enabling the JS Tracer (#1909692)
- Alexandre Poirot [:ochameau] Zooming on traces with only one DOM event is buggy (#1909899)
- Alexandre Poirot [:ochameau] Unexpected traces are displayed in the tracer’s call tree (#1909920)
- Alexandre Poirot [:ochameau] The instruction in about:debugging should mention enabling the file transfer (#1909928)
- Nicolas Chevobbe [:nchevobbe] Can’t add a class attribute to a tag (#1173057)
- Nicolas Chevobbe [:nchevobbe] RDM with touch events sends SetCapture warning in the console (#1713545)
- Julian Descottes [:jdescottes] Local script override breaks CORS (#1834799)
- Julian Descottes [:jdescottes] Local script override doesn’t work for SW cached request (#1876060)
- Hubert Boma Manilla (:bomsy) The set breakpoint should update to the correct line when switching from the original file to the bundle (#1893355)
- Nicolas Chevobbe [:nchevobbe] Intermittent devtools/client/inspector/rules/test/browser_rules_pseudo-element_01.js | single tracking bug (#1894709)
- Nicolas Chevobbe [:nchevobbe] Do not reset profile to “responsive” on viewport size changes in RDM (#1894949)
- Hubert Boma Manilla (:bomsy) Add “match highlighter” in cm6 (#1897776)
- Julian Descottes [:jdescottes] Intermittent devtools/client/inspector/rules/test/browser_rules_add-rule-then-property-edit-selector.js | single tracking bug (#1899341)
- Nicolas Chevobbe [:nchevobbe] When inspecting some “pointer-events: none” elements in a page, pressing shift should change the behavior without waiting for mousemove (#1899704)
- Julian Descottes [:jdescottes] Remove the NetworkObserver earlyEvents option (#1901504)
- Hubert Boma Manilla (:bomsy) Clicking on outline panel functions does not scroll the document sometimes (#1903700)
- Julian Descottes [:jdescottes] Use nsIHttpChannelInternal setResponseOverride for local script override (#1904870)
- Hubert Boma Manilla (:bomsy) Switching between document may lose scroll position (#1905840)
- Nicolas Chevobbe [:nchevobbe] Preview tooltip doesn’t work on expression `this[x].y` (#1906587)
- Hubert Boma Manilla (:bomsy) Breakpoint aren’t working properly when wrap line option is enabled (#1907259)
- Hubert Boma Manilla (:bomsy) Wrap Lines setting is not respected when opening the debugger (#1907260)
- Nicolas Chevobbe [:nchevobbe] testTouchEventsOverride is async but doesn’t perform any async operation nor return a Promise (#1907560)
- Julian Descottes [:jdescottes] [DevTools Release Tasks – Cycle 130] Remove backward compatibility code (#1907863)
- Nicolas Chevobbe [:nchevobbe] Reselect logic when editing a tagname in the markup view is brittle (#1907932)
- Julian Descottes [:jdescottes] Accommodate for unexpected fonts in browser_fontinspector_reveal-in-page.js (#1907940)
- Julian Descottes [:jdescottes] Legacy resources should use onResourceArrayAvailable/* instead of the deprecated onResourceAvailable APIs (#1907941)
- Julian Descottes [:jdescottes] Breakpoints are still triggered after being deleted (#1908095)
- Nicolas Chevobbe [:nchevobbe] Don’t track mutation of nodes we don’t show in the markup (#1908384)
- Nicolas Chevobbe [:nchevobbe] Focus the event badge back when hiding the event listener tooltip (#1908600)
- Nicolas Chevobbe [:nchevobbe] Turn devtools/client/framework/selection.js into an ES6 class and use proper private methods and properties (#1908669)
- Nicolas Chevobbe [:nchevobbe] Typo in Tracer sidebar and tracer test (interation -> interaction) (#1908918)
- Nicolas Chevobbe [:nchevobbe] The “Paused on debugger statement” moves around (#1909307)
- Nicolas Chevobbe [:nchevobbe] Refactor handling of uniqueKey in CookiesStorageActor (#1909405)
- Hubert Boma Manilla (:bomsy) inline preview are not updated when selecting different frame in the callstack (#1909594)
- Nicolas Chevobbe [:nchevobbe] Ignored file text isn’t legible when the tree node is selected (#1909804)
- Nicolas Chevobbe [:nchevobbe] Define all highlighters type in a shared module (#1909819)
- Nicolas Chevobbe [:nchevobbe] Debugger crashes at opening (#1910034)
- Nicolas Chevobbe [:nchevobbe] Remove unused function parameters in editor for cm6 (#1910037)
- Nicolas Chevobbe [:nchevobbe] Rename OutputParser unmatchedVariableClass option into unmatchedClass (#1910569)
- Nicolas Chevobbe [:nchevobbe] Inline preview doesn’t look great when the line is highlighted (#1910908)
- Nicolas Chevobbe [:nchevobbe] Actually test backdrop pseudo elements in browser_rules_pseudo-element_01.js (#1911291)
Leave a Reply