Flash Roadmap

Contents

  1. 1 Upcoming Changes
    1. 1.1 HTML5 By Default (Target: Chrome 55+ - Dec 2016)
      1. 1.1.1 Summary
      2. 1.1.2 Announcements/ Artifacts
      3. 1.1.3 Status
      4. 1.1.4 Shipping Schedule
      5. 1.1.5 Developer Recommendations
    2. 1.2 Non-Persisted HTML5 by Default (Target: Chrome 66+ - July 2018)
      1. 1.2.1 Summary
      2. 1.2.2 Rationale
      3. 1.2.3 Announcements/ Artifacts
    3. 1.3 Flash Disabled by Default (Target: Chrome 76+ - July 2019)
      1. 1.3.1 Summary
      2. 1.3.2 Announcements/ Artifacts
    4. 1.4 Flash Support Removed from Chromium (Target: Chrome 87+ - Dec 2020)
      1. 1.4.1 Summary
      2. 1.4.2 Announcements/ Artifacts
  2. 2 Shipped Changes
    1. 2.1 Plugin Power Savings Mode (Shipped: Chrome 42 - Sept 2015)
      1. 2.1.1 Summary
      2. 2.1.2 Rationale
      3. 2.1.3 Announcements/ Artifacts
    2. 2.2 Plugin Power Savings Mode - Tiny (Shipped: Chrome 53 - Sept 2016)
      1. 2.2.1 Summary
      2. 2.2.2 Rationale
      3. 2.2.3 Announcement/ Artifacts
    3. 2.3 YouTube Embed Re-Writer (Shipped: Chrome 54 - Oct 2016)
      1. 2.3.1 Summary
      2. 2.3.2 Rationale
      3. 2.3.3 Announcement/ Artifacts
    4. 2.4 De-couple Flash Player (Shipped: Chrome 54 - Oct 2016)
      1. 2.4.1 Summary
      2. 2.4.2 Rationale
      3. 2.4.3 Announcement/ Artifacts
    5. 2.5 PPS Tiny - Remove Un-sized (0x0 or hidden) content Exceptions (Target: Chrome 59 - June 2017)
      1. 2.5.1 Summary
      2. 2.5.2 Rationale
      3. 2.5.3 Announcements/ Artifacts
    6. 2.6 PPS Tiny - No Same Origin Exceptions (Target: Chrome 60 - Aug 2017)
      1. 2.6.1 Summary
      2. 2.6.2 Rationale
      3. 2.6.3 Announcements/ Artifacts
    7. 2.7 Remove "Prefer HTML over Flash" from chrome://flags (Target: Chrome 61 - Sept 2017)
      1. 2.7.1 Summary
      2. 2.7.2 Rationale
      3. 2.7.3 Announcements/ Artifacts
    8. 2.8 Unify Flash Settings (Target: Chrome 62 - Oct 2017)
      1. 2.8.1 Summary
      2. 2.8.2 Rationale
      3. 2.8.3 Announcements/ Artifacts
  3. 3 Relevant Links
    1. 3.1 Adobe
    2. 3.2 Apple
    3. 3.3 Facebook
    4. 3.4 Google
    5. 3.5 Microsoft
    6. 3.6 Mozilla


Upcoming Changes


HTML5 By Default (Target: Chrome 55+ - Dec 2016)

Summary

Navigator.Plugins() and Navigator.MimeTypes() will only report the presence of Flash Player if the user has indicated that the domain should execute Flash. If a site offers an HTML5 experience, this change will make that the primary experience.  We will continue to ship Flash Player with Chrome, and if a site truly requires Flash, a prompt will appear at the top of the page when the user first visits that site, giving them the option of allowing it to run for that site (see the proposal for the mock-ups).

Announcements/ Artifacts

Status

HTML5 by default has shipped and we are currently in the process of ramping up the SEI threshold, per the schedule below.

Currently 87.5% of population have an SEI threshold score of 4 and 12.5% has a threshold score of 8 (we do this to measure the impact of the threshold change). By the end of the month we will progress on to the next phase on the ramp and everyone will be at least at 8.

Shipping Schedule

HTML5 by Default was initially rolled out to 1% of Chrome 55 Stable users (December), followed by a full deployment (i.e. to 100% of users) in Chrome 56 Stable (February).

Flash prompting will only be enabled for sites whose Site Engagement Index (SEI) is below a certain threshold. For Chrome 55, starting in January 2017 prompts will only appear for sites where the user’s SEI is less than 1.  That threshold will increase to 100 through October 2017, when all Flash sites will require an initial prompt. As a reminder, users will only be prompted once per site.

Here’s a summary of thresholds and % of users:


Site Engagement Threshold

User % Enabled

January 2017

1 (Stable 55)

1% (Stable 55), 50% (Beta 56)

February 2017

2

100% (Stable 56)

March 2017

4

100%

April 2017

8

100%

May 2017

16

100%

June 2017

32

100%

July 2017

32

100%

August 2017

32

100%

September 2017

64

100%

October 2017

100

100%


Developer Recommendations

Ultimately we recommend migrating towards HTML5 content, however for sites that still require Flash Player in the interim we recommend presenting users with either one of the following enablement options:
  • (Best approach) Present a link/ image to "Enable" Flash Player that pointed to "https://get.adobe.com/flashplayer/." When users click on that link Chrome will present the necessary UI to enable Flash Player for the site.  It will look something like this.

  • (Alternate approach) Provide the following instructions to your users:
      • Go to "chrome://settings/contentExceptions#plugins"
      • Add an Allow entry for "[*.]yourdomain.com"


