Firefox Nightly News https://blog.nightly.mozilla.org Let's improve quality, build after build! Thu, 26 Sep 2024 19:25:43 +0000 en-US hourly 1 https://wordpress.org/?v=6.3.5 https://blog.nightly.mozilla.org/files/2024/04/cropped-Fx-Browser-Nightly-icon-fullColor-512-32x32.png Firefox Nightly News https://blog.nightly.mozilla.org 32 32 From ESR to Address Bar – These Weeks in Firefox: Issue 168 https://blog.nightly.mozilla.org/2024/09/24/from-esr-to-address-bar-these-weeks-in-firefox-issue-168/ https://blog.nightly.mozilla.org/2024/09/24/from-esr-to-address-bar-these-weeks-in-firefox-issue-168/#respond Tue, 24 Sep 2024 18:38:52 +0000 https://blog.nightly.mozilla.org/?p=1744 Read more]]> Highlights
  • ESR115 EOL was extended for Win 7-8.1 and macOS 10.12-10.14 to March 2025. See the firefox-dev post for more details. This doesn’t impact next month’s planned migration to ESR128 for other OSes, however.
  • The topic selection experiment is running! Firefox users in the treatment branch will see a dialog asking if they want to choose specific topics to appear in their story recommendations:

  • There has been a lot of work on various parts of ScotchBonnet for the Address Bar. We will be looking to enable this in Nightly soon, so anyone wanting a sneak peek can toggle browser.urlbar.scotchBonnet.enableOverride to true. Bug reports and feedback are welcome!
  • mconley fixed a bug with the experimental automatic Picture-in-Picture feature that caused a perma-spinner to appear when tearing a tab out.

Friends of the Firefox team

Resolved bugs (excluding employees)

Script to find new contributors from bug list

Volunteers that fixed more than one bug

  • Jonas Jenwald [:Snuffleupagus]

Project Updates

Accessibility

  • :eeejay has landed ARIA Element reflection that allows ARIA relationship attributes to be set in JavaScript by directly referencing target elements. In particular, it will allow setting ARIA relationship attributes to work across Shadow DOM boundaries (with limitations). It is now available behind the pref accessibility.ARIAElementReflection.enabled and is getting ready to be shipped (bug).

DevTools

DevTools Toolbox
  • Julian Descottes fixed an issue where your plugged-in phone might not be detected in about:debugging (#1899330)
  • Alexandre Poirot added a new panel in the Tracer sidebar where we display the DOM event types that were emitted and let you filter them out (#1908615)

Lint, Docs and Workflow

Migration Improvements (read-only)

  • fchasen launched the experiment to encourage Firefox users without a Mozilla account to create one and sync, in order to have a safeguard against sudden hardware failure. We’re already seeing an uptick in accounts being created, and we’re eager for the experiment to conclude to determine which messaging variant had the most impact!
  • For backup, mconley landed some patches to disable backing up various history-related data stores if Firefox is configured to clear history on shutdown. There are also a series of patches in review to regenerate backups when users intentionally delete certain data.
  • mconley is working with the OMC team to develop a new simple messaging surface inside of the AppMenu panel to try some different variants of the “signed out” state for the accounts item at the top of the menu

New Tab Page

  • The thumbs up / thumbs down experiment is also running to let users in the treatment branch express which stories have value for them, and which don’t:

  • The layout variant experiments we mentioned during the last meeting are slated to start running in early October once Firefox 131 goes out the door!
  • Scott and Max are currently working on migrating us from our legacy endpoints for Top Sites and sponsored stories to a more centralized endpoint.
  • Amy and Nathan are working on the “big rectangle” – a new tall card group type that we’ll be experimenting with in a few months once this capability hits release

Picture-in-Picture

Search and Navigation

  • ScotchBonnet updates
    • Contextual Search will now enter a persistent search mode session when you search on a site that provides opensearch 1893071
    • Daisuke added the ability to access search pages directly with shift click, this behaviour was introduced after lot of user feedback on the current one off bar @ 1915250
    • We can and will only show persisted search terms on built in engines, to make sure 3rd party search engines cant trick users @ 1918176
    • As well as a large number of more general improvements and bug fixes @ 1913205, 1913200, 1914604, 1917186
  • Drew has made a lot of improvements to Firefox Suggest
    • Integrating Rust exposure suggestions as part of new experiment framework @ 1915317
    • Allowed suggest to be enabled in non suggest locales @ 1916873
    • Fixed issue with few results being shown when suggest is enabled @ 1916458
    • And various other improvements
  • Mark has landed large refactorings of search search tests @ 1912051, 1917955  along with preparations to implement the search engine selector in Rust to share with mobile @ 1914145
  • Mandy also cleaned up some of the stale code left from the search configuration update @ 1916847
  • Marco landed a bug to fix issues caused by the urlbar moving on mouse focus that caused issues with double click @ https://bugzilla.mozilla.org/show_bug.cgi?id=1909189
]]>
https://blog.nightly.mozilla.org/2024/09/24/from-esr-to-address-bar-these-weeks-in-firefox-issue-168/feed/ 0
Fantastic Firefox Fixes – These Weeks in Firefox: Issue 167 https://blog.nightly.mozilla.org/2024/09/13/fantastic-firefox-fixes-these-weeks-in-firefox-issue-167/ https://blog.nightly.mozilla.org/2024/09/13/fantastic-firefox-fixes-these-weeks-in-firefox-issue-167/#respond Fri, 13 Sep 2024 21:25:21 +0000 https://blog.nightly.mozilla.org/?p=1736 Read more]]> Highlights
  • Firefox 130 goes out today! Check out some interesting opt-in early features in Firefox Labs!
  • Puppeteer v23 released with official Firefox support, using Webdriver BiDi. Read our announcement on hacks, as well as the Chrome DevTools’ blog post.
  • Marco fixed a regression bug where the Mobile Bookmarks folder was no longer visible in the bookmarks menus – Bug 1913976
  • Amy, Maxx, Scott and Nathan have been working on some new layout variants for New Tab that we aim to experiment with in the next few releases. (Meta bug)
    • Try it in Nightly: (Set either of these prefs to True)
      • browser.newtabpage.activity-stream.newtabLayouts.variant-a
      • browser.newtabpage.activity-stream.newtabLayouts.variant-b
  • Mandy has implemented autofill for intuitive restrict keywords (e.g. typing @bookmarks instead of *) – Bug 1912045
    • You must set browser.urlbar.searchRestrictKeywords.featureGate to true in about:config for this for now.

