Home | History | Annotate | Download | only in presentation
      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