NPAPI Plugins in Firefox

Benjamin Smedberg

Mozilla has been steadily improving the Web platform to support features that were once only available via NPAPI plugins. Streaming video, advanced graphics, and gaming features have all become native Web APIs in the past few years. Mozilla continues to prioritize features that will make it possible for sites to switch away from plugins. Features such as clipboard access which used to require plugins are now available via native Web APIs. As browsers and the Web have grown, NPAPI has shown its age. Plugins are a source of performance problems, crashes, and security incidents for Web users.

Mozilla intends to remove support for most NPAPI plugins in Firefox by the end of 2016. Firefox began this process several years ago with manual plugin activation, allowing users to activate plugins only when they were necessary. This decision mirrors actions by other modern browsers, such as Google Chrome and Microsoft Edge, which have already removed support for legacy plugins. Moreover, since new Firefox platforms do not have to support an existing ecosystem of users and plugins, new platforms such as 64-bit Firefox for Windows will launch without plugin support.

Because Adobe Flash is still a common part of the Web experience for most users, we will continue to support Flash within Firefox as an exception to the general plugin policy. Mozilla and Adobe will continue to collaborate to bring improvements to the Flash experience on Firefox, including on stability and performance, features and security architecture.

As part of our plugin strategy, Mozilla and Unity are proud to jointly announce a close collaboration and an aligned roadmap that will enable Unity-based content to be experienced directly in the browser without plugins. As this technology continues to evolve, Unity has announced an updated roadmap for its Web Player technology.

Websites and publishers which currently use plugins such as Silverlight or Java should accelerate their transition to Web technologies. The Web platform is powerful and can usually do everything that a plugin can do. In the rare cases where a site needs to extend Web technologies, the recommended solution is to develop the additional features as a Firefox add-on. Site maintainers should prepare for plugins to stop working in all versions of Firefox by the end of 2016.

Mozilla continues to work with the Oracle Java Platform Group to ensure a smooth transition for those web sites that use Java. More information from Oracle about Java transition plans can be found in a post from the Oracle team. Oracle recommends that sites currently using Java applets consider switching to plugin-free solutions such as Java Web Start.

The Mozilla team wants to work closely with affected publishers to make this transition as painless as possible. The Web provides an increasingly rich environment which should eliminate the need for plugins, and we are eager to continue improving the Web platform for any use cases where plugins may still be required. Discussion about this announcement and any questions about the future of Firefox plugins should be directed to the Mozilla plugins development list.

Help Test Private Browsing with Tracking Protection in Firefox Beta


Firefox Beta, with experimental new features like Tracking Protection in Private Browsing, is now available for testing. We’re always working to give users more choice and control over their Web experience and we have a hypothesis that users have a greater expectation of privacy when using Private Browsing. We’ve gotten feedback from some of our pre-beta users that supports this. Users reported that they believed Private Browsing was already protecting them from third-party tracking across the Internet.

We’re testing a feature in Private Browsing called Tracking Protection that blocks certain page elements. Most websites rely on many different “third-parties” — companies that are separate from the site you’re visiting — to provide analytics, social network buttons and display advertising. These third-parties sometimes include page elements that could record your browsing activity to create profiles about you across multiple sites and Private Browsing with Tracking Protection in Firefox Beta blocks some of these page elements.

No other mainstream browser’s private mode protects you from website tracking like the feature we’re testing. Firefox Private Browsing doesn’t store information about your browsing session locally when you close the window. Private Browsing with Tracking Protection goes further by limiting data that third parties receive from you while you are in Private Browsing mode.

We’re also experimenting with a new Control Center for Private Browsing in Firefox Beta that contains site security and privacy controls in a single place under the shield icon in your address bar.

How to Test Tracking Protection in Private Browsing

You can help us test Private Browsing with Tracking Protection in Firefox Beta on Android by following the instructions here or on Windows, Mac and Linux by following the steps below:

1. Click the menu buttonFx Menu
2. Click New Private Window icon to launch a Private Browsing session.


3. You will see a screen that confirms Tracking Protection is on.


4. Navigate to any website and browse as usual.

How to disable Tracking Protection for a specific site in Private Browsing

In some cases, Web pages might appear broken when elements that track behavior are blocked. You can choose to disable Tracking Protection in Private Browsing for a particular site using the Control Center by following the steps below:

1. Locate and click the shield icon on the left side of the URL bar.


2. The Control Center is then shown and identifies that Tracking Protection is blocking parts of the page.

3. Click the “Disable protection for this session” to turn off Tracking Protection.


We are still experimenting with these features in Private Browsing and we want your feedback as you test them. To share your experience of testing Private Browsing in Firefox Beta, please go to our feedback page.

