Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Issue 2526533002: Allow MediaSession in iframes to be routed (Closed)

Created:
4 years, 1 month ago by Zhiqiang Zhang (Slow)
Modified:
4 years ago
Reviewers:
Ted C, whywhat, Charlie Reis
CC:
agrieve+watch_chromium.org, chromium-reviews, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Allow MediaSession in iframes to be routed This CL allows MediaSession in iframes to be routed, as per spec change: https://github.com/WICG/mediasession/pull/149 To achieve this goal, class MediaSessionServiceRouter is added for selecting which MediaSession object to route. The current MediaSessionService routing strategy is: * If the top-level frame uses MediaSession API, always select the top-level session. * If the top-level frame has no MediaSession, select one of an audio-producing frame, and route its session (or null if the frame does not use MediaSession API). CL explanation: https://docs.google.com/a/google.com/document/d/1Ht6DxjOcfBctfRT3_wOkwGoNUaJY-Q8K18MV3xdAh_8/edit?usp=sharing BUG=670319 Committed: https://crrev.com/ddc545cbe5a17717fbd3193c21ae2a63dc92ba40 Cr-Commit-Position: refs/heads/master@{#436266}

Patch Set 1 #

Total comments: 10

Patch Set 2 : merging router into session #

Patch Set 3 : nits #

Patch Set 4 : nits #

Total comments: 5

Patch Set 5 : Addressed Anton's comments and updated selection strategy #

Total comments: 6

Patch Set 6 : addressed new commets from Anton #

Total comments: 8

Patch Set 7 : nits #

Total comments: 6

