CSS Rules in your Firefox DevTools - These Weeks in Firefox: Issue 163

20 views
Skip to first unread message

Mike Conley

unread,
Jun 18, 2024, 5:02:33 PM (5 days ago) Jun 18
to Firefox Dev
Hello firefox-dev,

A bunch of people from the Firefox Desktop team got together last week to discuss the latest happenings in the code base. We took the notes from that meeting and reformulated them here into something you might find more palatable.

Thanks to Niklas Baumgardner and Katherine Patenio who put these notes together with me!

Highlights

Friends of the Firefox team

Resolved bugs (excluding employees)

Volunteers that fixed more than one bug

  • Pier Angelo Vendrame 

  • Sebastian Zartner [:sebo] 

  • Sukhmeet[:sukh]

New contributors (🌟 = first patch)

Project Updates

Add-ons / Web Extensions

WebExtension APIs
  • As part of the cross-browser compatibility improvements for Manifest Version 3 extensions landed in Firefox 128:

    • Content scripts can now be executed in the webpage global using the execution world MAIN (which is now supported by the scripting API and content scripts declared in the manifest.json file) and not be blocked by a strict webpage CSP (Bug 1736575)

      • NOTE: content scripts executed in the MAIN world do not have access to any WebExtensions API.

    • Added support for domainType (“firstParty”, “thirdParty”) DNR rule conditions (Bug 1797408)

    • Performance related improvement on evaluating DNR rules using requestDomains and initiatorDomains conditions (Bug 1853569)

    • Event pages will not be suspended if API calls that require user actions (e.g. permissions.request API calls) are still pending (Bug 1844044 / Bug 1874406)

    • Event pages persisted listeners removed through the removeListener method will stay persisted and can respawn the event page after it has been suspended (Bug 1869125)

      • NOTE: API events persisted listeners will instead be completely removed (not persisted anymore and not respawning the event page anymore) if the extension event page scripts do not add the listeners again (by not calling addListener) when the event page is started again.


Developer Tools