More information:

Windows 10 and User Choice

Nick Nguyen

User choice is a core principle with which we design our products. In particular, we’ve found that the best way to design products is to craft experiences where our users understand the choices they are making and ensuring those choices are respected.

A recent example is how we evolved our strategy around search in favor of a more geographically targeted approach to search. First, when we changed the default search provider shipping with Firefox in a relevant geography, if a user had chosen a specific search provider as default before the switch, we respected that choice and made no change to that user’s default. Second, we redesigned the user interface to make it easier to both change the default search engine as well as choose different search engines on a per-search basis with a single click.


Our user research shows that this new interface works – users can and do quickly and easily make changes to their search preferences.

User choice should be respected in all products. This is not always the case. Unfortunately, as we pointed out in July, one instance where we feel that the principle of user choice isn’t being respected is with respect to browser choice in Microsoft’s new Windows 10 experience. We have three specific examples of this:

Upgrading to Windows 10 from Previous Versions of Windows

During the upgrade process from a previous version of Windows, if you have set your default browser to Firefox, Windows 10 overrides your default browser to Microsoft Edge in a way that’s hard for users to detect or fix.

Changing Default Browsers in Windows 10

After you’ve installed Windows 10 and either noticed your default apps had been replaced or want to change your defaults, Windows 10 makes it very hard to reverse those changes.

Not only are user’s previous choices overridden during the upgrade process, when combined with the new difficulties in setting default apps, non-technical users will have a very hard time setting their choices with any third-party browser on Windows 10.

Default search providers in your default browser

We’ve also noticed that the lack of choice isn’t limited to the applications. Once you’ve chosen Firefox (or another browser) as your default, if you execute a Web search through the Windows 10 Cortana feature, regardless of your default search provider, the query is automatically sent to the browser as a Bing query. Not only is choice ignored, there does not seem to be any way to opt out of this.

You might notice that we’ve been able to mitigate some of these effects through workarounds, but the workarounds don’t work for all versions of Windows and can be easily defeated if Microsoft decides to change Windows. Importantly: we shouldn’t have to create workarounds to preserve user choice – it should be designed into Windows 10.

We are always happy to see innovation in browsers and Microsoft believes it has done something truly innovative with Edge. However, it is unfortunate to see Microsoft not allow other applications to compete with Edge on a level playing field within Windows 10. Because users are best served when they choose products based on their merits and not on skewed criteria or without their knowledge, we feel that Microsoft isn’t putting their best foot forward with regards to the principle of choice.

Restoring the User Choice Principle in Windows 10

We know that if Microsoft were to re-embrace the principle of user choice, it would make the right decisions, respecting users and creating an environment in Windows 10 that treated all applications, Microsoft and non-Microsoft alike, fairly and equitably. Ultimately, expressing this kind of respect for users in their products will reflect well on Microsoft.

Firefox for iOS Now Available for Preview


Today we are delighted to begin the roll out in New Zealand of our first public preview version of a Firefox browser for iOS.

iOS TopPreview to collect feedback

Our goal is to create a great browsing experience for iOS with Firefox. With this first public preview we will be collecting feedback in one country, before we extend availability to get feedback in a few more countries prior to a full public launch. Feedback from this preview release will help us build new features and bring Firefox for iOS to the App Store in rest of the world later this year. If you are interested in being notified when Firefox is available in your country, sign up here.

Features we are collecting feedback on

This preview release features Intelligent Search, which provides suggested search results and the choice of search providers.

FFx-iOS_iPhone6plus-Search_PR-wTag_ENWith Firefox Accounts, you can take your Firefox browser history, passwords and tabs from your desktop to your iOS devices. The preview release of Firefox for iOS also includes Visual Tabs, an intuitive way to keep track of your open tabs.

FFx-iOS_iPhone6plus-Tabs_PR-wTag_EN(1)Collecting feedback

We want your feedback to help us make Firefox for iOS great. You can share feedback directly with us in the app. To do this, tap the numeric tab icon on the top right of Firefox for iOS, tap the “Settings”  menu on the top left and go to “Support” to send your feedback directly to us.


New Experimental Private Browsing and Add-ons Features Ready for Pre-Beta Testing in Firefox


We’re experimenting with new features in pre-beta versions of Firefox (Firefox Developer Edition on Windows, Mac and Linux and Firefox Aurora on Android) to offer more control over your privacy, including updated Private Browsing ready for pre-beta testing.

All major browsers offer some form of experience that is labeled ‘private’ but this is typically intended to solve the “local” privacy case, namely preventing others on a shared computer from seeing traces of your online activity. This is a useful solution for many users, but we’re experimenting with ways to offer you even more control when they open Private windows.