Patch Set 8 : nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+450 lines, -121 lines) Patch
M chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java View 1 2 3 4 5 6 7 4 chunks +4 lines, -13 lines 0 comments Download
M content/browser/media/session/audio_focus_manager_unittest.cc View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/media/session/media_session_android.h View 1 chunk +2 lines, -4 lines 0 comments Download
M content/browser/media/session/media_session_android.cc View 1 2 chunks +8 lines, -15 lines 0 comments Download
M content/browser/media/session/media_session_controller.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/media/session/media_session_controller.cc View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/media/session/media_session_impl.h View 1 2 3 4 5 8 chunks +49 lines, -21 lines 0 comments Download
M content/browser/media/session/media_session_impl.cc View 1 2 3 4 5 6 7 10 chunks +132 lines, -27 lines 0 comments Download
A content/browser/media/session/media_session_impl_service_routing_unittest.cc View 1 2 3 4 5 1 chunk +188 lines, -0 lines 0 comments Download
M content/browser/media/session/media_session_player_observer.h View 1 2 3 4 5 2 chunks +6 lines, -0 lines 0 comments Download
M content/browser/media/session/media_session_service_impl.h View 1 2 3 4 5 2 chunks +18 lines, -9 lines 0 comments Download
M content/browser/media/session/media_session_service_impl.cc View 1 3 chunks +9 lines, -8 lines 0 comments Download
M content/browser/media/session/mock_media_session_player_observer.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/media/session/mock_media_session_player_observer.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/media/session/pepper_player_delegate.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/media/session/pepper_player_delegate.cc View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/MediaSessionImpl.java View 1 2 chunks +6 lines, -8 lines 0 comments Download
M content/public/android/java/src/org/chromium/content_public/browser/MediaSessionObserver.java View 1 2 chunks +5 lines, -9 lines 0 comments Download
M content/public/browser/media_session_observer.h View 2 chunks +5 lines, -7 lines 0 comments Download
M content/test/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 34 (15 generated)
Zhiqiang Zhang (Slow)
The CL is still rough. Just sending this for initial feedback. Take your time :)
4 years, 1 month ago (2016-11-22 18:01:01 UTC) #2
whywhat
the description seems to be not descriptive enough. do you think you could merge the ...
4 years, 1 month ago (2016-11-22 23:13:17 UTC) #3
whywhat
Also, the PR quoted in the description doesn't seem to say how exactly UA is ...
4 years, 1 month ago (2016-11-22 23:17:31 UTC) #4
Zhiqiang Zhang (Slow)
PTAL w/ comments applied: * Merged MediaSessionServiceRouter into MediaSessionImpl * Updated CL description * Nits ...
4 years ago (2016-11-25 14:50:41 UTC) #6
whywhat
On 2016/11/25 at 14:50:41, zqzhang wrote: > PTAL w/ comments applied: > > * Merged ...
4 years ago (2016-11-28 19:54:32 UTC) #7
whywhat
lgtm modulo nits & the question about the main frame and embedded playback https://codereview.chromium.org/2526533002/diff/60001/content/browser/media/session/media_session_controller.h File ...
4 years ago (2016-11-28 19:59:14 UTC) #8
Zhiqiang Zhang (Slow)
Anton, can you PTAL at diff #5 vs. #4? Because I changed the service selection ...
4 years ago (2016-11-30 16:40:59 UTC) #10
whywhat
Thanks for asking for another review: added some comments. https://codereview.chromium.org/2526533002/diff/100001/content/browser/media/session/media_session_impl.cc File content/browser/media/session/media_session_impl.cc (right): https://codereview.chromium.org/2526533002/diff/100001/content/browser/media/session/media_session_impl.cc#newcode612 content/browser/media/session/media_session_impl.cc:612: ...
4 years ago (2016-11-30 22:16:41 UTC) #11
Zhiqiang Zhang (Slow)
PTAL at #5..#6 https://codereview.chromium.org/2526533002/diff/100001/content/browser/media/session/media_session_impl.cc File content/browser/media/session/media_session_impl.cc (right): https://codereview.chromium.org/2526533002/diff/100001/content/browser/media/session/media_session_impl.cc#newcode612 content/browser/media/session/media_session_impl.cc:612: // The service selection strategy is: ...
4 years ago (2016-12-01 16:34:41 UTC) #13
whywhat
lgtm, thanks for the tests! maybe you could pass RFH along with the player observer ...
4 years ago (2016-12-01 22:13:00 UTC) #15
Zhiqiang Zhang (Slow)
+creis: content/public/browser +tedchoc: content/public/android https://codereview.chromium.org/2526533002/diff/140001/content/browser/media/session/media_session_impl.cc File content/browser/media/session/media_session_impl.cc (right): https://codereview.chromium.org/2526533002/diff/140001/content/browser/media/session/media_session_impl.cc#newcode33 content/browser/media/session/media_session_impl.cc:33: rfh = rfh->GetParent(); On 2016/12/01 ...
4 years ago (2016-12-02 14:17:28 UTC) #17
whywhat
Thanks! https://codereview.chromium.org/2526533002/diff/160001/content/browser/media/session/media_session_impl.cc File content/browser/media/session/media_session_impl.cc (right): https://codereview.chromium.org/2526533002/diff/160001/content/browser/media/session/media_session_impl.cc#newcode33 content/browser/media/session/media_session_impl.cc:33: size_t depth = 0; nit: IIUC, you could ...
4 years ago (2016-12-02 16:09:18 UTC) #22
Ted C
On 2016/12/02 16:09:18, whywhat_OOO_till_Mon_Nov_28 wrote: > Thanks! > > https://codereview.chromium.org/2526533002/diff/160001/content/browser/media/session/media_session_impl.cc > File content/browser/media/session/media_session_impl.cc (right): > ...
4 years ago (2016-12-02 21:08:30 UTC) #23
Ted C
https://codereview.chromium.org/2526533002/diff/160001/content/public/android/java/src/org/chromium/content/browser/MediaSessionImpl.java File content/public/android/java/src/org/chromium/content/browser/MediaSessionImpl.java (right): https://codereview.chromium.org/2526533002/diff/160001/content/public/android/java/src/org/chromium/content/browser/MediaSessionImpl.java#newcode101 content/public/android/java/src/org/chromium/content/browser/MediaSessionImpl.java:101: It's unfortunate that you can't use Collections.unmodifiableSet here since ...
4 years ago (2016-12-02 21:08:44 UTC) #24
Charlie Reis
content/ LGTM.
4 years ago (2016-12-02 22:43:04 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2526533002/180001
4 years ago (2016-12-05 11:30:57 UTC) #28
Zhiqiang Zhang (Slow)
https://codereview.chromium.org/2526533002/diff/160001/content/browser/media/session/media_session_impl.cc File content/browser/media/session/media_session_impl.cc (right): https://codereview.chromium.org/2526533002/diff/160001/content/browser/media/session/media_session_impl.cc#newcode33 content/browser/media/session/media_session_impl.cc:33: size_t depth = 0; On 2016/12/02 16:09:17, whywhat_OOO_till_Mon_Nov_28 wrote: ...
4 years ago (2016-12-05 11:37:32 UTC) #29
commit-bot: I haz the power
Committed patchset #8 (id:180001)
4 years ago (2016-12-05 12:19:25 UTC) #32
commit-bot: I haz the power
4 years ago (2016-12-05 12:21:48 UTC) #34
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/ddc545cbe5a17717fbd3193c21ae2a63dc92ba40
Cr-Commit-Position: refs/heads/master@{#436266}

Powered by Google App Engine
This is Rietveld 408576698