OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 // updated. | 129 // updated. |
130 DataBufferingPolicy dataBufferingPolicy; | 130 DataBufferingPolicy dataBufferingPolicy; |
131 StoredCredentials allowCredentials; // Whether HTTP credentials and cookies
are sent with the request. | 131 StoredCredentials allowCredentials; // Whether HTTP credentials and cookies
are sent with the request. |
132 CredentialRequest credentialsRequested; // Whether the client (e.g. XHR) wan
ted credentials in the first place. | 132 CredentialRequest credentialsRequested; // Whether the client (e.g. XHR) wan
ted credentials in the first place. |
133 ContentSecurityPolicyDisposition contentSecurityPolicyOption; | 133 ContentSecurityPolicyDisposition contentSecurityPolicyOption; |
134 FetchInitiatorInfo initiatorInfo; | 134 FetchInitiatorInfo initiatorInfo; |
135 RequestInitiatorContext requestInitiatorContext; | 135 RequestInitiatorContext requestInitiatorContext; |
136 SynchronousPolicy synchronousPolicy; | 136 SynchronousPolicy synchronousPolicy; |
137 CORSEnabled corsEnabled; // If the resource is loaded out-of-origin, whether
or not to use CORS. | 137 CORSEnabled corsEnabled; // If the resource is loaded out-of-origin, whether
or not to use CORS. |
138 RefPtr<SecurityOrigin> securityOrigin; | 138 RefPtr<SecurityOrigin> securityOrigin; |
| 139 String contentSecurityPolicyNonce; |
139 }; | 140 }; |
140 | 141 |
141 // Encode AtomicString (in FetchInitiatorInfo) as String to cross threads. | 142 // Encode AtomicString (in FetchInitiatorInfo) as String to cross threads. |
142 struct CrossThreadResourceLoaderOptionsData { | 143 struct CrossThreadResourceLoaderOptionsData { |
143 DISALLOW_NEW(); | 144 DISALLOW_NEW(); |
144 explicit CrossThreadResourceLoaderOptionsData(const ResourceLoaderOptions& o
ptions) | 145 explicit CrossThreadResourceLoaderOptionsData(const ResourceLoaderOptions& o
ptions) |
145 : dataBufferingPolicy(options.dataBufferingPolicy) | 146 : dataBufferingPolicy(options.dataBufferingPolicy) |
146 , allowCredentials(options.allowCredentials) | 147 , allowCredentials(options.allowCredentials) |
147 , credentialsRequested(options.credentialsRequested) | 148 , credentialsRequested(options.credentialsRequested) |
148 , contentSecurityPolicyOption(options.contentSecurityPolicyOption) | 149 , contentSecurityPolicyOption(options.contentSecurityPolicyOption) |
149 , initiatorInfo(options.initiatorInfo) | 150 , initiatorInfo(options.initiatorInfo) |
150 , requestInitiatorContext(options.requestInitiatorContext) | 151 , requestInitiatorContext(options.requestInitiatorContext) |
151 , synchronousPolicy(options.synchronousPolicy) | 152 , synchronousPolicy(options.synchronousPolicy) |
152 , corsEnabled(options.corsEnabled) | 153 , corsEnabled(options.corsEnabled) |
153 , securityOrigin(options.securityOrigin ? options.securityOrigin->isolat
edCopy() : nullptr) { } | 154 , securityOrigin(options.securityOrigin ? options.securityOrigin->isolat
edCopy() : nullptr) |
| 155 , contentSecurityPolicyNonce(options.contentSecurityPolicyNonce) |
| 156 { |
| 157 } |
154 | 158 |
155 operator ResourceLoaderOptions() const | 159 operator ResourceLoaderOptions() const |
156 { | 160 { |
157 ResourceLoaderOptions options; | 161 ResourceLoaderOptions options; |
158 options.dataBufferingPolicy = dataBufferingPolicy; | 162 options.dataBufferingPolicy = dataBufferingPolicy; |
159 options.allowCredentials = allowCredentials; | 163 options.allowCredentials = allowCredentials; |
160 options.credentialsRequested = credentialsRequested; | 164 options.credentialsRequested = credentialsRequested; |
161 options.contentSecurityPolicyOption = contentSecurityPolicyOption; | 165 options.contentSecurityPolicyOption = contentSecurityPolicyOption; |
162 options.initiatorInfo = initiatorInfo; | 166 options.initiatorInfo = initiatorInfo; |
163 options.requestInitiatorContext = requestInitiatorContext; | 167 options.requestInitiatorContext = requestInitiatorContext; |
164 options.synchronousPolicy = synchronousPolicy; | 168 options.synchronousPolicy = synchronousPolicy; |
165 options.corsEnabled = corsEnabled; | 169 options.corsEnabled = corsEnabled; |
166 options.securityOrigin = securityOrigin; | 170 options.securityOrigin = securityOrigin; |
| 171 options.contentSecurityPolicyNonce = contentSecurityPolicyNonce; |
167 return options; | 172 return options; |
168 } | 173 } |
169 | 174 |
170 DataBufferingPolicy dataBufferingPolicy; | 175 DataBufferingPolicy dataBufferingPolicy; |
171 StoredCredentials allowCredentials; | 176 StoredCredentials allowCredentials; |
172 CredentialRequest credentialsRequested; | 177 CredentialRequest credentialsRequested; |
173 ContentSecurityPolicyDisposition contentSecurityPolicyOption; | 178 ContentSecurityPolicyDisposition contentSecurityPolicyOption; |
174 CrossThreadFetchInitiatorInfoData initiatorInfo; | 179 CrossThreadFetchInitiatorInfoData initiatorInfo; |
175 RequestInitiatorContext requestInitiatorContext; | 180 RequestInitiatorContext requestInitiatorContext; |
176 SynchronousPolicy synchronousPolicy; | 181 SynchronousPolicy synchronousPolicy; |
177 CORSEnabled corsEnabled; | 182 CORSEnabled corsEnabled; |
178 RefPtr<SecurityOrigin> securityOrigin; | 183 RefPtr<SecurityOrigin> securityOrigin; |
| 184 String contentSecurityPolicyNonce; |
179 }; | 185 }; |
180 | 186 |
181 template <> | 187 template <> |
182 struct CrossThreadCopier<ResourceLoaderOptions> { | 188 struct CrossThreadCopier<ResourceLoaderOptions> { |
183 using Type = CrossThreadResourceLoaderOptionsData; | 189 using Type = CrossThreadResourceLoaderOptionsData; |
184 static Type copy(const ResourceLoaderOptions& options) | 190 static Type copy(const ResourceLoaderOptions& options) |
185 { | 191 { |
186 return CrossThreadResourceLoaderOptionsData(options); | 192 return CrossThreadResourceLoaderOptionsData(options); |
187 } | 193 } |
188 }; | 194 }; |
189 | 195 |
190 } // namespace blink | 196 } // namespace blink |
191 | 197 |
192 #endif // ResourceLoaderOptions_h | 198 #endif // ResourceLoaderOptions_h |
OLD | NEW |