| 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 3156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3167 } | 3167 } |
| 3168 | 3168 |
| 3169 if (!m_playedTimeRanges) | 3169 if (!m_playedTimeRanges) |
| 3170 m_playedTimeRanges = TimeRanges::create(); | 3170 m_playedTimeRanges = TimeRanges::create(); |
| 3171 | 3171 |
| 3172 return m_playedTimeRanges->copy(); | 3172 return m_playedTimeRanges->copy(); |
| 3173 } | 3173 } |
| 3174 | 3174 |
| 3175 PassRefPtr<TimeRanges> HTMLMediaElement::seekable() const | 3175 PassRefPtr<TimeRanges> HTMLMediaElement::seekable() const |
| 3176 { | 3176 { |
| 3177 double maxSeekable = maxTimeSeekable(); | 3177 if (m_player) { |
| 3178 return maxSeekable ? TimeRanges::create(0, maxSeekable) : TimeRanges::create
(); | 3178 double maxTimeSeekable = m_player->maxTimeSeekable(); |
| 3179 if (maxTimeSeekable) |
| 3180 return TimeRanges::create(0, maxTimeSeekable); |
| 3181 } |
| 3182 return TimeRanges::create(); |
| 3179 } | 3183 } |
| 3180 | 3184 |
| 3181 bool HTMLMediaElement::potentiallyPlaying() const | 3185 bool HTMLMediaElement::potentiallyPlaying() const |
| 3182 { | 3186 { |
| 3183 // "pausedToBuffer" means the media engine's rate is 0, but only because it
had to stop playing | 3187 // "pausedToBuffer" means the media engine's rate is 0, but only because it
had to stop playing |
| 3184 // when it ran out of buffered data. A movie is this state is "potentially p
laying", modulo the | 3188 // when it ran out of buffered data. A movie is this state is "potentially p
laying", modulo the |
| 3185 // checks in couldPlayIfEnoughData(). | 3189 // checks in couldPlayIfEnoughData(). |
| 3186 bool pausedToBuffer = m_readyStateMaximum >= HAVE_FUTURE_DATA && m_readyStat
e < HAVE_FUTURE_DATA; | 3190 bool pausedToBuffer = m_readyStateMaximum >= HAVE_FUTURE_DATA && m_readyStat
e < HAVE_FUTURE_DATA; |
| 3187 return (pausedToBuffer || m_readyState >= HAVE_FUTURE_DATA) && couldPlayIfEn
oughData() && !isBlockedOnMediaController(); | 3191 return (pausedToBuffer || m_readyState >= HAVE_FUTURE_DATA) && couldPlayIfEn
oughData() && !isBlockedOnMediaController(); |
| 3188 } | 3192 } |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3230 | 3234 |
| 3231 return false; | 3235 return false; |
| 3232 } | 3236 } |
| 3233 | 3237 |
| 3234 bool HTMLMediaElement::pausedForUserInteraction() const | 3238 bool HTMLMediaElement::pausedForUserInteraction() const |
| 3235 { | 3239 { |
| 3236 // return !paused() && m_readyState >= HAVE_FUTURE_DATA && [UA requires a dec
itions from the user] | 3240 // return !paused() && m_readyState >= HAVE_FUTURE_DATA && [UA requires a dec
itions from the user] |
| 3237 return false; | 3241 return false; |
| 3238 } | 3242 } |
| 3239 | 3243 |
| 3240 double HTMLMediaElement::minTimeSeekable() const | |
| 3241 { | |
| 3242 return 0; | |
| 3243 } | |
| 3244 | |
| 3245 double HTMLMediaElement::maxTimeSeekable() const | |
| 3246 { | |
| 3247 return m_player ? m_player->maxTimeSeekable() : 0; | |
| 3248 } | |
| 3249 | |
| 3250 void HTMLMediaElement::updateVolume() | 3244 void HTMLMediaElement::updateVolume() |
| 3251 { | 3245 { |
| 3252 if (!m_player) | 3246 if (!m_player) |
| 3253 return; | 3247 return; |
| 3254 | 3248 |
| 3255 double volumeMultiplier = 1; | 3249 double volumeMultiplier = 1; |
| 3256 bool shouldMute = m_muted; | 3250 bool shouldMute = m_muted; |
| 3257 | 3251 |
| 3258 if (m_mediaController) { | 3252 if (m_mediaController) { |
| 3259 volumeMultiplier *= m_mediaController->volume(); | 3253 volumeMultiplier *= m_mediaController->volume(); |
| (...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3870 { | 3864 { |
| 3871 scheduleLayerUpdate(); | 3865 scheduleLayerUpdate(); |
| 3872 } | 3866 } |
| 3873 | 3867 |
| 3874 bool HTMLMediaElement::isInteractiveContent() const | 3868 bool HTMLMediaElement::isInteractiveContent() const |
| 3875 { | 3869 { |
| 3876 return fastHasAttribute(controlsAttr); | 3870 return fastHasAttribute(controlsAttr); |
| 3877 } | 3871 } |
| 3878 | 3872 |
| 3879 } | 3873 } |
| OLD | NEW |