DevTools 
  • Sebastian Zartner [:sebo] added warning when properties only applying to replaced elements are used on non-replaced elements (#1583903), and when column-span is used on elements outside of multi-column containers (#1848705

  • Thanks to Valentin Gosu [:valentin] for fixing an issue that failing service worker requests when Responsive Design Mode was enabled (#1885308)

  • Thanks James Teh [:Jamie] for fixing an accessibility issue in the DevTools accessibility tree (#1898661)

  • Alex fixed an issue that could prevent DevTools to open (#1898490)

  • Julian fixed an issue that was preventing DevTools to consume sourcemaps files when they required credentials (#1899389)

  • Nicolas tweaked the filters button colors in Console and Netmonitor so their states should be more explicit (#1590432)

    • [Screenshot]

      • Caption: The filter bar of the Firefox DevTools Network Monitor in the light theme. Various resource types are filtered for (HTML, CSS, JS, XHR and Images). Fonts, Media, WS and Other are not being filtered for. Images is keyboard selected.

    • [Screenshot]

      • Caption: The filter bar of the Firefox DevTools Network Monitor in the dark theme. Various resource types are filtered for (HTML, CSS, JS, XHR and Images). Fonts, Media, WS and Other are not being filtered for. Images is keyboard selected.

  • Nicolas added @property rules (MDN) information in the var() tooltip (#1899489)

    • [Screenshot]

      • Caption: The CSS rules pane in the Firefox DevTools Inspector is shown showing a CSS selector with 6 rules. One of the rules sets a background colour using a CSS variable. That rule is being hovered, and a tooltip is shown for it describing the value of the variable (it's "gold").

    • And we now indicate when custom property declaration are invalid when their value does not match registered custom property definition (#1866712)

      • [Screenshot]

        • Caption: The CSS rules pane in the Firefox DevTools Inspector is shown showing a CSS selector with 2 rules. One of the rules is using a custom property. An error icon is shown, and a tooltip saying 'Property value does not match expected "<color>" syntax'.

  • Nicolas added support for @starting-style rules (MDN) in the Rules view (#1892192)

    • [Screenshot]

      • Caption: The CSS rules pane in the Firefox DevTools Inspector is shown showing a CSS selector for an h1 element with a @starting-style. The rule states that the background-color is transparent. A second rule below it makes it so that the background-color transitions to gold as soon as the h1 is rendered.

    • Thanks a lot to Boris Chiou [:boris] for working on the platform patch that made this possible (#1893409)

  • Nicolas added support for @scope rules (MDN) in the Rules view (#1893593)

    • [Screenshot]

      • Caption: The CSS rules pane in the Firefox DevTools Inspector is shown showing some CSS selector using the @scope at-rule to set the colours of a li::marker and li element differently in different scopes.

WebDriver BiDi
  • External:

    • Thanks to James Hendry who removed the deprecated desiredCapabilities and requiredCapabilities from geckodriver (#1823907)

  • Related to that, Henrik updated the default value of the remote.active-protocols preference to "1", which means that CDP is now disabled by default (#1882089)

  • Henrik implemented support for the http and bidi flags on the WebDriver Session, which allows to know if a specific session is using classic, bidi or both. (#1884090 and #1898719)

  • Julian added support for several arguments of the network.continueRequest command. Clients can now update headers, cookies, method and post body of an intercepted request. This also fixes a bug where intercepted requests in the beforeRequestSent phase could still be sent to the server (#1850680)

  • Sasha fixed the order in which we emit network events in case of redirects. Our behavior now correctly matches the specifications (#1879580)

  • Sasha implemented the userContext argument for the permissions.setPermission command which allows to update a permission only for a specific user context (#1894217)

  • Henrik improved the way we handle error pages in the navigation helpers used by WebDriver BiDi (#1878690)

  • Sasha updated the exception thrown when the input.setFiles command is used with a file which doesn't exist. (#1887644)

  • Sasha updated our vendored version of puppeteer to v22.9.0. As usual we try to keep up to date with Puppeteer releases to benefit from their latest test changes and improvements in BiDi support. (#1897183)

Lint, Docs and Workflow

Migration Improvements

Performance

Profile Management

  • Initial work on the toolkit profile service and profile database is in review. Engineering work is pausing for two weeks to free up engineers for some Review Checker work.

Search and Navigation

  • HTTPS trimming in the address bar

    • Marco fixed a bug related to displaying the scheme for RTL (right-to-left) domains (1862404)

  • Google account signed-in status

    • Stephanie landed patches enabling telemetry indicating whether the client was signed in to a Google account at the time of a SERP load (1877494, 1892332)

  • Search Config v2

    • Mark & Mandy have been hard at work on the new search config over the past several months, and it is now permanently enabled (1900638)

    • Standard8 resolved an incident where one of our Glean pings wasn’t being sent due to the new search config (1901057, 1901208)

  • Bug fixes, clean up and intermittents


Storybook/Reusable Components

Below the fold


This information, including all of the previous updates, are fully available in this doc: https://docs.google.com/a/mozilla.com/document/d/1u9YH3ULNRYg6G-fN-Udkvfkcvg0alJfzi_zIAfFNkL8/edit?usp=sharing


Also note that we’re really just synthesising and humanising the stuff that's on the Wiki, which is freely available from here: https://wiki.mozilla.org/Firefox/Meeting, so check that out if you want the source material. It'll also be posted (minus the Below the Fold stuff) to the Nightly blog.


Finally, if there's a Firefox-ish team that you feel isn't being represented here, please let them know about the above meeting so we can get their updates.


Keep on rockin' the free web,


-Mike

Mike Conley

unread,
Jun 19, 2024, 9:10:29 AM (5 days ago) Jun 19
to Firefox Dev
Hi all,

A quick correction here - we listed Jonas Jenwald [:Snuffleupagus] as a new contributor, when he is instead a long-time contributor. Apologies for the confusion, and thank you for your contributions Jonas!

-Mike
Reply all
Reply to author
Forward
0 new messages