Private Browsing

Our hypothesis is that when you open a Private Browsing window in Firefox you’re sending a signal that you want more control over your privacy than current private browsing experiences actually provide. The experimental Private Browsing enhancements ready for testing today actively block website elements that could be used to record user behavior across sites. This includes elements like content, analytics, social and other services that might be collecting data without your knowledge. In some cases, websites might appear broken when elements that track behavior are blocked, but you can always unblock these if you want to view the website normally. Private Browsing in pre-beta Firefox also has a Control Center that contains important site security and privacy controls in a single place. As pre-beta testers, we need your feedback and we will use it to make the experience better for future releases. Please go to our feedback page to share your experience using the new experimental Private Browsing.


Firefox Makes Add-ons Safer

Add-ons are another important way you control your Web experience in Firefox and we are making them safer. Add-ons provide virtually limitless possibilities for how you can customize the look and functionality of Firefox. However, add-ons also have access to information Firefox manages and we are working to help make third-party add-ons a safer experience for personalizing your Firefox. Add-ons may have the ability to create unwanted toolbars or buttons, collect information, change your search settings or inject ads or malware into your device. We’ve worked with developers and created a process that attempts to verify that add-ons installed in Firefox meet the guidelines and criteria we’ve developed to ensure they’re safer for you. Starting with this release, add-on verification is enforced by default in pre-beta Firefox. Users who understand the risks of unverified add-ons can disable this (see the Add-ons Blog for details).

Testing Multi-process with Electrolysis

Electrolysis runs Web content in a separate process from the main browser and is enabled by default for most pre-Beta users. Performance improves with Electrolysis because the main browser process remains responsive to your input even when the content process is doing work. Some Firefox add-ons may not currently be compatible with Electrolysis and might not work as expected or at all. As always, we appreciate your help as our adventurous pre-Beta tester in helping us explore experimental features in pre-Beta Firefox. If you have comments on the quality of the Electrolysis experience, please share them through our feedback page.

Stay Tuned

We’re working on more new features to test soon, including an experience to help parents get added control of their children’s online experience, more ways to connect with Firefox Hello Beta and a way to bring the full Firefox experience to iOS.

More information:

Firefox for Windows 10: How to Restore or Choose Firefox as Your Default Browser

Mark Mayo

We’re excited to bring all that you love about Firefox to Windows 10. When you upgrade to Windows 10 or get a device that already has it installed, you may be surprised to find that your default browser is set to Microsoft Edge by Windows. Microsoft has changed how to set default applications in Windows 10 and to help with the process, we have illustrated below all the steps you need to set or change your default back to your intended choice.

  1. When you open Firefox for the first time, you will be asked if you’d like to make it your default browser. To do so, click the “Use Firefox as my default browser”
  2. The Windows Settings app will open with the Choose default apps screen. Scroll down and click the entry under Web browser. The Web browser icon will say either “Microsoft Edge” or “Choose your default browser”. It may not be intuitive, but you need to click on the Microsoft Edge logo to open the window that will let you choose another Web browser as your
  3. This will open the Choose an app screen. Click Firefox in the list to set it as the default
  4. Firefox is now listed as your default browser. Close the window to save your changes.

Here’s a video walkthrough of this process.
If you need more help, please go to our support page.

Help Test Firefox Beta on Windows 10

We wanted to make sure that Firefox showed up on Windows 10 as a first-class experience, so we’ve made a lot of subtle tweaks to the look and feel that both sit well in the Windows 10 context and are definitively Firefox. We’re taking visual cues from style changes appearing in Windows 10 and we’re also reducing the overall browser UI footprint to increase space for viewing the Web. Download Firefox Beta now to help test out these updates or watch out for them coming soon in the general release of Firefox!

More information:


What to Look Forward to from Firefox OS


Firefox OS is an important part of our mobile strategy, in addition to Firefox for Android and other initiatives. We believe that building an open, independent alternative to proprietary, single-vendor platforms is critical to the future of a healthy mobile ecosystem. And it is core to our mission to promote openness, innovation and opportunity in online life.

As an open source project, we are different from other tech companies and do most of our work and planning in the open, so we want to share a brief update of what we’re planning and what we’ll be experimenting with for the next phase of Firefox OS.

Ignite Initiative

Earlier this year, we shared that we were moving to the next phase of Firefox OS, where we would focus on the core product experience to ensure that it is clean, modern and easy-to-use, and yet powerful through its extensibility, clever design and features that put users in control of their experience.

