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

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

Issue 2554113002: Deprecate UnthrottledThreadTimer. (Closed)
Patch Set: Move forgotten timer too Created 3 years, 12 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights 2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights
3 * reserved. 3 * reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 355
356 bool HTMLMediaElement::mediaTracksEnabledInternally() { 356 bool HTMLMediaElement::mediaTracksEnabledInternally() {
357 return RuntimeEnabledFeatures::audioVideoTracksEnabled() || 357 return RuntimeEnabledFeatures::audioVideoTracksEnabled() ||
358 RuntimeEnabledFeatures::backgroundVideoTrackOptimizationEnabled(); 358 RuntimeEnabledFeatures::backgroundVideoTrackOptimizationEnabled();
359 } 359 }
360 360
361 HTMLMediaElement::HTMLMediaElement(const QualifiedName& tagName, 361 HTMLMediaElement::HTMLMediaElement(const QualifiedName& tagName,
362 Document& document) 362 Document& document)
363 : HTMLElement(tagName, document), 363 : HTMLElement(tagName, document),
364 SuspendableObject(&document), 364 SuspendableObject(&document),
365 m_loadTimer(this, &HTMLMediaElement::loadTimerFired), 365 m_loadTimer(TaskRunnerHelper::get(TaskType::Unthrottled, &document),
366 m_progressEventTimer(this, &HTMLMediaElement::progressEventTimerFired), 366 this,
367 m_playbackProgressTimer(this, 367 &HTMLMediaElement::loadTimerFired),
368 &HTMLMediaElement::playbackProgressTimerFired), 368 m_progressEventTimer(
369 m_audioTracksTimer(this, &HTMLMediaElement::audioTracksTimerFired), 369 TaskRunnerHelper::get(TaskType::Unthrottled, &document),
370 this,
371 &HTMLMediaElement::progressEventTimerFired),
372 m_playbackProgressTimer(
373 TaskRunnerHelper::get(TaskType::Unthrottled, &document),
374 this,
375 &HTMLMediaElement::playbackProgressTimerFired),
376 m_audioTracksTimer(
377 TaskRunnerHelper::get(TaskType::Unthrottled, &document),
378 this,
379 &HTMLMediaElement::audioTracksTimerFired),
370 m_viewportFillDebouncerTimer( 380 m_viewportFillDebouncerTimer(
381 TaskRunnerHelper::get(TaskType::Unthrottled, &document),
371 this, 382 this,
372 &HTMLMediaElement::viewportFillDebouncerTimerFired), 383 &HTMLMediaElement::viewportFillDebouncerTimerFired),
373 m_checkViewportIntersectionTimer( 384 m_checkViewportIntersectionTimer(
385 TaskRunnerHelper::get(TaskType::Unthrottled, &document),
374 this, 386 this,
375 &HTMLMediaElement::checkViewportIntersectionTimerFired), 387 &HTMLMediaElement::checkViewportIntersectionTimerFired),
376 m_playedTimeRanges(), 388 m_playedTimeRanges(),
377 m_asyncEventQueue(GenericEventQueue::create(this)), 389 m_asyncEventQueue(GenericEventQueue::create(this)),
378 m_playbackRate(1.0f), 390 m_playbackRate(1.0f),
379 m_defaultPlaybackRate(1.0f), 391 m_defaultPlaybackRate(1.0f),
380 m_networkState(kNetworkEmpty), 392 m_networkState(kNetworkEmpty),
381 m_readyState(kHaveNothing), 393 m_readyState(kHaveNothing),
382 m_readyStateMaximum(kHaveNothing), 394 m_readyStateMaximum(kHaveNothing),
383 m_volume(1.0f), 395 m_volume(1.0f),
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 // FrameLoader::checkCompleted(). But it's guaranteed that the load event 471 // FrameLoader::checkCompleted(). But it's guaranteed that the load event
460 // doesn't get dispatched during the object destruction. 472 // doesn't get dispatched during the object destruction.
461 // See Document::isDelayingLoadEvent(). 473 // See Document::isDelayingLoadEvent().
462 // Also see http://crbug.com/275223 for more details. 474 // Also see http://crbug.com/275223 for more details.
463 clearMediaPlayerAndAudioSourceProviderClientWithoutLocking(); 475 clearMediaPlayerAndAudioSourceProviderClientWithoutLocking();
464 } 476 }
465 477
466 void HTMLMediaElement::didMoveToNewDocument(Document& oldDocument) { 478 void HTMLMediaElement::didMoveToNewDocument(Document& oldDocument) {
467 BLINK_MEDIA_LOG << "didMoveToNewDocument(" << (void*)this << ")"; 479 BLINK_MEDIA_LOG << "didMoveToNewDocument(" << (void*)this << ")";
468 480
481 m_loadTimer.moveToNewTaskRunner(
482 TaskRunnerHelper::get(TaskType::Unthrottled, &document()));
483 m_progressEventTimer.moveToNewTaskRunner(
484 TaskRunnerHelper::get(TaskType::Unthrottled, &document()));
485 m_playbackProgressTimer.moveToNewTaskRunner(
486 TaskRunnerHelper::get(TaskType::Unthrottled, &document()));
487 m_audioTracksTimer.moveToNewTaskRunner(
488 TaskRunnerHelper::get(TaskType::Unthrottled, &document()));
489 m_viewportFillDebouncerTimer.moveToNewTaskRunner(
490 TaskRunnerHelper::get(TaskType::Unthrottled, &document()));
491 m_checkViewportIntersectionTimer.moveToNewTaskRunner(
492 TaskRunnerHelper::get(TaskType::Unthrottled, &document()));
493
469 m_autoplayUmaHelper->didMoveToNewDocument(oldDocument); 494 m_autoplayUmaHelper->didMoveToNewDocument(oldDocument);
470 // If any experiment is enabled, then we want to enable a user gesture by 495 // If any experiment is enabled, then we want to enable a user gesture by
471 // default, otherwise the experiment does nothing. 496 // default, otherwise the experiment does nothing.
472 bool oldDocumentRequiresUserGesture = 497 bool oldDocumentRequiresUserGesture =
473 computeLockedPendingUserGesture(oldDocument); 498 computeLockedPendingUserGesture(oldDocument);
474 bool newDocumentRequiresUserGesture = 499 bool newDocumentRequiresUserGesture =
475 computeLockedPendingUserGesture(document()); 500 computeLockedPendingUserGesture(document());
476 if (newDocumentRequiresUserGesture && !oldDocumentRequiresUserGesture) 501 if (newDocumentRequiresUserGesture && !oldDocumentRequiresUserGesture)
477 m_lockedPendingUserGesture = true; 502 m_lockedPendingUserGesture = true;
478 503
(...skipping 3627 matching lines...) Expand 10 before | Expand all | Expand 10 after
4106 kMostlyFillViewportBecomeStableSeconds, BLINK_FROM_HERE); 4131 kMostlyFillViewportBecomeStableSeconds, BLINK_FROM_HERE);
4107 } 4132 }
4108 4133
4109 void HTMLMediaElement::viewportFillDebouncerTimerFired(TimerBase*) { 4134 void HTMLMediaElement::viewportFillDebouncerTimerFired(TimerBase*) {
4110 m_mostlyFillingViewport = true; 4135 m_mostlyFillingViewport = true;
4111 if (m_webMediaPlayer) 4136 if (m_webMediaPlayer)
4112 m_webMediaPlayer->becameDominantVisibleContent(m_mostlyFillingViewport); 4137 m_webMediaPlayer->becameDominantVisibleContent(m_mostlyFillingViewport);
4113 } 4138 }
4114 4139
4115 } // namespace blink 4140 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLMediaElement.h ('k') | third_party/WebKit/Source/platform/Timer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698