New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 850062 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug
Team-Security-UX



Sign in to add a comment

Implement Ephemeral Flash Settings

Project Member Reported by laforge@google.com, Jun 6 2018

Issue description

Work required to make origin based Flash permissions only persist through the browsing session.  This is meant to correspond the work described on the Flash Roadmap page(1).

(1) - https://www.chromium.org/flash-roadmap#TOC-Non-Persisted-HTML5-by-Default-Target:-Chrome-68---July-2018-
 

Comment 1 by laforge@google.com, Jun 6 2018

Components: Internals>Plugins>Flash
Labels: -Pri-3 M-69 OS-Chrome OS-Linux OS-Mac OS-Windows Pri-1
Cc: msramek@chromium.org rhalavati@chromium.org
Components: Internals>Permissions>Model
Owner: msramek@chromium.org
Status: Assigned (was: Untriaged)
Cc: ericde@chromium.org
Owner: rhalavati@chromium.org
Passing the implementation ownership to rhalavati@.

The breakdown of steps is about as follows:

- Introduce an experimental flag (all the rest of the changes will be guarded by it)
- Frontend:
  - Pass the flag value from C++ to JS via site_settings_handler.cc
  - Add a sentence about Flash being ephemeral to the Flash settings UI (part of privacy_page.html)
  - Remove the ADD buttons for Flash exceptions (same place)
- Backend:
  - Introduce a FlashProvider (or as discussed in the meantime, a more general EphemeralProvider)
  - If the experimental flag is off, FlashProvider refuses all reads and writes. If it is on, FlashProvider accepts Flash permissions and PrefProvider stops accepting them.
  - Add test coverage for FlashProvider and more generally HostContentSettingsMap

As we decided to keep the default setting, there is neither any frontend change related to the default toggle, nor a backend change related to DefaultProvider.
Status: Started (was: Assigned)
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6f5d985e8b293ca8d474835f0b76c92ac0059aae

commit 6f5d985e8b293ca8d474835f0b76c92ac0059aae
Author: Ramin Halavati <rhalavati@chromium.org>
Date: Wed Jun 20 09:37:05 2018

Add an experimental flag for ephemeral flash permissions.

Flash permissions are on the way to become only persistent through
current session.
This CL adds an experimental flag for the required changes.

Bug:  850062 
Change-Id: Iccc22dbb2c9d63711e8b58c76e59a6939bd58d46
Reviewed-on: https://chromium-review.googlesource.com/1105986
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568776}
[modify] https://crrev.com/6f5d985e8b293ca8d474835f0b76c92ac0059aae/chrome/browser/about_flags.cc
[modify] https://crrev.com/6f5d985e8b293ca8d474835f0b76c92ac0059aae/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/6f5d985e8b293ca8d474835f0b76c92ac0059aae/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/6f5d985e8b293ca8d474835f0b76c92ac0059aae/chrome/common/chrome_features.cc
[modify] https://crrev.com/6f5d985e8b293ca8d474835f0b76c92ac0059aae/chrome/common/chrome_features.h
[modify] https://crrev.com/6f5d985e8b293ca8d474835f0b76c92ac0059aae/chrome/common/chrome_switches.cc
[modify] https://crrev.com/6f5d985e8b293ca8d474835f0b76c92ac0059aae/chrome/common/chrome_switches.h
[modify] https://crrev.com/6f5d985e8b293ca8d474835f0b76c92ac0059aae/tools/metrics/histograms/enums.xml

Project Member

Comment 7 by bugdroid1@chromium.org, Jun 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a6d088d6b27151246a30f3e836bb1b301345fe0

commit 1a6d088d6b27151246a30f3e836bb1b301345fe0
Author: Martin Šrámek <msramek@chromium.org>
Date: Fri Jun 22 13:02:54 2018

Sync the Flash permission toggle in the page info dialog

The Flash permission toggle is shown in page info iff Flash was ever
used on a given website.

When ephemeral Flash permissions are enabled, we Sync this piece
of information to make the toggle appear on all devices, to somewhat
counteract the reduced usability of the ephemeral permission.

