1 // Copyright 2017 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef NET_HTTP_TRANSPORT_SECURITY_STATE_SOURCE_H_ 6 #define NET_HTTP_TRANSPORT_SECURITY_STATE_SOURCE_H_ 7 8 #include <stddef.h> 9 #include <stdint.h> 10 11 #include "base/memory/raw_ptr_exclusion.h" 12 #include "net/base/net_export.h" 13 14 namespace net { 15 16 // kNoReportURI is a placeholder for when a pinset does not have a report URI. 17 NET_EXPORT_PRIVATE extern const char kNoReportURI[]; 18 19 struct TransportSecurityStateSource { 20 struct Pinset { 21 // This field is not a raw_ptr<> because it was filtered by the rewriter 22 // for: #global-scope 23 RAW_PTR_EXCLUSION const char* const* const accepted_pins; 24 // This field is not a raw_ptr<> because it was filtered by the rewriter 25 // for: #global-scope 26 RAW_PTR_EXCLUSION const char* const* const rejected_pins; 27 const char* const report_uri; 28 }; 29 30 const uint8_t* huffman_tree; 31 size_t huffman_tree_size; 32 const uint8_t* preloaded_data; 33 size_t preloaded_bits; 34 size_t root_position; 35 // This field is not a raw_ptr<> because it was filtered by the rewriter for: 36 // #global-scope 37 RAW_PTR_EXCLUSION const Pinset* pinsets; 38 size_t pinsets_count; 39 }; 40 41 } // namespace net 42 43 #endif // NET_HTTP_TRANSPORT_SECURITY_STATE_SOURCE_H_ 44