| 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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 class HTMLMediaElement : public HTMLElement, public MediaPlayerClient, public Ac
tiveDOMObject, public MediaControllerInterface | 74 class HTMLMediaElement : public HTMLElement, public MediaPlayerClient, public Ac
tiveDOMObject, public MediaControllerInterface |
| 75 , private TextTrackClient | 75 , private TextTrackClient |
| 76 { | 76 { |
| 77 public: | 77 public: |
| 78 static blink::WebMimeRegistry::SupportsType supportsType(const ContentType&,
const String& keySystem = String()); | 78 static blink::WebMimeRegistry::SupportsType supportsType(const ContentType&,
const String& keySystem = String()); |
| 79 | 79 |
| 80 MediaPlayer* player() const { return m_player.get(); } | 80 MediaPlayer* player() const { return m_player.get(); } |
| 81 | 81 |
| 82 virtual bool isVideo() const = 0; | 82 virtual bool isVideo() const = 0; |
| 83 virtual bool hasVideo() const OVERRIDE { return false; } | 83 virtual bool hasVideo() const OVERRIDE { return false; } |
| 84 virtual bool hasAudio() const OVERRIDE; | 84 virtual bool hasAudio() const OVERRIDE FINAL; |
| 85 | 85 |
| 86 // Eventually overloaded in HTMLVideoElement | 86 // Eventually overloaded in HTMLVideoElement |
| 87 virtual bool supportsFullscreen() const OVERRIDE { return false; }; | 87 virtual bool supportsFullscreen() const OVERRIDE { return false; } |
| 88 | 88 |
| 89 bool supportsSave() const; | 89 bool supportsSave() const; |
| 90 | 90 |
| 91 blink::WebLayer* platformLayer() const; | 91 blink::WebLayer* platformLayer() const; |
| 92 | 92 |
| 93 enum DelayedActionType { | 93 enum DelayedActionType { |
| 94 LoadMediaResource = 1 << 0, | 94 LoadMediaResource = 1 << 0, |
| 95 LoadTextTrackResource = 1 << 1, | 95 LoadTextTrackResource = 1 << 1, |
| 96 TextTrackChangesNotification = 1 << 2 | 96 TextTrackChangesNotification = 1 << 2 |
| 97 }; | 97 }; |
| 98 void scheduleDelayedAction(DelayedActionType); | 98 void scheduleDelayedAction(DelayedActionType); |
| 99 | 99 |
| 100 bool isActive() const { return m_active; } | 100 bool isActive() const { return m_active; } |
| 101 | 101 |
| 102 // error state | 102 // error state |
| 103 PassRefPtr<MediaError> error() const; | 103 PassRefPtr<MediaError> error() const; |
| 104 | 104 |
| 105 // network state | 105 // network state |
| 106 void setSrc(const AtomicString&); | 106 void setSrc(const AtomicString&); |
| 107 const KURL& currentSrc() const { return m_currentSrc; } | 107 const KURL& currentSrc() const { return m_currentSrc; } |
| 108 | 108 |
| 109 enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO
_SOURCE }; | 109 enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO
_SOURCE }; |
| 110 NetworkState networkState() const; | 110 NetworkState networkState() const; |
| 111 | 111 |
| 112 String preload() const; | 112 String preload() const; |
| 113 void setPreload(const AtomicString&); | 113 void setPreload(const AtomicString&); |
| 114 | 114 |
| 115 PassRefPtr<TimeRanges> buffered() const; | 115 virtual PassRefPtr<TimeRanges> buffered() const OVERRIDE FINAL; |
| 116 void load(); | 116 void load(); |
| 117 String canPlayType(const String& mimeType, const String& keySystem = String(
), const KURL& = KURL()) const; | 117 String canPlayType(const String& mimeType, const String& keySystem = String(
), const KURL& = KURL()) const; |
| 118 | 118 |
| 119 // ready state | 119 // ready state |
| 120 ReadyState readyState() const; | 120 virtual ReadyState readyState() const OVERRIDE FINAL; |
| 121 bool seeking() const; | 121 bool seeking() const; |
| 122 | 122 |
| 123 // playback state | 123 // playback state |
| 124 double currentTime() const; | 124 virtual double currentTime() const OVERRIDE FINAL; |
| 125 void setCurrentTime(double, ExceptionState&); | 125 virtual void setCurrentTime(double, ExceptionState&) OVERRIDE FINAL; |
| 126 double duration() const; | 126 virtual double duration() const OVERRIDE FINAL; |
| 127 bool paused() const; | 127 virtual bool paused() const OVERRIDE FINAL; |
| 128 double defaultPlaybackRate() const; | 128 virtual double defaultPlaybackRate() const OVERRIDE FINAL; |
| 129 void setDefaultPlaybackRate(double); | 129 virtual void setDefaultPlaybackRate(double) OVERRIDE FINAL; |
| 130 double playbackRate() const; | 130 virtual double playbackRate() const OVERRIDE FINAL; |
| 131 void setPlaybackRate(double); | 131 virtual void setPlaybackRate(double) OVERRIDE FINAL; |
| 132 void updatePlaybackRate(); | 132 void updatePlaybackRate(); |
| 133 PassRefPtr<TimeRanges> played(); | 133 virtual PassRefPtr<TimeRanges> played() OVERRIDE FINAL; |
| 134 PassRefPtr<TimeRanges> seekable() const; | 134 virtual PassRefPtr<TimeRanges> seekable() const OVERRIDE FINAL; |
| 135 bool ended() const; | 135 bool ended() const; |
| 136 bool autoplay() const; | 136 bool autoplay() const; |
| 137 bool loop() const; | 137 bool loop() const; |
| 138 void setLoop(bool b); | 138 void setLoop(bool b); |
| 139 void play(); | 139 virtual void play() OVERRIDE FINAL; |
| 140 void pause(); | 140 virtual void pause() OVERRIDE FINAL; |
| 141 | 141 |
| 142 // statistics | 142 // statistics |
| 143 unsigned webkitAudioDecodedByteCount() const; | 143 unsigned webkitAudioDecodedByteCount() const; |
| 144 unsigned webkitVideoDecodedByteCount() const; | 144 unsigned webkitVideoDecodedByteCount() const; |
| 145 | 145 |
| 146 // media source extensions | 146 // media source extensions |
| 147 void closeMediaSource(); | 147 void closeMediaSource(); |
| 148 void durationChanged(double duration); | 148 void durationChanged(double duration); |
| 149 | 149 |
| 150 // encrypted media extensions | 150 // encrypted media extensions |
| 151 void webkitGenerateKeyRequest(const String& keySystem, PassRefPtr<Uint8Array
> initData, ExceptionState&); | 151 void webkitGenerateKeyRequest(const String& keySystem, PassRefPtr<Uint8Array
> initData, ExceptionState&); |
| 152 void webkitGenerateKeyRequest(const String& keySystem, ExceptionState&); | 152 void webkitGenerateKeyRequest(const String& keySystem, ExceptionState&); |
| 153 void webkitAddKey(const String& keySystem, PassRefPtr<Uint8Array> key, PassR
efPtr<Uint8Array> initData, const String& sessionId, ExceptionState&); | 153 void webkitAddKey(const String& keySystem, PassRefPtr<Uint8Array> key, PassR
efPtr<Uint8Array> initData, const String& sessionId, ExceptionState&); |
| 154 void webkitAddKey(const String& keySystem, PassRefPtr<Uint8Array> key, Excep
tionState&); | 154 void webkitAddKey(const String& keySystem, PassRefPtr<Uint8Array> key, Excep
tionState&); |
| 155 void webkitCancelKeyRequest(const String& keySystem, const String& sessionId
, ExceptionState&); | 155 void webkitCancelKeyRequest(const String& keySystem, const String& sessionId
, ExceptionState&); |
| 156 | 156 |
| 157 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeyadded); | 157 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeyadded); |
| 158 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeyerror); | 158 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeyerror); |
| 159 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeymessage); | 159 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeymessage); |
| 160 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitneedkey); | 160 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitneedkey); |
| 161 | 161 |
| 162 MediaKeys* mediaKeys() const { return m_mediaKeys.get(); } | 162 MediaKeys* mediaKeys() const { return m_mediaKeys.get(); } |
| 163 void setMediaKeys(MediaKeys*); | 163 void setMediaKeys(MediaKeys*); |
| 164 | 164 |
| 165 // controls | 165 // controls |
| 166 bool controls() const; | 166 bool controls() const; |
| 167 void setControls(bool); | 167 void setControls(bool); |
| 168 double volume() const; | 168 virtual double volume() const OVERRIDE FINAL; |
| 169 void setVolume(double, ExceptionState&); | 169 virtual void setVolume(double, ExceptionState&) OVERRIDE FINAL; |
| 170 bool muted() const; | 170 virtual bool muted() const OVERRIDE FINAL; |
| 171 void setMuted(bool); | 171 virtual void setMuted(bool) OVERRIDE FINAL; |
| 172 | 172 |
| 173 void togglePlayState(); | 173 void togglePlayState(); |
| 174 void beginScrubbing(); | 174 virtual void beginScrubbing() OVERRIDE FINAL; |
| 175 void endScrubbing(); | 175 virtual void endScrubbing() OVERRIDE FINAL; |
| 176 | 176 |
| 177 bool canPlay() const; | 177 virtual bool canPlay() const OVERRIDE FINAL; |
| 178 | 178 |
| 179 double percentLoaded() const; | 179 double percentLoaded() const; |
| 180 | 180 |
| 181 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, const AtomicStr
ing& label, const AtomicString& language, ExceptionState&); | 181 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, const AtomicStr
ing& label, const AtomicString& language, ExceptionState&); |
| 182 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, const AtomicStr
ing& label, ExceptionState& exceptionState) { return addTextTrack(kind, label, e
mptyAtom, exceptionState); } | 182 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, const AtomicStr
ing& label, ExceptionState& exceptionState) { return addTextTrack(kind, label, e
mptyAtom, exceptionState); } |
| 183 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, ExceptionState&
exceptionState) { return addTextTrack(kind, emptyAtom, emptyAtom, exceptionStat
e); } | 183 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, ExceptionState&
exceptionState) { return addTextTrack(kind, emptyAtom, emptyAtom, exceptionStat
e); } |
| 184 | 184 |
| 185 TextTrackList* textTracks(); | 185 TextTrackList* textTracks(); |
| 186 CueList currentlyActiveCues() const { return m_currentlyActiveCues; } | 186 CueList currentlyActiveCues() const { return m_currentlyActiveCues; } |
| 187 | 187 |
| 188 void addTrack(TextTrack*); | 188 void addTrack(TextTrack*); |
| 189 void removeTrack(TextTrack*); | 189 void removeTrack(TextTrack*); |
| 190 void removeAllInbandTracks(); | 190 void removeAllInbandTracks(); |
| 191 void closeCaptionTracksChanged(); | 191 void closeCaptionTracksChanged(); |
| 192 void notifyMediaPlayerOfTextTrackChanges(); | 192 void notifyMediaPlayerOfTextTrackChanges(); |
| 193 | 193 |
| 194 void didAddTrack(HTMLTrackElement*); | 194 void didAddTrack(HTMLTrackElement*); |
| 195 void didRemoveTrack(HTMLTrackElement*); | 195 void didRemoveTrack(HTMLTrackElement*); |
| 196 | 196 |
| 197 virtual void mediaPlayerDidAddTrack(blink::WebInbandTextTrack*) OVERRIDE; | 197 virtual void mediaPlayerDidAddTrack(blink::WebInbandTextTrack*) OVERRIDE FIN
AL; |
| 198 virtual void mediaPlayerDidRemoveTrack(blink::WebInbandTextTrack*) OVERRIDE; | 198 virtual void mediaPlayerDidRemoveTrack(blink::WebInbandTextTrack*) OVERRIDE
FINAL; |
| 199 | 199 |
| 200 struct TrackGroup { | 200 struct TrackGroup { |
| 201 enum GroupKind { CaptionsAndSubtitles, Description, Chapter, Metadata, O
ther }; | 201 enum GroupKind { CaptionsAndSubtitles, Description, Chapter, Metadata, O
ther }; |
| 202 | 202 |
| 203 TrackGroup(GroupKind kind) | 203 TrackGroup(GroupKind kind) |
| 204 : visibleTrack(0) | 204 : visibleTrack(0) |
| 205 , defaultTrack(0) | 205 , defaultTrack(0) |
| 206 , kind(kind) | 206 , kind(kind) |
| 207 , hasSrcLang(false) | 207 , hasSrcLang(false) |
| 208 { | 208 { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 222 bool textTracksAreReady() const; | 222 bool textTracksAreReady() const; |
| 223 enum VisibilityChangeAssumption { | 223 enum VisibilityChangeAssumption { |
| 224 AssumeNoVisibleChange, | 224 AssumeNoVisibleChange, |
| 225 AssumeVisibleChange | 225 AssumeVisibleChange |
| 226 }; | 226 }; |
| 227 void configureTextTrackDisplay(VisibilityChangeAssumption); | 227 void configureTextTrackDisplay(VisibilityChangeAssumption); |
| 228 void updateTextTrackDisplay(); | 228 void updateTextTrackDisplay(); |
| 229 void textTrackReadyStateChanged(TextTrack*); | 229 void textTrackReadyStateChanged(TextTrack*); |
| 230 | 230 |
| 231 // TextTrackClient | 231 // TextTrackClient |
| 232 virtual void textTrackKindChanged(TextTrack*) OVERRIDE; | 232 virtual void textTrackKindChanged(TextTrack*) OVERRIDE FINAL; |
| 233 virtual void textTrackModeChanged(TextTrack*) OVERRIDE; | 233 virtual void textTrackModeChanged(TextTrack*) OVERRIDE FINAL; |
| 234 virtual void textTrackAddCues(TextTrack*, const TextTrackCueList*) OVERRIDE; | 234 virtual void textTrackAddCues(TextTrack*, const TextTrackCueList*) OVERRIDE
FINAL; |
| 235 virtual void textTrackRemoveCues(TextTrack*, const TextTrackCueList*) OVERRI
DE; | 235 virtual void textTrackRemoveCues(TextTrack*, const TextTrackCueList*) OVERRI
DE FINAL; |
| 236 virtual void textTrackAddCue(TextTrack*, PassRefPtr<TextTrackCue>) OVERRIDE; | 236 virtual void textTrackAddCue(TextTrack*, PassRefPtr<TextTrackCue>) OVERRIDE
FINAL; |
| 237 virtual void textTrackRemoveCue(TextTrack*, PassRefPtr<TextTrackCue>) OVERRI
DE; | 237 virtual void textTrackRemoveCue(TextTrack*, PassRefPtr<TextTrackCue>) OVERRI
DE FINAL; |
| 238 | 238 |
| 239 // EventTarget function. | 239 // EventTarget function. |
| 240 // Both Node (via HTMLElement) and ActiveDOMObject define this method, which | 240 // Both Node (via HTMLElement) and ActiveDOMObject define this method, which |
| 241 // causes an ambiguity error at compile time. This class's constructor | 241 // causes an ambiguity error at compile time. This class's constructor |
| 242 // ensures that both implementations return document, so return the result | 242 // ensures that both implementations return document, so return the result |
| 243 // of one of them here. | 243 // of one of them here. |
| 244 virtual ExecutionContext* executionContext() const OVERRIDE { return HTMLEle
ment::executionContext(); } | 244 virtual ExecutionContext* executionContext() const OVERRIDE FINAL { return H
TMLElement::executionContext(); } |
| 245 | 245 |
| 246 bool hasSingleSecurityOrigin() const { return !m_player || m_player->hasSing
leSecurityOrigin(); } | 246 bool hasSingleSecurityOrigin() const { return !m_player || m_player->hasSing
leSecurityOrigin(); } |
| 247 | 247 |
| 248 bool isFullscreen() const; | 248 virtual bool isFullscreen() const OVERRIDE FINAL; |
| 249 void enterFullscreen(); | 249 virtual void enterFullscreen() OVERRIDE FINAL; |
| 250 void exitFullscreen(); | 250 void exitFullscreen(); |
| 251 | 251 |
| 252 bool hasClosedCaptions() const; | 252 virtual bool hasClosedCaptions() const OVERRIDE FINAL; |
| 253 bool closedCaptionsVisible() const; | 253 virtual bool closedCaptionsVisible() const OVERRIDE FINAL; |
| 254 void setClosedCaptionsVisible(bool); | 254 virtual void setClosedCaptionsVisible(bool) OVERRIDE FINAL; |
| 255 | 255 |
| 256 MediaControls* mediaControls() const; | 256 MediaControls* mediaControls() const; |
| 257 | 257 |
| 258 void sourceWasRemoved(HTMLSourceElement*); | 258 void sourceWasRemoved(HTMLSourceElement*); |
| 259 void sourceWasAdded(HTMLSourceElement*); | 259 void sourceWasAdded(HTMLSourceElement*); |
| 260 | 260 |
| 261 bool isPlaying() const { return m_playing; } | 261 bool isPlaying() const { return m_playing; } |
| 262 | 262 |
| 263 // ActiveDOMObject functions. | 263 // ActiveDOMObject functions. |
| 264 virtual bool hasPendingActivity() const OVERRIDE; | 264 virtual bool hasPendingActivity() const OVERRIDE FINAL; |
| 265 virtual void contextDestroyed() OVERRIDE; | 265 virtual void contextDestroyed() OVERRIDE FINAL; |
| 266 | 266 |
| 267 #if ENABLE(WEB_AUDIO) | 267 #if ENABLE(WEB_AUDIO) |
| 268 MediaElementAudioSourceNode* audioSourceNode() { return m_audioSourceNode; } | 268 MediaElementAudioSourceNode* audioSourceNode() { return m_audioSourceNode; } |
| 269 void setAudioSourceNode(MediaElementAudioSourceNode*); | 269 void setAudioSourceNode(MediaElementAudioSourceNode*); |
| 270 | 270 |
| 271 AudioSourceProvider* audioSourceProvider(); | 271 AudioSourceProvider* audioSourceProvider(); |
| 272 #endif | 272 #endif |
| 273 | 273 |
| 274 enum InvalidURLAction { DoNothing, Complain }; | 274 enum InvalidURLAction { DoNothing, Complain }; |
| 275 bool isSafeToLoadURL(const KURL&, InvalidURLAction); | 275 bool isSafeToLoadURL(const KURL&, InvalidURLAction); |
| 276 | 276 |
| 277 MediaController* controller() const; | 277 MediaController* controller() const; |
| 278 void setController(PassRefPtr<MediaController>); // Resets the MediaGroup an
d sets the MediaController. | 278 void setController(PassRefPtr<MediaController>); // Resets the MediaGroup an
d sets the MediaController. |
| 279 | 279 |
| 280 protected: | 280 protected: |
| 281 HTMLMediaElement(const QualifiedName&, Document&, bool); | 281 HTMLMediaElement(const QualifiedName&, Document&, bool); |
| 282 virtual ~HTMLMediaElement(); | 282 virtual ~HTMLMediaElement(); |
| 283 | 283 |
| 284 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; | 284 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; |
| 285 virtual void finishParsingChildren() OVERRIDE; | 285 virtual void finishParsingChildren() OVERRIDE FINAL; |
| 286 virtual bool isURLAttribute(const Attribute&) const OVERRIDE; | 286 virtual bool isURLAttribute(const Attribute&) const OVERRIDE; |
| 287 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE; | 287 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE; |
| 288 | 288 |
| 289 virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE; | 289 virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE; |
| 290 | 290 |
| 291 enum DisplayMode { Unknown, None, Poster, PosterWaitingForVideo, Video }; | 291 enum DisplayMode { Unknown, None, Poster, PosterWaitingForVideo, Video }; |
| 292 DisplayMode displayMode() const { return m_displayMode; } | 292 DisplayMode displayMode() const { return m_displayMode; } |
| 293 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } | 293 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } |
| 294 | 294 |
| 295 virtual bool isMediaElement() const OVERRIDE { return true; } | 295 virtual bool isMediaElement() const OVERRIDE FINAL { return true; } |
| 296 | 296 |
| 297 void setControllerInternal(PassRefPtr<MediaController>); | 297 void setControllerInternal(PassRefPtr<MediaController>); |
| 298 | 298 |
| 299 // Restrictions to change default behaviors. | 299 // Restrictions to change default behaviors. |
| 300 enum BehaviorRestrictionFlags { | 300 enum BehaviorRestrictionFlags { |
| 301 NoRestrictions = 0, | 301 NoRestrictions = 0, |
| 302 RequireUserGestureForLoadRestriction = 1 << 0, | 302 RequireUserGestureForLoadRestriction = 1 << 0, |
| 303 RequireUserGestureForRateChangeRestriction = 1 << 1, | 303 RequireUserGestureForRateChangeRestriction = 1 << 1, |
| 304 RequireUserGestureForFullscreenRestriction = 1 << 2, | 304 RequireUserGestureForFullscreenRestriction = 1 << 2, |
| 305 RequirePageConsentToLoadMediaRestriction = 1 << 3, | 305 RequirePageConsentToLoadMediaRestriction = 1 << 3, |
| 306 }; | 306 }; |
| 307 typedef unsigned BehaviorRestrictions; | 307 typedef unsigned BehaviorRestrictions; |
| 308 | 308 |
| 309 bool userGestureRequiredForLoad() const { return m_restrictions & RequireUse
rGestureForLoadRestriction; } | 309 bool userGestureRequiredForLoad() const { return m_restrictions & RequireUse
rGestureForLoadRestriction; } |
| 310 bool userGestureRequiredForRateChange() const { return m_restrictions & Requ
ireUserGestureForRateChangeRestriction; } | 310 bool userGestureRequiredForRateChange() const { return m_restrictions & Requ
ireUserGestureForRateChangeRestriction; } |
| 311 bool userGestureRequiredForFullscreen() const { return m_restrictions & Requ
ireUserGestureForFullscreenRestriction; } | 311 bool userGestureRequiredForFullscreen() const { return m_restrictions & Requ
ireUserGestureForFullscreenRestriction; } |
| 312 bool pageConsentRequiredForLoad() const { return m_restrictions & RequirePag
eConsentToLoadMediaRestriction; } | 312 bool pageConsentRequiredForLoad() const { return m_restrictions & RequirePag
eConsentToLoadMediaRestriction; } |
| 313 | 313 |
| 314 void addBehaviorRestriction(BehaviorRestrictions restriction) { m_restrictio
ns |= restriction; } | 314 void addBehaviorRestriction(BehaviorRestrictions restriction) { m_restrictio
ns |= restriction; } |
| 315 void removeBehaviorRestriction(BehaviorRestrictions restriction) { m_restric
tions &= ~restriction; } | 315 void removeBehaviorRestriction(BehaviorRestrictions restriction) { m_restric
tions &= ~restriction; } |
| 316 | 316 |
| 317 bool ignoreTrackDisplayUpdateRequests() const { return m_ignoreTrackDisplayU
pdate > 0; } | 317 bool ignoreTrackDisplayUpdateRequests() const { return m_ignoreTrackDisplayU
pdate > 0; } |
| 318 void beginIgnoringTrackDisplayUpdateRequests(); | 318 void beginIgnoringTrackDisplayUpdateRequests(); |
| 319 void endIgnoringTrackDisplayUpdateRequests(); | 319 void endIgnoringTrackDisplayUpdateRequests(); |
| 320 | 320 |
| 321 private: | 321 private: |
| 322 void createMediaPlayer(); | 322 void createMediaPlayer(); |
| 323 | 323 |
| 324 virtual bool alwaysCreateUserAgentShadowRoot() const OVERRIDE { return true;
} | 324 virtual bool alwaysCreateUserAgentShadowRoot() const OVERRIDE FINAL { return
true; } |
| 325 virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; } | 325 virtual bool areAuthorShadowsAllowed() const OVERRIDE FINAL { return false;
} |
| 326 | 326 |
| 327 virtual bool hasCustomFocusLogic() const OVERRIDE; | 327 virtual bool hasCustomFocusLogic() const OVERRIDE FINAL; |
| 328 virtual bool supportsFocus() const OVERRIDE; | 328 virtual bool supportsFocus() const OVERRIDE FINAL; |
| 329 virtual bool isMouseFocusable() const OVERRIDE; | 329 virtual bool isMouseFocusable() const OVERRIDE FINAL; |
| 330 virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE; | 330 virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE; |
| 331 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE; | 331 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE; |
| 332 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE; | 332 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE F
INAL; |
| 333 virtual void removedFrom(ContainerNode*) OVERRIDE; | 333 virtual void removedFrom(ContainerNode*) OVERRIDE FINAL; |
| 334 virtual void didRecalcStyle(StyleRecalcChange) OVERRIDE; | 334 virtual void didRecalcStyle(StyleRecalcChange) OVERRIDE FINAL; |
| 335 | 335 |
| 336 virtual void didBecomeFullscreenElement() OVERRIDE; | 336 virtual void didBecomeFullscreenElement() OVERRIDE FINAL; |
| 337 virtual void willStopBeingFullscreenElement() OVERRIDE; | 337 virtual void willStopBeingFullscreenElement() OVERRIDE FINAL; |
| 338 virtual bool isInteractiveContent() const OVERRIDE; | 338 virtual bool isInteractiveContent() const OVERRIDE FINAL; |
| 339 | 339 |
| 340 // ActiveDOMObject functions. | 340 // ActiveDOMObject functions. |
| 341 virtual void stop() OVERRIDE; | 341 virtual void stop() OVERRIDE FINAL; |
| 342 | 342 |
| 343 virtual void updateDisplayState() { } | 343 virtual void updateDisplayState() { } |
| 344 | 344 |
| 345 void setReadyState(MediaPlayer::ReadyState); | 345 void setReadyState(MediaPlayer::ReadyState); |
| 346 void setNetworkState(MediaPlayer::NetworkState); | 346 void setNetworkState(MediaPlayer::NetworkState); |
| 347 | 347 |
| 348 virtual void mediaPlayerNetworkStateChanged() OVERRIDE; | 348 virtual void mediaPlayerNetworkStateChanged() OVERRIDE FINAL; |
| 349 virtual void mediaPlayerReadyStateChanged() OVERRIDE; | 349 virtual void mediaPlayerReadyStateChanged() OVERRIDE FINAL; |
| 350 virtual void mediaPlayerTimeChanged() OVERRIDE; | 350 virtual void mediaPlayerTimeChanged() OVERRIDE FINAL; |
| 351 virtual void mediaPlayerDurationChanged() OVERRIDE; | 351 virtual void mediaPlayerDurationChanged() OVERRIDE FINAL; |
| 352 virtual void mediaPlayerPlaybackStateChanged() OVERRIDE; | 352 virtual void mediaPlayerPlaybackStateChanged() OVERRIDE FINAL; |
| 353 virtual void mediaPlayerRequestFullscreen() OVERRIDE; | 353 virtual void mediaPlayerRequestFullscreen() OVERRIDE FINAL; |
| 354 virtual void mediaPlayerRequestSeek(double) OVERRIDE; | 354 virtual void mediaPlayerRequestSeek(double) OVERRIDE FINAL; |
| 355 virtual void mediaPlayerRepaint() OVERRIDE; | 355 virtual void mediaPlayerRepaint() OVERRIDE FINAL; |
| 356 virtual void mediaPlayerSizeChanged() OVERRIDE; | 356 virtual void mediaPlayerSizeChanged() OVERRIDE FINAL; |
| 357 | 357 |
| 358 virtual void mediaPlayerKeyAdded(const String& keySystem, const String& sess
ionId) OVERRIDE; | 358 virtual void mediaPlayerKeyAdded(const String& keySystem, const String& sess
ionId) OVERRIDE FINAL; |
| 359 virtual void mediaPlayerKeyError(const String& keySystem, const String& sess
ionId, MediaPlayerClient::MediaKeyErrorCode, unsigned short systemCode) OVERRIDE
; | 359 virtual void mediaPlayerKeyError(const String& keySystem, const String& sess
ionId, MediaPlayerClient::MediaKeyErrorCode, unsigned short systemCode) OVERRIDE
FINAL; |
| 360 virtual void mediaPlayerKeyMessage(const String& keySystem, const String& se
ssionId, const unsigned char* message, unsigned messageLength, const KURL& defau
ltURL) OVERRIDE; | 360 virtual void mediaPlayerKeyMessage(const String& keySystem, const String& se
ssionId, const unsigned char* message, unsigned messageLength, const KURL& defau
ltURL) OVERRIDE FINAL; |
| 361 virtual bool mediaPlayerKeyNeeded(const String& keySystem, const String& ses
sionId, const unsigned char* initData, unsigned initDataLength) OVERRIDE; | 361 virtual bool mediaPlayerKeyNeeded(const String& keySystem, const String& ses
sionId, const unsigned char* initData, unsigned initDataLength) OVERRIDE FINAL; |
| 362 virtual bool mediaPlayerKeyNeeded(Uint8Array*) OVERRIDE; | 362 virtual bool mediaPlayerKeyNeeded(Uint8Array*) OVERRIDE FINAL; |
| 363 | 363 |
| 364 virtual CORSMode mediaPlayerCORSMode() const OVERRIDE; | 364 virtual CORSMode mediaPlayerCORSMode() const OVERRIDE FINAL; |
| 365 | 365 |
| 366 virtual void mediaPlayerSetWebLayer(blink::WebLayer*) OVERRIDE; | 366 virtual void mediaPlayerSetWebLayer(blink::WebLayer*) OVERRIDE FINAL; |
| 367 virtual void mediaPlayerSetOpaque(bool) OVERRIDE; | 367 virtual void mediaPlayerSetOpaque(bool) OVERRIDE FINAL; |
| 368 virtual void mediaPlayerMediaSourceOpened(blink::WebMediaSource*) OVERRIDE; | 368 virtual void mediaPlayerMediaSourceOpened(blink::WebMediaSource*) OVERRIDE F
INAL; |
| 369 | 369 |
| 370 void loadTimerFired(Timer<HTMLMediaElement>*); | 370 void loadTimerFired(Timer<HTMLMediaElement>*); |
| 371 void progressEventTimerFired(Timer<HTMLMediaElement>*); | 371 void progressEventTimerFired(Timer<HTMLMediaElement>*); |
| 372 void playbackProgressTimerFired(Timer<HTMLMediaElement>*); | 372 void playbackProgressTimerFired(Timer<HTMLMediaElement>*); |
| 373 void startPlaybackProgressTimer(); | 373 void startPlaybackProgressTimer(); |
| 374 void startProgressEventTimer(); | 374 void startProgressEventTimer(); |
| 375 void stopPeriodicTimers(); | 375 void stopPeriodicTimers(); |
| 376 | 376 |
| 377 void seek(double time, ExceptionState&); | 377 void seek(double time, ExceptionState&); |
| 378 void finishSeek(); | 378 void finishSeek(); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 431 void invalidateCachedTime(); | 431 void invalidateCachedTime(); |
| 432 void refreshCachedTime() const; | 432 void refreshCachedTime() const; |
| 433 | 433 |
| 434 bool hasMediaControls() const; | 434 bool hasMediaControls() const; |
| 435 bool createMediaControls(); | 435 bool createMediaControls(); |
| 436 void configureMediaControls(); | 436 void configureMediaControls(); |
| 437 | 437 |
| 438 void prepareMediaFragmentURI(); | 438 void prepareMediaFragmentURI(); |
| 439 void applyMediaFragmentURI(); | 439 void applyMediaFragmentURI(); |
| 440 | 440 |
| 441 virtual void* preDispatchEventHandler(Event*) OVERRIDE; | 441 virtual void* preDispatchEventHandler(Event*) OVERRIDE FINAL; |
| 442 | 442 |
| 443 void changeNetworkStateFromLoadingToIdle(); | 443 void changeNetworkStateFromLoadingToIdle(); |
| 444 | 444 |
| 445 void removeBehaviorsRestrictionsAfterFirstUserGesture(); | 445 void removeBehaviorsRestrictionsAfterFirstUserGesture(); |
| 446 | 446 |
| 447 const AtomicString& mediaGroup() const; | 447 const AtomicString& mediaGroup() const; |
| 448 void setMediaGroup(const AtomicString&); | 448 void setMediaGroup(const AtomicString&); |
| 449 void updateMediaController(); | 449 void updateMediaController(); |
| 450 bool isBlocked() const; | 450 bool isBlocked() const; |
| 451 bool isBlockedOnMediaController() const; | 451 bool isBlockedOnMediaController() const; |
| 452 bool hasCurrentSrc() const { return !m_currentSrc.isEmpty(); } | 452 virtual bool hasCurrentSrc() const OVERRIDE FINAL { return !m_currentSrc.isE
mpty(); } |
| 453 bool isAutoplaying() const { return m_autoplaying; } | 453 bool isAutoplaying() const { return m_autoplaying; } |
| 454 | 454 |
| 455 blink::WebContentDecryptionModule* contentDecryptionModule(); | 455 blink::WebContentDecryptionModule* contentDecryptionModule(); |
| 456 | 456 |
| 457 Timer<HTMLMediaElement> m_loadTimer; | 457 Timer<HTMLMediaElement> m_loadTimer; |
| 458 Timer<HTMLMediaElement> m_progressEventTimer; | 458 Timer<HTMLMediaElement> m_progressEventTimer; |
| 459 Timer<HTMLMediaElement> m_playbackProgressTimer; | 459 Timer<HTMLMediaElement> m_playbackProgressTimer; |
| 460 RefPtr<TimeRanges> m_playedTimeRanges; | 460 RefPtr<TimeRanges> m_playedTimeRanges; |
| 461 OwnPtr<GenericEventQueue> m_asyncEventQueue; | 461 OwnPtr<GenericEventQueue> m_asyncEventQueue; |
| 462 | 462 |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 586 inline bool isHTMLMediaElement(const Node& node) | 586 inline bool isHTMLMediaElement(const Node& node) |
| 587 { | 587 { |
| 588 return node.isElementNode() && toElement(node).isMediaElement(); | 588 return node.isElementNode() && toElement(node).isMediaElement(); |
| 589 } | 589 } |
| 590 | 590 |
| 591 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); | 591 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); |
| 592 | 592 |
| 593 } //namespace | 593 } //namespace |
| 594 | 594 |
| 595 #endif | 595 #endif |
| OLD | NEW |