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

Issue 2551093002: Route Pepper MediaSession messages to frames (Closed)

Created:
4 years ago by Zhiqiang Zhang (Slow)
Modified:
4 years ago
Reviewers:
whywhat, piman
CC:
chromium-reviews, creis+watch_chromium.org, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, nasko+codewatch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Route Pepper MediaSession messages to frames This CL fixes an issue that SetPepperVolume (coming from MediaSession) is only sent to the top-level frame. Instead, the message should be handled by the frames which created the Pepper instance. The issue can cause a crash if there is a Pepper instance playing sound in a cross-origin iframe while site-isolation is enabled. Now we use pair <RenderFrameHost, pp_instance> as player id so that SetPepperVolume can be sent to the correct frame. BUG=670273 Committed: https://crrev.com/7b6f4f00951c96ba468bd8ad554fda1065bacfa6 Cr-Commit-Position: refs/heads/master@{#437079}

Patch Set 1 #

Patch Set 2 : nits #

Total comments: 6

Patch Set 3 : addressed Anton's comments #

Total comments: 2

Patch Set 4 : pure rebase #

Patch Set 5 : better clean up when RenderFrame/WebContents is destroyed #

Total comments: 2

Patch Set 6 : nit #

Patch Set 7 : fixed Android build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+95 lines, -52 lines) Patch
M content/browser/media/session/pepper_playback_observer.h View 1 2 3 4 1 chunk +25 lines, -13 lines 0 comments Download
M content/browser/media/session/pepper_playback_observer.cc View 1 2 3 4 5 3 chunks +48 lines, -24 lines 0 comments Download
M content/browser/media/session/pepper_player_delegate.h View 1 2 3 4 2 chunks +6 lines, -4 lines 0 comments Download
M content/browser/media/session/pepper_player_delegate.cc View 1 3 chunks +5 lines, -7 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 3 4 5 6 3 chunks +11 lines, -4 lines 0 comments Download

Messages

Total messages: 25 (13 generated)
Zhiqiang Zhang (Slow)
PTAL
4 years ago (2016-12-05 16:14:08 UTC) #3
whywhat
lgtm % the WCImpl change https://codereview.chromium.org/2551093002/diff/20001/content/browser/media/session/pepper_playback_observer.cc File content/browser/media/session/pepper_playback_observer.cc (right): https://codereview.chromium.org/2551093002/diff/20001/content/browser/media/session/pepper_playback_observer.cc#newcode11 content/browser/media/session/pepper_playback_observer.cc:11: #include "content/browser/web_contents/web_contents_impl.h" nit: Is ...
4 years ago (2016-12-06 01:37:31 UTC) #4
Zhiqiang Zhang (Slow)
https://codereview.chromium.org/2551093002/diff/20001/content/browser/media/session/pepper_playback_observer.cc File content/browser/media/session/pepper_playback_observer.cc (right): https://codereview.chromium.org/2551093002/diff/20001/content/browser/media/session/pepper_playback_observer.cc#newcode11 content/browser/media/session/pepper_playback_observer.cc:11: #include "content/browser/web_contents/web_contents_impl.h" On 2016/12/06 01:37:31, whywhat_OOO_till_Mon_Nov_28 wrote: > nit: ...
4 years ago (2016-12-06 12:05:56 UTC) #5
Zhiqiang Zhang (Slow)
+piman: web_contents_impl.cc
4 years ago (2016-12-06 12:07:50 UTC) #7
piman
https://codereview.chromium.org/2551093002/diff/40001/content/browser/web_contents/web_contents_impl.cc File content/browser/web_contents/web_contents_impl.cc (right): https://codereview.chromium.org/2551093002/diff/40001/content/browser/web_contents/web_contents_impl.cc#newcode3764 content/browser/web_contents/web_contents_impl.cc:3764: render_frame_message_source_, pp_instance); I am somewhat concerned that render_frame_message_source_ refers ...
4 years ago (2016-12-06 21:26:12 UTC) #8
Zhiqiang Zhang (Slow)
PTAL Addressed piman's comments (improved cleaning up when RenderFrame/WebContents is destroyed) https://codereview.chromium.org/2551093002/diff/40001/content/browser/web_contents/web_contents_impl.cc File content/browser/web_contents/web_contents_impl.cc (right): ...
4 years ago (2016-12-07 16:36:21 UTC) #10
whywhat
https://codereview.chromium.org/2551093002/diff/100001/content/browser/media/session/pepper_playback_observer.cc File content/browser/media/session/pepper_playback_observer.cc (right): https://codereview.chromium.org/2551093002/diff/100001/content/browser/media/session/pepper_playback_observer.cc#newcode49 content/browser/media/session/pepper_playback_observer.cc:49: players_to_remove.push_back(player_played_sound.first); nit: I think you could use the erase(it++) ...
4 years ago (2016-12-07 18:09:25 UTC) #11
piman
lgtm
4 years ago (2016-12-07 19:27:06 UTC) #12
Zhiqiang Zhang (Slow)
https://codereview.chromium.org/2551093002/diff/100001/content/browser/media/session/pepper_playback_observer.cc File content/browser/media/session/pepper_playback_observer.cc (right): https://codereview.chromium.org/2551093002/diff/100001/content/browser/media/session/pepper_playback_observer.cc#newcode49 content/browser/media/session/pepper_playback_observer.cc:49: players_to_remove.push_back(player_played_sound.first); On 2016/12/07 18:09:25, whywhat wrote: > nit: I ...
4 years ago (2016-12-07 19:40:23 UTC) #14
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/2551093002/140001
4 years ago (2016-12-07 21:14:01 UTC) #20
commit-bot: I haz the power
Committed patchset #7 (id:140001)
4 years ago (2016-12-07 22:10:51 UTC) #23
commit-bot: I haz the power
4 years ago (2016-12-07 22:13:20 UTC) #25
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/7b6f4f00951c96ba468bd8ad554fda1065bacfa6
Cr-Commit-Position: refs/heads/master@{#437079}

Powered by Google App Engine
This is Rietveld 408576698