Dashlane Releases MV3-Compatible Chrome Extension
At Dashlane, we’ve just released our Chrome extension compatible with Manifest V3 (MV3)—a completely new architecture model for Chrome extensions set to be a big evolution in the web browser world. This release comes after a thorough evaluation by beta users and IT admins to ensure a smooth transition. (We also have a beta program you can join at dashlane.com/beta if you'd like to get early previews of our web extension!)
What is MV3, and why did Google make this change?
To quote Google, “Manifest V3 represents one of the most significant shifts in the extensions platform since it launched a decade ago.” Google is introducing it to ensure that the extension ecosystem remains secure and scalable and has the potential to extend beyond desktop environments.
The three pillars of MV3 are privacy, security, and performance—and these align perfectly with Dashlane’s aim to provide a security-first password and credential manager.
From background pages to service workers
One key difference between MV2 and MV3 extensions is the removal of background pages and its replacements by service workers. In MV2, extensions could rely on a persistent background page to execute their code. The drawback of this was that it maintained some resource consumption as long as the browser was open. In MV3, they are replaced by service workers. Service workers are scripts that can run in the background based on some received events and are stopped once they have finished executing. This message-driven programming model allows for a lighter memory footprint and is also more secure by design.
It also comes with some constraints as service workers have a predefined lifecycle allowing Chrome to kill them under some specific conditions (lack of activity, calculation running for too long, or network request not receiving a response, for example).
Dashlane’s role in shaping MV3
Since the W3C Web Extension Community Group was launched in June 2021, Dashlane has actively shaped and influenced the future of web extensions to ensure that the Manifest V3 specification allows us to continue to provide the secure, efficient product our users expect from us.
Dashlane’s journey to deliver MV3
In 2022, anticipating Google's MV3 launch, we proactively began the process of putting our MV2 extension on the MV3 rails.
Migrating to MV3 is a huge shift for an extension like Dashlane’s, as we move from a persistent environment in MV2 to a brief event-based environment in MV3 with no background pages. Instead, a service worker is started when needed and terminated shortly after.
While progressively refactoring our code from MV2 to MV3, we faced some technical challenges.
First, we faced a problem on the communication layer that establishes a bridge between the extension user interfaces and the features logic, which could be terminated at any point on the backend code. We added a retry mechanism that would only re-send when the feature logic container (background page or service worker) becomes unavailable and then available again.
At one point, we hit a new problem: The UI became unresponsive because the service worker was killed unexpectedly. We had to develop a mechanism to resume the flow by storing the application state in the new Chrome session storage API provided by Google.
Lastly, we faced some problems due to limitations on the service worker being killed after long network requests or internal operations. Chrome launched a new capability in the first half of 2023 that allows developers to extend the lifetime of a service worker under certain conditions. We leveraged this capability to build a new feature in our core platform so our product experience teams can ensure service worker lifetimes don’t have any customer impact.
Dashlane’s MV3 launch
The main differences between MV2 and MV3 extensions are almost exclusively architectural and invisible to the end user. However, this architectural change of moving away from background pages to service workers ensures that the web extension ecosystem remains a solid and flourishing platform. We have created a modern foundation to build upon—all while ensuring no visible changes for our users.
Google says they will start disabling MV2 extensions in June 2024.
At Dashlane, we have released the MV3 extension well before this deadline, thanks to the many months of testing and validation with customers.
Our plans with other browsers
Google is at the forefront of enforcing MV3 compatibility, but the architecture we’ve developed allows us to quickly adapt to this new environment when other browsers switch from MV2 as well.
Right now, apart from Chrome, no other major browser has a precise timeline for sunsetting MV2 extensions. We anticipate the next browser likely to set a deadline will be Edge. (Microsoft is saying they’re working on the migration timeline now.) Firefox and Safari have recently introduced support for MV3.
Moving forward, we're set to migrate our extension to MV3 across all browsers to unlock its benefits, including speed and efficiency gains.
Get early previews of our MV3 web extension by joining our beta program at dashlane.com/beta.
Sign up to receive news and updates about Dashlane