New issue
Advanced search Search tips

Issue 919628 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

Convert switches to features

Project Member Reported by beccahughes@chromium.org, Jan 7

Issue description

Convert audio focus switches to features.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 8

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

commit 39fa39db06ee34188d5f75fe411758cec242f608
Author: Becca Hughes <beccahughes@chromium.org>
Date: Tue Jan 08 20:10:57 2019

[Audio Focus] Add enforcement mode

Add an enforcement mode to AudioFocusManager which
will configure how audio focus is enforced. There are
three types of enforcement: kSingleSession (only one
session at a time), kSingleGroup (only one group at
a time) and kNone (no enforcement).

Also uses this new method to set audio focus to
kSingleSession when ChromeVox is enabled. At the moment
this is done through adding the |kEnableAudioFocus|
switch which we wish to replace with a base::Feature.

BUG= 919628 

Change-Id: I8d4f38bba8e55a26cc0676f2a0cf894c378e3fe8
Reviewed-on: https://chromium-review.googlesource.com/c/1399294
Reviewed-by: Tommy Steimel <steimel@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Becca Hughes <beccahughes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620852}
[modify] https://crrev.com/39fa39db06ee34188d5f75fe411758cec242f608/chrome/browser/chromeos/accessibility/accessibility_manager.cc
[modify] https://crrev.com/39fa39db06ee34188d5f75fe411758cec242f608/chrome/browser/chromeos/accessibility/accessibility_manager.h
[modify] https://crrev.com/39fa39db06ee34188d5f75fe411758cec242f608/services/media_session/audio_focus_manager.cc
[modify] https://crrev.com/39fa39db06ee34188d5f75fe411758cec242f608/services/media_session/audio_focus_manager.h
[modify] https://crrev.com/39fa39db06ee34188d5f75fe411758cec242f608/services/media_session/audio_focus_manager_unittest.cc
[modify] https://crrev.com/39fa39db06ee34188d5f75fe411758cec242f608/services/media_session/media_controller_unittest.cc
[modify] https://crrev.com/39fa39db06ee34188d5f75fe411758cec242f608/services/media_session/public/mojom/audio_focus.mojom

Project Member

Comment 2 by bugdroid1@chromium.org, Jan 9

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

commit ac86cd44a90114e79936ea908c063ec9cabafb47
Author: Becca Hughes <beccahughes@chromium.org>
Date: Wed Jan 09 23:49:54 2019

[Audio Focus] Convert switches to features

Converts the existing audio focus / media session
switches to the following features:

 - AudioFocusDuckFlash
 - InternalMediaSession will switch on the media
   session layer without switching on the service.
   This should only be used for Android and Cast
   specific bits that do not use the service.
 - MediaSessionService will switch on the media
   session code in content as well as the service,
   but we will not enforce single session audio focus.
   This should be on by default for on Chrome OS for
   ChromeVox.
 - AudioFocusEnforcement will enforce single session
   audio focus.
 - AudioFocusSessionGrouping will allow sessions with
   the same group id to share focus. This will only be
   used for Chrome OS browser level audio focus.

Features that directly modulate the behavior of the
service will be in media_session, all others will be
in media_switches.

BUG= 919628 

Change-Id: I5be92c1b83ac23bf4cb1dc5ba6606eee487deac4
Reviewed-on: https://chromium-review.googlesource.com/c/1395063
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Commit-Queue: Becca Hughes <beccahughes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621374}
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/chrome/browser/about_flags.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/chrome/browser/chromeos/accessibility/accessibility_manager.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/chrome/browser/flag-metadata.json
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/chrome/browser/web_applications/extensions/web_app_audio_focus_browsertest.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/chromecast/browser/cast_browser_main_parts.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/chromecast/browser/cast_content_browser_client.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/chromecast/browser/cast_feature_list_creator.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/chromecast/browser/cast_feature_list_creator.h
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/chromeos/services/assistant/media_session/assistant_media_session.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/components/arc/media_session/arc_media_session_bridge.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/media_internals_unittest.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/audio_focus_delegate_default.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/audio_focus_delegate_default_browsertest.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/media_session_browsertest.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/media_session_controller_unittest.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/media_session_controllers_manager.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/media_session_controllers_manager_unittest.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/media_session_impl_service_routing_unittest.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/media_session_impl_uma_unittest.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/media_session_impl_unittest.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/media_session_impl_visibility_browsertest.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/pepper_playback_observer.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/media/session/pepper_player_delegate.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/content/browser/service_manager/service_manager_context.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/media/base/media_switches.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/media/base/media_switches.h
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/services/media_session/audio_focus_manager.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/services/media_session/audio_focus_manager_unittest.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/services/media_session/public/cpp/BUILD.gn
[add] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/services/media_session/public/cpp/features.cc
[add] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/services/media_session/public/cpp/features.h
[delete] https://crrev.com/29fa93958937e4324a35ec332f3ee8d06c3df2ff/services/media_session/public/cpp/switches.cc
[delete] https://crrev.com/29fa93958937e4324a35ec332f3ee8d06c3df2ff/services/media_session/public/cpp/switches.h
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/services/media_session/public/cpp/test/mock_media_session.cc
[modify] https://crrev.com/ac86cd44a90114e79936ea908c063ec9cabafb47/tools/metrics/histograms/enums.xml

Status: Fixed (was: Started)

Sign in to add a comment