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

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

Issue 2424943002: Add ReferrerPolicy support to preload (Closed)
Patch Set: Fix test. Again Created 4 years, 1 month 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 18 matching lines...) Expand all
29 if (base::EqualsCaseInsensitiveASCII(name, "media")) 29 if (base::EqualsCaseInsensitiveASCII(name, "media"))
30 return LinkHeader::LinkParameterMedia; 30 return LinkHeader::LinkParameterMedia;
31 if (base::EqualsCaseInsensitiveASCII(name, "type")) 31 if (base::EqualsCaseInsensitiveASCII(name, "type"))
32 return LinkHeader::LinkParameterType; 32 return LinkHeader::LinkParameterType;
33 if (base::EqualsCaseInsensitiveASCII(name, "rev")) 33 if (base::EqualsCaseInsensitiveASCII(name, "rev"))
34 return LinkHeader::LinkParameterRev; 34 return LinkHeader::LinkParameterRev;
35 if (base::EqualsCaseInsensitiveASCII(name, "hreflang")) 35 if (base::EqualsCaseInsensitiveASCII(name, "hreflang"))
36 return LinkHeader::LinkParameterHreflang; 36 return LinkHeader::LinkParameterHreflang;
37 if (base::EqualsCaseInsensitiveASCII(name, "as")) 37 if (base::EqualsCaseInsensitiveASCII(name, "as"))
38 return LinkHeader::LinkParameterAs; 38 return LinkHeader::LinkParameterAs;
39 if (base::EqualsCaseInsensitiveASCII(name, "referrerpolicy"))
40 return LinkHeader::LinkParameterReferrerPolicy;
39 return LinkHeader::LinkParameterUnknown; 41 return LinkHeader::LinkParameterUnknown;
40 } 42 }
41 43
42 void LinkHeader::setValue(LinkParameterName name, const String& value) { 44 void LinkHeader::setValue(LinkParameterName name, const String& value) {
43 if (name == LinkParameterRel && !m_rel) 45 if (name == LinkParameterRel && !m_rel)
44 m_rel = value.lower(); 46 m_rel = value.lower();
45 else if (name == LinkParameterAnchor) 47 else if (name == LinkParameterAnchor)
46 m_isValid = false; 48 m_isValid = false;
47 else if (name == LinkParameterCrossOrigin) 49 else if (name == LinkParameterCrossOrigin)
48 m_crossOrigin = value; 50 m_crossOrigin = value;
49 else if (name == LinkParameterAs) 51 else if (name == LinkParameterAs)
50 m_as = value.lower(); 52 m_as = value.lower();
53 else if (name == LinkParameterReferrerPolicy)
54 m_referrerPolicy = value.lower();
51 else if (name == LinkParameterType) 55 else if (name == LinkParameterType)
52 m_mimeType = value.lower(); 56 m_mimeType = value.lower();
53 else if (name == LinkParameterMedia) 57 else if (name == LinkParameterMedia)
54 m_media = value.lower(); 58 m_media = value.lower();
55 } 59 }
56 60
57 template <typename Iterator> 61 template <typename Iterator>
58 LinkHeader::LinkHeader(Iterator begin, Iterator end) : m_isValid(true) { 62 LinkHeader::LinkHeader(Iterator begin, Iterator end) : m_isValid(true) {
59 std::string url; 63 std::string url;
60 std::unordered_map<std::string, base::Optional<std::string>> params; 64 std::unordered_map<std::string, base::Optional<std::string>> params;
(...skipping 16 matching lines...) Expand all
77 return; 81 return;
78 82
79 DCHECK(header.is8Bit()) << "Headers should always be 8 bit"; 83 DCHECK(header.is8Bit()) << "Headers should always be 8 bit";
80 std::string headerString(reinterpret_cast<const char*>(header.characters8()), 84 std::string headerString(reinterpret_cast<const char*>(header.characters8()),
81 header.length()); 85 header.length());
82 for (const auto& value : link_header_util::SplitLinkHeader(headerString)) 86 for (const auto& value : link_header_util::SplitLinkHeader(headerString))
83 m_headerSet.append(LinkHeader(value.first, value.second)); 87 m_headerSet.append(LinkHeader(value.first, value.second));
84 } 88 }
85 89
86 } // namespace blink 90 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698