load_flags_list.h 4.6 KB

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