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 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 virtual bool isHTMLAudioElement() const { return false; } | 271 virtual bool isHTMLAudioElement() const { return false; } |
272 virtual bool isHTMLVideoElement() const { return false; } | 272 virtual bool isHTMLVideoElement() const { return false; } |
273 | 273 |
274 // Temporary callback for crbug.com/487345,402044 | 274 // Temporary callback for crbug.com/487345,402044 |
275 void notifyPositionMayHaveChanged(const IntRect&); | 275 void notifyPositionMayHaveChanged(const IntRect&); |
276 void updatePositionNotificationRegistration(); | 276 void updatePositionNotificationRegistration(); |
277 | 277 |
278 WebRemotePlaybackClient* remotePlaybackClient() { return m_remotePlaybackCli
ent; } | 278 WebRemotePlaybackClient* remotePlaybackClient() { return m_remotePlaybackCli
ent; } |
279 void setRemotePlaybackClient(WebRemotePlaybackClient*); | 279 void setRemotePlaybackClient(WebRemotePlaybackClient*); |
280 | 280 |
| 281 // Inform whether the media is in full screen. The media could be in full |
| 282 // screen because either the element itself or its parent element enters |
| 283 // full screen. |
| 284 void updateMediaInFullscreen(bool isFullscreen); |
| 285 bool isMediaInFullscreen() const { return m_isMediaInFullscreen; } |
| 286 |
281 protected: | 287 protected: |
282 HTMLMediaElement(const QualifiedName&, Document&); | 288 HTMLMediaElement(const QualifiedName&, Document&); |
283 ~HTMLMediaElement() override; | 289 ~HTMLMediaElement() override; |
284 void dispose(); | 290 void dispose(); |
285 | 291 |
286 void parseAttribute(const QualifiedName&, const AtomicString&, const AtomicS
tring&) override; | 292 void parseAttribute(const QualifiedName&, const AtomicString&, const AtomicS
tring&) override; |
287 void finishParsingChildren() final; | 293 void finishParsingChildren() final; |
288 bool isURLAttribute(const Attribute&) const override; | 294 bool isURLAttribute(const Attribute&) const override; |
289 void attachLayoutTree(const AttachContext& = AttachContext()) override; | 295 void attachLayoutTree(const AttachContext& = AttachContext()) override; |
290 | 296 |
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
678 | 684 |
679 Member<AutoplayExperimentHelper::Client> m_autoplayHelperClient; | 685 Member<AutoplayExperimentHelper::Client> m_autoplayHelperClient; |
680 Member<AutoplayExperimentHelper> m_autoplayHelper; | 686 Member<AutoplayExperimentHelper> m_autoplayHelper; |
681 | 687 |
682 WebRemotePlaybackClient* m_remotePlaybackClient; | 688 WebRemotePlaybackClient* m_remotePlaybackClient; |
683 | 689 |
684 // class AutoplayVisibilityObserver; | 690 // class AutoplayVisibilityObserver; |
685 Member<ElementVisibilityObserver> m_autoplayVisibilityObserver; | 691 Member<ElementVisibilityObserver> m_autoplayVisibilityObserver; |
686 | 692 |
687 static URLRegistry* s_mediaStreamRegistry; | 693 static URLRegistry* s_mediaStreamRegistry; |
| 694 |
| 695 // Indicates whether the media is in full screen. When this is true, either |
| 696 // the element itself or its parent element is full screen element. |
| 697 bool m_isMediaInFullscreen; |
688 }; | 698 }; |
689 | 699 |
690 inline bool isHTMLMediaElement(const HTMLElement& element) | 700 inline bool isHTMLMediaElement(const HTMLElement& element) |
691 { | 701 { |
692 return isHTMLAudioElement(element) || isHTMLVideoElement(element); | 702 return isHTMLAudioElement(element) || isHTMLVideoElement(element); |
693 } | 703 } |
694 | 704 |
695 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); | 705 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); |
696 | 706 |
697 } // namespace blink | 707 } // namespace blink |
698 | 708 |
699 #endif // HTMLMediaElement_h | 709 #endif // HTMLMediaElement_h |
OLD | NEW |