1 // Copyright (c) 2011 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 // This file intentionally does not have header guards, it's included 6 // inside a macro to generate values. The following line silences a 7 // presubmit warning that would otherwise be triggered by this: 8 // no-include-guard-because-multiply-included 9 // NOLINT(build/header_guard) 10 11 // This is the list of load flags and their values. For the enum values, 12 // include the file "net/base/load_flags.h". 13 // 14 // Here we define the values using a macro LOAD_FLAG, so it can be 15 // expanded differently in some places (for example, to automatically 16 // map a load flag value to its symbolic name). 17 18 LOAD_FLAG(NORMAL, 0) 19 20 // This is "normal reload", meaning an if-none-match/if-modified-since query. 21 // All other caches are used as normal. 22 LOAD_FLAG(VALIDATE_CACHE, 1 << 0) 23 24 // This is "shift-reload", meaning a "pragma: no-cache" end-to-end fetch. All 25 // other caches are used as normal. 26 LOAD_FLAG(BYPASS_CACHE, 1 << 1) 27 28 // This is a back/forward style navigation where the cached content should 29 // be preferred over any protocol specific cache validation. 30 LOAD_FLAG(SKIP_CACHE_VALIDATION, 1 << 2) 31 32 // This is a navigation that will fail if it cannot serve the requested 33 // resource from the cache (or some equivalent local store). 34 LOAD_FLAG(ONLY_FROM_CACHE, 1 << 3) 35 36 // This is a navigation that will not use the cache at all. It does not 37 // impact the HTTP request headers. All other caches are used as normal. 38 LOAD_FLAG(DISABLE_CACHE, 1 << 4) 39 40 // If present, causes dependent network fetches (AIA, CRLs, OCSP) to be 41 // skipped on secure connections. 42 LOAD_FLAG(DISABLE_CERT_NETWORK_FETCHES, 1 << 5) 43 44 // This load will not make any changes to cookies, including storing new 45 // cookies or updating existing ones. 46 // Deprecated. Use URLRequest::set_allow_credentials instead. See 47 // https://crbug.com/799935. 48 LOAD_FLAG(DO_NOT_SAVE_COOKIES, 1 << 6) 49 50 // Do not resolve proxies. This override is used when downloading PAC files 51 // to avoid having a circular dependency. 52 LOAD_FLAG(BYPASS_PROXY, 1 << 7) 53 54 // DO NOT USE THIS FLAG 55 // The network stack should not have frame level knowledge. Any pre-connect 56 // or pre-resolution requiring that knowledge should be done from the 57 // stack embedder. 58 // Indicate that this is a top level frame, so that we don't assume it is a 59 // subresource and speculatively pre-connect or pre-resolve when a referring 60 // page is loaded. 61 LOAD_FLAG(MAIN_FRAME_DEPRECATED, 1 << 8) 62 63 // Indicates that this load was motivated by the rel=prefetch feature, 64 // and is (in theory) not intended for the current frame. 65 LOAD_FLAG(PREFETCH, 1 << 9) 66 67 // Indicates that this load could cause deadlock if it has to wait for another 68 // request. Overrides socket limits. Must always be used with MAXIMUM_PRIORITY. 69 LOAD_FLAG(IGNORE_LIMITS, 1 << 10) 70 71 // Indicates that the username:password portion of the URL should not 72 // be honored, but that other forms of authority may be used. 73 LOAD_FLAG(DO_NOT_USE_EMBEDDED_IDENTITY, 1 << 11) 74 75 // Indicates that this request is not to be migrated to a cellular network when 76 // QUIC connection migration is enabled. 77 LOAD_FLAG(DISABLE_CONNECTION_MIGRATION_TO_CELLULAR, 1 << 12) 78 79 // Indicates that the cache should not check that the request matches the 80 // response's vary header. 81 LOAD_FLAG(SKIP_VARY_CHECK, 1 << 13) 82 83 // The creator of this URLRequest wishes to receive stale responses when allowed 84 // by the "Cache-Control: stale-while-revalidate" directive and is able to issue 85 // an async revalidation to update the cache. If the callee needs to revalidate 86 // the resource |async_revalidation_requested| attribute will be set on the 87 // associated HttpResponseInfo. If indicated the callee should revalidate the 88 // resource by issuing a new request without this flag set. If the revalidation 89 // does not complete in 60 seconds, the cache treat the stale resource as 90 // invalid, as it did not specify stale-while-revalidate. 91 LOAD_FLAG(SUPPORT_ASYNC_REVALIDATION, 1 << 14) 92 93 // Indicates that a prefetch request's cached response should be restricted in 94 // in terms of reuse. The cached response can only be reused by requests with 95 // the LOAD_CAN_USE_RESTRICTED_PREFETCH load flag. 96 LOAD_FLAG(RESTRICTED_PREFETCH, 1 << 15) 97 98 // This flag must be set on requests that are allowed to reuse cache entries 99 // that are marked as RESTRICTED_PREFETCH. Requests without this flag cannot 100 // reuse restricted prefetch responses in the cache. Restricted response reuse 101 // is considered privileged, and therefore this flag must only be set from a 102 // trusted process. 103 LOAD_FLAG(CAN_USE_RESTRICTED_PREFETCH, 1 << 16) 104