Our aim is to build the next generation of Firefox OS with a stronger, more unified product experience and developer platform that exemplifies our values by showcasing the best of the Web.

To accomplish this, we are bringing threeignite image key ideas together:

  1. User focus: Ensuring that we’re delivering an experience that people love through user-centered design, research and product iteration
  2. Web platform: Bringing more of Mozilla and the Open Web to people than just the Web technologies upon which our products are built
  3. Community: Rallying and fully empowering our global community of developers, designers, and more to help build the future together

To deliver upon this vision we are immediately moving to a development model where we will drive a single open source core of Firefox OS, with major releases every six months, based upon weekly sprints.

Each major release will strive to deliver significant user and platform value, and will be available directly to anyone who wants to flash an unlocked Android phone or run through B2GDroid (an app that allows you to experience Firefox OS on Android) to get the latest experience, help test new features and to contribute back to the overall project. We will also support our partners (i.e. OEMs and operators) who will build and ship Firefox OS-powered devices based upon these major releases.

Firefox OS 2.5

The next major version of Firefox OS is now scheduled for this November.  You can view the draft roadmap and plan here.

Firefox OS 2.5 will be the most customizable, secure, locally relevant and empowering Firefox OS experience yet. In addition to local content, personalization and privacy features, we plan to enable the mobile equivalent of “View Source” (note: we’re still evaluating and designing the final feature set), revamp our security model to expose more of the new mobile Web APIs to developers and enable a Firefox-like extension mechanism to add to the user interface and phone capabilities.

New Product Development

We are also ramping up focused new product development efforts with key partners, building on recent announcements about Firefox OS Smart TVs and Smart Feature Phones, and active explorations into the Internet of Things and other connected device opportunities.

Stay tuned for more.

Mozilla Games Technology Roadmap


In furthering the advantages and appeal of the Web as a platform for games and game technologies, Mozilla is publishing its games-focused roadmap. In short, it’s all about high-performance, plugin-free games on the Web. We have made incredible progress over the last few years; to continue this trend, Mozilla has been working with game developers and tool makers to identify additional enhancements that will further empower the community. The following roadmap outlines both the feedback we received and the solutions we are currently pursuing in response to this feedback. This roadmap may be subject to change.

With the unveiling of WebAssembly, browsers have taken another common step towards native levels of performance on the Web. This roadmap outlines the wider view of additional Web platform functionality needed to allow game developers to provide the best possible experiences. Games are often a great catalyst for driving technology forward due to their demanding nature. To maximize the benefit to the Web, care has been taken to ensure that solutions will benefit the widest possible range of applications.

There are two levels to this document. The first is the Roadmap section which contains areas that are currently in development and we have a reasonable level of confidence we can address in the next year. The second is the Under Consideration section which contains topics that are under active investigation.


  • Allow developers to better exploit hardware parallelism.
    • Developers are struggling to get multi-threaded games running efficiently on the Web:
      • Standardize, implement and ship SharedArrayBuffer [1,2].
      • Add pthreads support to Emscripten [1,2].
      • Expose performance-sensitive Web APIs to Web Workers: WebGL, WebSockets, IndexedDB, WebAudio, WebRTC, WebVR.
      • Share compiled code (asm.js and WebAssembly) between workers [1].
    • Developers want to take advantage of SIMD hardware to optimize their code:
      • Standardize, implement and ship SIMD.js [1,2].
      • Include SIMD in WebAssembly [1].
      • Add SIMD support to Emscripten [1].
  • Improve cold load time of large compiled codebases.
    • Developers want to see reduced download, compilation and startup time for multi-million line compiled codebases.
      • WebAssembly will provide significant download size reductions (even before native support, through the polyfill) [1].
      • Natively decoding WebAssembly will be significantly faster than parsing JavaScript/asm.js [1].
      • Add a fast WebAssembly/asm.js compiler that allows an app to start quickly while a fully-optimizing compilation proceeds in a background thread [1].
      • Off-main-thread, streaming parsing/compilation [1].
    • Developers want to avoid depending on HTTP Content-Encoding:gzip for generic compression.
      • Add Emscripten support to perform decompression in asm.js / WebAssembly while downloading (allowing more aggressive algorithms than gzip).
  • Improve browser storage capabilities.
    • Developers seeking to avoid the permission prompt associated with persistent storage hit limitations of temporary storage as currently implemented in browsers.
      • Improve temporary quota limits to take into account factors like frecency.
      • Provide more information on quota usage and allowance [1].
      • Propose, standardize and implement finer-granularity units of evictable storage [1].
      • Allow cross-origin storage usage [1].
    • Developers that need persistent storage guarantees hit limitations of persistent storage as currently implemented in browsers.
      • Standardize persistent storage so that other browsers implement [1].
      • Reduce UI friction associated with the persistent permission prompt [1].
      • Improve storage management/eviction UI for browser users.
  • Improve browser graphics capabilities.
    • Ship WebGL2 [1].
    • Standardize and implement streaming WebGL canvas via WebRTC [1,2].
    • Run WebGL on discrete hardware for systems with integrated+discrete (e.g. nVidia Optimus).
  • Allow developers to better avoid 32-bit browser Out-of-Memory conditions.
    • Ship 64-bit Firefox on 64-bit Windows.
    • Avoid Emscripten in-memory Virtual File System for asset storage by leveraging pthreads and FileReaderSync to provide synchronous file I/O in workers.
  • Continue investment in performance across the platform.
    • Significantly optimize WebAudio performance [1].
    • Reduce WebGL shader compile times [1,2].
    • Reduce latency and jitter in the browser’s rendering pipeline [1,2,3,4].
    • Continue investments in the performance of JS, DOM, WebGL, WebRTC, codec, layout, rendering, compositing, animation, etc.
  • Continue investment in Emscripten.
    • Add support for pthreads, SIMD, and WebAssembly, as mentioned above.
    • Further improve compilation speed.
  • Continue investment in Firefox developer tooling to better support game developers.
    • Improve Web Worker support [1].
    • Allow developers to break on various asm.js/WebAssembly error conditions [1].

