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

Side by Side Diff: third_party/WebKit/Source/modules/srcobject/HTMLMediaElementSrcObject.cpp

Issue 1886333002: Do not use a persistent reference to store srcObject in HTMLMediaElement. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 "modules/srcobject/HTMLMediaElementSrcObject.h" 5 #include "modules/srcobject/HTMLMediaElementSrcObject.h"
6 6
7 #include "core/html/HTMLMediaElement.h" 7 #include "core/html/HTMLMediaElement.h"
8 #include "modules/mediastream/MediaStream.h" 8 #include "modules/mediastream/MediaStream.h"
9 #include "platform/mediastream/MediaStreamDescriptor.h" 9 #include "platform/mediastream/MediaStreamDescriptor.h"
10 #include "public/platform/WebMediaPlayerSource.h"
11 #include "public/platform/WebMediaStream.h"
12 10
13 namespace blink { 11 namespace blink {
14 12
15 // static 13 // static
16 MediaStream* HTMLMediaElementSrcObject::srcObject(HTMLMediaElement& element) 14 MediaStream* HTMLMediaElementSrcObject::srcObject(HTMLMediaElement& element)
17 { 15 {
18 const WebMediaPlayerSource& source = element.getSrcObject(); 16 MediaStreamDescriptor* descriptor = element.getSrcObject();
19 if (source.isMediaStream()) { 17 if (descriptor) {
20 MediaStreamDescriptor* descriptor = source.getAsMediaStream();
21 MediaStream* stream = toMediaStream(descriptor); 18 MediaStream* stream = toMediaStream(descriptor);
22 return stream; 19 return stream;
23 } 20 }
24 21
25 return nullptr; 22 return nullptr;
26 } 23 }
27 24
28 // static 25 // static
29 void HTMLMediaElementSrcObject::setSrcObject(HTMLMediaElement& element, MediaStr eam* mediaStream) 26 void HTMLMediaElementSrcObject::setSrcObject(HTMLMediaElement& element, MediaStr eam* mediaStream)
30 { 27 {
31 if (!mediaStream) { 28 if (!mediaStream) {
32 element.setSrcObject(WebMediaPlayerSource()); 29 element.setSrcObject(nullptr);
33 return; 30 return;
34 } 31 }
35 WebMediaStream webStream = WebMediaStream(mediaStream->descriptor()); 32 element.setSrcObject(mediaStream->descriptor());
36 WebMediaPlayerSource source(webStream);
37 element.setSrcObject(source);
38 } 33 }
39 34
40 } // namespace blink 35 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698