Non-Persisted HTML5 by Default (Target: Chrome 66+ - July 2018)

Summary

Sites using Flash will require explicit permission to run, every time the user restarts the browser.

Rationale

Require affirmative user choice to run Flash Player content, without that choice persisting across multiple sessions.

Announcements/ Artifacts

  • TBD

Flash Disabled by Default (Target: Chrome 76+ - July 2019)

Summary

Flash will be disabled by default, but can be enabled in Settings at which point explicit permission is still required for each site when the browser is restarted.

Rationale

Require affirmative user choice to run Flash Player.

Announcements/ Artifacts

  • TBD

Flash Support Removed from Chromium (Target: Chrome 87+ - Dec 2020)

Summary

Flash support/ capability will be removed from Chromium.

Rationale

Align with Adobe's announced plan to end support.

Announcements/ Artifacts

  • TBD


Shipped Changes

Plugin Power Savings Mode (Shipped: Chrome 42 - Sept 2015)

Summary

Chrome pauses non-essential(1) Flash Content, by replacing the plugin content with a static image preview and a play button overlayed.  Users can re-enable this content by clicking play.

(1) - Non-essential content being smaller than 300x400 pixels or smaller than 5x5 pixels.

Rationale

Limit Flash Playbacks to visible main body content (e.g. video, games, etc...) and still permit streaming audio services to function.

Announcements/ Artifacts

Plugin Power Savings Mode - Tiny (Shipped: Chrome 53 - Sept 2016)

Summary


A further restriction to Plugin Power Savings Mode that removes the ability to run 5x5 or smaller content, from a different origin.

Rationale

Much of this content (5x5 below) was used for viewability detection (i.e. to see if an ad was on that page), requiring Chrome to spin up a relatively expensive (in terms of performance) Flash process in order for the site to infer viewability.

With the introduction of Intersection Observer in Chrome 51, which added platform support for this use case, there was no longer a need to continue granting this exception.

We left an exception for "same origin" 5x5 Flash content, to give smaller sites (e.g. using things like clipboard access) time to migrate.

Announcement/ Artifacts


YouTube Embed Re-Writer (Shipped: Chrome 54 - Oct 2016)

Summary

Chrome to automatically use the HTML5 content of a YouTube embed when the Flash one is used.

Rationale

This will allow the long tail of websites that never updated to the HTML5 embeds to no longer require Flash for Chrome users, thus reducing overall usage of Flash in Chrome.

Announcement/ Artifacts

De-couple Flash Player (Shipped: Chrome 54 - Oct 2016)

Summary

Chrome to exclusively use the component updater to distribute Flash Player, and separating it from Chrome's default distribution bundle.

Rationale

Enable Chrome to rapidly distribute Flash Player updates, without re-building the core product, making it easier to match Adobe's monthly release cadence.

This feature was fundamentally technology gated, requiring development of in-line on-demand Flash component installs, differential component updates, and building out special serving infrastructure.

Announcement/ Artifacts

N/A

PPS Tiny - Remove Un-sized (0x0 or hidden) content Exceptions (Target: Chrome 59 - June 2017)

Summary

We are removing the exception for 0x0 (unsized/hidden) content from Plugin Power Savings Mode.

Rationale

We originally intended on blocking this type of content in the PPS Tiny launch, however due to a technical oversight we unintentionally left the exception in. This change brings the implementation in line with what we originally communicated and intended.

Announcements/ Artifacts

N/A

PPS Tiny - No Same Origin Exceptions (Target: Chrome 60 - Aug 2017)

Summary

We are removing the final exception for Plugin Power Savings Mode, which permitted small (5x5) content, hosted on the same origin, to run.

Rationale

The exception was meant to be a temporary relief for smaller developers, for features that are well now very supported by the web platform (e.g. clipboard access, audio streams, etc...).

Announcements/ Artifacts


Remove "Prefer HTML over Flash" from chrome://flags (Target: Chrome 61 - Sept 2017)

Summary

Remove the unsupported experimental flag "Prefer HTML over Flash." 

Rationale

We typically remove feature flags once a feature has launched.  However, for this case, given the impact of the change, we left the flag in for an extended period to assist developers with debugging the change in behavior.  This change will also help remove the number of similar (but somewhat distinct) control points for Flash Player and reduce the overall complexity of configuration, leading up to the settings simplification in the following release.

Announcements/ Artifacts


Unify Flash Settings (Target: Chrome 62 - Oct 2017)

Summary

Transition the current Flash settings to a single On/Off toggle.  If On, Chrome run consistently with HTML5 by Default (i.e. prompting users to enable Flash Player on a per site basis), if Off Flash Player will be blocked.  In effect, this change is removing a UI option to always allow Flash Player to run without prompting.  Users will still be able to manually add wildcard exceptions, which afford similar capabilities as always allow (albeit in a way that's less obvious to configure). 

Existing users who have set "Always Allow" and Ask (HTML5 by Default) will get migrated to On.  Chrome will not automatically create any wildcard exceptions in the transition.

Rationale

The intent is to simplify the user choice down to a single option, enable Flash Player (default == enabled), that is easier for users to understand.  Power users will be able to add exceptions (including those with wildcards) explicitly Allow Flash to run.

Announcements/ Artifacts

  • TBD


Relevant Links

Adobe

Apple

Facebook

Google

Microsoft

Subpages (1): Flash Usage Trends
Comments