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

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

Issue 2717263002: Convert m_deferredLoadTimer to Unthrottled frame-specific timer and include in didMoveToNewDocument. (Closed)
Patch Set: Created 3 years, 9 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
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLMediaElement.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 m_readyStateMaximum(kHaveNothing), 421 m_readyStateMaximum(kHaveNothing),
422 m_volume(1.0f), 422 m_volume(1.0f),
423 m_lastSeekTime(0), 423 m_lastSeekTime(0),
424 m_previousProgressTime(std::numeric_limits<double>::max()), 424 m_previousProgressTime(std::numeric_limits<double>::max()),
425 m_duration(std::numeric_limits<double>::quiet_NaN()), 425 m_duration(std::numeric_limits<double>::quiet_NaN()),
426 m_lastTimeUpdateEventWallTime(0), 426 m_lastTimeUpdateEventWallTime(0),
427 m_lastTimeUpdateEventMediaTime(std::numeric_limits<double>::quiet_NaN()), 427 m_lastTimeUpdateEventMediaTime(std::numeric_limits<double>::quiet_NaN()),
428 m_defaultPlaybackStartPosition(0), 428 m_defaultPlaybackStartPosition(0),
429 m_loadState(WaitingForSource), 429 m_loadState(WaitingForSource),
430 m_deferredLoadState(NotDeferred), 430 m_deferredLoadState(NotDeferred),
431 m_deferredLoadTimer(this, &HTMLMediaElement::deferredLoadTimerFired), 431 m_deferredLoadTimer(
432 TaskRunnerHelper::get(TaskType::Unthrottled, &document),
433 this,
434 &HTMLMediaElement::deferredLoadTimerFired),
432 m_webLayer(nullptr), 435 m_webLayer(nullptr),
433 m_displayMode(Unknown), 436 m_displayMode(Unknown),
434 m_officialPlaybackPosition(0), 437 m_officialPlaybackPosition(0),
435 m_officialPlaybackPositionNeedsUpdate(true), 438 m_officialPlaybackPositionNeedsUpdate(true),
436 m_fragmentEndTime(std::numeric_limits<double>::quiet_NaN()), 439 m_fragmentEndTime(std::numeric_limits<double>::quiet_NaN()),
437 m_pendingActionFlags(0), 440 m_pendingActionFlags(0),
438 m_lockedPendingUserGesture(false), 441 m_lockedPendingUserGesture(false),
439 m_lockedPendingUserGestureIfCrossOriginExperimentEnabled(true), 442 m_lockedPendingUserGestureIfCrossOriginExperimentEnabled(true),
440 m_playing(false), 443 m_playing(false),
441 m_shouldDelayLoadEvent(false), 444 m_shouldDelayLoadEvent(false),
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 // doesn't get dispatched during the object destruction. 502 // doesn't get dispatched during the object destruction.
500 // See Document::isDelayingLoadEvent(). 503 // See Document::isDelayingLoadEvent().
501 // Also see http://crbug.com/275223 for more details. 504 // Also see http://crbug.com/275223 for more details.
502 clearMediaPlayerAndAudioSourceProviderClientWithoutLocking(); 505 clearMediaPlayerAndAudioSourceProviderClientWithoutLocking();
503 } 506 }
504 507
505 void HTMLMediaElement::didMoveToNewDocument(Document& oldDocument) { 508 void HTMLMediaElement::didMoveToNewDocument(Document& oldDocument) {
506 BLINK_MEDIA_LOG << "didMoveToNewDocument(" << (void*)this << ")"; 509 BLINK_MEDIA_LOG << "didMoveToNewDocument(" << (void*)this << ")";
507 510
508 m_loadTimer.moveToNewTaskRunner( 511 m_loadTimer.moveToNewTaskRunner(
509 TaskRunnerHelper::get(TaskType::Unthrottled, &document())); 512 TaskRunnerHelper::get(TaskType::MediaElementEvent, &document()));
510 m_progressEventTimer.moveToNewTaskRunner( 513 m_progressEventTimer.moveToNewTaskRunner(
511 TaskRunnerHelper::get(TaskType::Unthrottled, &document())); 514 TaskRunnerHelper::get(TaskType::MediaElementEvent, &document()));
512 m_playbackProgressTimer.moveToNewTaskRunner( 515 m_playbackProgressTimer.moveToNewTaskRunner(
513 TaskRunnerHelper::get(TaskType::Unthrottled, &document())); 516 TaskRunnerHelper::get(TaskType::MediaElementEvent, &document()));
514 m_audioTracksTimer.moveToNewTaskRunner( 517 m_audioTracksTimer.moveToNewTaskRunner(
515 TaskRunnerHelper::get(TaskType::Unthrottled, &document())); 518 TaskRunnerHelper::get(TaskType::MediaElementEvent, &document()));
516 m_viewportFillDebouncerTimer.moveToNewTaskRunner( 519 m_viewportFillDebouncerTimer.moveToNewTaskRunner(
517 TaskRunnerHelper::get(TaskType::Unthrottled, &document())); 520 TaskRunnerHelper::get(TaskType::MediaElementEvent, &document()));
518 m_checkViewportIntersectionTimer.moveToNewTaskRunner( 521 m_checkViewportIntersectionTimer.moveToNewTaskRunner(
519 TaskRunnerHelper::get(TaskType::Unthrottled, &document())); 522 TaskRunnerHelper::get(TaskType::MediaElementEvent, &document()));
haraken 2017/02/27 07:50:45 Is this your intentional change? You're changing e
foolip 2017/02/27 15:39:08 Most of these changes are probably correct, but so
523 m_deferredLoadTimer.moveToNewTaskRunner(
524 TaskRunnerHelper::get(TaskType::MediaElementEvent, &document()));
foolip 2017/02/27 15:39:08 At the m_deferredLoadTimer.startOneShot call site
520 525
521 m_autoplayUmaHelper->didMoveToNewDocument(oldDocument); 526 m_autoplayUmaHelper->didMoveToNewDocument(oldDocument);
522 // If any experiment is enabled, then we want to enable a user gesture by 527 // If any experiment is enabled, then we want to enable a user gesture by
523 // default, otherwise the experiment does nothing. 528 // default, otherwise the experiment does nothing.
524 bool oldDocumentRequiresUserGesture = 529 bool oldDocumentRequiresUserGesture =
525 computeLockedPendingUserGesture(oldDocument); 530 computeLockedPendingUserGesture(oldDocument);
526 bool newDocumentRequiresUserGesture = 531 bool newDocumentRequiresUserGesture =
527 computeLockedPendingUserGesture(document()); 532 computeLockedPendingUserGesture(document());
528 if (newDocumentRequiresUserGesture && !oldDocumentRequiresUserGesture) 533 if (newDocumentRequiresUserGesture && !oldDocumentRequiresUserGesture)
529 m_lockedPendingUserGesture = true; 534 m_lockedPendingUserGesture = true;
(...skipping 3639 matching lines...) Expand 10 before | Expand all | Expand 10 after
4169 kMostlyFillViewportBecomeStableSeconds, BLINK_FROM_HERE); 4174 kMostlyFillViewportBecomeStableSeconds, BLINK_FROM_HERE);
4170 } 4175 }
4171 4176
4172 void HTMLMediaElement::viewportFillDebouncerTimerFired(TimerBase*) { 4177 void HTMLMediaElement::viewportFillDebouncerTimerFired(TimerBase*) {
4173 m_mostlyFillingViewport = true; 4178 m_mostlyFillingViewport = true;
4174 if (m_webMediaPlayer) 4179 if (m_webMediaPlayer)
4175 m_webMediaPlayer->becameDominantVisibleContent(m_mostlyFillingViewport); 4180 m_webMediaPlayer->becameDominantVisibleContent(m_mostlyFillingViewport);
4176 } 4181 }
4177 4182
4178 } // namespace blink 4183 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLMediaElement.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698