Opt-in activation of plugins (click to play plugins)

Revision as of 23:09, 23 February 2012 by Imelven (talk | contribs)
Please use "Edit with form" above to edit this page.

Status

Opt-in activation of plugins (click to play plugins)
Stage Development
Status In progress
Release target `
Health OK
Status note `

{{#set:Feature name=Opt-in activation of plugins (click to play plugins)

|Feature stage=Development |Feature status=In progress |Feature version=` |Feature health=OK |Feature status note=` }}

Team

Product manager `
Directly Responsible Individual Jared Wein
Lead engineer Jared Wein
Security lead Lucas Adamski
Privacy lead `
Localization lead `
Accessibility lead `
QA lead `
UX lead `
Product marketing lead `
Operations lead `
Additional members `

{{#set:Feature product manager=`

|Feature feature manager=Jared Wein |Feature lead engineer=Jared Wein |Feature security lead=Lucas Adamski |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=` |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}

Open issues/risks

`

Stage 1: Definition

1. Feature overview

Currently all plugins start running when a page requests them. Security vulnerabilities in plugins can be used to perform drive by attacks on users, as well as increase the memory usage of the browser unnecessarily. Plugins also extend the capabilities of the web platform, and are still needed for some multimedia capabilities and legacy websites.

2. Users & use cases

We want to balance the extra benefits of opting-in to plugin activation without hurting the user experience of sites that depend on plugins.

3. Dependencies

`

4. Requirements

`

Non-goals

`

Stage 2: Design

5. Functional specification

`

6. User experience design

When plugins are found on a page, their start up will be delayed until a user performs interaction with the browser to enable the running of the plugin.

Visible plugins will have a chrome-privileged overlay that users will click on to activate the plugin. Invisible (or barely visible) plugins will cause an infobar to appear to enable all plugins on the page.

Phase 1 of this project will be an "all or nothing" strategy. Adding another hurdle for drive-by attacks will be an improvement over where we are now.

Future phases may incorporate a way for users to selectively enable specific plugin types (Flash vs. Java vs. Silverlight etc.). This implementation hasn't been designed or agreed upon yet, but it may be similar to the blocked-popup context menu.

Stage 3: Planning

7. Implementation plan

`

8. Reviews

Security review

`

Privacy review

`

Localization review

`

Accessibility

`

Quality Assurance review

`

Operations review

`

Stage 4: Development

9. Implementation

The work for this bug can be found in bug 711552: https://bugzilla.mozilla.org/show_bug.cgi?id=711552

Stage 5: Release

10. Landing criteria

` {{#set:Feature open issues and risks=` |Feature overview=Currently all plugins start running when a page requests them. Security vulnerabilities in plugins can be used to perform drive by attacks on users, as well as increase the memory usage of the browser unnecessarily. Plugins also extend the capabilities of the web platform, and are still needed for some multimedia capabilities and legacy websites. |Feature users and use cases=We want to balance the extra benefits of opting-in to plugin activation without hurting the user experience of sites that depend on plugins. |Feature dependencies=` |Feature requirements=` |Feature non-goals=` |Feature functional spec=` |Feature ux design=When plugins are found on a page, their start up will be delayed until a user performs interaction with the browser to enable the running of the plugin.

Visible plugins will have a chrome-privileged overlay that users will click on to activate the plugin. Invisible (or barely visible) plugins will cause an infobar to appear to enable all plugins on the page.

Phase 1 of this project will be an "all or nothing" strategy. Adding another hurdle for drive-by attacks will be an improvement over where we are now.

Future phases may incorporate a way for users to selectively enable specific plugin types (Flash vs. Java vs. Silverlight etc.). This implementation hasn't been designed or agreed upon yet, but it may be similar to the blocked-popup context menu. |Feature implementation plan=` |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=The work for this bug can be found in bug 711552: https://bugzilla.mozilla.org/show_bug.cgi?id=711552 |Feature landing criteria=` }}

Feature details

Priority P1
Rank 999
Theme / Goal `
Roadmap User Experience
Secondary roadmap Security
Feature list Desktop
Project Responsiveness
Engineering team Desktop front-end

{{#set:Feature priority=P1

|Feature rank=999 |Feature theme=` |Feature roadmap=User Experience |Feature secondary roadmap=Security |Feature list=Desktop |Feature project=Responsiveness |Feature engineering team=Desktop front-end }}

Team status notes

  status notes
Products ` `
Engineering ` `
Security ` `
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` `
User experience ` `
Product marketing ` `
Operations ` `

{{#set:Feature products status=`

|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=` |Feature security health=` |Feature security notes=` |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}