Friends of the Firefox team

Resolved bugs (excluding employees)

Script to find new contributors from bug list

Volunteers that fixed more than one bug

  • Gregory Pappas [:gregp]
  • Irene Ni
  • Nipun Shukla
  • Robert Holdsworth
  • Tim Williams

New contributors (🌟 = first patch)

Project Updates

Add-ons / Web Extensions

WebExtensions Framework
  • As part of follow ups to the Manifest V3 improvements, the extensions button setWhenClicked/setAlwaysOn context menu items have been fixed to account for the extension host permissions listed in the manifest and the ones already granted – Bug 1905146
  • We fixed a regression with the unlimitedStorage permission being revoked for extensions when users cleared recent history – Bug 1907732
  • Thanks to Gregory Pappas, the internals used by the tabs’s captureTab/captureVisibleTab API methods have been migrated to use OffscreenCanvas (and migrated away from using an hidden window) – Bug 1914102
WebExtension APIs
  • Fixed openedTabId for notified through tabs.onUpdated API event when changes through tabs.update API method – Bug 1409262
  • Fixed downloads.download API method throwing on folder names that contains a dot and a space – Bug 1903780
    • NOTE: this fix has been landed in Nightly 131, but it has been also uplifted to Firefox 130 and Firefox ESRs 128 and 115.
  • Fixed webRequest issues related to ChannelWrapper cached attributes missing to be invalidated on HTTP redirects (Bug 1909081, Bug 1909270)
  • Introduced quota enforcement to storage.session API – Bug 1908925
Addon Manager & about:addons
  • Fixed enable/disabled state of the new sidebar extension context menu items (adjusted based on the addon permissions and Firefox prefs) – Bug 1910581

DevTools

