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

Side by Side Diff: Source/core/html/HTMLMediaElement.h

Issue 517593003: Allow HTMLMediaElement.currentTime to be set before the transition to HAVE_METADATA (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 3 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 | « LayoutTests/media/video-seek-no-src-expected.txt ('k') | Source/core/html/HTMLMediaElement.cpp » ('j') | 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 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 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 virtual void mediaPlayerSetWebLayer(blink::WebLayer*) OVERRIDE FINAL; 369 virtual void mediaPlayerSetWebLayer(blink::WebLayer*) OVERRIDE FINAL;
370 virtual void mediaPlayerMediaSourceOpened(blink::WebMediaSource*) OVERRIDE F INAL; 370 virtual void mediaPlayerMediaSourceOpened(blink::WebMediaSource*) OVERRIDE F INAL;
371 371
372 void loadTimerFired(Timer<HTMLMediaElement>*); 372 void loadTimerFired(Timer<HTMLMediaElement>*);
373 void progressEventTimerFired(Timer<HTMLMediaElement>*); 373 void progressEventTimerFired(Timer<HTMLMediaElement>*);
374 void playbackProgressTimerFired(Timer<HTMLMediaElement>*); 374 void playbackProgressTimerFired(Timer<HTMLMediaElement>*);
375 void startPlaybackProgressTimer(); 375 void startPlaybackProgressTimer();
376 void startProgressEventTimer(); 376 void startProgressEventTimer();
377 void stopPeriodicTimers(); 377 void stopPeriodicTimers();
378 378
379 void seek(double time, ExceptionState&); 379 void seek(double time);
380 void finishSeek(); 380 void finishSeek();
381 void checkIfSeekNeeded(); 381 void checkIfSeekNeeded();
382 void addPlayedRange(double start, double end); 382 void addPlayedRange(double start, double end);
383 383
384 void scheduleTimeupdateEvent(bool periodicEvent); 384 void scheduleTimeupdateEvent(bool periodicEvent);
385 void scheduleEvent(const AtomicString& eventName); // FIXME: Rename to sched uleNamedEvent for clarity. 385 void scheduleEvent(const AtomicString& eventName); // FIXME: Rename to sched uleNamedEvent for clarity.
386 386
387 // loading 387 // loading
388 void prepareForLoad(); 388 void prepareForLoad();
389 void loadInternal(); 389 void loadInternal();
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 502
503 // Cached duration to suppress duplicate events if duration unchanged. 503 // Cached duration to suppress duplicate events if duration unchanged.
504 double m_duration; 504 double m_duration;
505 505
506 // The last time a timeupdate event was sent (wall clock). 506 // The last time a timeupdate event was sent (wall clock).
507 double m_lastTimeUpdateEventWallTime; 507 double m_lastTimeUpdateEventWallTime;
508 508
509 // The last time a timeupdate event was sent in movie time. 509 // The last time a timeupdate event was sent in movie time.
510 double m_lastTimeUpdateEventMovieTime; 510 double m_lastTimeUpdateEventMovieTime;
511 511
512 // The default playback start position.
513 double m_defaultPlaybackStartPosition;
514
512 // Loading state. 515 // Loading state.
513 enum LoadState { WaitingForSource, LoadingFromSrcAttr, LoadingFromSourceElem ent }; 516 enum LoadState { WaitingForSource, LoadingFromSrcAttr, LoadingFromSourceElem ent };
514 LoadState m_loadState; 517 LoadState m_loadState;
515 RefPtrWillBeMember<HTMLSourceElement> m_currentSourceNode; 518 RefPtrWillBeMember<HTMLSourceElement> m_currentSourceNode;
516 RefPtrWillBeMember<Node> m_nextChildNodeToConsider; 519 RefPtrWillBeMember<Node> m_nextChildNodeToConsider;
517 520
518 // "Deferred loading" state (for preload=none). 521 // "Deferred loading" state (for preload=none).
519 enum DeferredLoadState { 522 enum DeferredLoadState {
520 // The load is not deferred. 523 // The load is not deferred.
521 NotDeferred, 524 NotDeferred,
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 inline bool isHTMLMediaElement(const HTMLElement& element) 635 inline bool isHTMLMediaElement(const HTMLElement& element)
633 { 636 {
634 return isHTMLAudioElement(element) || isHTMLVideoElement(element); 637 return isHTMLAudioElement(element) || isHTMLVideoElement(element);
635 } 638 }
636 639
637 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); 640 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement);
638 641
639 } // namespace blink 642 } // namespace blink
640 643
641 #endif // HTMLMediaElement_h 644 #endif // HTMLMediaElement_h
OLDNEW
« no previous file with comments | « LayoutTests/media/video-seek-no-src-expected.txt ('k') | Source/core/html/HTMLMediaElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698