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

Side by Side Diff: third_party/WebKit/Source/platform/network/LinkHeader.h

Issue 2424943002: Add ReferrerPolicy support to preload (Closed)
Patch Set: Created 4 years, 2 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 LinkHeader_h 5 #ifndef LinkHeader_h
6 #define LinkHeader_h 6 #define LinkHeader_h
7 7
8 #include "platform/PlatformExport.h" 8 #include "platform/PlatformExport.h"
9 #include "wtf/Allocator.h" 9 #include "wtf/Allocator.h"
10 #include "wtf/text/WTFString.h" 10 #include "wtf/text/WTFString.h"
11 11
12 namespace blink { 12 namespace blink {
13 13
14 class LinkHeader { 14 class LinkHeader {
15 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); 15 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW();
16 16
17 public: 17 public:
18 const String& url() const { return m_url; } 18 const String& url() const { return m_url; }
19 const String& rel() const { return m_rel; } 19 const String& rel() const { return m_rel; }
20 const String& as() const { return m_as; } 20 const String& as() const { return m_as; }
21 const String& mimeType() const { return m_mimeType; } 21 const String& mimeType() const { return m_mimeType; }
22 const String& media() const { return m_media; } 22 const String& media() const { return m_media; }
23 const String& crossOrigin() const { return m_crossOrigin; } 23 const String& crossOrigin() const { return m_crossOrigin; }
24 const String& referrerPolicy() const { return m_referrerPolicy; }
24 bool valid() const { return m_isValid; } 25 bool valid() const { return m_isValid; }
25 26
26 enum LinkParameterName { 27 enum LinkParameterName {
27 LinkParameterRel, 28 LinkParameterRel,
28 LinkParameterAnchor, 29 LinkParameterAnchor,
29 LinkParameterTitle, 30 LinkParameterTitle,
30 LinkParameterMedia, 31 LinkParameterMedia,
31 LinkParameterType, 32 LinkParameterType,
32 LinkParameterRev, 33 LinkParameterRev,
33 LinkParameterHreflang, 34 LinkParameterHreflang,
34 // Beyond this point, only link-extension parameters 35 // Beyond this point, only link-extension parameters
35 LinkParameterUnknown, 36 LinkParameterUnknown,
36 LinkParameterCrossOrigin, 37 LinkParameterCrossOrigin,
37 LinkParameterAs, 38 LinkParameterAs,
39 LinkParameterReferrerPolicy,
38 }; 40 };
39 41
40 private: 42 private:
41 friend class LinkHeaderSet; 43 friend class LinkHeaderSet;
42 44
43 template <typename Iterator> 45 template <typename Iterator>
44 LinkHeader(Iterator begin, Iterator end); 46 LinkHeader(Iterator begin, Iterator end);
45 void setValue(LinkParameterName, const String& value); 47 void setValue(LinkParameterName, const String& value);
46 48
47 String m_url; 49 String m_url;
48 String m_rel; 50 String m_rel;
49 String m_as; 51 String m_as;
50 String m_mimeType; 52 String m_mimeType;
51 String m_media; 53 String m_media;
52 String m_crossOrigin; 54 String m_crossOrigin;
55 String m_referrerPolicy;
53 bool m_isValid; 56 bool m_isValid;
54 }; 57 };
55 58
56 class PLATFORM_EXPORT LinkHeaderSet { 59 class PLATFORM_EXPORT LinkHeaderSet {
57 STACK_ALLOCATED(); 60 STACK_ALLOCATED();
58 61
59 public: 62 public:
60 LinkHeaderSet(const String& header); 63 LinkHeaderSet(const String& header);
61 64
62 Vector<LinkHeader>::const_iterator begin() const { 65 Vector<LinkHeader>::const_iterator begin() const {
63 return m_headerSet.begin(); 66 return m_headerSet.begin();
64 } 67 }
65 Vector<LinkHeader>::const_iterator end() const { return m_headerSet.end(); } 68 Vector<LinkHeader>::const_iterator end() const { return m_headerSet.end(); }
66 LinkHeader& operator[](size_t i) { return m_headerSet[i]; } 69 LinkHeader& operator[](size_t i) { return m_headerSet[i]; }
67 size_t size() { return m_headerSet.size(); } 70 size_t size() { return m_headerSet.size(); }
68 71
69 private: 72 private:
70 Vector<LinkHeader> m_headerSet; 73 Vector<LinkHeader> m_headerSet;
71 }; 74 };
72 75
73 } // namespace blink 76 } // namespace blink
74 77
75 #endif 78 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698