OLD | NEW |
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 25 matching lines...) Expand all Loading... |
36 #include "platform/heap/Handle.h" | 36 #include "platform/heap/Handle.h" |
37 #include "platform/weborigin/KURL.h" | 37 #include "platform/weborigin/KURL.h" |
38 #include "wtf/PassRefPtr.h" | 38 #include "wtf/PassRefPtr.h" |
39 #include "wtf/RefCounted.h" | 39 #include "wtf/RefCounted.h" |
40 #include "wtf/text/WTFString.h" | 40 #include "wtf/text/WTFString.h" |
41 | 41 |
42 namespace blink { | 42 namespace blink { |
43 | 43 |
44 class ExecutionContext; | 44 class ExecutionContext; |
45 | 45 |
46 class Stream FINAL : public RefCountedWillBeGarbageCollectedFinalized<Stream>, p
ublic ScriptWrappable, public ActiveDOMObject { | 46 class Stream final : public RefCountedWillBeGarbageCollectedFinalized<Stream>, p
ublic ScriptWrappable, public ActiveDOMObject { |
47 DEFINE_WRAPPERTYPEINFO(); | 47 DEFINE_WRAPPERTYPEINFO(); |
48 public: | 48 public: |
49 static PassRefPtrWillBeRawPtr<Stream> create(ExecutionContext* context, cons
t String& mediaType) | 49 static PassRefPtrWillBeRawPtr<Stream> create(ExecutionContext* context, cons
t String& mediaType) |
50 { | 50 { |
51 RefPtrWillBeRawPtr<Stream> stream = adoptRefWillBeNoop(new Stream(contex
t, mediaType)); | 51 RefPtrWillBeRawPtr<Stream> stream = adoptRefWillBeNoop(new Stream(contex
t, mediaType)); |
52 stream->suspendIfNeeded(); | 52 stream->suspendIfNeeded(); |
53 return stream.release(); | 53 return stream.release(); |
54 } | 54 } |
55 | 55 |
56 virtual ~Stream(); | 56 virtual ~Stream(); |
(...skipping 14 matching lines...) Expand all Loading... |
71 | 71 |
72 // Allow an external reader class to mark this object neutered so that they | 72 // Allow an external reader class to mark this object neutered so that they |
73 // won't load the corresponding stream again. All stream objects are | 73 // won't load the corresponding stream again. All stream objects are |
74 // read-once for now. | 74 // read-once for now. |
75 void neuter() { m_isNeutered = true; } | 75 void neuter() { m_isNeutered = true; } |
76 bool isNeutered() const { return m_isNeutered; } | 76 bool isNeutered() const { return m_isNeutered; } |
77 | 77 |
78 // Implementation of ActiveDOMObject. | 78 // Implementation of ActiveDOMObject. |
79 // | 79 // |
80 // FIXME: Implement suspend() and resume() when necessary. | 80 // FIXME: Implement suspend() and resume() when necessary. |
81 virtual void suspend() OVERRIDE; | 81 virtual void suspend() override; |
82 virtual void resume() OVERRIDE; | 82 virtual void resume() override; |
83 virtual void stop() OVERRIDE; | 83 virtual void stop() override; |
84 | 84 |
85 void trace(Visitor*) { } | 85 void trace(Visitor*) { } |
86 | 86 |
87 protected: | 87 protected: |
88 Stream(ExecutionContext*, const String& mediaType); | 88 Stream(ExecutionContext*, const String& mediaType); |
89 | 89 |
90 // This is an internal URL referring to the blob data associated with this o
bject. It serves | 90 // This is an internal URL referring to the blob data associated with this o
bject. It serves |
91 // as an identifier for this blob. The internal URL is never used to source
the blob's content | 91 // as an identifier for this blob. The internal URL is never used to source
the blob's content |
92 // into an HTML or for FileRead'ing, public blob URLs must be used for those
purposes. | 92 // into an HTML or for FileRead'ing, public blob URLs must be used for those
purposes. |
93 KURL m_internalURL; | 93 KURL m_internalURL; |
94 | 94 |
95 String m_mediaType; | 95 String m_mediaType; |
96 | 96 |
97 bool m_isNeutered; | 97 bool m_isNeutered; |
98 }; | 98 }; |
99 | 99 |
100 } // namespace blink | 100 } // namespace blink |
101 | 101 |
102 #endif // Stream_h | 102 #endif // Stream_h |
OLD | NEW |