1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef Presentation_h 6 #define Presentation_h 7 8 #include "core/dom/ContextLifecycleObserver.h" 9 #include "core/events/EventTarget.h" 10 11 namespace blink { 12 13 class Presentation FINAL 14 : public RefCountedGarbageCollectedWillBeGarbageCollectedFinalized<Presentation> 15 , public EventTargetWithInlineData 16 , public ContextLifecycleObserver { 17 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<Presentation>); 18 DEFINE_WRAPPERTYPEINFO(); 19 public: 20 static Presentation* create(ExecutionContext*); 21 virtual ~Presentation(); 22 23 // EventTarget implementation. 24 virtual const AtomicString& interfaceName() const OVERRIDE; 25 virtual ExecutionContext* executionContext() const OVERRIDE; 26 27 virtual void trace(Visitor*) OVERRIDE; 28 29 DEFINE_ATTRIBUTE_EVENT_LISTENER(availablechange); 30 31 private: 32 explicit Presentation(ExecutionContext*); 33 }; 34 35 } // namespace blink 36 37 #endif // Presentation_h 38