1 // Copyright 2020 The Chromium Authors. All rights reserved. 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 SERVICES_NETWORK_PUBLIC_CPP_CROSS_ORIGIN_EMBEDDER_POLICY_H_ 6 #define SERVICES_NETWORK_PUBLIC_CPP_CROSS_ORIGIN_EMBEDDER_POLICY_H_ 7 8 #include <string> 9 10 #include "base/component_export.h" 11 #include "base/optional.h" 12 #include "services/network/public/mojom/cross_origin_embedder_policy.mojom-shared.h" 13 14 namespace network { 15 16 // This corresponds to network::mojom::CrossOriginEmbedderPolicy. 17 // See the comments there. COMPONENT_EXPORT(NETWORK_CPP_BASE)18struct COMPONENT_EXPORT(NETWORK_CPP_BASE) CrossOriginEmbedderPolicy final { 19 CrossOriginEmbedderPolicy(); 20 ~CrossOriginEmbedderPolicy(); 21 CrossOriginEmbedderPolicy(const CrossOriginEmbedderPolicy&); 22 CrossOriginEmbedderPolicy(CrossOriginEmbedderPolicy&&); 23 CrossOriginEmbedderPolicy& operator=(const CrossOriginEmbedderPolicy&); 24 CrossOriginEmbedderPolicy& operator=(CrossOriginEmbedderPolicy&&); 25 bool operator==(const CrossOriginEmbedderPolicy&) const; 26 27 mojom::CrossOriginEmbedderPolicyValue value = 28 mojom::CrossOriginEmbedderPolicyValue::kNone; 29 base::Optional<std::string> reporting_endpoint; 30 mojom::CrossOriginEmbedderPolicyValue report_only_value = 31 mojom::CrossOriginEmbedderPolicyValue::kNone; 32 base::Optional<std::string> report_only_reporting_endpoint; 33 }; 34 35 } // namespace network 36 37 #endif // SERVICES_NETWORK_PUBLIC_CPP_CROSS_ORIGIN_EMBEDDER_POLICY_H_ 38