OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef RemotePlayback_h | 5 #ifndef RemotePlayback_h |
6 #define RemotePlayback_h | 6 #define RemotePlayback_h |
7 | 7 |
8 #include "bindings/core/v8/ActiveScriptWrappable.h" | 8 #include "bindings/core/v8/ActiveScriptWrappable.h" |
9 #include "bindings/core/v8/ScriptPromise.h" | 9 #include "bindings/core/v8/ScriptPromise.h" |
10 #include "bindings/core/v8/TraceWrapperMember.h" | 10 #include "bindings/core/v8/TraceWrapperMember.h" |
| 11 #include "core/dom/ExecutionContext.h" |
11 #include "core/events/EventTarget.h" | 12 #include "core/events/EventTarget.h" |
12 #include "modules/ModulesExport.h" | 13 #include "modules/ModulesExport.h" |
13 #include "platform/heap/Handle.h" | 14 #include "platform/heap/Handle.h" |
14 #include "public/platform/modules/remoteplayback/WebRemotePlaybackAvailability.h
" | 15 #include "public/platform/modules/remoteplayback/WebRemotePlaybackAvailability.h
" |
15 #include "public/platform/modules/remoteplayback/WebRemotePlaybackClient.h" | 16 #include "public/platform/modules/remoteplayback/WebRemotePlaybackClient.h" |
16 #include "public/platform/modules/remoteplayback/WebRemotePlaybackState.h" | 17 #include "public/platform/modules/remoteplayback/WebRemotePlaybackState.h" |
17 #include "wtf/Compiler.h" | 18 #include "wtf/Compiler.h" |
18 #include "wtf/text/AtomicString.h" | 19 #include "wtf/text/AtomicString.h" |
19 #include "wtf/text/WTFString.h" | 20 #include "wtf/text/WTFString.h" |
20 | 21 |
21 namespace blink { | 22 namespace blink { |
22 | 23 |
23 class ExecutionContext; | |
24 class HTMLMediaElement; | 24 class HTMLMediaElement; |
25 class RemotePlaybackAvailabilityCallback; | 25 class RemotePlaybackAvailabilityCallback; |
26 class ScriptPromiseResolver; | 26 class ScriptPromiseResolver; |
27 class ScriptState; | 27 class ScriptState; |
28 | 28 |
29 class MODULES_EXPORT RemotePlayback final | 29 class MODULES_EXPORT RemotePlayback final |
30 : public EventTargetWithInlineData, | 30 : public EventTargetWithInlineData, |
31 public ActiveScriptWrappable, | 31 public ActiveScriptWrappable<RemotePlayback>, |
32 NON_EXPORTED_BASE(public WebRemotePlaybackClient) { | 32 NON_EXPORTED_BASE(public WebRemotePlaybackClient) { |
33 DEFINE_WRAPPERTYPEINFO(); | 33 DEFINE_WRAPPERTYPEINFO(); |
34 USING_GARBAGE_COLLECTED_MIXIN(RemotePlayback); | 34 USING_GARBAGE_COLLECTED_MIXIN(RemotePlayback); |
35 | 35 |
36 public: | 36 public: |
37 static RemotePlayback* create(HTMLMediaElement&); | 37 static RemotePlayback* create(HTMLMediaElement&); |
38 | 38 |
39 // Notifies this object that disableRemotePlayback attribute was set on the | 39 // Notifies this object that disableRemotePlayback attribute was set on the |
40 // corresponding media element. | 40 // corresponding media element. |
41 void remotePlaybackDisabled(); | 41 void remotePlaybackDisabled(); |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 WebRemotePlaybackAvailability m_availability; | 99 WebRemotePlaybackAvailability m_availability; |
100 HeapHashMap<int, TraceWrapperMember<RemotePlaybackAvailabilityCallback>> | 100 HeapHashMap<int, TraceWrapperMember<RemotePlaybackAvailabilityCallback>> |
101 m_availabilityCallbacks; | 101 m_availabilityCallbacks; |
102 Member<HTMLMediaElement> m_mediaElement; | 102 Member<HTMLMediaElement> m_mediaElement; |
103 Member<ScriptPromiseResolver> m_promptPromiseResolver; | 103 Member<ScriptPromiseResolver> m_promptPromiseResolver; |
104 }; | 104 }; |
105 | 105 |
106 } // namespace blink | 106 } // namespace blink |
107 | 107 |
108 #endif // RemotePlayback_h | 108 #endif // RemotePlayback_h |
OLD | NEW |