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

Side by Side Diff: third_party/WebKit/Source/modules/webaudio/AudioScheduledSourceNode.h

Issue 2577053002: ActiveScriptWrappable: GC wrappers in detached ExecutionContexts. (Closed)
Patch Set: component build fix(msvc) Created 4 years 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) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google 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 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 double m_endTime; // in seconds 117 double m_endTime; // in seconds
118 118
119 static const double UnknownTime; 119 static const double UnknownTime;
120 120
121 private: 121 private:
122 // This is accessed by both the main thread and audio thread. Use the setter 122 // This is accessed by both the main thread and audio thread. Use the setter
123 // and getter to protect the access to this. 123 // and getter to protect the access to this.
124 int m_playbackState; 124 int m_playbackState;
125 }; 125 };
126 126
127 class AudioScheduledSourceNode : public AudioSourceNode, 127 class AudioScheduledSourceNode
128 public ActiveScriptWrappable { 128 : public AudioSourceNode,
129 public ActiveScriptWrappable<AudioScheduledSourceNode> {
129 USING_GARBAGE_COLLECTED_MIXIN(AudioScheduledSourceNode); 130 USING_GARBAGE_COLLECTED_MIXIN(AudioScheduledSourceNode);
130 131
131 public: 132 public:
132 void start(ExceptionState&); 133 void start(ExceptionState&);
133 void start(double when, ExceptionState&); 134 void start(double when, ExceptionState&);
134 void stop(ExceptionState&); 135 void stop(ExceptionState&);
135 void stop(double when, ExceptionState&); 136 void stop(double when, ExceptionState&);
136 137
137 EventListener* onended(); 138 EventListener* onended();
138 void setOnended(EventListener*); 139 void setOnended(EventListener*);
139 140
140 // ScriptWrappable: 141 // ScriptWrappable:
141 bool hasPendingActivity() const final; 142 bool hasPendingActivity() const final;
142 143
143 DEFINE_INLINE_VIRTUAL_TRACE() { AudioSourceNode::trace(visitor); } 144 DEFINE_INLINE_VIRTUAL_TRACE() { AudioSourceNode::trace(visitor); }
144 145
145 protected: 146 protected:
146 explicit AudioScheduledSourceNode(BaseAudioContext&); 147 explicit AudioScheduledSourceNode(BaseAudioContext&);
147 AudioScheduledSourceHandler& audioScheduledSourceHandler() const; 148 AudioScheduledSourceHandler& audioScheduledSourceHandler() const;
148 }; 149 };
149 150
150 } // namespace blink 151 } // namespace blink
151 152
152 #endif // AudioScheduledSourceNode_h 153 #endif // AudioScheduledSourceNode_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698