At the same time, migrate the Feature object to //components so that
we can refer to it from the relevant code.

Bug:  850062 
Change-Id: I69a843233e8c1f13abdd7027fddeb4d4692a5af6
Reviewed-on: https://chromium-review.googlesource.com/1109685
Commit-Queue: Martin Šrámek <msramek@chromium.org>
Reviewed-by: Ramin Halavati <rhalavati@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569589}
[modify] https://crrev.com/1a6d088d6b27151246a30f3e836bb1b301345fe0/chrome/browser/about_flags.cc
[modify] https://crrev.com/1a6d088d6b27151246a30f3e836bb1b301345fe0/chrome/common/chrome_features.cc
[modify] https://crrev.com/1a6d088d6b27151246a30f3e836bb1b301345fe0/chrome/common/chrome_features.h
[modify] https://crrev.com/1a6d088d6b27151246a30f3e836bb1b301345fe0/chrome/common/chrome_switches.cc
[modify] https://crrev.com/1a6d088d6b27151246a30f3e836bb1b301345fe0/chrome/common/chrome_switches.h
[modify] https://crrev.com/1a6d088d6b27151246a30f3e836bb1b301345fe0/components/content_settings/core/browser/website_settings_registry.cc
[modify] https://crrev.com/1a6d088d6b27151246a30f3e836bb1b301345fe0/components/content_settings/core/common/BUILD.gn
[add] https://crrev.com/1a6d088d6b27151246a30f3e836bb1b301345fe0/components/content_settings/core/common/features.cc
[add] https://crrev.com/1a6d088d6b27151246a30f3e836bb1b301345fe0/components/content_settings/core/common/features.h
[modify] https://crrev.com/1a6d088d6b27151246a30f3e836bb1b301345fe0/tools/metrics/histograms/enums.xml

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/54d90df48562fbb368e01ce725619f28d1eb028c

commit 54d90df48562fbb368e01ce725619f28d1eb028c
Author: Ramin Halavati <rhalavati@chromium.org>
Date: Mon Jul 02 11:53:49 2018

Add message to ContentSettings page if Flash permissions are ephemeral.

The Ephemeral Flash permissions flag is passed from C++ to JS and if
Flash permissions are ephemeral, a message is added to the content
settings page for Flash.

Bug:  850062 
Cq-Include-Trybots: luci.chromium.try:closure_compilation
Change-Id: Ia68536c59079eba197464fc4a30747871da2d9b1
Reviewed-on: https://chromium-review.googlesource.com/1113537
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571866}
[modify] https://crrev.com/54d90df48562fbb368e01ce725619f28d1eb028c/chrome/app/settings_strings.grdp
[modify] https://crrev.com/54d90df48562fbb368e01ce725619f28d1eb028c/chrome/browser/resources/settings/privacy_page/privacy_page.html
[modify] https://crrev.com/54d90df48562fbb368e01ce725619f28d1eb028c/chrome/browser/resources/settings/privacy_page/privacy_page.js
[modify] https://crrev.com/54d90df48562fbb368e01ce725619f28d1eb028c/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6166a3d2f5c7de6b9181ec8441834804880deac1

commit 6166a3d2f5c7de6b9181ec8441834804880deac1
Author: Ramin Halavati <rhalavati@chromium.org>
Date: Tue Jul 03 05:26:44 2018

Move flash permissions to a new Ephemeral Provider.

A new content settings provider for ephemeral permissions is added and
flash permissions are moved to it. This provider keeps the permissions
as long as the current session is not closed.

