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

Side by Side Diff: Source/core/loader/TextTrackLoader.h

Issue 244493002: Oilpan: add transition types to track interface objects. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add crbug.com/365260 crashing test + expectation Created 6 years, 8 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
« no previous file with comments | « Source/core/html/track/vtt/VTTRegionList.idl ('k') | Source/core/loader/TextTrackLoader.cpp » ('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) 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2011 Apple 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 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 12 matching lines...) Expand all
23 * THE POSSIBILITY OF SUCH DAMAGE. 23 * THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 #ifndef TextTrackLoader_h 26 #ifndef TextTrackLoader_h
27 #define TextTrackLoader_h 27 #define TextTrackLoader_h
28 28
29 #include "core/fetch/RawResource.h" 29 #include "core/fetch/RawResource.h"
30 #include "core/fetch/ResourceOwner.h" 30 #include "core/fetch/ResourceOwner.h"
31 #include "core/html/track/vtt/VTTParser.h" 31 #include "core/html/track/vtt/VTTParser.h"
32 #include "platform/Timer.h" 32 #include "platform/Timer.h"
33 #include "platform/heap/Handle.h"
33 #include "wtf/OwnPtr.h" 34 #include "wtf/OwnPtr.h"
34 35
35 namespace WebCore { 36 namespace WebCore {
36 37
37 class Document; 38 class Document;
38 class TextTrackLoader; 39 class TextTrackLoader;
39 40
40 class TextTrackLoaderClient : public ResourceOwner<RawResource> { 41 class TextTrackLoaderClient : public ResourceOwner<RawResource> {
41 public: 42 public:
42 virtual ~TextTrackLoaderClient() { } 43 virtual ~TextTrackLoaderClient() { }
43 44
44 virtual void newCuesAvailable(TextTrackLoader*) = 0; 45 virtual void newCuesAvailable(TextTrackLoader*) = 0;
45 virtual void cueLoadingCompleted(TextTrackLoader*, bool loadingFailed) = 0; 46 virtual void cueLoadingCompleted(TextTrackLoader*, bool loadingFailed) = 0;
46 virtual void newRegionsAvailable(TextTrackLoader*) = 0; 47 virtual void newRegionsAvailable(TextTrackLoader*) = 0;
47 }; 48 };
48 49
49 class TextTrackLoader FINAL : public ResourceOwner<RawResource>, private VTTPars erClient { 50 class TextTrackLoader FINAL : public NoBaseWillBeGarbageCollectedFinalized<TextT rackLoader>, public ResourceOwner<RawResource>, private VTTParserClient {
50 WTF_MAKE_NONCOPYABLE(TextTrackLoader); 51 WTF_MAKE_NONCOPYABLE(TextTrackLoader);
51 WTF_MAKE_FAST_ALLOCATED; 52 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
52 public: 53 public:
53 static PassOwnPtr<TextTrackLoader> create(TextTrackLoaderClient& client, Doc ument& document) 54 static PassOwnPtrWillBeRawPtr<TextTrackLoader> create(TextTrackLoaderClient& client, Document& document)
54 { 55 {
55 return adoptPtr(new TextTrackLoader(client, document)); 56 return adoptPtrWillBeNoop(new TextTrackLoader(client, document));
56 } 57 }
57 virtual ~TextTrackLoader(); 58 virtual ~TextTrackLoader();
58 59
59 bool load(const KURL&, const AtomicString& crossOriginMode); 60 bool load(const KURL&, const AtomicString& crossOriginMode);
60 void cancelLoad(); 61 void cancelLoad();
61 62
62 enum State { Idle, Loading, Finished, Failed }; 63 enum State { Idle, Loading, Finished, Failed };
63 State loadState() { return m_state; } 64 State loadState() { return m_state; }
64 65
65 void getNewCues(Vector<RefPtr<VTTCue> >& outputCues); 66 void getNewCues(WillBeHeapVector<RefPtrWillBeMember<VTTCue> >& outputCues);
66 void getNewRegions(Vector<RefPtr<VTTRegion> >& outputRegions); 67 void getNewRegions(WillBeHeapVector<RefPtrWillBeMember<VTTRegion> >& outputR egions);
68
69 void trace(Visitor*);
70
67 private: 71 private:
68 72
69 // RawResourceClient 73 // RawResourceClient
70 virtual void dataReceived(Resource*, const char* data, int length) OVERRIDE; 74 virtual void dataReceived(Resource*, const char* data, int length) OVERRIDE;
71 virtual void notifyFinished(Resource*) OVERRIDE; 75 virtual void notifyFinished(Resource*) OVERRIDE;
72 76
73 // VTTParserClient 77 // VTTParserClient
74 virtual void newCuesParsed() OVERRIDE; 78 virtual void newCuesParsed() OVERRIDE;
75 virtual void newRegionsParsed() OVERRIDE; 79 virtual void newRegionsParsed() OVERRIDE;
76 virtual void fileFailedToParse() OVERRIDE; 80 virtual void fileFailedToParse() OVERRIDE;
77 81
78 TextTrackLoader(TextTrackLoaderClient&, Document&); 82 TextTrackLoader(TextTrackLoaderClient&, Document&);
79 83
80 void cueLoadTimerFired(Timer<TextTrackLoader>*); 84 void cueLoadTimerFired(Timer<TextTrackLoader>*);
81 void corsPolicyPreventedLoad(SecurityOrigin*, const KURL&); 85 void corsPolicyPreventedLoad(SecurityOrigin*, const KURL&);
82 86
83 TextTrackLoaderClient& m_client; 87 TextTrackLoaderClient& m_client;
84 OwnPtr<VTTParser> m_cueParser; 88 OwnPtrWillBeMember<VTTParser> m_cueParser;
85 // FIXME: Remove this pointer and get the Document from m_client. 89 // FIXME: Remove this pointer and get the Document from m_client.
86 Document& m_document; 90 Document& m_document;
87 Timer<TextTrackLoader> m_cueLoadTimer; 91 Timer<TextTrackLoader> m_cueLoadTimer;
88 State m_state; 92 State m_state;
89 bool m_newCuesAvailable; 93 bool m_newCuesAvailable;
90 }; 94 };
91 95
92 } // namespace WebCore 96 } // namespace WebCore
93 97
94 #endif 98 #endif
OLDNEW
« no previous file with comments | « Source/core/html/track/vtt/VTTRegionList.idl ('k') | Source/core/loader/TextTrackLoader.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698