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

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

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 #include "platform/network/LinkHeader.h" 5 #include "platform/network/LinkHeader.h"
6 6
7 #include "base/strings/string_util.h" 7 #include "base/strings/string_util.h"
8 #include "components/link_header_util/link_header_util.h" 8 #include "components/link_header_util/link_header_util.h"
9 #include "wtf/text/ParsingUtilities.h" 9 #include "wtf/text/ParsingUtilities.h"
10 10
(...skipping 17 matching lines...) Expand all
28 if (base::EqualsCaseInsensitiveASCII(name, "media")) 28 if (base::EqualsCaseInsensitiveASCII(name, "media"))
29 return LinkHeader::LinkParameterMedia; 29 return LinkHeader::LinkParameterMedia;
30 if (base::EqualsCaseInsensitiveASCII(name, "type")) 30 if (base::EqualsCaseInsensitiveASCII(name, "type"))
31 return LinkHeader::LinkParameterType; 31 return LinkHeader::LinkParameterType;
32 if (base::EqualsCaseInsensitiveASCII(name, "rev")) 32 if (base::EqualsCaseInsensitiveASCII(name, "rev"))
33 return LinkHeader::LinkParameterRev; 33 return LinkHeader::LinkParameterRev;
34 if (base::EqualsCaseInsensitiveASCII(name, "hreflang")) 34 if (base::EqualsCaseInsensitiveASCII(name, "hreflang"))
35 return LinkHeader::LinkParameterHreflang; 35 return LinkHeader::LinkParameterHreflang;
36 if (base::EqualsCaseInsensitiveASCII(name, "as")) 36 if (base::EqualsCaseInsensitiveASCII(name, "as"))
37 return LinkHeader::LinkParameterAs; 37 return LinkHeader::LinkParameterAs;
38 if (base::EqualsCaseInsensitiveASCII(name, "referrerpolicy"))
39 return LinkHeader::LinkParameterReferrerPolicy;
38 return LinkHeader::LinkParameterUnknown; 40 return LinkHeader::LinkParameterUnknown;
39 } 41 }
40 42
41 void LinkHeader::setValue(LinkParameterName name, const String& value) { 43 void LinkHeader::setValue(LinkParameterName name, const String& value) {
42 if (name == LinkParameterRel && !m_rel) 44 if (name == LinkParameterRel && !m_rel)
43 m_rel = value.lower(); 45 m_rel = value.lower();
44 else if (name == LinkParameterAnchor) 46 else if (name == LinkParameterAnchor)
45 m_isValid = false; 47 m_isValid = false;
46 else if (name == LinkParameterCrossOrigin) 48 else if (name == LinkParameterCrossOrigin)
47 m_crossOrigin = value; 49 m_crossOrigin = value;
48 else if (name == LinkParameterAs) 50 else if (name == LinkParameterAs)
49 m_as = value.lower(); 51 m_as = value.lower();
52 else if (name == LinkParameterReferrerPolicy)
53 m_referrerPolicy = value.lower();
50 else if (name == LinkParameterType) 54 else if (name == LinkParameterType)
51 m_mimeType = value.lower(); 55 m_mimeType = value.lower();
52 else if (name == LinkParameterMedia) 56 else if (name == LinkParameterMedia)
53 m_media = value.lower(); 57 m_media = value.lower();
54 } 58 }
55 59
56 template <typename Iterator> 60 template <typename Iterator>
57 LinkHeader::LinkHeader(Iterator begin, Iterator end) : m_isValid(true) { 61 LinkHeader::LinkHeader(Iterator begin, Iterator end) : m_isValid(true) {
58 std::string url; 62 std::string url;
59 std::unordered_map<std::string, base::Optional<std::string>> params; 63 std::unordered_map<std::string, base::Optional<std::string>> params;
(...skipping 16 matching lines...) Expand all
76 return; 80 return;
77 81
78 DCHECK(header.is8Bit()) << "Headers should always be 8 bit"; 82 DCHECK(header.is8Bit()) << "Headers should always be 8 bit";
79 std::string headerString(reinterpret_cast<const char*>(header.characters8()), 83 std::string headerString(reinterpret_cast<const char*>(header.characters8()),
80 header.length()); 84 header.length());
81 for (const auto& value : link_header_util::SplitLinkHeader(headerString)) 85 for (const auto& value : link_header_util::SplitLinkHeader(headerString))
82 m_headerSet.append(LinkHeader(value.first, value.second)); 86 m_headerSet.append(LinkHeader(value.first, value.second));
83 } 87 }
84 88
85 } // namespace blink 89 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698