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

Side by Side Diff: third_party/WebKit/Source/modules/fetch/Body.h

Issue 2605603002: Body should use ContextClient instead of ContextLifecycleObserver (Closed)
Patch Set: Created 3 years, 11 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 | « no previous file | third_party/WebKit/Source/modules/fetch/Body.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 Body_h 5 #ifndef Body_h
6 #define Body_h 6 #define Body_h
7 7
8 #include "bindings/core/v8/ActiveScriptWrappable.h" 8 #include "bindings/core/v8/ActiveScriptWrappable.h"
9 #include "bindings/core/v8/ScriptPromise.h" 9 #include "bindings/core/v8/ScriptPromise.h"
10 #include "bindings/core/v8/ScriptValue.h" 10 #include "bindings/core/v8/ScriptValue.h"
(...skipping 12 matching lines...) Expand all
23 // This class represents Body mix-in defined in the fetch spec 23 // This class represents Body mix-in defined in the fetch spec
24 // https://fetch.spec.whatwg.org/#body-mixin. 24 // https://fetch.spec.whatwg.org/#body-mixin.
25 // 25 //
26 // Note: This class has body stream and its predicate whereas in the current 26 // Note: This class has body stream and its predicate whereas in the current
27 // spec only Response has it and Request has a byte stream defined in the 27 // spec only Response has it and Request has a byte stream defined in the
28 // Encoding spec. The spec should be fixed shortly to be aligned with this 28 // Encoding spec. The spec should be fixed shortly to be aligned with this
29 // implementation. 29 // implementation.
30 class MODULES_EXPORT Body : public GarbageCollected<Body>, 30 class MODULES_EXPORT Body : public GarbageCollected<Body>,
31 public ScriptWrappable, 31 public ScriptWrappable,
32 public ActiveScriptWrappable<Body>, 32 public ActiveScriptWrappable<Body>,
33 public ContextLifecycleObserver { 33 public ContextClient {
34 WTF_MAKE_NONCOPYABLE(Body); 34 WTF_MAKE_NONCOPYABLE(Body);
35 DEFINE_WRAPPERTYPEINFO(); 35 DEFINE_WRAPPERTYPEINFO();
36 USING_GARBAGE_COLLECTED_MIXIN(Body); 36 USING_GARBAGE_COLLECTED_MIXIN(Body);
37 37
38 public: 38 public:
39 explicit Body(ExecutionContext*); 39 explicit Body(ExecutionContext*);
40 40
41 ScriptPromise arrayBuffer(ScriptState*); 41 ScriptPromise arrayBuffer(ScriptState*);
42 ScriptPromise blob(ScriptState*); 42 ScriptPromise blob(ScriptState*);
43 ScriptPromise formData(ScriptState*); 43 ScriptPromise formData(ScriptState*);
44 ScriptPromise json(ScriptState*); 44 ScriptPromise json(ScriptState*);
45 ScriptPromise text(ScriptState*); 45 ScriptPromise text(ScriptState*);
46 ScriptValue bodyWithUseCounter(ScriptState*); 46 ScriptValue bodyWithUseCounter(ScriptState*);
47 virtual BodyStreamBuffer* bodyBuffer() = 0; 47 virtual BodyStreamBuffer* bodyBuffer() = 0;
48 virtual const BodyStreamBuffer* bodyBuffer() const = 0; 48 virtual const BodyStreamBuffer* bodyBuffer() const = 0;
49 49
50 virtual bool bodyUsed(); 50 virtual bool bodyUsed();
51 bool isBodyLocked(); 51 bool isBodyLocked();
52 52
53 // ScriptWrappable override. 53 // ScriptWrappable override.
54 bool hasPendingActivity() const override; 54 bool hasPendingActivity() const override;
55 55
56 DEFINE_INLINE_VIRTUAL_TRACE() { ContextLifecycleObserver::trace(visitor); } 56 DEFINE_INLINE_VIRTUAL_TRACE() { ContextClient::trace(visitor); }
57 57
58 private: 58 private:
59 virtual String mimeType() const = 0; 59 virtual String mimeType() const = 0;
60 60
61 // Body consumption algorithms will reject with a TypeError in a number of 61 // Body consumption algorithms will reject with a TypeError in a number of
62 // error conditions. This method wraps those up into one call which returns 62 // error conditions. This method wraps those up into one call which returns
63 // an empty ScriptPromise if the consumption may proceed, and a 63 // an empty ScriptPromise if the consumption may proceed, and a
64 // ScriptPromise rejected with a TypeError if it ought to be blocked. 64 // ScriptPromise rejected with a TypeError if it ought to be blocked.
65 ScriptPromise rejectInvalidConsumption(ScriptState*); 65 ScriptPromise rejectInvalidConsumption(ScriptState*);
66 }; 66 };
67 67
68 } // namespace blink 68 } // namespace blink
69 69
70 #endif // Body_h 70 #endif // Body_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/modules/fetch/Body.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698