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

Side by Side Diff: Source/modules/fetch/BodyStreamBuffer.h

Issue 1107793002: Oilpan: have DOMException be on the heap by default. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 7 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/fetch/Body.cpp ('k') | Source/modules/fetch/BodyStreamBuffer.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 // 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
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
OLDNEW
« no previous file with comments | « Source/modules/fetch/Body.cpp ('k') | Source/modules/fetch/BodyStreamBuffer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698