OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/renderer/media/android/renderer_media_session_manager.h" | 5 #include "content/renderer/media/android/renderer_media_session_manager.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/optional.h" | |
8 #include "content/common/media/media_metadata_sanitizer.h" | 9 #include "content/common/media/media_metadata_sanitizer.h" |
9 #include "content/common/media/media_session_messages_android.h" | 10 #include "content/common/media/media_session_messages_android.h" |
10 #include "content/public/common/media_metadata.h" | 11 #include "content/public/common/media_metadata.h" |
11 #include "content/public/renderer/render_thread.h" | 12 #include "content/public/renderer/render_thread.h" |
12 #include "content/renderer/media/android/webmediasession_android.h" | 13 #include "content/renderer/media/android/webmediasession_android.h" |
13 | 14 |
14 namespace content { | 15 namespace content { |
15 | 16 |
16 RendererMediaSessionManager::RendererMediaSessionManager( | 17 RendererMediaSessionManager::RendererMediaSessionManager( |
17 RenderFrame* render_frame) | 18 RenderFrame* render_frame) |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
57 | 58 |
58 void RendererMediaSessionManager::Deactivate( | 59 void RendererMediaSessionManager::Deactivate( |
59 int session_id, | 60 int session_id, |
60 std::unique_ptr<blink::WebMediaSessionDeactivateCallback> callback) { | 61 std::unique_ptr<blink::WebMediaSessionDeactivateCallback> callback) { |
61 int request_id = pending_deactivation_requests_.Add(callback.release()); | 62 int request_id = pending_deactivation_requests_.Add(callback.release()); |
62 Send( | 63 Send( |
63 new MediaSessionHostMsg_Deactivate(routing_id(), session_id, request_id)); | 64 new MediaSessionHostMsg_Deactivate(routing_id(), session_id, request_id)); |
64 } | 65 } |
65 | 66 |
66 void RendererMediaSessionManager::SetMetadata( | 67 void RendererMediaSessionManager::SetMetadata( |
67 int session_id, | 68 int session_id, const base::Optional<MediaMetadata>& metadata) { |
68 const MediaMetadata& metadata) { | |
69 | 69 |
70 // TODO(zqzhang): print a console warning when metadata is dirty. See | 70 // TODO(zqzhang): print a console warning when metadata is dirty. See |
71 // https://crbug.com/625244. | 71 // https://crbug.com/625244. |
72 Send(new MediaSessionHostMsg_SetMetadata( | 72 Send(new MediaSessionHostMsg_SetMetadata( |
73 routing_id(), session_id, | 73 routing_id(), session_id, |
74 MediaMetadataSanitizer::CheckSanity(metadata) ? | 74 (!metadata.has_value() || |
DaleCurtis
2016/09/06 19:26:07
Is this what git cl format did? It seems odd.
Zhiqiang Zhang (Slow)
2016/09/07 10:45:06
Done.
| |
75 metadata : MediaMetadataSanitizer::Sanitize(metadata))); | 75 MediaMetadataSanitizer::CheckSanity(metadata.value())) |
76 ? metadata | |
77 : MediaMetadataSanitizer::Sanitize(metadata.value()))); | |
76 } | 78 } |
77 | 79 |
78 void RendererMediaSessionManager::OnDidActivate(int request_id, bool success) { | 80 void RendererMediaSessionManager::OnDidActivate(int request_id, bool success) { |
79 DCHECK(pending_activation_requests_.Lookup(request_id)) << request_id; | 81 DCHECK(pending_activation_requests_.Lookup(request_id)) << request_id; |
80 blink::WebMediaSessionActivateCallback* callback = | 82 blink::WebMediaSessionActivateCallback* callback = |
81 pending_activation_requests_.Lookup(request_id); | 83 pending_activation_requests_.Lookup(request_id); |
82 if (success) { | 84 if (success) { |
83 callback->onSuccess(); | 85 callback->onSuccess(); |
84 } else { | 86 } else { |
85 callback->onError( | 87 callback->onError( |
86 blink::WebMediaSessionError(blink::WebMediaSessionError::Activate)); | 88 blink::WebMediaSessionError(blink::WebMediaSessionError::Activate)); |
87 } | 89 } |
88 pending_activation_requests_.Remove(request_id); | 90 pending_activation_requests_.Remove(request_id); |
89 } | 91 } |
90 | 92 |
91 void RendererMediaSessionManager::OnDidDeactivate(int request_id) { | 93 void RendererMediaSessionManager::OnDidDeactivate(int request_id) { |
92 DCHECK(pending_deactivation_requests_.Lookup(request_id)) << request_id; | 94 DCHECK(pending_deactivation_requests_.Lookup(request_id)) << request_id; |
93 pending_deactivation_requests_.Lookup(request_id)->onSuccess(); | 95 pending_deactivation_requests_.Lookup(request_id)->onSuccess(); |
94 pending_deactivation_requests_.Remove(request_id); | 96 pending_deactivation_requests_.Remove(request_id); |
95 } | 97 } |
96 | 98 |
97 } // namespace content | 99 } // namespace content |
OLD | NEW |