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

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

Issue 59233014: Setting HTMLMediaElement.controller does not properly remove the 'mediagroup' content attribute (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase on master Created 7 years, 1 month 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 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 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 #if ENABLE(WEB_AUDIO) 269 #if ENABLE(WEB_AUDIO)
270 MediaElementAudioSourceNode* audioSourceNode() { return m_audioSourceNode; } 270 MediaElementAudioSourceNode* audioSourceNode() { return m_audioSourceNode; }
271 void setAudioSourceNode(MediaElementAudioSourceNode*); 271 void setAudioSourceNode(MediaElementAudioSourceNode*);
272 272
273 AudioSourceProvider* audioSourceProvider(); 273 AudioSourceProvider* audioSourceProvider();
274 #endif 274 #endif
275 275
276 enum InvalidURLAction { DoNothing, Complain }; 276 enum InvalidURLAction { DoNothing, Complain };
277 bool isSafeToLoadURL(const KURL&, InvalidURLAction); 277 bool isSafeToLoadURL(const KURL&, InvalidURLAction);
278 278
279 const String& mediaGroup() const;
280 void setMediaGroup(const String&);
281
282 MediaController* controller() const; 279 MediaController* controller() const;
283 void setController(PassRefPtr<MediaController>); 280 void setController(PassRefPtr<MediaController>); // Resets the MediaGroup an d sets the MediaController.
284 281
285 protected: 282 protected:
286 HTMLMediaElement(const QualifiedName&, Document&, bool); 283 HTMLMediaElement(const QualifiedName&, Document&, bool);
287 virtual ~HTMLMediaElement(); 284 virtual ~HTMLMediaElement();
288 285
289 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR IDE; 286 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR IDE;
290 virtual void finishParsingChildren() OVERRIDE; 287 virtual void finishParsingChildren() OVERRIDE;
291 virtual bool isURLAttribute(const Attribute&) const OVERRIDE; 288 virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
292 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE; 289 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE;
293 290
294 virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE; 291 virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE;
295 292
296 enum DisplayMode { Unknown, None, Poster, PosterWaitingForVideo, Video }; 293 enum DisplayMode { Unknown, None, Poster, PosterWaitingForVideo, Video };
297 DisplayMode displayMode() const { return m_displayMode; } 294 DisplayMode displayMode() const { return m_displayMode; }
298 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } 295 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; }
299 296
300 virtual bool isMediaElement() const OVERRIDE { return true; } 297 virtual bool isMediaElement() const OVERRIDE { return true; }
301 298
299 void setControllerInternal(PassRefPtr<MediaController>);
300
302 // Restrictions to change default behaviors. 301 // Restrictions to change default behaviors.
303 enum BehaviorRestrictionFlags { 302 enum BehaviorRestrictionFlags {
304 NoRestrictions = 0, 303 NoRestrictions = 0,
305 RequireUserGestureForLoadRestriction = 1 << 0, 304 RequireUserGestureForLoadRestriction = 1 << 0,
306 RequireUserGestureForRateChangeRestriction = 1 << 1, 305 RequireUserGestureForRateChangeRestriction = 1 << 1,
307 RequireUserGestureForFullscreenRestriction = 1 << 2, 306 RequireUserGestureForFullscreenRestriction = 1 << 2,
308 RequirePageConsentToLoadMediaRestriction = 1 << 3, 307 RequirePageConsentToLoadMediaRestriction = 1 << 3,
309 }; 308 };
310 typedef unsigned BehaviorRestrictions; 309 typedef unsigned BehaviorRestrictions;
311 310
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 444
446 void prepareMediaFragmentURI(); 445 void prepareMediaFragmentURI();
447 void applyMediaFragmentURI(); 446 void applyMediaFragmentURI();
448 447
449 virtual void* preDispatchEventHandler(Event*) OVERRIDE; 448 virtual void* preDispatchEventHandler(Event*) OVERRIDE;
450 449
451 void changeNetworkStateFromLoadingToIdle(); 450 void changeNetworkStateFromLoadingToIdle();
452 451
453 void removeBehaviorsRestrictionsAfterFirstUserGesture(); 452 void removeBehaviorsRestrictionsAfterFirstUserGesture();
454 453
454 const AtomicString& mediaGroup() const;
455 void setMediaGroup(const AtomicString&);
455 void updateMediaController(); 456 void updateMediaController();
456 bool isBlocked() const; 457 bool isBlocked() const;
457 bool isBlockedOnMediaController() const; 458 bool isBlockedOnMediaController() const;
458 bool hasCurrentSrc() const { return !m_currentSrc.isEmpty(); } 459 bool hasCurrentSrc() const { return !m_currentSrc.isEmpty(); }
459 bool isAutoplaying() const { return m_autoplaying; } 460 bool isAutoplaying() const { return m_autoplaying; }
460 461
461 Timer<HTMLMediaElement> m_loadTimer; 462 Timer<HTMLMediaElement> m_loadTimer;
462 Timer<HTMLMediaElement> m_progressEventTimer; 463 Timer<HTMLMediaElement> m_progressEventTimer;
463 Timer<HTMLMediaElement> m_playbackProgressTimer; 464 Timer<HTMLMediaElement> m_playbackProgressTimer;
464 RefPtr<TimeRanges> m_playedTimeRanges; 465 RefPtr<TimeRanges> m_playedTimeRanges;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 CueList m_currentlyActiveCues; 553 CueList m_currentlyActiveCues;
553 int m_ignoreTrackDisplayUpdate; 554 int m_ignoreTrackDisplayUpdate;
554 555
555 #if ENABLE(WEB_AUDIO) 556 #if ENABLE(WEB_AUDIO)
556 // This is a weak reference, since m_audioSourceNode holds a reference to us . 557 // This is a weak reference, since m_audioSourceNode holds a reference to us .
557 // The value is set just after the MediaElementAudioSourceNode is created. 558 // The value is set just after the MediaElementAudioSourceNode is created.
558 // The value is cleared in MediaElementAudioSourceNode::~MediaElementAudioSo urceNode(). 559 // The value is cleared in MediaElementAudioSourceNode::~MediaElementAudioSo urceNode().
559 MediaElementAudioSourceNode* m_audioSourceNode; 560 MediaElementAudioSourceNode* m_audioSourceNode;
560 #endif 561 #endif
561 562
562 String m_mediaGroup;
563 friend class MediaController; 563 friend class MediaController;
564 RefPtr<MediaController> m_mediaController; 564 RefPtr<MediaController> m_mediaController;
565 565
566 friend class TrackDisplayUpdateScope; 566 friend class TrackDisplayUpdateScope;
567 567
568 #if ENABLE(ENCRYPTED_MEDIA_V2) 568 #if ENABLE(ENCRYPTED_MEDIA_V2)
569 RefPtr<MediaKeys> m_mediaKeys; 569 RefPtr<MediaKeys> m_mediaKeys;
570 #endif 570 #endif
571 }; 571 };
572 572
(...skipping 24 matching lines...) Expand all
597 inline bool isHTMLMediaElement(const Node& node) 597 inline bool isHTMLMediaElement(const Node& node)
598 { 598 {
599 return node.isElementNode() && toElement(node).isMediaElement(); 599 return node.isElementNode() && toElement(node).isMediaElement();
600 } 600 }
601 601
602 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); 602 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement);
603 603
604 } //namespace 604 } //namespace
605 605
606 #endif 606 #endif
OLDNEW
« no previous file with comments | « Source/bindings/v8/custom/V8HTMLMediaElementCustom.cpp ('k') | Source/core/html/HTMLMediaElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698