52
These Weeks in Firefox: Issue 57
source link: https://www.tuicool.com/articles/hit/zaeAN37
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Highlights
- We’re running experiments to reduce annoying permission prompts in Firefox
- The DevTools team is bringing back Print Simulation ! Thebug to add it back into the inspector has landed last week!
Toggling the print styles on wikipedia
- The Font Editor now supports editing letter-spacing too
Controlling letter-spacing from the Fonts panel
- The Web Console now groups content blocking messages, if you flip the
devtools.webconsole.groupWarningMessages
pref. Much easier to read the output! - The new remote debugging is ON in Nightly now. Check out about:debugging to see the new experience!
- An “Intent to unship” notice for WebIDE and the Connect dialog has been sent.
- The Oxidation of Firefox Sync continues, with the team writing new components in Rust!
- Firefox Front-end Performance Update #16 posted , highlighting some performance improvements that are going out in Firefox 67
- We enabled the FIDO U2F API in Nightly, targeting an uplift to Firefox 67
- Access to the logins list from the entry points not tied to a specific website (about:preferences and the main menu) has nearly doubled in the week-and-a-half since adding the main menu item.
- Access from a page context (filtered to show logins for that domain) has grown over 50x in just two days since enabling the autocomplete footer!
Friends of the Firefox team
Here’s a list of all resolved bugs by volunteers
Fixed more than one bug
- Carolina Jimenez Gomez
- Dhyey Thakore [:dhyey35]
- Hemakshi Sachdev [:hemakshis]
- Ian Moody [:Kwan] (UTC+0)
- Martin Stránský [:stransky]
- Mellina Y.
- PhoenixAbhishek
- Suriyaa Sundararuban [:suriyaa]
- Trishul
- Yuan Cheng
New contributors (:star2: = first patch)
- Avery Berninger ported about:telemetry to Fluent
- Brian Chen ported the tab context menu , andthe synced tabs menu to Fluent
- Yuan Cheng fixed an RTL bug in about:rights
- clement.allain added a Telemetry probe to help gather data about when Telemetry pings fail to be sent
- Dhruvi Butti added a preference to make Web Console autocomplete optional
- Khyati Agarwal got rid of some unnecessary CSS for our menu panels
- Berkay Barlas fixed a bug where Reader Mode wouldn’t return to the default font size when hitting Cmd / Ctrl – 0
- Chris Frey ported about:blocked’s DTDs to Fluent
- lloan:[lloanalas] fixed a glitch where we started showing the full path to a file in the Network Monitor, rather than everything after the domain
- Monika Manuela Hengki got rid of an unnecessary (and erroneous) constant in AppConstants
- mihir17166 got rid of an old PlacesUtils function that we don’t need anymore
- Bisola Omisore (Sola) polished up some CSS for the Network Monitor
- trushita got rid of some dead CSS inside of xul.css
- :star2: violet.bugreportfixed a bug where the WebExtension Cookie API wouldn’t correctly remove cookies assigned to IPv6 addresses
- Laphets [:Laphets] added a context menu option to copy a JSON response in the Network Monitor to the clipboard
Project Updates
Activity Stream
- The Activity Stream team is transitioning ownership of about:newtab and about:home to Pocket until Firefox 70.
- We’re also expanding the Firefox Messaging System from Activity Stream Router and Contextual Feature Recommendations.
- Improved code coverage by including JSX files , and approaching 100% coverage for JSMs .
Discovery Stream
- For Firefox 68, the team is focusing on feature parity with Activity Stream
- Added Save to Pocket and Bookmark context menu items
- Basic personalization with existing domain affinity
- Optimizing performance by loading images lazily , as the page will show many more
Add-ons / Web Extensions
- Uplifted to Firefox 67:
- Luca (rpl) fixed an issue with extension options pages not working in private browsing .
- Aswan fixed Fennec so that lightweight (read: old) themes (LWTs) could be migrated to static themes (read: new, web extension).
- Shane (mixedpuppy) and Luca got some last-minute uplifts so the options for private browsing control for an extension that must be enabled or cannot be enabled arenot confusing (thanks to flod for his help).
- Rob Wu fixed an issue with webRequest use that could result in some uploaded data loss.
- Firefox 68:
- Work continues on long-term projects for Firefox 68
- Mstriemer is rewritingabout:addons in HTML (recently:theme previews, detail view ).
- Shane made it so raw manifests are read (for localized manifests), as part of the conversion of search plugins to web extensions.
- Kmaglione’s 25-patch behemoth to “ convert built-in LWTs to static themes ” (which actually includes supporting refactors for everything from error messages to scope identification, startup, and the removal of previous LWT code that blocked those changes). [Not to be confused with the 9-patch “remove LWT gunk” bug resolution, the 4-patch “ remove references to LWT preferences ” bug, and the bug that was discovered on Android that prevented LWTs from migrating.]
- Luca fixed:
- an issue with browser.storage.onChanged not firing when falsey values were removed (! This will hopefully go to 67 also)…
- …a bug with extensions not respecting global cookie policy , so that network.cookie.cookieBehavior behaves globally as expected…
- …and a bug with SidebarUI throwing an error onWindowOpen.
- Trishul made it so themes don’t have the private browsing toggle and made it so you can’t re-assign an already-assigned keyboard shortcut .
- violet.bugreport fixed browser.cookies.remove so it successfully removes ipV6 cookies .
- Kmaglione replaced prepare_test(), which isn’t that big a deal to everyone here, but does have the best description I’ve read in a while .
- Work continues on long-term projects for Firefox 68
Applications
Firefox Accounts
- All FxA projects have been consolidated into a monorepo , to make developing and deploying easier. Check out this post from the team for more info :circus_tent:
- Vlad integrated the new device pairing flow into the Android Reference Browser! :iphone:
Sync
- Check out Edouard’s blog post about how we expose Rust FFIs to Kotlin and Swift . :memo:
- Rust, Rust, Rust!
- Thom landed a shared networking layer . This lets all our Rust components use Necko (via GeckoView) on Android, instead of the Rust networking stack. :globe_with_meridians:
- Edouard is replacing OpenSSL with NSS in our components, and got NSS cross-compiling for iOS. :lock:
- Mark is fixing `SQLITE_BUSY` errors caused by multiple write connections—if you’ve seen crashes while syncing history in the Reference Browser, this is probably why—and is starting work on a Sync Manager for Fenix to support “Choose What to Sync”. :arrows_counterclockwise:
- We’re exploring how to integrate some of our Rust components into Desktop, using the Rust XPCOM bindings! Check out Lina’s dev-platform post for some background.
- Rust bookmark merging is ready for testing! :books:
- Barring any showstoppers, this will be in 68: ride the train to early Beta, then gradually rolled out to Release.
- Please install theAbout Sync add-on, flip the `services.sync.engine.bookmarks.buffer` pref to true, restart, andlet us know if you spot bugs!
- Phil has been working on a new durable storage server , also written in Rust! :package:
Developer Tools
- Layout Tools
- Starting to work on Inactive CSS . This lets users see when CSS declarations are valid but do not have any effect on the page (bug, mockup #1 “how inactive CSS declarations look in the inspector” , mockup #2 “example of tooltips telling users why a declaration is inactive” ).
- Coming soon: Making CSS warnings in the console more useful . That means, e.g., not emitting warnings for vendor-prefixed properties when corresponding unprefixed properties exist. Or linking warnings to DOM nodes in the inspector. Thanks to jdescottes, nchevobbe and emilio for working on theplatform support .
- Debugger
- Uplifting several fixes for column breakpoints and windowless workers.
- Column Breakpoints are pretty solid now. As always, please keep an eye out for issues and report any if needed.
- Most of the team is busy with general debugger quality issues they’ve prioritized.
- Console
- Clicking on a location in the console now opens the debugger at the expected column (thanks Mellina (yogmel),bug).
- Switch `devtools.webconsole.input.autocomplete` if you want to turn autocompletion off entirely (thanks Dhruvi,bug).
- Fission
- Platform work on this requires the DevTools toolbox to be loaded via `<iframe type=”content”/>`. This means the toolbox document is slightly more “sandboxed” into its frame. This unblocks Fission, which is good! (seebug andbug).
Fission
- Felipe updated about:support to show a more detailed breakdown of process types
- Nika is updating OpenBrowserWindow to take a fission: true argument . Expect some Nightly-only UI soon to open Fission Windows, similar to how we developed Electrolysis. (e10s #2: Electric Boogaloo)
- This bug also adds a “[F]” suffix to tab tooltips on Nightly to indicate that the tab can run out-of-process iframes.
- mconley has a first pass on a BrowserChild.jsm port to the JS Window Actors if you’re interested in seeing what that looks like
- brennie has ported a good chunk of RemoteWebProgress / WebProcessChild to C++ (while also making them Fission-compatible)
- Some small chunks remaining, but this has also yielded some niceperformance improvements
Lint
- Landed the automatic ESLint configuration for test directories
- Standard test directory names won’t need .eslintrc.js files
- Thinking about reorganising other test directories which aren’t in the standard setup to match it, e.g. browser/components/customizableui/test -> browser/components/customizableui/test/browser
- ESLint versions have been bumped .
- Gijs landed the patch that allows basic linting of xul files .
- Ian Moody continues the work to roll-out the ESLint rule no-throw-literal across the tree .
- dom/bindings ,dom/push anddom/svg are the latest directories to be enabled for ESLint.
Mobile
Firefox for Android
- Nightly 68 now has anARM64 JIT. ARM64 will improve stability (fewer out-of-memory crashes) and security (better ASLR), but is not expected to have much impact on performance at this time.
- Nightly 68 has enabled Android PGO . Improves Speedometer score by 5%!
- Nightly 68 has reduced paint suppression delay to improve First Contentful Paint time.
- Nightly 68 has enabled Retained Display Lists to improve responsiveness on complex pages.
Password Manager
- Fixed
Performance
- We’re getting close to landing a test that tracks startup mainthread IO . Once it lands, adding new startup mainthread IO will cause test failures on infra.
- We’re also digging through the list of existing mainthread IO that happens at some point during Firefox startup, filing bugs to get rid of, move off-main-thread, or delay, anything that isn’t strictly necessary for startup itself:
- Initial startup numbers from improving readahead on xul.dll are looking very promising
Policy Engine
- Landed support for a whitelist of preferences
- Will allow us to add prefs people want without the whole process
- Fixed a bug where failed extension installs didn’t reinstall
- Adding basic support for ExtensionSettings for extension whitelisting
Privacy / Security
- Erica added new prefs for controlling features that are available in content blocking
- We now log a console message for TLS 1.0 and 1.1 (bug 1512505)
- Erica made it so that we clear storageAccessAPI permissions when history is cleared.
- Johann unforked the cert error pages !
- Pauldefeated evil sites that would change their sub-domain to infinitely ask for permissions
Search and Navigation
Search
- No user-facing updates this time, but lots of ongoing work on multiple fronts:
- WebExtension default engines
- New search codes
- Bettertest coverage
- User Research and experiments
Quantum Bar
- Fixed aregression causing us to get search suggestions for file:// uris
- Refining details about the first Quantum Bar experiment, to be run in Q2
- 35 bugs fixed in Quantum Bar in the last 2 weeks, 13 open bugs to reach MVP
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK