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

Side by Side Diff: Source/modules/serviceworkers/Headers.h

Issue 478693005: Oilpan: Ship Oilpan for serviceworkers/ (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 4 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
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 Headers_h 5 #ifndef Headers_h
6 #define Headers_h 6 #define Headers_h
7 7
8 #include "bindings/core/v8/ScriptWrappable.h" 8 #include "bindings/core/v8/ScriptWrappable.h"
9 #include "modules/serviceworkers/FetchHeaderList.h" 9 #include "modules/serviceworkers/FetchHeaderList.h"
10 #include "wtf/Forward.h" 10 #include "wtf/Forward.h"
11 #include "wtf/PassOwnPtr.h" 11 #include "wtf/PassOwnPtr.h"
12 #include "wtf/RefCounted.h"
13 12
14 namespace blink { 13 namespace blink {
15 14
16 class Dictionary; 15 class Dictionary;
17 class ExceptionState; 16 class ExceptionState;
18 class HeadersForEachCallback; 17 class HeadersForEachCallback;
19 class ScriptValue; 18 class ScriptValue;
20 19
21 // http://fetch.spec.whatwg.org/#headers-class 20 // http://fetch.spec.whatwg.org/#headers-class
22 class Headers FINAL : public RefCountedWillBeGarbageCollected<Headers>, public S criptWrappable { 21 class Headers FINAL : public GarbageCollected<Headers>, public ScriptWrappable {
23 DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(Headers);
24 public: 22 public:
25 enum Guard { ImmutableGuard, RequestGuard, RequestNoCORSGuard, ResponseGuard , NoneGuard }; 23 enum Guard { ImmutableGuard, RequestGuard, RequestNoCORSGuard, ResponseGuard , NoneGuard };
26 24
27 static PassRefPtrWillBeRawPtr<Headers> create(); 25 static Headers* create();
28 static PassRefPtrWillBeRawPtr<Headers> create(ExceptionState&); 26 static Headers* create(ExceptionState&);
29 static PassRefPtrWillBeRawPtr<Headers> create(const Headers*, ExceptionState &); 27 static Headers* create(const Headers*, ExceptionState&);
30 static PassRefPtrWillBeRawPtr<Headers> create(const Dictionary&, ExceptionSt ate&); 28 static Headers* create(const Dictionary&, ExceptionState&);
31 29
32 // Shares the FetchHeaderList. Called when creating a Request or Response. 30 // Shares the FetchHeaderList. Called when creating a Request or Response.
33 static PassRefPtrWillBeRawPtr<Headers> create(FetchHeaderList*); 31 static Headers* create(FetchHeaderList*);
34 32
35 PassRefPtrWillBeRawPtr<Headers> createCopy() const; 33 Headers* createCopy() const;
36 34
37 // Headers.idl implementation. 35 // Headers.idl implementation.
38 void append(const String& name, const String& value, ExceptionState&); 36 void append(const String& name, const String& value, ExceptionState&);
39 void remove(const String& key, ExceptionState&); 37 void remove(const String& key, ExceptionState&);
40 String get(const String& key, ExceptionState&); 38 String get(const String& key, ExceptionState&);
41 Vector<String> getAll(const String& key, ExceptionState&); 39 Vector<String> getAll(const String& key, ExceptionState&);
42 bool has(const String& key, ExceptionState&); 40 bool has(const String& key, ExceptionState&);
43 void set(const String& key, const String& value, ExceptionState&); 41 void set(const String& key, const String& value, ExceptionState&);
44 unsigned long size() const; 42 unsigned long size() const;
45 void forEach(PassOwnPtr<HeadersForEachCallback>, const ScriptValue&); 43 void forEach(PassOwnPtr<HeadersForEachCallback>, const ScriptValue&);
46 void forEach(PassOwnPtr<HeadersForEachCallback>); 44 void forEach(PassOwnPtr<HeadersForEachCallback>);
47 45
48 void setGuard(Guard guard) { m_guard = guard; } 46 void setGuard(Guard guard) { m_guard = guard; }
49 Guard guard() const { return m_guard; } 47 Guard guard() const { return m_guard; }
50 48
51 // These methods should only be called when size() would return 0. 49 // These methods should only be called when size() would return 0.
52 void fillWith(const Headers*, ExceptionState&); 50 void fillWith(const Headers*, ExceptionState&);
53 void fillWith(const Dictionary&, ExceptionState&); 51 void fillWith(const Dictionary&, ExceptionState&);
54 52
55 void trace(Visitor*); 53 void trace(Visitor*);
56 54
57 private: 55 private:
58 Headers(); 56 Headers();
59 // Shares the FetchHeaderList. Called when creating a Request or Response. 57 // Shares the FetchHeaderList. Called when creating a Request or Response.
60 explicit Headers(FetchHeaderList*); 58 explicit Headers(FetchHeaderList*);
61 void forEachInternal(PassOwnPtr<HeadersForEachCallback>, const ScriptValue*) ; 59 void forEachInternal(PassOwnPtr<HeadersForEachCallback>, const ScriptValue*) ;
62 60
63 RefPtrWillBeMember<FetchHeaderList> m_headerList; 61 Member<FetchHeaderList> m_headerList;
64 Guard m_guard; 62 Guard m_guard;
65 }; 63 };
66 64
67 } // namespace blink 65 } // namespace blink
68 66
69 #endif // Headers_h 67 #endif // Headers_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698