Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: Source/core/fetch/ResourceLoaderOptions.h

Issue 1310643003: Make classes and structures in core/events and core/fetch fast-allocated. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 16 matching lines...) Expand all
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef ResourceLoaderOptions_h 31 #ifndef ResourceLoaderOptions_h
32 #define ResourceLoaderOptions_h 32 #define ResourceLoaderOptions_h
33 33
34 #include "core/fetch/FetchInitiatorInfo.h" 34 #include "core/fetch/FetchInitiatorInfo.h"
35 #include "platform/CrossThreadCopier.h" 35 #include "platform/CrossThreadCopier.h"
36 #include "platform/weborigin/SecurityOrigin.h" 36 #include "platform/weborigin/SecurityOrigin.h"
37 #include "wtf/Allocator.h"
37 38
38 namespace blink { 39 namespace blink {
39 40
40 enum DataBufferingPolicy { 41 enum DataBufferingPolicy {
41 BufferData, 42 BufferData,
42 DoNotBufferData 43 DoNotBufferData
43 }; 44 };
44 45
45 enum ContentSecurityPolicyDisposition { 46 enum ContentSecurityPolicyDisposition {
46 CheckContentSecurityPolicy, 47 CheckContentSecurityPolicy,
(...skipping 25 matching lines...) Expand all
72 }; 73 };
73 74
74 // A resource fetch can be marked as being CORS enabled. The loader 75 // A resource fetch can be marked as being CORS enabled. The loader
75 // must perform an access check upon seeing the response. 76 // must perform an access check upon seeing the response.
76 enum CORSEnabled { 77 enum CORSEnabled {
77 NotCORSEnabled, 78 NotCORSEnabled,
78 IsCORSEnabled 79 IsCORSEnabled
79 }; 80 };
80 81
81 struct ResourceLoaderOptions { 82 struct ResourceLoaderOptions {
83 WTF_MAKE_FAST_ALLOCATED(ResourceLoaderOptions);
84 public:
82 ResourceLoaderOptions() 85 ResourceLoaderOptions()
83 : dataBufferingPolicy(BufferData) 86 : dataBufferingPolicy(BufferData)
84 , allowCredentials(DoNotAllowStoredCredentials) 87 , allowCredentials(DoNotAllowStoredCredentials)
85 , credentialsRequested(ClientDidNotRequestCredentials) 88 , credentialsRequested(ClientDidNotRequestCredentials)
86 , contentSecurityPolicyOption(CheckContentSecurityPolicy) 89 , contentSecurityPolicyOption(CheckContentSecurityPolicy)
87 , requestInitiatorContext(DocumentContext) 90 , requestInitiatorContext(DocumentContext)
88 , synchronousPolicy(RequestAsynchronously) 91 , synchronousPolicy(RequestAsynchronously)
89 , corsEnabled(NotCORSEnabled) 92 , corsEnabled(NotCORSEnabled)
90 { 93 {
91 } 94 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 ContentSecurityPolicyDisposition contentSecurityPolicyOption; 133 ContentSecurityPolicyDisposition contentSecurityPolicyOption;
131 FetchInitiatorInfo initiatorInfo; 134 FetchInitiatorInfo initiatorInfo;
132 RequestInitiatorContext requestInitiatorContext; 135 RequestInitiatorContext requestInitiatorContext;
133 SynchronousPolicy synchronousPolicy; 136 SynchronousPolicy synchronousPolicy;
134 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.
135 RefPtr<SecurityOrigin> securityOrigin; 138 RefPtr<SecurityOrigin> securityOrigin;
136 }; 139 };
137 140
138 // Encode AtomicString (in FetchInitiatorInfo) as String to cross threads. 141 // Encode AtomicString (in FetchInitiatorInfo) as String to cross threads.
139 struct CrossThreadResourceLoaderOptionsData { 142 struct CrossThreadResourceLoaderOptionsData {
143 DISALLOW_ALLOCATION();
140 explicit CrossThreadResourceLoaderOptionsData(const ResourceLoaderOptions& o ptions) 144 explicit CrossThreadResourceLoaderOptionsData(const ResourceLoaderOptions& o ptions)
141 : dataBufferingPolicy(options.dataBufferingPolicy) 145 : dataBufferingPolicy(options.dataBufferingPolicy)
142 , allowCredentials(options.allowCredentials) 146 , allowCredentials(options.allowCredentials)
143 , credentialsRequested(options.credentialsRequested) 147 , credentialsRequested(options.credentialsRequested)
144 , contentSecurityPolicyOption(options.contentSecurityPolicyOption) 148 , contentSecurityPolicyOption(options.contentSecurityPolicyOption)
145 , initiatorInfo(options.initiatorInfo) 149 , initiatorInfo(options.initiatorInfo)
146 , requestInitiatorContext(options.requestInitiatorContext) 150 , requestInitiatorContext(options.requestInitiatorContext)
147 , synchronousPolicy(options.synchronousPolicy) 151 , synchronousPolicy(options.synchronousPolicy)
148 , corsEnabled(options.corsEnabled) 152 , corsEnabled(options.corsEnabled)
149 , securityOrigin(options.securityOrigin ? options.securityOrigin->isolat edCopy() : nullptr) { } 153 , securityOrigin(options.securityOrigin ? options.securityOrigin->isolat edCopy() : nullptr) { }
(...skipping 28 matching lines...) Expand all
178 typedef CrossThreadResourceLoaderOptionsData Type; 182 typedef CrossThreadResourceLoaderOptionsData Type;
179 static Type copy(const ResourceLoaderOptions& options) 183 static Type copy(const ResourceLoaderOptions& options)
180 { 184 {
181 return CrossThreadResourceLoaderOptionsData(options); 185 return CrossThreadResourceLoaderOptionsData(options);
182 } 186 }
183 }; 187 };
184 188
185 } // namespace blink 189 } // namespace blink
186 190
187 #endif // ResourceLoaderOptions_h 191 #endif // ResourceLoaderOptions_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698