Bug:  850062 
Change-Id: Ib0825eeb39dbf7a341ac47a537f0f0bdfaf7848d
Reviewed-on: https://chromium-review.googlesource.com/1107988
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572117}
[modify] https://crrev.com/6166a3d2f5c7de6b9181ec8441834804880deac1/components/content_settings/core/browser/BUILD.gn
[add] https://crrev.com/6166a3d2f5c7de6b9181ec8441834804880deac1/components/content_settings/core/browser/content_settings_ephemeral_provider.cc
[add] https://crrev.com/6166a3d2f5c7de6b9181ec8441834804880deac1/components/content_settings/core/browser/content_settings_ephemeral_provider.h
[modify] https://crrev.com/6166a3d2f5c7de6b9181ec8441834804880deac1/components/content_settings/core/browser/content_settings_info.cc
[modify] https://crrev.com/6166a3d2f5c7de6b9181ec8441834804880deac1/components/content_settings/core/browser/content_settings_info.h
[modify] https://crrev.com/6166a3d2f5c7de6b9181ec8441834804880deac1/components/content_settings/core/browser/content_settings_pref_provider.cc
[modify] https://crrev.com/6166a3d2f5c7de6b9181ec8441834804880deac1/components/content_settings/core/browser/content_settings_pref_provider.h
[modify] https://crrev.com/6166a3d2f5c7de6b9181ec8441834804880deac1/components/content_settings/core/browser/content_settings_registry.cc
[modify] https://crrev.com/6166a3d2f5c7de6b9181ec8441834804880deac1/components/content_settings/core/browser/content_settings_registry.h
[modify] https://crrev.com/6166a3d2f5c7de6b9181ec8441834804880deac1/components/content_settings/core/browser/host_content_settings_map.cc
[modify] https://crrev.com/6166a3d2f5c7de6b9181ec8441834804880deac1/components/content_settings/core/browser/host_content_settings_map.h

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aec6172c47282ee03ab910b8311bca65812d7dc2

commit aec6172c47282ee03ab910b8311bca65812d7dc2
Author: Ramin Halavati <rhalavati@chromium.org>
Date: Tue Jul 03 07:04:10 2018

Add unittest for sontent settings EphemeralProvider.

A unittest is added for content settings EphemeralProvider.

Bug:  850062 
Change-Id: If4e488291b8242accb10998e884b33258b6d3b0e
Reviewed-on: https://chromium-review.googlesource.com/1114842
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572133}
[modify] https://crrev.com/aec6172c47282ee03ab910b8311bca65812d7dc2/components/content_settings/core/browser/BUILD.gn
[modify] https://crrev.com/aec6172c47282ee03ab910b8311bca65812d7dc2/components/content_settings/core/browser/content_settings_ephemeral_provider.h
[add] https://crrev.com/aec6172c47282ee03ab910b8311bca65812d7dc2/components/content_settings/core/browser/content_settings_ephemeral_provider_unittest.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e165387330317d7a4eacf7359b1c2ea3e7751b77

commit e165387330317d7a4eacf7359b1c2ea3e7751b77
Author: Ramin Halavati <rhalavati@chromium.org>
Date: Wed Jul 04 04:26:32 2018

Make exceptions in Flash settings page read only.

Flash content settings are planned to become ephemeral and this feature
is behind 'EnableEphemeralFlashPermission' switch.
To make the ephemeral case more apparent to the user, the 'Add' buttons
for 'Allow' and 'Block' exceptions in Flash content settings are
removed and this is done by making the list read only.

Bug:  850062 
Cq-Include-Trybots: luci.chromium.try:closure_compilation
Change-Id: I0c216cc0f319a579bcab1639f0b7345070b474c8
Reviewed-on: https://chromium-review.googlesource.com/1124360
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572470}
[modify] https://crrev.com/e165387330317d7a4eacf7359b1c2ea3e7751b77/chrome/browser/resources/settings/privacy_page/privacy_page.html

Project Member

Comment 12 by bugdroid1@chromium.org, Jul 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/24882ddd023623e9b92910d11535e17e9e829f5f

commit 24882ddd023623e9b92910d11535e17e9e829f5f
Author: Ramin Halavati <rhalavati@chromium.org>
Date: Thu Jul 05 06:05:30 2018

Update EphemeralProvider to delete pattern if set to Null.

EphemeralProvider deletes patterns if null value is passed to
SetWebsiteSetting function.