Under Consideration

  • Developers are having trouble identifying how many Web Workers they should create to distribute their workload. Benchmarking methods often prove unreliable.
  • Developers are hitting the 20-per-origin limit on web workers in Firefox and are requesting a much higher limit.
  • Leverage multi-process browser architecture to guarantee a fresh address space for games with large contiguous heaps allocated early in process startup.
  • Investigate Out-of-Memory error reporting mechanism to send safe/sanitized triage information back to Web app developers.
  • Collaborate on new standards to improve IME capabilities [1,2].
  • Add hardware cursor API [1].
  • Improve Gamepad API [1].
  • Add Pointer Clipping extension to Pointer Lock API [1].
  • Add Emscripten tooling for memory use/leak debugging.
  • Standardize (as part of WebAssembly or more generally) a more scalable form of source maps suitable for large compiled codes.

What to Look Forward to from Firefox


We created Firefox more than a decade ago with a mission to give people transparency, choice and control online. Since then, the browser has continued to evolve its critical role in how users experience the Web and control their online lives.

That’s why at Mozilla we’re always focused on one question: how do we make Firefox even better and continue to delight users? Because we are different than most tech companies and work in the open, we are sharing some experiments centered around the three focus areas of our strategy.

Firefox Pillars

Uncompromised Quality

The first focus area is delivering an uncompromised user experience that ensures Firefox meets the most rigorous of quality and performance standards. This commitment is evident in the strides we’re making to improve the richest Web experiences like HTML5 video playback and game performance.  We’ll also soon deliver Firefox to new platforms, such as Firefox for iOS and Windows 10, where we will provide an independent and high-performing alternative to the stock browser.

Best Of The Web

Firefox is well known for giving users complete control over their Web experience while pushing the boundaries of the “modern browser.” Today, we’re working with more partners and developers around the world to highlight innovation and offer the best of the Web in Firefox. We showed this with our new search strategy for Firefox to promote choice and innovation and with new open technologies we build based on standards including Firefox Hello, the first WebRTC in-browser video chat tool made in partnership with Telefonica. We continue to pioneer open standards including WebVR, WebGL and WebRTC to advance the Web as the development platform.

Uniquely Firefox

Earlier this year, we asked users to identify what’s different about Firefox and the results reaffirmed our view that it’s important for Firefox to be increasingly recognized for attributes such as performance, trust and quality that align with our mission.

We value that our users trust us because we protect their choices and protect their privacy. That’s why we are experimenting with improvements to private browsing and other unique features for a major release focused on these three areas that we’ll share with Firefox users later this year.

Stay tuned for more.

Update on Firefox for iOS


We want to bring Firefox to every language, platform and device possible. Although we can’t bring the full Firefox experience and rendering engine to iOS due to the restrictions, we saw an opportunity with the latest improvements and tools in iOS 8 to begin development of a Firefox experience for iOS.

The Firefox team has been working hard on development of this new browser over the past few months. We are sharing source code in Github for the brave early testers and are also preparing for a limited Firefox for iOS Beta soon. Of course, we would prefer to have a large, open beta, but we must work through the required development and release process to get a Firefox app tested on iOS to get it ready to share with the world.

We’ll post more updates here as Firefox for iOS develops.