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 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 347 , m_seeking(false) | 347 , m_seeking(false) |
| 348 , m_sentStalledEvent(false) | 348 , m_sentStalledEvent(false) |
| 349 , m_sentEndEvent(false) | 349 , m_sentEndEvent(false) |
| 350 , m_pausedInternal(false) | 350 , m_pausedInternal(false) |
| 351 , m_closedCaptionsVisible(false) | 351 , m_closedCaptionsVisible(false) |
| 352 , m_completelyLoaded(false) | 352 , m_completelyLoaded(false) |
| 353 , m_havePreparedToPlay(false) | 353 , m_havePreparedToPlay(false) |
| 354 , m_tracksAreReady(true) | 354 , m_tracksAreReady(true) |
| 355 , m_haveVisibleTextTrack(false) | 355 , m_haveVisibleTextTrack(false) |
| 356 , m_processingPreferenceChange(false) | 356 , m_processingPreferenceChange(false) |
| 357 , m_remoteRoutesAvailable(false) | |
| 358 , m_casting(false) | |
| 357 #if ENABLE(OILPAN) | 359 #if ENABLE(OILPAN) |
| 358 , m_isFinalizing(false) | 360 , m_isFinalizing(false) |
| 359 , m_closeMediaSourceWhenFinalizing(false) | 361 , m_closeMediaSourceWhenFinalizing(false) |
| 360 #endif | 362 #endif |
| 361 , m_lastTextTrackUpdateTime(-1) | 363 , m_lastTextTrackUpdateTime(-1) |
| 362 , m_audioTracks(AudioTrackList::create(*this)) | 364 , m_audioTracks(AudioTrackList::create(*this)) |
| 363 , m_videoTracks(VideoTrackList::create(*this)) | 365 , m_videoTracks(VideoTrackList::create(*this)) |
| 364 , m_textTracks(nullptr) | 366 , m_textTracks(nullptr) |
| 365 , m_ignoreTrackDisplayUpdate(0) | 367 , m_ignoreTrackDisplayUpdate(0) |
| 366 #if ENABLE(WEB_AUDIO) | 368 #if ENABLE(WEB_AUDIO) |
| (...skipping 1904 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2271 | 2273 |
| 2272 if (!m_paused) { | 2274 if (!m_paused) { |
| 2273 m_paused = true; | 2275 m_paused = true; |
| 2274 scheduleTimeupdateEvent(false); | 2276 scheduleTimeupdateEvent(false); |
| 2275 scheduleEvent(EventTypeNames::pause); | 2277 scheduleEvent(EventTypeNames::pause); |
| 2276 } | 2278 } |
| 2277 | 2279 |
| 2278 updatePlayState(); | 2280 updatePlayState(); |
| 2279 } | 2281 } |
| 2280 | 2282 |
| 2283 void HTMLMediaElement::requestRemotePlayback() | |
| 2284 { | |
| 2285 if (!m_player) | |
| 2286 return; | |
| 2287 m_player->requestRemotePlayback(); | |
|
acolwell GONE FROM CHROMIUM
2014/08/05 19:36:34
Use webMediaPlayer() here and below.
acolwell GONE FROM CHROMIUM
2014/08/05 19:36:34
ASSERT(m_remoteRoutesAvailable) here and below so
aberent
2014/08/22 14:08:33
Done.
aberent
2014/08/22 14:08:33
Done.
| |
| 2288 } | |
| 2289 | |
| 2290 void HTMLMediaElement::requestRemotePlaybackControl() | |
| 2291 { | |
| 2292 if (!m_player) | |
| 2293 return; | |
| 2294 m_player->requestRemotePlaybackControl(); | |
| 2295 } | |
| 2296 | |
| 2281 void HTMLMediaElement::closeMediaSource() | 2297 void HTMLMediaElement::closeMediaSource() |
| 2282 { | 2298 { |
| 2283 if (!m_mediaSource) | 2299 if (!m_mediaSource) |
| 2284 return; | 2300 return; |
| 2285 | 2301 |
| 2286 m_mediaSource->close(); | 2302 m_mediaSource->close(); |
| 2287 m_mediaSource = nullptr; | 2303 m_mediaSource = nullptr; |
| 2288 } | 2304 } |
| 2289 | 2305 |
| 2290 bool HTMLMediaElement::loop() const | 2306 bool HTMLMediaElement::loop() const |
| (...skipping 869 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3160 void HTMLMediaElement::mediaPlayerRequestSeek(double time) | 3176 void HTMLMediaElement::mediaPlayerRequestSeek(double time) |
| 3161 { | 3177 { |
| 3162 // The player is the source of this seek request. | 3178 // The player is the source of this seek request. |
| 3163 if (m_mediaController) { | 3179 if (m_mediaController) { |
| 3164 m_mediaController->setCurrentTime(time, IGNORE_EXCEPTION); | 3180 m_mediaController->setCurrentTime(time, IGNORE_EXCEPTION); |
| 3165 return; | 3181 return; |
| 3166 } | 3182 } |
| 3167 setCurrentTime(time, IGNORE_EXCEPTION); | 3183 setCurrentTime(time, IGNORE_EXCEPTION); |
| 3168 } | 3184 } |
| 3169 | 3185 |
| 3186 void HTMLMediaElement::mediaPlayerRemoteRouteAvailabilityChanged(bool routesAvai lable) | |
| 3187 { | |
| 3188 m_remoteRoutesAvailable = routesAvailable; | |
| 3189 if (hasMediaControls()) | |
| 3190 mediaControls()->refreshCastButtonVisibility(); | |
| 3191 } | |
| 3192 | |
| 3193 void HTMLMediaElement::mediaPlayerConnectedToRemoteDevice() | |
| 3194 { | |
| 3195 m_casting = true; | |
| 3196 if (hasMediaControls()) | |
| 3197 mediaControls()->startedCasting(); | |
| 3198 } | |
| 3199 | |
| 3200 void HTMLMediaElement::mediaPlayerDisconnectedFromRemoteDevice() | |
| 3201 { | |
| 3202 m_casting = false; | |
| 3203 if (hasMediaControls()) | |
| 3204 mediaControls()->stoppedCasting(); | |
| 3205 } | |
| 3206 | |
| 3170 // MediaPlayerPresentation methods | 3207 // MediaPlayerPresentation methods |
| 3171 void HTMLMediaElement::mediaPlayerRepaint() | 3208 void HTMLMediaElement::mediaPlayerRepaint() |
| 3172 { | 3209 { |
| 3173 if (m_webLayer) | 3210 if (m_webLayer) |
| 3174 m_webLayer->invalidate(); | 3211 m_webLayer->invalidate(); |
| 3175 | 3212 |
| 3176 updateDisplayState(); | 3213 updateDisplayState(); |
| 3177 if (renderer()) | 3214 if (renderer()) |
| 3178 renderer()->paintInvalidationForWholeRenderer(); | 3215 renderer()->paintInvalidationForWholeRenderer(); |
| 3179 } | 3216 } |
| (...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3635 ensureUserAgentShadowRoot().appendChild(mediaControls); | 3672 ensureUserAgentShadowRoot().appendChild(mediaControls); |
| 3636 | 3673 |
| 3637 if (!shouldShowControls() || !inDocument()) | 3674 if (!shouldShowControls() || !inDocument()) |
| 3638 mediaControls->hide(); | 3675 mediaControls->hide(); |
| 3639 | 3676 |
| 3640 return true; | 3677 return true; |
| 3641 } | 3678 } |
| 3642 | 3679 |
| 3643 void HTMLMediaElement::configureMediaControls() | 3680 void HTMLMediaElement::configureMediaControls() |
| 3644 { | 3681 { |
| 3645 if (!shouldShowControls() || !inDocument()) { | 3682 if (!inDocument()) { |
|
acolwell GONE FROM CHROMIUM
2014/08/05 19:36:34
Doesn't removing this end up causing the controls
aberent
2014/08/22 14:08:33
The problem I have is that I need the overlay cast
| |
| 3646 if (hasMediaControls()) | 3683 if (hasMediaControls()) |
| 3647 mediaControls()->hide(); | 3684 mediaControls()->hide(); |
| 3648 return; | 3685 return; |
| 3649 } | 3686 } |
| 3650 | 3687 |
| 3651 if (!hasMediaControls() && !createMediaControls()) | 3688 if (!hasMediaControls() && !createMediaControls()) |
| 3652 return; | 3689 return; |
| 3653 | 3690 |
| 3654 mediaControls()->reset(); | 3691 mediaControls()->reset(); |
| 3655 mediaControls()->show(); | 3692 if (shouldShowControls()) |
| 3693 mediaControls()->show(); | |
| 3694 else | |
| 3695 mediaControls()->hide(); | |
| 3656 } | 3696 } |
| 3657 | 3697 |
| 3658 void HTMLMediaElement::configureTextTrackDisplay(VisibilityChangeAssumption assu mption) | 3698 void HTMLMediaElement::configureTextTrackDisplay(VisibilityChangeAssumption assu mption) |
| 3659 { | 3699 { |
| 3660 ASSERT(m_textTracks); | 3700 ASSERT(m_textTracks); |
| 3661 WTF_LOG(Media, "HTMLMediaElement::configureTextTrackDisplay"); | 3701 WTF_LOG(Media, "HTMLMediaElement::configureTextTrackDisplay"); |
| 3662 | 3702 |
| 3663 if (m_processingPreferenceChange) | 3703 if (m_processingPreferenceChange) |
| 3664 return; | 3704 return; |
| 3665 | 3705 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3705 String kind = textTrack->kind(); | 3745 String kind = textTrack->kind(); |
| 3706 | 3746 |
| 3707 if (kind == TextTrack::subtitlesKeyword() || kind == TextTrack::captions Keyword()) | 3747 if (kind == TextTrack::subtitlesKeyword() || kind == TextTrack::captions Keyword()) |
| 3708 textTrack->setHasBeenConfigured(false); | 3748 textTrack->setHasBeenConfigured(false); |
| 3709 } | 3749 } |
| 3710 configureTextTracks(); | 3750 configureTextTracks(); |
| 3711 } | 3751 } |
| 3712 | 3752 |
| 3713 void* HTMLMediaElement::preDispatchEventHandler(Event* event) | 3753 void* HTMLMediaElement::preDispatchEventHandler(Event* event) |
| 3714 { | 3754 { |
| 3715 if (event && event->type() == EventTypeNames::webkitfullscreenchange) | 3755 if (event && event->type() == EventTypeNames::webkitfullscreenchange) { |
|
acolwell GONE FROM CHROMIUM
2014/08/05 19:36:34
nit: Revert. Change isn't necessary.
aberent
2014/08/22 14:08:33
Done.
| |
| 3716 configureMediaControls(); | 3756 configureMediaControls(); |
| 3717 | 3757 } |
| 3718 return 0; | 3758 return 0; |
| 3719 } | 3759 } |
| 3720 | 3760 |
| 3721 void HTMLMediaElement::createMediaPlayer() | 3761 void HTMLMediaElement::createMediaPlayer() |
| 3722 { | 3762 { |
| 3723 AudioSourceProviderClientLockScope scope(*this); | 3763 AudioSourceProviderClientLockScope scope(*this); |
| 3724 | 3764 |
| 3725 closeMediaSource(); | 3765 closeMediaSource(); |
| 3726 | 3766 |
| 3727 m_player = MediaPlayer::create(this); | 3767 m_player = MediaPlayer::create(this); |
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3984 | 4024 |
| 3985 #if ENABLE(WEB_AUDIO) | 4025 #if ENABLE(WEB_AUDIO) |
| 3986 void HTMLMediaElement::clearWeakMembers(Visitor* visitor) | 4026 void HTMLMediaElement::clearWeakMembers(Visitor* visitor) |
| 3987 { | 4027 { |
| 3988 if (!visitor->isAlive(m_audioSourceNode) && audioSourceProvider()) | 4028 if (!visitor->isAlive(m_audioSourceNode) && audioSourceProvider()) |
| 3989 audioSourceProvider()->setClient(0); | 4029 audioSourceProvider()->setClient(0); |
| 3990 } | 4030 } |
| 3991 #endif | 4031 #endif |
| 3992 | 4032 |
| 3993 } | 4033 } |
| OLD | NEW |