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

Side by Side Diff: third_party/WebKit/Source/core/loader/LinkHeader.h

Issue 1738133002: Add support for media attribute on link (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review nits Created 4 years, 9 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 "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/html/CrossOriginAttribute.h" 9 #include "core/html/CrossOriginAttribute.h"
10 #include "wtf/Allocator.h" 10 #include "wtf/Allocator.h"
11 #include "wtf/text/WTFString.h" 11 #include "wtf/text/WTFString.h"
12 12
13 namespace blink { 13 namespace blink {
14 14
15 class LinkHeader { 15 class LinkHeader {
16 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); 16 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW();
17 public: 17 public:
18 template <typename CharType> 18 template <typename CharType>
19 LinkHeader(CharType*& position, CharType* end); 19 LinkHeader(CharType*& position, CharType* end);
20 20
21 const String& url() const { return m_url; } 21 const String& url() const { return m_url; }
22 const String& rel() const { return m_rel; } 22 const String& rel() const { return m_rel; }
23 const String& as() const { return m_as; } 23 const String& as() const { return m_as; }
24 const String& mimeType() const { return m_mimeType; } 24 const String& mimeType() const { return m_mimeType; }
25 const String& media() const { return m_media; }
25 CrossOriginAttributeValue crossOrigin() const { return m_crossOrigin; } 26 CrossOriginAttributeValue crossOrigin() const { return m_crossOrigin; }
26 bool valid() const { return m_isValid; } 27 bool valid() const { return m_isValid; }
27 28
28 enum LinkParameterName { 29 enum LinkParameterName {
29 LinkParameterRel, 30 LinkParameterRel,
30 LinkParameterAnchor, 31 LinkParameterAnchor,
31 LinkParameterTitle, 32 LinkParameterTitle,
32 LinkParameterMedia, 33 LinkParameterMedia,
33 LinkParameterType, 34 LinkParameterType,
34 LinkParameterRev, 35 LinkParameterRev,
35 LinkParameterHreflang, 36 LinkParameterHreflang,
36 // Beyond this point, only link-extension parameters 37 // Beyond this point, only link-extension parameters
37 LinkParameterUnknown, 38 LinkParameterUnknown,
38 LinkParameterCrossOrigin, 39 LinkParameterCrossOrigin,
39 LinkParameterAs, 40 LinkParameterAs,
40 }; 41 };
41 42
42 private: 43 private:
43 void setValue(LinkParameterName, String value); 44 void setValue(LinkParameterName, String value);
44 45
45 String m_url; 46 String m_url;
46 String m_rel; 47 String m_rel;
47 String m_as; 48 String m_as;
48 String m_mimeType; 49 String m_mimeType;
50 String m_media;
49 CrossOriginAttributeValue m_crossOrigin; 51 CrossOriginAttributeValue m_crossOrigin;
50 bool m_isValid; 52 bool m_isValid;
51 }; 53 };
52 54
53 class CORE_EXPORT LinkHeaderSet { 55 class CORE_EXPORT LinkHeaderSet {
54 STACK_ALLOCATED(); 56 STACK_ALLOCATED();
55 public: 57 public:
56 LinkHeaderSet(const String& header); 58 LinkHeaderSet(const String& header);
57 59
58 Vector<LinkHeader>::const_iterator begin() const { return m_headerSet.begin( ); } 60 Vector<LinkHeader>::const_iterator begin() const { return m_headerSet.begin( ); }
59 Vector<LinkHeader>::const_iterator end() const { return m_headerSet.end(); } 61 Vector<LinkHeader>::const_iterator end() const { return m_headerSet.end(); }
60 LinkHeader& operator[](size_t i) { return m_headerSet[i]; } 62 LinkHeader& operator[](size_t i) { return m_headerSet[i]; }
61 size_t size() { return m_headerSet.size(); } 63 size_t size() { return m_headerSet.size(); }
62 64
63 private: 65 private:
64 template <typename CharType> 66 template <typename CharType>
65 void init(CharType* headerValue, unsigned len); 67 void init(CharType* headerValue, unsigned len);
66 68
67 Vector<LinkHeader> m_headerSet; 69 Vector<LinkHeader> m_headerSet;
68 }; 70 };
69 71
70 } // namespace blink 72 } // namespace blink
71 73
72 #endif 74 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/loader/FrameLoader.cpp ('k') | third_party/WebKit/Source/core/loader/LinkHeader.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698