#include "core/frame/DOMWindowProperty.h"
#include "modules/speech/SpeechSynthesis.h"
#include "platform/Supplementable.h"
+#include "platform/heap/Handle.h"
-namespace WebCore {
+namespace blink {
-class DOMWindow;
+class LocalDOMWindow;
-class DOMWindowSpeechSynthesis : public Supplement<DOMWindow>, public DOMWindowProperty {
+class DOMWindowSpeechSynthesis final : public NoBaseWillBeGarbageCollected<DOMWindowSpeechSynthesis>, public WillBeHeapSupplement<LocalDOMWindow>, public DOMWindowProperty {
+ WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DOMWindowSpeechSynthesis);
+ DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(DOMWindowSpeechSynthesis);
public:
- virtual ~DOMWindowSpeechSynthesis();
+ static SpeechSynthesis* speechSynthesis(LocalDOMWindow&);
+ static DOMWindowSpeechSynthesis& from(LocalDOMWindow&);
- static SpeechSynthesis* speechSynthesis(DOMWindow*);
- static DOMWindowSpeechSynthesis* from(DOMWindow*);
+ void trace(Visitor*);
private:
- explicit DOMWindowSpeechSynthesis(DOMWindow*);
+ explicit DOMWindowSpeechSynthesis(LocalDOMWindow&);
SpeechSynthesis* speechSynthesis();
static const char* supplementName();
- RefPtr<SpeechSynthesis> m_speechSynthesis;
+ PersistentWillBeMember<SpeechSynthesis> m_speechSynthesis;
};
-} // namespace WebCore
+} // namespace blink
#endif // DOMWindowSpeechSynthesis_h