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

Side by Side Diff: content/browser/media/android/media_web_contents_observer_android.cc

Issue 1515623002: Media Session: passing metadata from renderer/ to browser/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@media_session_ipc
Patch Set: semicolon Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/media/android/media_web_contents_observer_android.h" 5 #include "content/browser/media/android/media_web_contents_observer_android.h"
6 6
7 #include "content/browser/media/android/browser_media_player_manager.h" 7 #include "content/browser/media/android/browser_media_player_manager.h"
8 #include "content/browser/media/android/browser_media_session_manager.h" 8 #include "content/browser/media/android/browser_media_session_manager.h"
9 #include "content/browser/media/android/media_session_observer.h" 9 #include "content/browser/media/android/media_session_observer.h"
10 #include "content/browser/media/cdm/browser_cdm_manager.h" 10 #include "content/browser/media/cdm/browser_cdm_manager.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 89
90 bool MediaWebContentsObserverAndroid::OnMessageReceived( 90 bool MediaWebContentsObserverAndroid::OnMessageReceived(
91 const IPC::Message& msg, 91 const IPC::Message& msg,
92 RenderFrameHost* render_frame_host) { 92 RenderFrameHost* render_frame_host) {
93 if (MediaWebContentsObserver::OnMessageReceived(msg, render_frame_host)) 93 if (MediaWebContentsObserver::OnMessageReceived(msg, render_frame_host))
94 return true; 94 return true;
95 95
96 if (OnMediaPlayerMessageReceived(msg, render_frame_host)) 96 if (OnMediaPlayerMessageReceived(msg, render_frame_host))
97 return true; 97 return true;
98 98
99 return OnMediaPlayerSetCdmMessageReceived(msg, render_frame_host); 99 if (OnMediaPlayerSetCdmMessageReceived(msg, render_frame_host))
100 return true;
101
102 if (OnMediaSessionMessageReceived(msg, render_frame_host))
103 return true;
104
105 return false;
100 } 106 }
101 107
102 bool MediaWebContentsObserverAndroid::OnMediaPlayerMessageReceived( 108 bool MediaWebContentsObserverAndroid::OnMediaPlayerMessageReceived(
103 const IPC::Message& msg, 109 const IPC::Message& msg,
104 RenderFrameHost* render_frame_host) { 110 RenderFrameHost* render_frame_host) {
105 bool handled = true; 111 bool handled = true;
106 IPC_BEGIN_MESSAGE_MAP(MediaWebContentsObserverAndroid, msg) 112 IPC_BEGIN_MESSAGE_MAP(MediaWebContentsObserverAndroid, msg)
107 IPC_MESSAGE_FORWARD(MediaPlayerHostMsg_EnterFullscreen, 113 IPC_MESSAGE_FORWARD(MediaPlayerHostMsg_EnterFullscreen,
108 GetMediaPlayerManager(render_frame_host), 114 GetMediaPlayerManager(render_frame_host),
109 BrowserMediaPlayerManager::OnEnterFullscreen) 115 BrowserMediaPlayerManager::OnEnterFullscreen)
(...skipping 26 matching lines...) Expand all
136 BrowserMediaPlayerManager::OnRequestRemotePlayback) 142 BrowserMediaPlayerManager::OnRequestRemotePlayback)
137 IPC_MESSAGE_FORWARD( 143 IPC_MESSAGE_FORWARD(
138 MediaPlayerHostMsg_RequestRemotePlaybackControl, 144 MediaPlayerHostMsg_RequestRemotePlaybackControl,
139 GetMediaPlayerManager(render_frame_host), 145 GetMediaPlayerManager(render_frame_host),
140 BrowserMediaPlayerManager::OnRequestRemotePlaybackControl) 146 BrowserMediaPlayerManager::OnRequestRemotePlaybackControl)
141 #if defined(VIDEO_HOLE) 147 #if defined(VIDEO_HOLE)
142 IPC_MESSAGE_FORWARD(MediaPlayerHostMsg_NotifyExternalSurface, 148 IPC_MESSAGE_FORWARD(MediaPlayerHostMsg_NotifyExternalSurface,
143 GetMediaPlayerManager(render_frame_host), 149 GetMediaPlayerManager(render_frame_host),
144 BrowserMediaPlayerManager::OnNotifyExternalSurface) 150 BrowserMediaPlayerManager::OnNotifyExternalSurface)
145 #endif // defined(VIDEO_HOLE) 151 #endif // defined(VIDEO_HOLE)
146 IPC_MESSAGE_FORWARD(MediaSessionHostMsg_Activate,
147 GetMediaSessionManager(render_frame_host),
148 BrowserMediaSessionManager::OnActivate)
149 IPC_MESSAGE_FORWARD(MediaSessionHostMsg_Deactivate,
150 GetMediaSessionManager(render_frame_host),
151 BrowserMediaSessionManager::OnDeactivate)
152 IPC_MESSAGE_UNHANDLED(handled = false) 152 IPC_MESSAGE_UNHANDLED(handled = false)
153 IPC_END_MESSAGE_MAP() 153 IPC_END_MESSAGE_MAP()
154 return handled; 154 return handled;
155 } 155 }
156 156
157 bool MediaWebContentsObserverAndroid::OnMediaPlayerSetCdmMessageReceived( 157 bool MediaWebContentsObserverAndroid::OnMediaPlayerSetCdmMessageReceived(
158 const IPC::Message& msg, 158 const IPC::Message& msg,
159 RenderFrameHost* render_frame_host) { 159 RenderFrameHost* render_frame_host) {
160 bool handled = true; 160 bool handled = true;
161 IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(MediaWebContentsObserverAndroid, msg, 161 IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(MediaWebContentsObserverAndroid, msg,
162 render_frame_host) 162 render_frame_host)
163 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_SetCdm, OnSetCdm) 163 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_SetCdm, OnSetCdm)
164 IPC_MESSAGE_UNHANDLED(handled = false) 164 IPC_MESSAGE_UNHANDLED(handled = false)
165 IPC_END_MESSAGE_MAP() 165 IPC_END_MESSAGE_MAP()
166 return handled; 166 return handled;
167 } 167 }
168 168
169 bool MediaWebContentsObserverAndroid::OnMediaSessionMessageReceived(
170 const IPC::Message& msg,
171 RenderFrameHost* render_frame_host) {
172 bool handled = true;
173
174 IPC_BEGIN_MESSAGE_MAP(MediaWebContentsObserver, msg)
175 IPC_MESSAGE_FORWARD(MediaSessionHostMsg_Activate,
176 GetMediaSessionManager(render_frame_host),
177 BrowserMediaSessionManager::OnActivate)
178 IPC_MESSAGE_FORWARD(MediaSessionHostMsg_Deactivate,
179 GetMediaSessionManager(render_frame_host),
180 BrowserMediaSessionManager::OnDeactivate)
181 IPC_MESSAGE_FORWARD(MediaSessionHostMsg_SetMetadata,
182 GetMediaSessionManager(render_frame_host),
183 BrowserMediaSessionManager::OnSetMetadata)
184 IPC_MESSAGE_UNHANDLED(handled = false)
185 IPC_END_MESSAGE_MAP()
186
187 return handled;
188 }
189
169 void MediaWebContentsObserverAndroid::OnSetCdm( 190 void MediaWebContentsObserverAndroid::OnSetCdm(
170 RenderFrameHost* render_frame_host, 191 RenderFrameHost* render_frame_host,
171 int player_id, 192 int player_id,
172 int cdm_id) { 193 int cdm_id) {
173 media::MediaPlayerAndroid* media_player = 194 media::MediaPlayerAndroid* media_player =
174 GetMediaPlayerManager(render_frame_host)->GetPlayer(player_id); 195 GetMediaPlayerManager(render_frame_host)->GetPlayer(player_id);
175 if (!media_player) { 196 if (!media_player) {
176 NOTREACHED() << "OnSetCdm: MediaPlayer not found for " << player_id; 197 NOTREACHED() << "OnSetCdm: MediaPlayer not found for " << player_id;
177 return; 198 return;
178 } 199 }
(...skipping 12 matching lines...) Expand all
191 NOTREACHED() << "OnSetCdm: CDM not found for " << cdm_id; 212 NOTREACHED() << "OnSetCdm: CDM not found for " << cdm_id;
192 return; 213 return;
193 } 214 }
194 215
195 // TODO(xhwang): This could possibly fail. In that case we should reject the 216 // TODO(xhwang): This could possibly fail. In that case we should reject the
196 // promise. 217 // promise.
197 media_player->SetCdm(cdm); 218 media_player->SetCdm(cdm);
198 } 219 }
199 220
200 } // namespace content 221 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698