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

Side by Side Diff: Source/core/html/HTMLMediaElement.cpp

Issue 1115553002: Removing blink::prefix (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 years, 7 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
« no previous file with comments | « Source/core/html/HTMLMediaElement.h ('k') | Source/core/html/HTMLMediaSource.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 } 234 }
235 235
236 // If no MIME type is specified, always attempt to load. 236 // If no MIME type is specified, always attempt to load.
237 if (contentMIMEType.isEmpty()) 237 if (contentMIMEType.isEmpty())
238 return true; 238 return true;
239 239
240 // 4.8.10.3 MIME types - In the absence of a specification to the contrary, the MIME type "application/octet-stream" 240 // 4.8.10.3 MIME types - In the absence of a specification to the contrary, the MIME type "application/octet-stream"
241 // when used with parameters, e.g. "application/octet-stream;codecs=theora", is a type that the user agent knows 241 // when used with parameters, e.g. "application/octet-stream;codecs=theora", is a type that the user agent knows
242 // it cannot render. 242 // it cannot render.
243 if (contentMIMEType != "application/octet-stream" || contentTypeCodecs.isEmp ty()) { 243 if (contentMIMEType != "application/octet-stream" || contentTypeCodecs.isEmp ty()) {
244 WebMimeRegistry::SupportsType supported = blink::Platform::current()->mi meRegistry()->supportsMediaMIMEType(contentMIMEType, contentTypeCodecs, keySyste m.lower()); 244 WebMimeRegistry::SupportsType supported = Platform::current()->mimeRegis try()->supportsMediaMIMEType(contentMIMEType, contentTypeCodecs, keySystem.lower ());
245 return supported > WebMimeRegistry::IsNotSupported; 245 return supported > WebMimeRegistry::IsNotSupported;
246 } 246 }
247 247
248 return false; 248 return false;
249 } 249 }
250 250
251 // These values are used for a histogram. Do not reorder. 251 // These values are used for a histogram. Do not reorder.
252 enum AutoplayMetrics { 252 enum AutoplayMetrics {
253 // Media element with autoplay seen. 253 // Media element with autoplay seen.
254 AutoplayMediaFound = 0, 254 AutoplayMediaFound = 0,
255 // Autoplay enabled and user stopped media play at any point. 255 // Autoplay enabled and user stopped media play at any point.
256 AutoplayStopped = 1, 256 AutoplayStopped = 1,
257 // Autoplay enabled but user bailed out on media play early. 257 // Autoplay enabled but user bailed out on media play early.
258 AutoplayBailout = 2, 258 AutoplayBailout = 2,
259 // Autoplay disabled but user manually started media. 259 // Autoplay disabled but user manually started media.
260 AutoplayManualStart = 3, 260 AutoplayManualStart = 3,
261 // Autoplay was (re)enabled through a user-gesture triggered load() 261 // Autoplay was (re)enabled through a user-gesture triggered load()
262 AutoplayEnabledThroughLoad = 4, 262 AutoplayEnabledThroughLoad = 4,
263 // This enum value must be last. 263 // This enum value must be last.
264 NumberOfAutoplayMetrics, 264 NumberOfAutoplayMetrics,
265 }; 265 };
266 266
267 static void recordAutoplayMetric(AutoplayMetrics metric) 267 static void recordAutoplayMetric(AutoplayMetrics metric)
268 { 268 {
269 blink::Platform::current()->histogramEnumeration("Blink.MediaElement.Autopla y", metric, NumberOfAutoplayMetrics); 269 Platform::current()->histogramEnumeration("Blink.MediaElement.Autoplay", met ric, NumberOfAutoplayMetrics);
270 } 270 }
271 271
272 WebMimeRegistry::SupportsType HTMLMediaElement::supportsType(const ContentType& contentType, const String& keySystem) 272 WebMimeRegistry::SupportsType HTMLMediaElement::supportsType(const ContentType& contentType, const String& keySystem)
273 { 273 {
274 DEFINE_STATIC_LOCAL(const String, codecs, ("codecs")); 274 DEFINE_STATIC_LOCAL(const String, codecs, ("codecs"));
275 275
276 if (!RuntimeEnabledFeatures::mediaEnabled()) 276 if (!RuntimeEnabledFeatures::mediaEnabled())
277 return WebMimeRegistry::IsNotSupported; 277 return WebMimeRegistry::IsNotSupported;
278 278
279 String type = contentType.type().lower(); 279 String type = contentType.type().lower();
280 // The codecs string is not lower-cased because MP4 values are case sensitiv e 280 // The codecs string is not lower-cased because MP4 values are case sensitiv e
281 // per http://tools.ietf.org/html/rfc4281#page-7. 281 // per http://tools.ietf.org/html/rfc4281#page-7.
282 String typeCodecs = contentType.parameter(codecs); 282 String typeCodecs = contentType.parameter(codecs);
283 String system = keySystem.lower(); 283 String system = keySystem.lower();
284 284
285 if (type.isEmpty()) 285 if (type.isEmpty())
286 return WebMimeRegistry::IsNotSupported; 286 return WebMimeRegistry::IsNotSupported;
287 287
288 // 4.8.10.3 MIME types - The canPlayType(type) method must return the empty string if type is a type that the 288 // 4.8.10.3 MIME types - The canPlayType(type) method must return the empty string if type is a type that the
289 // user agent knows it cannot render or is the type "application/octet-strea m" 289 // user agent knows it cannot render or is the type "application/octet-strea m"
290 if (type == "application/octet-stream") 290 if (type == "application/octet-stream")
291 return WebMimeRegistry::IsNotSupported; 291 return WebMimeRegistry::IsNotSupported;
292 292
293 return blink::Platform::current()->mimeRegistry()->supportsMediaMIMEType(typ e, typeCodecs, system); 293 return Platform::current()->mimeRegistry()->supportsMediaMIMEType(type, type Codecs, system);
294 } 294 }
295 295
296 URLRegistry* HTMLMediaElement::s_mediaStreamRegistry = 0; 296 URLRegistry* HTMLMediaElement::s_mediaStreamRegistry = 0;
297 297
298 void HTMLMediaElement::setMediaStreamRegistry(URLRegistry* registry) 298 void HTMLMediaElement::setMediaStreamRegistry(URLRegistry* registry)
299 { 299 {
300 ASSERT(!s_mediaStreamRegistry); 300 ASSERT(!s_mediaStreamRegistry);
301 s_mediaStreamRegistry = registry; 301 s_mediaStreamRegistry = registry;
302 } 302 }
303 303
(...skipping 1919 matching lines...) Expand 10 before | Expand all | Expand 10 after
2223 Vector<WebMediaPlayer::TrackId> enabledTrackIds; 2223 Vector<WebMediaPlayer::TrackId> enabledTrackIds;
2224 for (unsigned i = 0; i < audioTracks().length(); ++i) { 2224 for (unsigned i = 0; i < audioTracks().length(); ++i) {
2225 AudioTrack* track = audioTracks().anonymousIndexedGetter(i); 2225 AudioTrack* track = audioTracks().anonymousIndexedGetter(i);
2226 if (track->enabled()) 2226 if (track->enabled())
2227 enabledTrackIds.append(track->trackId()); 2227 enabledTrackIds.append(track->trackId());
2228 } 2228 }
2229 2229
2230 webMediaPlayer()->enabledAudioTracksChanged(enabledTrackIds); 2230 webMediaPlayer()->enabledAudioTracksChanged(enabledTrackIds);
2231 } 2231 }
2232 2232
2233 WebMediaPlayer::TrackId HTMLMediaElement::addAudioTrack(const String& id, blink: :WebMediaPlayerClient::AudioTrackKind kind, const AtomicString& label, const Ato micString& language, bool enabled) 2233 WebMediaPlayer::TrackId HTMLMediaElement::addAudioTrack(const String& id, WebMed iaPlayerClient::AudioTrackKind kind, const AtomicString& label, const AtomicStri ng& language, bool enabled)
2234 { 2234 {
2235 AtomicString kindString = AudioKindToString(kind); 2235 AtomicString kindString = AudioKindToString(kind);
2236 WTF_LOG(Media, "HTMLMediaElement::addAudioTrack(%p, '%s', '%s', '%s', '%s', %d)", 2236 WTF_LOG(Media, "HTMLMediaElement::addAudioTrack(%p, '%s', '%s', '%s', '%s', %d)",
2237 this, id.ascii().data(), kindString.ascii().data(), label.ascii().data() , language.ascii().data(), enabled); 2237 this, id.ascii().data(), kindString.ascii().data(), label.ascii().data() , language.ascii().data(), enabled);
2238 2238
2239 if (!RuntimeEnabledFeatures::audioVideoTracksEnabled()) 2239 if (!RuntimeEnabledFeatures::audioVideoTracksEnabled())
2240 return 0; 2240 return 0;
2241 2241
2242 RefPtrWillBeRawPtr<AudioTrack> audioTrack = AudioTrack::create(id, kindStrin g, label, language, enabled); 2242 RefPtrWillBeRawPtr<AudioTrack> audioTrack = AudioTrack::create(id, kindStrin g, label, language, enabled);
2243 audioTracks().add(audioTrack); 2243 audioTracks().add(audioTrack);
(...skipping 23 matching lines...) Expand all
2267 ASSERT(RuntimeEnabledFeatures::audioVideoTracksEnabled()); 2267 ASSERT(RuntimeEnabledFeatures::audioVideoTracksEnabled());
2268 2268
2269 if (selectedTrackId) 2269 if (selectedTrackId)
2270 videoTracks().trackSelected(*selectedTrackId); 2270 videoTracks().trackSelected(*selectedTrackId);
2271 2271
2272 // FIXME: Add call on m_mediaSource to notify it of track changes once the S ourceBuffer.videoTracks attribute is added. 2272 // FIXME: Add call on m_mediaSource to notify it of track changes once the S ourceBuffer.videoTracks attribute is added.
2273 2273
2274 webMediaPlayer()->selectedVideoTrackChanged(selectedTrackId); 2274 webMediaPlayer()->selectedVideoTrackChanged(selectedTrackId);
2275 } 2275 }
2276 2276
2277 WebMediaPlayer::TrackId HTMLMediaElement::addVideoTrack(const String& id, blink: :WebMediaPlayerClient::VideoTrackKind kind, const AtomicString& label, const Ato micString& language, bool selected) 2277 WebMediaPlayer::TrackId HTMLMediaElement::addVideoTrack(const String& id, WebMed iaPlayerClient::VideoTrackKind kind, const AtomicString& label, const AtomicStri ng& language, bool selected)
2278 { 2278 {
2279 AtomicString kindString = VideoKindToString(kind); 2279 AtomicString kindString = VideoKindToString(kind);
2280 WTF_LOG(Media, "HTMLMediaElement::addVideoTrack(%p, '%s', '%s', '%s', '%s', %d)", 2280 WTF_LOG(Media, "HTMLMediaElement::addVideoTrack(%p, '%s', '%s', '%s', '%s', %d)",
2281 this, id.ascii().data(), kindString.ascii().data(), label.ascii().data() , language.ascii().data(), selected); 2281 this, id.ascii().data(), kindString.ascii().data(), label.ascii().data() , language.ascii().data(), selected);
2282 2282
2283 if (!RuntimeEnabledFeatures::audioVideoTracksEnabled()) 2283 if (!RuntimeEnabledFeatures::audioVideoTracksEnabled())
2284 return 0; 2284 return 0;
2285 2285
2286 // If another track was selected (potentially by the user), leave it selecte d. 2286 // If another track was selected (potentially by the user), leave it selecte d.
2287 if (selected && videoTracks().selectedIndex() != -1) 2287 if (selected && videoTracks().selectedIndex() != -1)
(...skipping 860 matching lines...) Expand 10 before | Expand all | Expand 10 after
3148 } 3148 }
3149 3149
3150 void HTMLMediaElement::willStopBeingFullscreenElement() 3150 void HTMLMediaElement::willStopBeingFullscreenElement()
3151 { 3151 {
3152 if (mediaControls()) 3152 if (mediaControls())
3153 mediaControls()->exitedFullscreen(); 3153 mediaControls()->exitedFullscreen();
3154 if (RuntimeEnabledFeatures::overlayFullscreenVideoEnabled() && isHTMLVideoEl ement()) 3154 if (RuntimeEnabledFeatures::overlayFullscreenVideoEnabled() && isHTMLVideoEl ement())
3155 document().layoutView()->compositor()->setNeedsCompositingUpdate(Composi tingUpdateRebuildTree); 3155 document().layoutView()->compositor()->setNeedsCompositingUpdate(Composi tingUpdateRebuildTree);
3156 } 3156 }
3157 3157
3158 blink::WebLayer* HTMLMediaElement::platformLayer() const 3158 WebLayer* HTMLMediaElement::platformLayer() const
3159 { 3159 {
3160 return m_webLayer; 3160 return m_webLayer;
3161 } 3161 }
3162 3162
3163 bool HTMLMediaElement::hasClosedCaptions() const 3163 bool HTMLMediaElement::hasClosedCaptions() const
3164 { 3164 {
3165 if (m_textTracks) { 3165 if (m_textTracks) {
3166 for (unsigned i = 0; i < m_textTracks->length(); ++i) { 3166 for (unsigned i = 0; i < m_textTracks->length(); ++i) {
3167 if (m_textTracks->item(i)->readinessState() == TextTrack::FailedToLo ad) 3167 if (m_textTracks->item(i)->readinessState() == TextTrack::FailedToLo ad)
3168 continue; 3168 continue;
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
3559 WebMediaPlayer::CORSMode HTMLMediaElement::corsMode() const 3559 WebMediaPlayer::CORSMode HTMLMediaElement::corsMode() const
3560 { 3560 {
3561 const AtomicString& crossOriginMode = fastGetAttribute(crossoriginAttr); 3561 const AtomicString& crossOriginMode = fastGetAttribute(crossoriginAttr);
3562 if (crossOriginMode.isNull()) 3562 if (crossOriginMode.isNull())
3563 return WebMediaPlayer::CORSModeUnspecified; 3563 return WebMediaPlayer::CORSModeUnspecified;
3564 if (equalIgnoringCase(crossOriginMode, "use-credentials")) 3564 if (equalIgnoringCase(crossOriginMode, "use-credentials"))
3565 return WebMediaPlayer::CORSModeUseCredentials; 3565 return WebMediaPlayer::CORSModeUseCredentials;
3566 return WebMediaPlayer::CORSModeAnonymous; 3566 return WebMediaPlayer::CORSModeAnonymous;
3567 } 3567 }
3568 3568
3569 void HTMLMediaElement::mediaPlayerSetWebLayer(blink::WebLayer* webLayer) 3569 void HTMLMediaElement::mediaPlayerSetWebLayer(WebLayer* webLayer)
3570 { 3570 {
3571 if (webLayer == m_webLayer) 3571 if (webLayer == m_webLayer)
3572 return; 3572 return;
3573 3573
3574 // If either of the layers is null we need to enable or disable compositing. This is done by triggering a style recalc. 3574 // If either of the layers is null we need to enable or disable compositing. This is done by triggering a style recalc.
3575 if ((!m_webLayer || !webLayer) 3575 if ((!m_webLayer || !webLayer)
3576 #if ENABLE(OILPAN) 3576 #if ENABLE(OILPAN)
3577 && !m_isFinalizing 3577 && !m_isFinalizing
3578 #endif 3578 #endif
3579 ) 3579 )
3580 setNeedsCompositingUpdate(); 3580 setNeedsCompositingUpdate();
3581 3581
3582 if (m_webLayer) 3582 if (m_webLayer)
3583 GraphicsLayer::unregisterContentsLayer(m_webLayer); 3583 GraphicsLayer::unregisterContentsLayer(m_webLayer);
3584 m_webLayer = webLayer; 3584 m_webLayer = webLayer;
3585 if (m_webLayer) 3585 if (m_webLayer)
3586 GraphicsLayer::registerContentsLayer(m_webLayer); 3586 GraphicsLayer::registerContentsLayer(m_webLayer);
3587 } 3587 }
3588 3588
3589 void HTMLMediaElement::mediaPlayerMediaSourceOpened(blink::WebMediaSource* webMe diaSource) 3589 void HTMLMediaElement::mediaPlayerMediaSourceOpened(WebMediaSource* webMediaSour ce)
3590 { 3590 {
3591 m_mediaSource->setWebMediaSourceAndOpen(adoptPtr(webMediaSource)); 3591 m_mediaSource->setWebMediaSourceAndOpen(adoptPtr(webMediaSource));
3592 } 3592 }
3593 3593
3594 bool HTMLMediaElement::isInteractiveContent() const 3594 bool HTMLMediaElement::isInteractiveContent() const
3595 { 3595 {
3596 return fastHasAttribute(controlsAttr); 3596 return fastHasAttribute(controlsAttr);
3597 } 3597 }
3598 3598
3599 void HTMLMediaElement::defaultEventHandler(Event* event) 3599 void HTMLMediaElement::defaultEventHandler(Event* event)
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
3659 3659
3660 #if ENABLE(WEB_AUDIO) 3660 #if ENABLE(WEB_AUDIO)
3661 void HTMLMediaElement::clearWeakMembers(Visitor* visitor) 3661 void HTMLMediaElement::clearWeakMembers(Visitor* visitor)
3662 { 3662 {
3663 if (!visitor->isHeapObjectAlive(m_audioSourceNode) && audioSourceProvider()) 3663 if (!visitor->isHeapObjectAlive(m_audioSourceNode) && audioSourceProvider())
3664 audioSourceProvider()->setClient(nullptr); 3664 audioSourceProvider()->setClient(nullptr);
3665 } 3665 }
3666 #endif 3666 #endif
3667 3667
3668 } 3668 }
OLDNEW
« no previous file with comments | « Source/core/html/HTMLMediaElement.h ('k') | Source/core/html/HTMLMediaSource.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698