Bug:  850062 
Change-Id: I79bc9e627d150456268ffca1c368f976e406b3c4
Reviewed-on: https://chromium-review.googlesource.com/1125721
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572715}
[modify] https://crrev.com/24882ddd023623e9b92910d11535e17e9e829f5f/components/content_settings/core/browser/content_settings_ephemeral_provider.cc
[modify] https://crrev.com/24882ddd023623e9b92910d11535e17e9e829f5f/components/content_settings/core/browser/content_settings_ephemeral_provider_unittest.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Jul 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f774ea4aea8919f6f9aa300edcbc8373c1484cf

commit 5f774ea4aea8919f6f9aa300edcbc8373c1484cf
Author: Ramin Halavati <rhalavati@chromium.org>
Date: Thu Jul 05 14:05:25 2018

Update tests for integration of Ephemeral Content Settings Provider.

Tests are updated and added to check integration of ephemeral content
settings provider.

Bug:  850062 
Change-Id: I417f2fcb523f1e8d1840bcd605cf66d35e40e702
Reviewed-on: https://chromium-review.googlesource.com/1125933
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572781}
[modify] https://crrev.com/5f774ea4aea8919f6f9aa300edcbc8373c1484cf/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
[modify] https://crrev.com/5f774ea4aea8919f6f9aa300edcbc8373c1484cf/chrome/browser/content_settings/host_content_settings_map_unittest.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Jul 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/695d822510ccebf625c77664de180ad76494f798

commit 695d822510ccebf625c77664de180ad76494f798
Author: Ramin Halavati <rhalavati@chromium.org>
Date: Fri Jul 06 10:16:24 2018

Add tests to HostContentSettingsMap unittest.

Two tests are added to HostContentSettingMap unittest to check ephemeral
types storage and reset.

Bug:  850062 
Change-Id: Id163c9b6fd8ee91aaf7ebdf6c75325c29011d960
Reviewed-on: https://chromium-review.googlesource.com/1127371
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572934}
[modify] https://crrev.com/695d822510ccebf625c77664de180ad76494f798/chrome/browser/content_settings/host_content_settings_map_unittest.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Jul 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/25ca1f7f85142e5dc30b9fe9fa5122a091058ef7

commit 25ca1f7f85142e5dc30b9fe9fa5122a091058ef7
Author: Ramin Halavati <rhalavati@chromium.org>
Date: Tue Jul 10 12:54:17 2018

Update PrefProvider to clear unsupported types if requested.

When PrefProvider receives clear requests for unsupported types
(ephemeral ones), it removes them from permanent storage.

Bug:  850062 
Change-Id: Ic559358595732ab9130a8da222c1c6297d29b72a
Reviewed-on: https://chromium-review.googlesource.com/1127619
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573696}
[modify] https://crrev.com/25ca1f7f85142e5dc30b9fe9fa5122a091058ef7/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
[modify] https://crrev.com/25ca1f7f85142e5dc30b9fe9fa5122a091058ef7/components/content_settings/core/browser/content_settings_pref_provider.cc
[modify] https://crrev.com/25ca1f7f85142e5dc30b9fe9fa5122a091058ef7/components/content_settings/core/browser/content_settings_pref_provider.h

Status: Fixed (was: Started)
All steps from #4 are done.
Project Member

Comment 17 by bugdroid1@chromium.org, Jul 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cb2802bdf77878126f93612ca1ae463d34072aed

commit cb2802bdf77878126f93612ca1ae463d34072aed
Author: Ramin Halavati <rhalavati@chromium.org>
Date: Tue Jul 17 08:12:38 2018

Enable ephemeral Flash permissions by default.

Switch EnableEphemeralFlashPermission switch's default value to true.

Bug:  850062 
Change-Id: I42cc3adb918f9c0e95d5ad17f08577d6149b3999
Reviewed-on: https://chromium-review.googlesource.com/1138238
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575577}
[modify] https://crrev.com/cb2802bdf77878126f93612ca1ae463d34072aed/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
[modify] https://crrev.com/cb2802bdf77878126f93612ca1ae463d34072aed/components/content_settings/core/common/features.cc

Sign in to add a comment