DevTools Toolbox
  • Gregory Pappas is reducing usage of hidden windows in the codebase, which we were using in a few places in DevTools (#1914107, #1546738, #1914101, #1915014)
  • Mathew Hodson added a link to MDN in Netmonitor for the Priority header (#1894758)
  • Emilio fixed an issue that was preventing users to modify CSS declarations in the Inspector for stylesheet imported into a layer (#1912996)
  • Nicolas tweaked the styling of focused element and inputs in the markup view so it’s less confusing (#1907803)
  • Nicolas made a few changes to improve custom properties in the Inspector
    • We’re now displaying the computed value of custom properties in the tooltip when it differs from the declaration value (#1626234), and made the different values displayed in the tooltip more colorful (#1912006)
    • And since we now have the computed values, it’s easy to show color swatches for CSS variables, even when the variable depends on other variables (#1630950)
    • We also display the computed value in the input autocomplete (#1911524)
      • Display empty CSS variable value as <empty> , in the variable tooltip and in the computed panel, so it stands out (#1912267, #1912268)
  • Nicolas fixed a crash in the Rules view that was happening when the page was using a particular declaration value (e.g. (max-width: 10px)) (#1915353)
  • Julian made it possible to change css values with mouse scroll when hovering a numeric value in the input (#1801545)
  • Julian fixed an annoying issue that forced users to disconnect and reconnect the device when remote debugging Android WebExtensions (#1856481)
  • Still in WebExtension land, Julian got rid of a bug where breakpoints could still be triggered after being deleted (#1908095)
  • Alex Thayer Implemented a native backend for the JS tracer which will make tracing much faster (#1906719)
  • Alexandre made it possible to show function arguments in tracer popup previews (#1909548)
  • Hubert is on the last stretch to migrate the Debugger to CodeMirror 6 (#1898204, #1897755, #1914654)
  • Julian fixed a couple issues in the Inspector node picker: picking a video would play/pause said video (#1913263), and also, the NodePicker randomly stopped working after cancelled navigation from about:newtab (#1914863)
WebDriver BiDi
  • External:
    • Gatlin Newhouse updated mozrunner to search for DevEdition when running on macos (#1909999)
    • Dan implemented 2 enhancements for our WebDriver BiDi codebase:
      • Introduced a base class RootBiDiModule (#1850682)
      • Added an emitEventForBrowsingContext method which is useful for most of our root BiDi modules (#1859328)
  • Updates:
    • Julian updated the vendored version of Puppeteer to v23.1.0, which is one of the first releases to officially support Firefox. This should also fix a nasty side effect which could wipe your files when running ./mach puppeteer-test (#1912239 and 1911968)
    • Geckodriver 0.35.0 was released with support for Permissions, a flag to enable the crash reporter, and improvements for the unhandledPromptBehavior capability. (#1871543, blog post)
    • James fixed a bug with input.KeyDownAction and input.keyUpAction which would unexpectedly accept multiple characters (#1910352)
    • Sasha updated the browsingContext.navigate command to properly fail with “unknown error” when the navigation failed (#1905083)
    • Sasha fixed a bug where WebDriver BiDi session.new would return an invalid value for the default unhandledPromptBehavior capability. (#1909455)
    • Julian added support to all the remaining arguments for network.continueResponse, which can now update cookies, headers, statusCode and reasonPhrase of a real network response intercepted in the responseStarted phase (which roughly corresponds to the http-on-examine-response notification) (#1913737 + #1853887)

Fluent

Lint, Docs and Workflow

  • Updated eslint-plugin-jsdoc, which has also enforced some extra formatting around jsdoc comments.
  • Document generation is getting some updates.
    • Errors and Critical issues are now being raised as errors (previously they weren’t being considered).
    • More warnings will now be “fatal”, all the existing instances of those warnings have been eliminated. They’ll now be listed in as a specific failure rather than being hidden in the list of general warnings.
    • Some of the warnings that were being output by the generate CI task have now been resolved, which should make it clearer when trying to understand the failures.

Migration Improvements

  • fchasen is working on a new messaging experiment to help encourage people to create accounts to help facilitate device migration / data transfer. QA has come back green, and we expect to begin enrollment soon!

New Tab Page

  • Scott (:thecount) is working on a plan to transition us off the two separate endpoints that provide firesponsored stories and top sites to New Tab to a single end-point.
  • A new mechanism to let users specify the kinds of stories they are interested in with “thumbs up” / “thumbs down” feedback is being experimented with. We’ll be studying this during the Firefox 130 cycle.
  • We’re (slowly) rolling out a new endpoint for recommended stories to New Tab, powered by Merino. The goal is to eventually allow us to better serve specific content topics that users will be able to choose. This is early days, and still being experimented with – but the new endpoint will make things much simpler for us.

Privacy & Security

Profile Management

  • (Note: to avoid potentially breaking the world for nightly users, this work is currently behind the MOZ_SELECTABLE_PROFILES build flag and the browser.profiles.enabled pref.)
  • Mossop removed the –no-remote command line argument and MOZ_NO_REMOTE environment variable, so that the remoting server will always be enabled in a running instance of Firefox (bug 1906260)
  • Mossop updated the remoting service to support sending command lines after startup (bug 1892400). We’ll use this to broadcast updates across concurrently running instances whenever one of them updates the profile group’s shared SQLite datastore.
  • Niklas landed a change to update the default Firefox profile to the last used (last app focused) profile if multiple profiles in a group are running at the same time (bug 1893710)
  • Jared added support for launching selectable profiles (or any unmanaged profiles not in profiles.ini) using the –profile command line option (bug 1910716). This enables launching selectable profiles from UI clicks.
  • Jared updated the startup sequence to allow starting into new the profile selector window (bug 1893667)

Search and Navigation

  • Scotch Bonnet redesign
    • James improved support for persisting search terms when the feature is enabled – Bug 1901871, Bug 1909301
    • Karandeep implemented updating the unified button icon when the default search engine changes – Bug 1906054
    • James fixed a bug causing 2 search engine chiclets to show in the address bar at the same time – Bug 1911777
    • Dale has restored Actions search mode (“> ”) – Bug 1907147
    • Daisuke fixed alignment of the dedicated search button with results – Bug 1908924 
    • Daisuke fixed search settings not opening in a foreground tab – Bug 1913197
  • Search
    • Moritz added support for SHIFT+Enter/Click on search engines in the legacy search bar to open the initial search engine page – Bug 1907034
  • Other relevant fixes
    • Henri Sivonen has restored functionality of the `network.IDN_show_punycode` pref that affects URLs shown in the address bar – Bug 1913022
]]>
https://blog.nightly.mozilla.org/2024/09/13/fantastic-firefox-fixes-these-weeks-in-firefox-issue-167/feed/ 0
Streamline your screen time with auto-open Picture-in-Picture and more – These Weeks in Firefox: Issue 166 https://blog.nightly.mozilla.org/2024/08/26/streamline-your-screen-time-with-auto-open-picture-in-picture-and-more-these-weeks-in-firefox-issue-166/ https://blog.nightly.mozilla.org/2024/08/26/streamline-your-screen-time-with-auto-open-picture-in-picture-and-more-these-weeks-in-firefox-issue-166/#respond Mon, 26 Aug 2024 19:42:47 +0000 https://blog.nightly.mozilla.org/?p=1723 Read more]]> Highlights
  • Special shout-out to Daniele (egglessness) who landed a new experimental Picture-in-Picture feature that can be enabled in Firefox 130! This feature automatically triggers Picture-in-Picture mode for any playing video when the associated tab is backgrounded. This can be enabled in about:settings#experimental
  • Olli Pettay fixed very long cycle collection times in workers which improved performance when Debugging large files in the DevTools Debugger (#1907794)
  • You can now hover over elements in the shadow DOM, allowing you to capture more snippets of a page for screenshots. Thanks to Niklas for this Screenshots improvement and making it work with openOrClosedShadowRoot.
    • Firefox Screenshots feature being used to hover over a JavaScript code block.

      Want to highlight sample code from your favorite dev site? Now it’s possible with the latest Nightly version.

  • Mandy has added support for showing search restriction keywords when users type @ in the address bar. If you want to check it out, be sure to set browser.urlbar.searchRestrictKeywords.featureGate to true.
    • Dropdown of available search keywords for the Firefox address bar, after typing an @ symbol. Options include “Search with History” and “Search with Bookmarks”.

Friends of the Firefox team

Resolved bugs (excluding employees)

Script to find new contributors from bug list

Volunteers that fixed more than one bug

  • Louis Mascari
  • Mathew Hodson

New contributors (🌟 = first patch)

General triage

Project Updates

Add-ons / Web Extensions

Addon Manager & about:addons

  • Fixed origin control messages for MV3 extensions requesting access to all urls through two separate host permissions (e.g. “http://*/*” and “https://*/*”, instead of a single “<all_urls>” host permission) – Bug 1856383

WebExtension APIs

  • Fixed webRequest.getSecurityInfo to make sure the options parameter is optional – Bug 1909474

DevTools

DevTools Toolbox
WebDriver BiDi
  • External:
    • Thanks to Cauã Sene (cauasene00) for updating our tests to fully avoid requests related to system add-on updates. Previously they would just be redirected to a dummy URL and as a result were polluting our test logs. (#1904310)
  • Updates:
    • Sasha implemented a new event called browsingContext.navigationFailed, which is raised whenever a navigation fails (e.g. canceled, network error, etc.). In combination with other events such as browsingContext.load, this allows clients to monitor navigations from start to finish in all scenarios (#1846601)
    • Sasha fixed a bug in the browsingContext.navigate command. If the client used the parameter wait=none, we now resolve the command even if the navigation triggered a “beforeunload” prompt. (#1763134)
    • Sasha fixed a bug with the network.authRequired event, which was previously duplicated after each manual authentication attempt, leading to too many events. (#1899711)
    • Julian updated the data-channel-opened notification to also be emitted for data URL channels created in content processes. Thanks to this WebDriver BiDi will now raise network events for all data URL requests. (#1904343)
    • Julian updated the logic for the network.responseCompleted and network.fetchError events in order to raise them at the right time, and ensure a correct ordering of events. For instance, per spec for a successful navigation network.responseCompleted should be raised before browsingContext.load. (#1882803)

Migration Improvements

Picture-in-Picture

  • Some strings were updated to use capitalised “Picture-in-Picture” rather than “picture-in-picture” per our word list (bug)

Screenshots

Search and Navigation

  • Search
    • Mortiz has created a new test function, SearchTestUtils.setRemoteSettingsConfig for setting the search configuration in xpcshell-tests, and improved SearchTestUtils.updateRemoteSettingsConfig.
      • Both will take a partial search configuration & expand it into a full configuration. This simplifies test-setup, so that you only need to specify the bits that are important to the test.
      • Some tests are already using these, we’ll be rolling it out to more soon.
  • Address Bar

Storybook/Reusable Components

]]>
https://blog.nightly.mozilla.org/2024/08/26/streamline-your-screen-time-with-auto-open-picture-in-picture-and-more-these-weeks-in-firefox-issue-166/feed/ 0
Firefox Sidebar and Vertical tabs: try them out in Nightly Firefox Labs 131 https://blog.nightly.mozilla.org/2024/08/07/firefox-sidebar-and-vertical-tabs-try-them-out-in-nightly-firefox-labs-131/ https://blog.nightly.mozilla.org/2024/08/07/firefox-sidebar-and-vertical-tabs-try-them-out-in-nightly-firefox-labs-131/#respond Wed, 07 Aug 2024 21:59:58 +0000 https://blog.nightly.mozilla.org/?p=1720 Read more]]> We are excited to share that vertical tabs and a new sidebar experience are now available in Nightly 131. This update has been highly anticipated and requested by the community, and we are looking forward to seeing how it enhances your browsing and productivity. To give this in-progress work a try:

  • update to the latest Nightly,
  • go to Settings > Firefox Labs,
  • activate Sidebar and Vertical tabs experiments,
  • click Customize toolbar in the toolbar right-click menu, and drag the sidebar icon to your toolbar. Clicking on the sidebar icon will allow you to expand vertical tabs.

We have designed the new sidebar and vertical tabs experience to make two core browsing workflows more seamless – context-switching and multitasking.

  • The new sidebar allows you to quickly cross-reference all of your favorite tools – be it tabs on your mobile phone, your favorite extension, or bookmarks with your main task at hand.
  • Vertical tabs make it easier to scan information and switch between tasks.

This work is still very much in progress. You’ll see us refine things in the coming months, and we appreciate your feedback to help bring these features to life.

We will also be sharing our backlog of improvements on Mozilla Connect, so you can get a sense for where we ultimately want these features to be.

What’s Next? 

We’re calling on our community to test the new sidebar and vertical tabs experience and your constructive feedback is crucial as we refine these features. Please share your thoughts on Mozilla Connect – we take your input into account and it helps us create a browsing experience that meets your needs 🦊.

If you’re a web extension developer and your extension uses sidebar APIs or works with tabs, we’d love you to test it with the new sidebar and vertical tabs enabled. While there are no changes to Web Extension APIs tied to these features, this is a good opportunity to anticipate unforeseen issues resulting from the updated UI.

]]>
https://blog.nightly.mozilla.org/2024/08/07/firefox-sidebar-and-vertical-tabs-try-them-out-in-nightly-firefox-labs-131/feed/ 0
Concise and compact – These Weeks in Firefox: Issue 165 https://blog.nightly.mozilla.org/2024/07/30/concise-and-compact-these-weeks-in-firefox-issue-165/ https://blog.nightly.mozilla.org/2024/07/30/concise-and-compact-these-weeks-in-firefox-issue-165/#respond Tue, 30 Jul 2024 18:07:48 +0000 https://blog.nightly.mozilla.org/?p=1709 Read more]]>

Highlights

  • Thanks to Alexandre Poirot for the latest DevTools Toolbox JS tracer improvements. The tracer will likely evolve in the next few weeks, so stay tuned for more updates. You can check out this meta bug as well to see what’s planned.
    • The tracer toggle icon was moved from the Debugger to the Toolbox for easier access (#1873060)

A checkbox for toggling JavaScript Tracer under a menu header "Available Toolbox Buttons", as well as a Toolbox icon at the top right corner of DevTools to access JavaScript Tracer

JavaScript Tracer data for a DOM mousedown event logged within a DevTools Debugger side panel. There is also a context menu item called "Trace in the debugger sidebar" to enable or disable this panel.

  • The Search and Navigation team recently landed some Address Bar bug fixes
    • Marco improved handling of copying and editing the scheme parts of URLs
    • Yazan fixed an issue where omnibox keywords (add-on customized behaviour in the Address Bar) could be triggered when in search mode

Friends of the Firefox team

Resolved bugs (excluding employees)

Script to find new contributors from bug list

Volunteers that fixed more than one bug

  • Sebastian Zartner [:sebo]

New contributors (🌟 =  first patch)

Project Updates

Add-ons / Web Extensions

Addon Manager & about:addons
  • Host permissions subsumed by optional host permissions and granted by the user on permissions.request() calls are now going to still be listed for the entire browsing session after the users have revoked them from the Desktop and Android add-ons manager UI – Bug 1899674

WebExtensions Framework
  • MV3 host permissions:
    • The notification dot (shown on the extensions button and/or on the extension browser action toolbar button) is not going to be shown anymore when the current tab url is matching only MV3 optional host permissions – Bug 1905931
    • Fixed potential race between notification dot internals and extensions startup – Bug 1905392
  • Fixed a browser desktop UI accessibility issue hit by users when an extension sidebar panel is opened (regressed in Firefox 127, fixed in Firefox >= 128) – Bug 1905771
  • Fixed race condition that could potentially lead to issues with event page respawning behaviours – Bug 1905153
WebExtension APIs
  • Align browser.runtime.getURL() result when called with a non-extension absolute urls as agreed with other vendors in the WebExtensions W3C Community Group – Bug 1795082
  • Improved error messages logged on invalid application paths found in native messaging manifests – Bug 1908201

DevTools

DevTools Toolbox
WebDriver BiDi
  • External:
    • Andrew Nicols fixed a bug where the SendElementKeys command in WebDriver classic (http) would unnecessarily scroll elements into view, even if they were already visible in the viewport. (#1906095)
    • Balarama Raju reviewed and updated all the error messages for WebDriver classic and BiDi to make sure they all used pretty printing when necessary, and that they all looked consistent. Those messages are displayed to clients when they use commands with invalid or unexpected arguments, so it’s important to make sure the error messages are clear and understandable. (#1788437)
  • Updates:
    • Sasha removed a restriction for our initial implementation for the network.setCacheBehavior command, to allow clients to set the cache behavior both globally and for specific contexts. Previously, we only allowed clients to use one or the other. Now you can for instance disable the network cache for all contexts as a default setting, but still enable the cache in some of them. (#1905307)
    • Sasha fixed a bug with the user prompt events on Android. When several user prompts were displayed simultaneously, we were always picking the first one to emit new events. (#1902264)
    • Julian updated the vendored puppeteer version to 22.13.0, which is the first puppeteer release for which Firefox with WebDriver BiDi is passing 100% of the prioritized puppeteer unit tests.(#1907533)
    • Henrik fixed a bug with the unsupportedPromptBehavior capability, which could only be used on WebDriver classic sessions (or classic + BiDi). It can now be used on BiDi-only sessions, such as the one used by puppeteer. (#1907935)

Lint, Docs and Workflow

Picture-in-Picture

  • Thanks to niklas for resolving uncaught exception: unknown (can’t convert to string) errors whenever we close the PiP window for sites using custom PiP wrappers (Bug 1816756)

Search and Navigation

  • Search
    • Cleanup of the previous search configuration after having switched to v2 is now under way.
    • Moritz has removed most of the old code, including various add-on related support files for tests that are no longer required.
    • Standard8 has simplified most of the search service related tests – we no longer need to start the add-on manager by default, and when we do, our test utils will do it for you.
  • Places
]]>
https://blog.nightly.mozilla.org/2024/07/30/concise-and-compact-these-weeks-in-firefox-issue-165/feed/ 0
100% WebDriver BiDi and 101% more! – These Weeks in Firefox: Issue 164 https://blog.nightly.mozilla.org/2024/07/18/100-webdriver-bidi-and-101-more-these-weeks-in-firefox-issue-164/ https://blog.nightly.mozilla.org/2024/07/18/100-webdriver-bidi-and-101-more-these-weeks-in-firefox-issue-164/#respond Thu, 18 Jul 2024 14:28:01 +0000 https://blog.nightly.mozilla.org/?p=1704 Read more]]> Highlights

Friends of the Firefox team

Resolved bugs (excluding employees)

Script to find new contributors from bug list

Volunteers that fixed more than one bug

  • Sebastian Zartner [:sebo]

New contributors (🌟 = first patch)

Project Updates

Add-ons / Web Extensions

WebExtensions Framework
    • As part of follow ups to the Manifest V3 improvements:
      • Investigated and fixed issues related to the event page lifetime and event page ability to be respawned by persisted event listeners, and improve Manifest V3 background script reliability (Bug 1905505, Bug 1905153, Bug 1830144)
      • Fixed a bug related to the extension button’s “attention dot”, which was making it always shown for Manifest V3 extensions with an activeTab permission (Bug 1851083
    • Fixed theme API internal issue that could make the add-on database to grow unnecessarily (Bug 1830136)
    • Fixed zooming on the extension devtools panels (Bug 1583716)
  • Thanks to Gregory Pappas for contributing this fix!
  • Fixed extension sidebar bug leading extension sidebar to always be open automatically on add-on updates and reloads (Bug 1892667)

 

WebExtension APIs
  • Fixed a downloads API regression that was preventing files containing % character from being saved successfully (Bug 1898498)
  • From Firefox 129, declarativeNetRequest API rules will be able to intercept and modify web requests originate from web pages loaded from a file: URI (Bug 1887869)

 

Addon Manager & about:addons
  • Checkbox that allows users to grant access to private browsing windows as part of the install flow has been moved to the first install dialog in Firefox 129 (Bug 1842832).

DevTools

DevTools Toolbox
  • Sebastian Zartner added warning for inactive CSS for resize (#1551579), box-sizing (#1583894), float-related (#1551580) and table-related (#1868788) properties in the Rules view
  • Valentin Gosu fixed a NetworkError that could happen for fetch calls when Responsive Design Mode was enabled (#1885308)
  • Brad Werth fixed a Browser crash that was occurring when displaying the highlighter for flexbox items (#1901233)
  • Arai fixed Debugger pretty-printing when there was escape sequence inside template literals (#1905653)
  • Alexandre is still working on improving the JS tracer. The max depth can now be set through a pref (#1903791), and when recording to the profiler, the stack chart panel is selected instead of the call tree (#1903792)
  • Julian made network blocking from DevTools actually block the request, not only the response (#1756770)
  • Nicolas fixed an issue in the Rules view that could break the style of the page when writing property values with quotes (#1904752)
  • Alexandre fixed a nasty bug that could prevent DevTools to open (#1903980)
  • Nicolas made some interactive elements in the Inspector keyboard focusable:
    • Stylesheet location link (#1844054)
    • Shape editor button (#1844264)
    • Flex/Grid highlighter toggle button (#1901508)
    • Container query “Jump to container node” button (#1901713)
  • Nicolas Watch expression input is missing focus indicator (#1904339)
  • Nicolas landed a few patches to start supporting high Contrast Mode in DevTools (#1904764, #1904765, #1904839)
  • Nicolas Indicate @starting-style CSS custom properties value in var() tooltip (#1897931)
  • Nicolas Don’t retrieve @starting-style rules in the Rules view until Bug 1905035 is fixed (#1906228)
  • Nicolas added information for registered properties (aka @property) in the Computed panel:
    • Show initial value of registered properties (#1900069)
    • Show invalid at computed-value time declarations (#1900070)
  • Hubert is almost done migrating the Debugger to CodeMirror 6. All major features are now supported and we’re only looking at smaller bugs and test failures before enabling it on Nightly (#1904488)
WebDriver BiDi
  • External:
    • Thanks to James Hendry for removing the deprecated “desiredCapabilities” and “requiredCapabilities” from geckodriver (#1823907)
  • Thanks to :haik and to everyone involved on Bug 1893921 for solving a sandboxing issue with the latest macos arm workers provided for Github actions. This was preventing several projects using Github actions to run their CI on Firefox.
  • Updates:
    • Sasha and Henrik implemented the network.setCacheBehavior command, which allows to disable the network cache either globally or for a set of top-level browsing contexts. This is particularly useful to ensure consistent network behavior during repeated tests (#1901032 and #1906100)
    • Sasha added support for the “originalOpener” field in BrowsingContextInfo, which allows clients to find the opener of a given browsing context, even if it was opened using “rel=noopener”. (#1898004)
    • Julian added support for all arguments to the “network.provideResponse” command, for requests blocked in the “beforeRequestSent” phase. Clients can now build a custom response to any request by providing its body, headers, cookies, status code and status phrase. This way users can easily mock backend responses without having to change their server. (#1853882)
    • Sasha added support for network events using data URLs. At the moment we only emit events for data URLs requests used to load a document, but we will follow up to add support for all requests to data URLs. (#1805176)
    • Henrik implemented the handler field of the browsingContext.userPromptOpened event which will indicate the configured prompt handler for the opened prompt (eg “accept”, “dismiss” etc…). (#1904822)
    • Henrik added support for “beforeunload” prompts, which can now be handled as any other prompt in WebDriver BiDi sessions (they are still automatically dismissed in WebDriver classic sessions). (#1824220)
    • Henrik added support for the “promptUnload” argument to the browsingContext.close command, which allows to skip beforeunload prompts. (#1862380)
    • Henrik updated the default value of the “remote.active-protocols” preference to “1”, which means that from now on, CDP (Chrome DevTools Protocol) is no longer enabled by default. If clients still want to enable it, they can either set this preference to “2” (CDP only) or “3” (WebDriver BiDi + CDP). This is a temporary step before CDP is fully disabled and removed from Firefox around the end of the year. (#1882089)
  • Bug fixes (read-only):
    • Julian fixed a bug with network.continueRequest where you could not provide multiple values for a single header name (#1904379)
    • Julian fixed an issue with authentication flows where we would emit too many network.responseCompleted events. This is still being discussed on the spec side and might change in the future, but for now having a single event to mark the end of the authentication is easier to handle for WebDriver BiDi clients. (#1906106)
    • Henrik fixed a bug in browsingContext.navigate where the command would resolve too early if a script was performing a history navigation via a “beforeunload” event listener. (#1879163)
    • Sasha updated browsingContext.userPromptOpened to always contain the “defaultValue” for prompts of type “prompt”. (#1859814)
    • Henrik updated the browser.close command to silently discard all beforeunload prompts when closing the browser. (#1873196)

Lint, Docs and Workflow

Migration Improvements

  • We just closed the metabug for creating the single-file archive! This is because we now:
    • Create a single-file archive (optionally encrypted)
    • The single-file archive is a specially prepared HTML page that provides instructions on how to recover from it when viewed in Firefox, and download links for Firefox when viewed in other browsers.
    • Moves the single-file archive into a user-configured directory
    • Generates the backup in the background, relatively quickly. Right now, it’s created maximum once an hour when there’s at least 5 minutes of user idle time.
  • The team is focusing on getting the UI for managing and configuring backups completed, as well as doing cleanup, measurement and maintenance bugs

Search and Navigation

Search
  • Moritz fixed a bug to not allow for empty search using search bar one-off buttons. Bug 1904014,
  • Moritz is helping with post search-config-v2 clean up and removed icons from extensions that’s no longer used, and removed SearchEngine.searchForm Bug 1895873, Bug 1903247

 

Scotch Bonnet / Address Bar Refresh initiative
Address bar
  • Yazan fixed accessibility issue where urlbar-zoom-button announcement did not indicate the zoom can be reset to 100%. Bug 1882564
  • Daisuke fixed the search mode chiclet close button so it’s visible in dark mode.  Bug 1905572

 

Suggest
  • Drew enabled Yelp suggestions by default in 129 for users enrolled in Suggest.  Bug 906185

 

Storybook/Reusable Components

Lee.isaacy for fixing Bug 1904113 – Add space tokens to moz-message-bar.css

]]>
https://blog.nightly.mozilla.org/2024/07/18/100-webdriver-bidi-and-101-more-these-weeks-in-firefox-issue-164/feed/ 0
Experimenting with AI services in Nightly https://blog.nightly.mozilla.org/2024/06/24/experimenting-with-ai-services-in-nightly/ https://blog.nightly.mozilla.org/2024/06/24/experimenting-with-ai-services-in-nightly/#respond Mon, 24 Jun 2024 17:40:12 +0000 https://blog.nightly.mozilla.org/?p=1670 Read more]]> In the coming months, we will experiment with providing easy access to optional AI services in Nightly to improve productivity as you browse. This work is part of our improvements to multitasking and cross-referencing in the sidebar, and we are committed to following the principles of user choice, agency, and privacy as we bring AI-powered enhancements to Firefox. To start, this experiment will only be available to Nightly users, and the AI functionality will be entirely optional. It’s there in case it’s helpful, but it is not built into any core functionality.

In the first experiment that you can try out this week, you will be able to:

  • Add a chatbot of your choice to the sidebar, so you can quickly access it as you browse.
  • Select and send text from webpages to:
    • Summarize the excerpt and make it easier to scan and understand at a glance.
    • Simplify language. We find this feature handy for answering the typical kids’ “why” questions.
    • Ask the chatbot to test your knowledge and memory of the excerpt.
Firefox with HuggingChat in sidebar generating a Red Panda summary with headers and lists displayed adjacent to Wikipedia Red Panda page with a few paragraphs selected partially covered by a context menu highlighting "Ask HuggingChat, Summarize"

Select the text you want to summarize

To activate the experience:

  • Go to Settings > Firefox Labs and turn the AI Chatbot Integration experiment on.
  • Choose your preferred chatbot from this list of providers:
    • ChatGPT
    • Google Gemini
    • HuggingChat
    • Le Chat Mistral

Then, as you browse, select any text, right-click it, and choose the Ask chatbot option to send the text, page title, and prompt to your provider. If you want to keep permanent access to the sidebar, click Customize toolbar in the toolbar right-click menu, and drag the sidebar icon to your toolbar.

We believe providing choice in AI services is important for many reasons. First, you should be able to choose the service that works best for you, and not be locked into a single provider. Second, all of these models are still being developed and improved. None are perfect, and they’re each good at some things and not at others. This gives you an opportunity to experiment with many services to find the one that’s most helpful for whatever you’re trying to accomplish. AI is an ingredient that can make your experience better. It doesn’t need to replace the tools you already know and love.

We will continue to improve our AI services experiment before making it available in our beta and release channels, and we welcome your feedback on how to make it more useful. If you have suggestions for improving the feature and feedback on what custom prompts work best for you, please share your thoughts in this Connect post.

Nightly can be configured by advanced testers to use custom prompts and any compatible chatbot, such as llamafile (discord), which runs on-device open models, including open-source ones. We are excited for the community to share interesting prompts, chatbots, and models as we make this a better user experience. We are also looking at how we can provide an easy-to-set-up option for a private, fully local chatbot as an alternative to using third-party providers.

]]>
https://blog.nightly.mozilla.org/2024/06/24/experimenting-with-ai-services-in-nightly/feed/ 0
CSS Rules in your Firefox DevTools – These Weeks in Firefox: Issue 163 https://blog.nightly.mozilla.org/2024/06/18/css-rules-in-your-firefox-devtools-these-weeks-in-firefox-issue-163/ https://blog.nightly.mozilla.org/2024/06/18/css-rules-in-your-firefox-devtools-these-weeks-in-firefox-issue-163/#respond Tue, 18 Jun 2024 21:01:45 +0000 https://blog.nightly.mozilla.org/?p=1664 Read more]]> 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)
    • 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.

      Filter to your hearts content!

    • 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.

      Filter to your hearts content! In dark mode!

  • Nicolas added @property rules (MDN) information in the var() tooltip (#1899489)
    • 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)
      • 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 "" syntax'.
  • Nicolas added support for @starting-style rules (MDN) in the Rules view (#1892192)
  • Nicolas added support for @scope rules (MDN) in the Rules view (#1893593)
    • 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

]]>
https://blog.nightly.mozilla.org/2024/06/18/css-rules-in-your-firefox-devtools-these-weeks-in-firefox-issue-163/feed/ 0
In a nutshell – These Weeks in Firefox: Issue 162 https://blog.nightly.mozilla.org/2024/06/03/in-a-nutshell-these-weeks-in-firefox-issue-162/ https://blog.nightly.mozilla.org/2024/06/03/in-a-nutshell-these-weeks-in-firefox-issue-162/#respond Mon, 03 Jun 2024 17:29:49 +0000 https://blog.nightly.mozilla.org/?p=1647 Read more]]> Highlights
  • The final patch for the new and improved text and layout menu in Reader Mode has landed. Try it out the full feature by flipping the improved_text_menu.enabled pref to true.

A panel in Firefox's Reader Mode is shown for controlling layout and text on the page. The panel lets users control the content width, line spacing, character spacing, word spacing, and text alignment of the text in reader mode.

  • As part of the ongoing work related to improving cross-browser compatibility for Manifest Version 3 extensions, starting from Firefox 128:
    • Context menus created by MV3 and MV2 WebExtensions with an event page are now persisted and preserved across browser updates – Bug 1771328
    • MV3 extensions can use optional_host_permissions to specify a set of additional host permissions that are expected to not be granted automatically as part of the install flow (unlike the ones specified in the host_permissions which are now optional but granted automatically at install time) – Bug 1766026
    • Many improvements on content script matching and support for the match_origin_as_fallback content script option:
    • Fixed issue with content scripts unable to attach sandboxed http/file pages – Bug 1411641
    • Added support for match_origin_as_fallback, and as a side effect of that the ability to inject content scripts into webpages loaded from data URLs – Bug 1475831 / Bug 1853411 / Bug 1897113
    • declarativeNetRequest API improvements:
      • accepts rules with unrecognized keys to aid cross-browser and backward compatibility of DNR rules – Bug 1886608
      • New API methods getDisabledRules / updateStaticRules to allow extensions to individually disable/enable rules part of static rulesets – Bug 1810762
    • webRequest chrome compatibility improvement:
      • Added support for asyncBlocking listeners for webRequest.onAuthRequired – Bug 1889897
    • Thanks to Dave Vandyke for following up with adding test coverage for runtime.onPerformanceWarning event on Android builds (in addition to have previously have implemented this new WebExtensions API event in Firefox) – Bug 1884584

Friends of the Firefox team

Resolved bugs (excluding employees)

Script to find new contributors from bug list

New contributors (🌟 = first patch)

Project Updates

Accessibility

Lint, Docs and Workflow

Migration Improvements

  • Work is ongoing for settings / preferences UI
  • mconley is tackling bits and pieces for encrypting the backup file (Bug 1897278) and preparing the archive file (Bug 1896715 and Bug 1897498)

New Tab Page

  • Wallpapers v2 work is on going, adding categories and new wallpaper options
  • Weather location picker work is also ongoing, working with DISCO team to expand the accuweather API.(Bug 1893007)

Search and Navigation

  • Daisuke enabled the history flooding prevention feature in Nightly. Bug 1895831
  • Daisuke modified the favicons service when using setFaviconForPage to throw an error if the favicon was too large and can’t be optimized. Bug 1894821
  • Marco fixed a bug where opening the address bar would not hide already open menu popups. Bug 1626741
  • Marco also fixed a bug related to the trim https feature where selecting a partial string from the beginning of the URL would also select the protocol that appears when the input field is focused. Bug 1893871
  • Karandeep updated the onEngagement event listener in UrlbarProviders to have this event triggered for its own results. Bug 1857236
]]>
https://blog.nightly.mozilla.org/2024/06/03/in-a-nutshell-these-weeks-in-firefox-issue-162/feed/ 0
Today’s Forecast: Browser Improvements – These Weeks in Firefox: Issue 161 https://blog.nightly.mozilla.org/2024/05/17/todays-forecast-browser-improvements-these-weeks-in-firefox-issue-161/ https://blog.nightly.mozilla.org/2024/05/17/todays-forecast-browser-improvements-these-weeks-in-firefox-issue-161/#respond Fri, 17 May 2024 20:24:08 +0000 https://blog.nightly.mozilla.org/?p=1641 Read more]]> Highlights
  • Volunteer contributor tamas.beno12 has fixed a 5 digit (25 year old) bug! The patch for the bug makes it easier to create transparent windows
  • The newtab team is experimenting with a weather widget! It’s still early days, but you can turn it on in Nightly with a set of 2 prefs found in about:config:
    • Set the following to true:
      • browser.newtabpage.activity-stream.showWeather
      • browser.newtabpage.activity-stream.system.showWeather
    • If you notice any bugs with it, you can file them under Firefox :: New Tab Page
  • Some nice updates to Picture-in-Picture:
  • Bounce Tracking Protection has been enabled in Nightly (Bug 1846492)
    • What is bounce tracking / redirect tracking?
    • The feature detects bounce trackers based on redirect behaviour and periodically purges their cookies & site data to prevent tracking.
    • If you notice that you lose site data or get logged out of sites more than usual please file a bug under Core :: Privacy: Anti-Tracking so we can investigate
    • The feature is still in development so detected trackers are not yet counted as part of our regular ETP stats or on about:protections.
    • Advanced: If you want to see which bounce trackers get detected and purged you can enable the logging by going to about:logging and adding the following logger: BounceTrackingProtection:3
  • Niklas made the screenshots initial state (crosshairs) keyboard accessible
    • The arrow keys can be used to move the cursor around the content area. Enter will select the current hovered region and space will start the dragging state to draw a region.

Friends of the Firefox team

Resolved bugs (excluding employees)

Volunteers that fixed more than one bug

  • Itiel

New contributors (🌟 = first patch)

Project Updates

Add-ons / Web Extensions

Addon Manager & about:addons
  • As already anticipated in this meeting, starting from Firefox 127, installing new single-signed add-ons is disallowed. The QA verification has been completed and this restriction is now enabled on all channels and riding the Firefox 127 release train (Bug 1886160).
WebExtension APIs
  • Starting from Firefox 127, the installType property returned by the management API (e.g. management.getSelf) will be set to ”admin” for extensions that are installed through Enterprise Policy Settings (Bug 1895341)
    • Thanks to mkaply for working on this API improvement for Enterprise Firefox add-ons!
  • As part of the ongoing work related to improving cross-browser compatibility for Manifest Version 3 extensions, starting from Firefox 127:
    • Host permissions requested by Manifest V3 extensions will be listed in the install dialog and granted as part of the add-on installation flow (Bug 1889402).
    • Extensions using the ”incognito”: “split” mode will be allowed to install successfully in Firefox (Bug 1876924)
      • Incognito split mode is still not supported in Firefox, and so the extensions using this mode will not be allowed access to private browsing tabs.
    • The new runtime.getContexts API method is now supported (Bug 1875480).
      • This new API method allows extensions to discover their existing Extensions contexts (but unlike runtime.getViews it returns a json representation of the metadata for the related extension contexts).

Developer Tools

DevTools
  • Pier Angelo Vendrame prevented new request data to be persisted in Private Browsing (#1892052)
  • Arai fixed exceptions that could happen when evaluating Services.prompt and Services.droppedLinkHandler in the Browser Console (#1893611)
  • Nicolas fixed an issue that was preventing users to see stacktrace from WASM-issued error messages (#1888645)
  • Alexandre managed to tackle an issue that would prevent DevTools to be initialized when a page was using Atomics.wait , e.g. stackblitz.com (#1821250)
  • Nicolas added the new textInput event to the Event Listener Breakpoints in the Debugger (#1892459)
  • Hubert is making good progress migrating the Debugger to CodeMirror 6 (#1887649, #1889277, #1889283, #1894379, #1894659, #1889276)
  • Nicolas made sure that ::backdrop pseudo-element rules are visible in the Rules view for popover elements (#1893644), as well as @keyframes rules nested in other at-rules (#1894603)
  • Nicolas fixed performance issue in the Inspector when displaying deeply nested rule (#1844446)
    • for example, a 15-level deep rule was taking almost 9 seconds to be displayed, now it’s only a few milliseconds 
  • Julian removed code that was forcing the Performance tab to be always enabled in the Browser Toolbox, even if the user disabled it in a previous session (#1895434)
WebDriver BiDi
  • Thanks to Victoria Ajala for replacing the usage of the “isElementEnabled” selenium atom with a custom implementation which is more lightweight and maintainable (#1798464)
  • Sasha implemented the permissions.setPermission command which allows clients to set permissions such as geolocation, notifications, … (#1875065)
  • Sasha fixed a bug where wheel scroll actions would not use the provided modifiers (eg shift, ctrl, …) (#1885542)
  • Sasha improved the implementation of the browsingContext.locateNodes command to also accept Document objects as the root to locate nodes. Previously this was restricted to Elements only, but Puppeteer relies heavily on using Document for this command. (#1893922)
  • Henrik fixed a bug where the WebDriver classic GetElementText command would fail to capitalise text containing a underscore (#1888004)

Migration Improvements

New Tab Page

  • Newtab wallpaper experiment going out either this release (next week) or next release, depending on some telemetry bug fix uplifts.
    • To enable wallpapers on HNT, set the following to TRUE:
      • browser.newtabpage.activity-stream.newtabWallpapers.enabled
  • Newtab wallpapers are getting some updates soon. A bunch more wallpapers as options, and some tweaks to the customize menu, a nested menu, to better organize the wallpapers so it’s easier to explore as we add more options.

Picture-in-Picture

  • Thanks to Joseph Webster for adding PiP captions support for more sites with our JWPlayer wrapper (bug)

Performance

Screenshots

Search and Navigation

  • Clipboard suggestions have been temporarily disabled in nightly as it was possible to freeze Firefox on Windows – we’re moving the feature to asynchronous clipboard API – 1894614
  • Features for an update to the urlbar UX codenamed scotchBonnet have started landing, secondary Actions have landed and dedicated search button + others are in progress. These will be enabled in nightly at some point so keep an eye out. Meta bug tracking @ 1891857
  • Mandy fixed an issue with stripping a leading question mark when the urlbar is already in search mode @ 1837624
  • Marco fixed protocols being trimmed when copying urls @ ​​1893871
    • In Nightly, when https stripping is enabled, the loaded URL will gain back the trimmed protocol when the user interacts with the urlbar input field text
  • Marco changed domain inline completion, so that when permanent private browsing is active domain will be picked based on the number of bookmarks to that domain. Bug 1893840
  • The new search configuration (aka search consolidation) is now rolling out in FF 126 release.
    • Ebay support in Poland has been added to application provided engines in the new search configuration and so will become available during FF 126 @ 1885391
  • For Places, Daisuke removed the ReplaceFaviconData() and ReplaceFaviconDataFromDataURL() APIs, replacing their use with a new SetFaviconForPage() API accepting a data URL for the favicon. Long term this is the API we want to use, Places should never fetch from the Network, only store data.

Storybook/Reusable Components

  • Work has started on form components with an eye for the Sidebar Settings feature (and potentially the Experiments section of preferences). Initial components: moz-checkbox, moz-radio-group and moz-fieldset

The message-bar component has been fully removed from the codebase (replaced by moz-message-bar) Bug 1845151 – Remove all code associated with the message-bar component – Thanks Anna!

]]>
https://blog.nightly.mozilla.org/2024/05/17/todays-forecast-browser-improvements-these-weeks-in-firefox-issue-161/feed/ 0