| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserv
ed. |
| 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 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 | 356 |
| 357 bool HTMLMediaElement::isMouseFocusable() const | 357 bool HTMLMediaElement::isMouseFocusable() const |
| 358 { | 358 { |
| 359 return false; | 359 return false; |
| 360 } | 360 } |
| 361 | 361 |
| 362 void HTMLMediaElement::parseAttribute(const Attribute& attribute) | 362 void HTMLMediaElement::parseAttribute(const Attribute& attribute) |
| 363 { | 363 { |
| 364 if (attribute.name() == srcAttr) { | 364 if (attribute.name() == srcAttr) { |
| 365 // Trigger a reload, as long as the 'src' attribute is present. | 365 // Trigger a reload, as long as the 'src' attribute is present. |
| 366 if (fastHasAttribute(srcAttr)) | 366 if (fastHasAttribute(srcAttr)) { |
| 367 clearMediaPlayer(MediaResource); |
| 367 scheduleLoad(MediaResource); | 368 scheduleLoad(MediaResource); |
| 369 } |
| 368 } else if (attribute.name() == controlsAttr) | 370 } else if (attribute.name() == controlsAttr) |
| 369 configureMediaControls(); | 371 configureMediaControls(); |
| 370 #if PLATFORM(MAC) | 372 #if PLATFORM(MAC) |
| 371 else if (attribute.name() == loopAttr) | 373 else if (attribute.name() == loopAttr) |
| 372 updateDisableSleep(); | 374 updateDisableSleep(); |
| 373 #endif | 375 #endif |
| 374 else if (attribute.name() == preloadAttr) { | 376 else if (attribute.name() == preloadAttr) { |
| 375 if (equalIgnoringCase(attribute.value(), "none")) | 377 if (equalIgnoringCase(attribute.value(), "none")) |
| 376 m_preload = MediaPlayer::None; | 378 m_preload = MediaPlayer::None; |
| 377 else if (equalIgnoringCase(attribute.value(), "metadata")) | 379 else if (equalIgnoringCase(attribute.value(), "metadata")) |
| (...skipping 3285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3663 void HTMLMediaElement::userCancelledLoad() | 3665 void HTMLMediaElement::userCancelledLoad() |
| 3664 { | 3666 { |
| 3665 LOG(Media, "HTMLMediaElement::userCancelledLoad"); | 3667 LOG(Media, "HTMLMediaElement::userCancelledLoad"); |
| 3666 | 3668 |
| 3667 if (m_networkState == NETWORK_EMPTY || m_completelyLoaded) | 3669 if (m_networkState == NETWORK_EMPTY || m_completelyLoaded) |
| 3668 return; | 3670 return; |
| 3669 | 3671 |
| 3670 // If the media data fetching process is aborted by the user: | 3672 // If the media data fetching process is aborted by the user: |
| 3671 | 3673 |
| 3672 // 1 - The user agent should cancel the fetching process. | 3674 // 1 - The user agent should cancel the fetching process. |
| 3673 #if !ENABLE(PLUGIN_PROXY_FOR_VIDEO) | 3675 clearMediaPlayer(-1); |
| 3674 m_player.clear(); | |
| 3675 #endif | |
| 3676 stopPeriodicTimers(); | |
| 3677 m_loadTimer.stop(); | |
| 3678 m_loadState = WaitingForSource; | |
| 3679 m_pendingLoadFlags = 0; | |
| 3680 | 3676 |
| 3681 // 2 - Set the error attribute to a new MediaError object whose code attribu
te is set to MEDIA_ERR_ABORTED. | 3677 // 2 - Set the error attribute to a new MediaError object whose code attribu
te is set to MEDIA_ERR_ABORTED. |
| 3682 m_error = MediaError::create(MediaError::MEDIA_ERR_ABORTED); | 3678 m_error = MediaError::create(MediaError::MEDIA_ERR_ABORTED); |
| 3683 | 3679 |
| 3684 // 3 - Queue a task to fire a simple event named error at the media element. | 3680 // 3 - Queue a task to fire a simple event named error at the media element. |
| 3685 scheduleEvent(eventNames().abortEvent); | 3681 scheduleEvent(eventNames().abortEvent); |
| 3686 | 3682 |
| 3687 #if ENABLE(MEDIA_SOURCE) | 3683 #if ENABLE(MEDIA_SOURCE) |
| 3688 setSourceState(MediaSource::closedKeyword()); | 3684 setSourceState(MediaSource::closedKeyword()); |
| 3689 #endif | 3685 #endif |
| (...skipping 17 matching lines...) Expand all Loading... |
| 3707 | 3703 |
| 3708 // Reset m_readyState since m_player is gone. | 3704 // Reset m_readyState since m_player is gone. |
| 3709 m_readyState = HAVE_NOTHING; | 3705 m_readyState = HAVE_NOTHING; |
| 3710 updateMediaController(); | 3706 updateMediaController(); |
| 3711 #if ENABLE(VIDEO_TRACK) | 3707 #if ENABLE(VIDEO_TRACK) |
| 3712 if (RuntimeEnabledFeatures::webkitVideoTrackEnabled()) | 3708 if (RuntimeEnabledFeatures::webkitVideoTrackEnabled()) |
| 3713 updateActiveTextTrackCues(0); | 3709 updateActiveTextTrackCues(0); |
| 3714 #endif | 3710 #endif |
| 3715 } | 3711 } |
| 3716 | 3712 |
| 3713 void HTMLMediaElement::clearMediaPlayer(unsigned flags) |
| 3714 { |
| 3715 #if !ENABLE(PLUGIN_PROXY_FOR_VIDEO) |
| 3716 m_player.clear(); |
| 3717 #endif |
| 3718 stopPeriodicTimers(); |
| 3719 m_loadTimer.stop(); |
| 3720 |
| 3721 m_pendingLoadFlags &= ~flags; |
| 3722 m_loadState = WaitingForSource; |
| 3723 } |
| 3724 |
| 3717 bool HTMLMediaElement::canSuspend() const | 3725 bool HTMLMediaElement::canSuspend() const |
| 3718 { | 3726 { |
| 3719 return true; | 3727 return true; |
| 3720 } | 3728 } |
| 3721 | 3729 |
| 3722 void HTMLMediaElement::stop() | 3730 void HTMLMediaElement::stop() |
| 3723 { | 3731 { |
| 3724 LOG(Media, "HTMLMediaElement::stop"); | 3732 LOG(Media, "HTMLMediaElement::stop"); |
| 3725 if (m_isFullscreen) | 3733 if (m_isFullscreen) |
| 3726 exitFullscreen(); | 3734 exitFullscreen(); |
| (...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4254 | 4262 |
| 4255 return 0; | 4263 return 0; |
| 4256 } | 4264 } |
| 4257 | 4265 |
| 4258 void HTMLMediaElement::createMediaPlayer() | 4266 void HTMLMediaElement::createMediaPlayer() |
| 4259 { | 4267 { |
| 4260 #if ENABLE(WEB_AUDIO) | 4268 #if ENABLE(WEB_AUDIO) |
| 4261 if (m_audioSourceNode) | 4269 if (m_audioSourceNode) |
| 4262 m_audioSourceNode->lock(); | 4270 m_audioSourceNode->lock(); |
| 4263 #endif | 4271 #endif |
| 4264 | 4272 |
| 4265 m_player = MediaPlayer::create(this); | 4273 m_player = MediaPlayer::create(this); |
| 4266 | 4274 |
| 4267 #if ENABLE(MEDIA_SOURCE) | 4275 #if ENABLE(MEDIA_SOURCE) |
| 4268 if (m_mediaSource) | 4276 if (m_mediaSource) |
| 4269 m_mediaSource->setMediaPlayer(m_player.get()); | 4277 m_mediaSource->setMediaPlayer(m_player.get()); |
| 4270 #endif | 4278 #endif |
| 4271 | 4279 |
| 4272 #if ENABLE(WEB_AUDIO) | 4280 #if ENABLE(WEB_AUDIO) |
| 4273 if (m_audioSourceNode) { | 4281 if (m_audioSourceNode) { |
| 4274 // When creating the player, make sure its AudioSourceProvider knows abo
ut the MediaElementAudioSourceNode. | 4282 // When creating the player, make sure its AudioSourceProvider knows abo
ut the MediaElementAudioSourceNode. |
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4566 return mediaPlayerOwningDocument()->view()->windowClipRect(); | 4574 return mediaPlayerOwningDocument()->view()->windowClipRect(); |
| 4567 } | 4575 } |
| 4568 | 4576 |
| 4569 void HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture() | 4577 void HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture() |
| 4570 { | 4578 { |
| 4571 m_restrictions = NoRestrictions; | 4579 m_restrictions = NoRestrictions; |
| 4572 } | 4580 } |
| 4573 | 4581 |
| 4574 } | 4582 } |
| 4575 #endif | 4583 #endif |
| OLD | NEW |