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

Side by Side Diff: Source/modules/mediasource/MediaSourceBase.h

Issue 307433003: Oilpan: Allocate all EventTarget derived types on the manged heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase Created 6 years, 6 months 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 | Annotate | Revision Log
« no previous file with comments | « Source/modules/indexeddb/IDBTransaction.cpp ('k') | Source/modules/mediasource/SourceBuffer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 namespace blink { 43 namespace blink {
44 class WebSourceBuffer; 44 class WebSourceBuffer;
45 } 45 }
46 46
47 namespace WebCore { 47 namespace WebCore {
48 48
49 class ExceptionState; 49 class ExceptionState;
50 class GenericEventQueue; 50 class GenericEventQueue;
51 51
52 class MediaSourceBase : public RefCountedWillBeRefCountedGarbageCollected<MediaS ourceBase>, public HTMLMediaSource, public ActiveDOMObject, public EventTargetWi thInlineData { 52 class MediaSourceBase : public RefCountedWillBeRefCountedGarbageCollected<MediaS ourceBase>, public HTMLMediaSource, public ActiveDOMObject, public EventTargetWi thInlineData {
53 DEFINE_EVENT_TARGET_REFCOUNTING(RefCountedWillBeRefCountedGarbageCollected<M ediaSourceBase>); 53 REFCOUNTED_EVENT_TARGET(MediaSourceBase);
54 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(MediaSourceBase);
54 public: 55 public:
55 static const AtomicString& openKeyword(); 56 static const AtomicString& openKeyword();
56 static const AtomicString& closedKeyword(); 57 static const AtomicString& closedKeyword();
57 static const AtomicString& endedKeyword(); 58 static const AtomicString& endedKeyword();
58 59
59 virtual ~MediaSourceBase(); 60 virtual ~MediaSourceBase();
60 61
61 void addedToRegistry(); 62 void addedToRegistry();
62 void removedFromRegistry(); 63 void removedFromRegistry();
63 void openIfInEndedState(); 64 void openIfInEndedState();
(...skipping 18 matching lines...) Expand all
82 // ActiveDOMObject interface 83 // ActiveDOMObject interface
83 virtual bool hasPendingActivity() const OVERRIDE FINAL; 84 virtual bool hasPendingActivity() const OVERRIDE FINAL;
84 virtual void stop() OVERRIDE FINAL; 85 virtual void stop() OVERRIDE FINAL;
85 86
86 // EventTarget interface 87 // EventTarget interface
87 virtual ExecutionContext* executionContext() const OVERRIDE FINAL; 88 virtual ExecutionContext* executionContext() const OVERRIDE FINAL;
88 89
89 // URLRegistrable interface 90 // URLRegistrable interface
90 virtual URLRegistry& registry() const OVERRIDE FINAL; 91 virtual URLRegistry& registry() const OVERRIDE FINAL;
91 92
92 virtual void trace(Visitor*) { }
93
94 protected: 93 protected:
95 explicit MediaSourceBase(ExecutionContext*); 94 explicit MediaSourceBase(ExecutionContext*);
96 95
97 virtual void onReadyStateChange(const AtomicString& oldState, const AtomicSt ring& newState) = 0; 96 virtual void onReadyStateChange(const AtomicString& oldState, const AtomicSt ring& newState) = 0;
98 virtual Vector<RefPtr<TimeRanges> > activeRanges() const = 0; 97 virtual Vector<RefPtr<TimeRanges> > activeRanges() const = 0;
99 virtual bool isUpdating() const = 0; 98 virtual bool isUpdating() const = 0;
100 99
101 PassOwnPtr<blink::WebSourceBuffer> createWebSourceBuffer(const String& type, const Vector<String>& codecs, ExceptionState&); 100 PassOwnPtr<blink::WebSourceBuffer> createWebSourceBuffer(const String& type, const Vector<String>& codecs, ExceptionState&);
102 void scheduleEvent(const AtomicString& eventName); 101 void scheduleEvent(const AtomicString& eventName);
103 GenericEventQueue* asyncEventQueue() const { return m_asyncEventQueue.get(); } 102 GenericEventQueue* asyncEventQueue() const { return m_asyncEventQueue.get(); }
104 103
105 private: 104 private:
106 void endOfStreamInternal(const blink::WebMediaSource::EndOfStreamStatus, Exc eptionState&); 105 void endOfStreamInternal(const blink::WebMediaSource::EndOfStreamStatus, Exc eptionState&);
107 OwnPtr<blink::WebMediaSource> m_webMediaSource; 106 OwnPtr<blink::WebMediaSource> m_webMediaSource;
108 AtomicString m_readyState; 107 AtomicString m_readyState;
109 OwnPtr<GenericEventQueue> m_asyncEventQueue; 108 OwnPtr<GenericEventQueue> m_asyncEventQueue;
110 // FIXME: oilpan: This should become a Member. For now, m_attachedElement wi ll be cleared by the HTMLMediaElement destructor. 109 // FIXME: oilpan: This should become a Member. For now, m_attachedElement wi ll be cleared by the HTMLMediaElement destructor.
111 HTMLMediaElement* m_attachedElement; 110 HTMLMediaElement* m_attachedElement;
112 }; 111 };
113 112
114 } 113 }
115 114
116 #endif 115 #endif
OLDNEW
« no previous file with comments | « Source/modules/indexeddb/IDBTransaction.cpp ('k') | Source/modules/mediasource/SourceBuffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698