Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 3026 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3037 | 3037 |
| 3038 void HTMLMediaElement::userCancelledLoad() | 3038 void HTMLMediaElement::userCancelledLoad() |
| 3039 { | 3039 { |
| 3040 WTF_LOG(Media, "HTMLMediaElement::userCancelledLoad(%p)", this); | 3040 WTF_LOG(Media, "HTMLMediaElement::userCancelledLoad(%p)", this); |
| 3041 | 3041 |
| 3042 // If the media data fetching process is aborted by the user: | 3042 // If the media data fetching process is aborted by the user: |
| 3043 | 3043 |
| 3044 // 1 - The user agent should cancel the fetching process. | 3044 // 1 - The user agent should cancel the fetching process. |
| 3045 clearMediaPlayer(-1); | 3045 clearMediaPlayer(-1); |
| 3046 | 3046 |
| 3047 if (m_networkState == NETWORK_EMPTY || m_completelyLoaded || m_isFinalizing) | 3047 if (m_networkState == NETWORK_EMPTY || m_completelyLoaded || m_isFinalizing) { |
| 3048 m_readyState = HAVE_NOTHING; | |
|
philipj_slow
2015/10/20 11:24:53
Shouldn't the readyState be reset unconditionally?
Srirama
2015/10/20 11:31:34
I thought about that, but it will affect step4 in
philipj_slow
2015/10/20 11:52:00
Oh, that's annoying. I think the problem here is t
| |
| 3049 m_readyStateMaximum = HAVE_NOTHING; | |
| 3048 return; | 3050 return; |
| 3051 } | |
| 3049 | 3052 |
| 3050 // 2 - Set the error attribute to a new MediaError object whose code attribu te is set to MEDIA_ERR_ABORTED. | 3053 // 2 - Set the error attribute to a new MediaError object whose code attribu te is set to MEDIA_ERR_ABORTED. |
| 3051 m_error = MediaError::create(MediaError::MEDIA_ERR_ABORTED); | 3054 m_error = MediaError::create(MediaError::MEDIA_ERR_ABORTED); |
| 3052 | 3055 |
| 3053 // 3 - Queue a task to fire a simple event named error at the media element. | 3056 // 3 - Queue a task to fire a simple event named error at the media element. |
| 3054 scheduleEvent(EventTypeNames::abort); | 3057 scheduleEvent(EventTypeNames::abort); |
| 3055 | 3058 |
| 3056 // 4 - If the media element's readyState attribute has a value equal to HAVE _NOTHING, set the | 3059 // 4 - If the media element's readyState attribute has a value equal to HAVE _NOTHING, set the |
| 3057 // element's networkState attribute to the NETWORK_EMPTY value and queue a t ask to fire a | 3060 // element's networkState attribute to the NETWORK_EMPTY value and queue a t ask to fire a |
| 3058 // simple event named emptied at the element. Otherwise, set the element's n etworkState | 3061 // simple event named emptied at the element. Otherwise, set the element's n etworkState |
| 3059 // attribute to the NETWORK_IDLE value. | 3062 // attribute to the NETWORK_IDLE value. |
| 3060 if (m_readyState == HAVE_NOTHING) { | 3063 if (m_readyState == HAVE_NOTHING) { |
| 3061 m_networkState = NETWORK_EMPTY; | 3064 m_networkState = NETWORK_EMPTY; |
| 3062 scheduleEvent(EventTypeNames::emptied); | 3065 scheduleEvent(EventTypeNames::emptied); |
| 3063 } else { | 3066 } else { |
| 3064 m_networkState = NETWORK_IDLE; | 3067 m_networkState = NETWORK_IDLE; |
| 3065 } | 3068 } |
| 3066 | 3069 |
| 3067 // 5 - Set the element's delaying-the-load-event flag to false. This stops d elaying the load event. | 3070 // 5 - Set the element's delaying-the-load-event flag to false. This stops d elaying the load event. |
| 3068 setShouldDelayLoadEvent(false); | 3071 setShouldDelayLoadEvent(false); |
| 3069 | 3072 |
| 3070 // 6 - Abort the overall resource selection algorithm. | 3073 // 6 - Abort the overall resource selection algorithm. |
| 3071 m_currentSourceNode = nullptr; | 3074 m_currentSourceNode = nullptr; |
| 3072 | 3075 |
| 3073 // Reset m_readyState since m_webMediaPlayer is gone. | 3076 // Reset m_readyState since m_webMediaPlayer is gone. |
| 3074 m_readyState = HAVE_NOTHING; | 3077 m_readyState = HAVE_NOTHING; |
| 3078 m_readyStateMaximum = HAVE_NOTHING; | |
| 3075 invalidateCachedTime(); | 3079 invalidateCachedTime(); |
| 3076 updateMediaController(); | 3080 updateMediaController(); |
| 3077 cueTimeline().updateActiveCues(0); | 3081 cueTimeline().updateActiveCues(0); |
| 3078 } | 3082 } |
| 3079 | 3083 |
| 3080 void HTMLMediaElement::clearMediaPlayerAndAudioSourceProviderClientWithoutLockin g() | 3084 void HTMLMediaElement::clearMediaPlayerAndAudioSourceProviderClientWithoutLockin g() |
| 3081 { | 3085 { |
| 3082 #if ENABLE(WEB_AUDIO) | 3086 #if ENABLE(WEB_AUDIO) |
| 3083 audioSourceProvider().setClient(nullptr); | 3087 audioSourceProvider().setClient(nullptr); |
| 3084 #endif | 3088 #endif |
| (...skipping 729 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3814 visitor->trace(m_client); | 3818 visitor->trace(m_client); |
| 3815 } | 3819 } |
| 3816 | 3820 |
| 3817 DEFINE_TRACE(HTMLMediaElement::AudioSourceProviderImpl) | 3821 DEFINE_TRACE(HTMLMediaElement::AudioSourceProviderImpl) |
| 3818 { | 3822 { |
| 3819 visitor->trace(m_client); | 3823 visitor->trace(m_client); |
| 3820 } | 3824 } |
| 3821 #endif | 3825 #endif |
| 3822 | 3826 |
| 3823 } | 3827 } |
| OLD | NEW |