OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef BodyStreamBuffer_h | 5 #ifndef BodyStreamBuffer_h |
6 #define BodyStreamBuffer_h | 6 #define BodyStreamBuffer_h |
7 | 7 |
8 #include "core/dom/DOMException.h" | 8 #include "core/dom/DOMException.h" |
9 #include "modules/ModulesExport.h" | 9 #include "modules/ModulesExport.h" |
10 #include "platform/blob/BlobData.h" | 10 #include "platform/blob/BlobData.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 class Canceller : public GarbageCollected<Canceller> { | 31 class Canceller : public GarbageCollected<Canceller> { |
32 public: | 32 public: |
33 virtual void cancel() = 0; | 33 virtual void cancel() = 0; |
34 DEFINE_INLINE_VIRTUAL_TRACE() { } | 34 DEFINE_INLINE_VIRTUAL_TRACE() { } |
35 }; | 35 }; |
36 | 36 |
37 class BlobHandleCreatorClient : public GarbageCollectedFinalized<BlobHandleC
reatorClient> { | 37 class BlobHandleCreatorClient : public GarbageCollectedFinalized<BlobHandleC
reatorClient> { |
38 public: | 38 public: |
39 virtual ~BlobHandleCreatorClient() { } | 39 virtual ~BlobHandleCreatorClient() { } |
40 virtual void didCreateBlobHandle(PassRefPtr<BlobDataHandle>) = 0; | 40 virtual void didCreateBlobHandle(PassRefPtr<BlobDataHandle>) = 0; |
41 virtual void didFail(PassRefPtrWillBeRawPtr<DOMException>) = 0; | 41 virtual void didFail(DOMException*) = 0; |
42 DEFINE_INLINE_VIRTUAL_TRACE() { } | 42 DEFINE_INLINE_VIRTUAL_TRACE() { } |
43 }; | 43 }; |
44 explicit BodyStreamBuffer(Canceller*); | 44 explicit BodyStreamBuffer(Canceller*); |
45 ~BodyStreamBuffer() { } | 45 ~BodyStreamBuffer() { } |
46 | 46 |
47 PassRefPtr<DOMArrayBuffer> read(); | 47 PassRefPtr<DOMArrayBuffer> read(); |
48 bool isClosed() const { return m_isClosed; } | 48 bool isClosed() const { return m_isClosed; } |
49 bool hasError() const { return m_exception; } | 49 bool hasError() const { return m_exception; } |
50 PassRefPtrWillBeRawPtr<DOMException> exception() const { return m_exception;
} | 50 DOMException* exception() const { return m_exception; } |
51 | 51 |
52 // Can't call after close() or error() was called. | 52 // Can't call after close() or error() was called. |
53 void write(PassRefPtr<DOMArrayBuffer>); | 53 void write(PassRefPtr<DOMArrayBuffer>); |
54 // Can't call after close() or error() was called. | 54 // Can't call after close() or error() was called. |
55 void close(); | 55 void close(); |
56 // Can't call after close() or error() was called. | 56 // Can't call after close() or error() was called. |
57 void error(PassRefPtrWillBeRawPtr<DOMException>); | 57 void error(DOMException*); |
58 void cancel() { m_canceller->cancel(); } | 58 void cancel() { m_canceller->cancel(); } |
59 | 59 |
60 // This function registers an observer so it fails and returns false when an | 60 // This function registers an observer so it fails and returns false when an |
61 // observer was already registered. | 61 // observer was already registered. |
62 bool readAllAndCreateBlobHandle(const String& contentType, BlobHandleCreator
Client*); | 62 bool readAllAndCreateBlobHandle(const String& contentType, BlobHandleCreator
Client*); |
63 | 63 |
64 // This function registers an observer so it fails and returns false when an | 64 // This function registers an observer so it fails and returns false when an |
65 // observer was already registered. | 65 // observer was already registered. |
66 bool startTee(BodyStreamBuffer* out1, BodyStreamBuffer* out2); | 66 bool startTee(BodyStreamBuffer* out1, BodyStreamBuffer* out2); |
67 | 67 |
68 // When an observer was registered this function fails and returns false. | 68 // When an observer was registered this function fails and returns false. |
69 bool registerObserver(Observer*); | 69 bool registerObserver(Observer*); |
70 void unregisterObserver(); | 70 void unregisterObserver(); |
71 bool isObserverRegistered() const { return m_observer.get(); } | 71 bool isObserverRegistered() const { return m_observer.get(); } |
72 DECLARE_TRACE(); | 72 DECLARE_TRACE(); |
73 | 73 |
74 private: | 74 private: |
75 Deque<RefPtr<DOMArrayBuffer>> m_queue; | 75 Deque<RefPtr<DOMArrayBuffer>> m_queue; |
76 bool m_isClosed; | 76 bool m_isClosed; |
77 RefPtrWillBeMember<DOMException> m_exception; | 77 Member<DOMException> m_exception; |
78 Member<Observer> m_observer; | 78 Member<Observer> m_observer; |
79 Member<Canceller> m_canceller; | 79 Member<Canceller> m_canceller; |
80 }; | 80 }; |
81 | 81 |
82 } // namespace blink | 82 } // namespace blink |
83 | 83 |
84 #endif // BodyStreamBuffer_h | 84 #endif // BodyStreamBuffer_h |
OLD | NEW |