1 // Copyright 2017 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 EXTENSIONS_COMMON_API_DECLARATIVE_NET_REQUEST_CONSTANTS_H_ 6 #define EXTENSIONS_COMMON_API_DECLARATIVE_NET_REQUEST_CONSTANTS_H_ 7 8 #include "base/util/type_safety/id_type.h" 9 10 namespace extensions { 11 namespace declarative_net_request { 12 13 // Permission name. 14 extern const char kAPIPermission[]; 15 16 // Feedback permission name. 17 extern const char kFeedbackAPIPermission[]; 18 19 // Minimum valid value of a declarative rule ID. 20 constexpr int kMinValidID = 1; 21 22 // Minimum valid value of a declarative rule priority. 23 constexpr int kMinValidPriority = 1; 24 25 using RulesetID = 26 ::util::IdType<class RulesetIDTag, int, -1 /* invalid value */>; 27 28 constexpr RulesetID kMinValidStaticRulesetID(1); 29 constexpr RulesetID kDynamicRulesetID(0); 30 31 // Default priority used for rules when the priority is not explicity provided 32 // by an extension. 33 constexpr int kDefaultPriority = 1; 34 35 // Keys used in rules. 36 extern const char kIDKey[]; 37 extern const char kPriorityKey[]; 38 extern const char kRuleConditionKey[]; 39 extern const char kRuleActionKey[]; 40 extern const char kUrlFilterKey[]; 41 extern const char kRegexFilterKey[]; 42 extern const char kIsUrlFilterCaseSensitiveKey[]; 43 extern const char kDomainsKey[]; 44 extern const char kExcludedDomainsKey[]; 45 extern const char kResourceTypesKey[]; 46 extern const char kExcludedResourceTypesKey[]; 47 extern const char kDomainTypeKey[]; 48 extern const char kRuleActionTypeKey[]; 49 extern const char kRedirectPath[]; 50 extern const char kExtensionPathPath[]; 51 extern const char kTransformSchemePath[]; 52 extern const char kTransformPortPath[]; 53 extern const char kTransformQueryPath[]; 54 extern const char kTransformFragmentPath[]; 55 extern const char kTransformQueryTransformPath[]; 56 extern const char kRedirectKey[]; 57 extern const char kExtensionPathKey[]; 58 extern const char kRedirectUrlKey[]; 59 extern const char kRedirectUrlPath[]; 60 extern const char kTransformKey[]; 61 extern const char kTransformSchemeKey[]; 62 extern const char kTransformHostKey[]; 63 extern const char kTransformPortKey[]; 64 extern const char kTransformPathKey[]; 65 extern const char kTransformQueryKey[]; 66 extern const char kTransformQueryTransformKey[]; 67 extern const char kTransformFragmentKey[]; 68 extern const char kTransformUsernameKey[]; 69 extern const char kTransformPasswordKey[]; 70 extern const char kQueryTransformRemoveParamsKey[]; 71 extern const char kQueryTransformAddReplaceParamsKey[]; 72 extern const char kQueryKeyKey[]; 73 extern const char kQueryValueKey[]; 74 extern const char kRegexSubstitutionKey[]; 75 extern const char kRegexSubstitutionPath[]; 76 extern const char kRequestHeadersKey[]; 77 extern const char kResponseHeadersKey[]; 78 extern const char kRequestHeadersPath[]; 79 extern const char kResponseHeadersPath[]; 80 extern const char kHeaderNameKey[]; 81 extern const char kHeaderOperationKey[]; 82 extern const char kHeaderValueKey[]; 83 84 } // namespace declarative_net_request 85 } // namespace extensions 86 87 #endif // EXTENSIONS_COMMON_API_DECLARATIVE_NET_REQUEST_CONSTANTS_H_ 88