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

Side by Side Diff: third_party/WebKit/WebCore/dom/GenericWorkerTask.h

Issue 20076: WebKit merge 40500:40539 [WebKit side] (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 10 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2009, Google Inc. All rights reserved. 2 * Copyright (C) 2009 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
11 * copyright notice, this list of conditions and the following disclaimer 11 * copyright notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the 12 * in the documentation and/or other materials provided with the
(...skipping 13 matching lines...) Expand all
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
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 GenericWorkerTask_h 31 #ifndef GenericWorkerTask_h
32 #define GenericWorkerTask_h 32 #define GenericWorkerTask_h
33 33
34 #if ENABLE(WORKERS) 34 #if ENABLE(WORKERS)
35 35
36 #include "WorkerMessagingProxy.h" 36 #include "CrossThreadCopier.h"
37 #include "ScriptExecutionContext.h" 37 #include "ScriptExecutionContext.h"
38 #include <memory>
38 #include <wtf/PassRefPtr.h> 39 #include <wtf/PassRefPtr.h>
40 #include <wtf/TypeTraits.h>
39 41
40 namespace WebCore { 42 namespace WebCore {
41 class GenericWorkerTaskBase : public ScriptExecutionContext::Task { 43
42 protected: 44 // Traits for the GenericWorkerTask.
43 GenericWorkerTaskBase(WorkerMessagingProxy* messagingProxy) : m_messagin gProxy(messagingProxy) 45 template<typename T> struct GenericWorkerTaskTraits {
44 { 46 typedef const T& ParamType;
45 } 47 };
46 48
47 bool canPerformTask() 49 template<typename T> struct GenericWorkerTaskTraits<T*> {
48 { 50 typedef T* ParamType;
49 return !m_messagingProxy->askedToTerminate(); 51 };
50 } 52
51 53 template<typename T> struct GenericWorkerTaskTraits<std::auto_ptr<T> > {
52 WorkerMessagingProxy* m_messagingProxy; 54 typedef std::auto_ptr<T> ParamType;
55 };
56
57 template<typename T> struct GenericWorkerTaskTraits<PassRefPtr<T> > {
58 typedef PassRefPtr<T> ParamType;
59 };
60
61 template<typename P1, typename MP1>
62 class GenericWorkerTask1 : public ScriptExecutionContext::Task {
63 public:
64 typedef void (*Method)(ScriptExecutionContext*, MP1);
65 typedef GenericWorkerTask1<P1, MP1> GenericWorkerTask;
66 typedef typename GenericWorkerTaskTraits<P1>::ParamType Param1;
67
68 static PassRefPtr<GenericWorkerTask> create(Method method, Param1 parame ter1)
69 {
70 return adoptRef(new GenericWorkerTask(method, parameter1));
71 }
72
73 private:
74 GenericWorkerTask1(Method method, Param1 parameter1)
75 : m_method(method)
76 , m_parameter1(parameter1)
77 {
78 }
79
80 virtual void performTask(ScriptExecutionContext* context)
81 {
82 (*m_method)(context, m_parameter1);
83 }
84
85 private:
86 Method m_method;
87 P1 m_parameter1;
88 };
89
90 template<typename P1, typename MP1, typename P2, typename MP2>
91 class GenericWorkerTask2 : public ScriptExecutionContext::Task {
92 public:
93 typedef void (*Method)(ScriptExecutionContext*, MP1, MP2);
94 typedef GenericWorkerTask2<P1, MP1, P2, MP2> GenericWorkerTask;
95 typedef typename GenericWorkerTaskTraits<P1>::ParamType Param1;
96 typedef typename GenericWorkerTaskTraits<P2>::ParamType Param2;
97
98 static PassRefPtr<GenericWorkerTask> create(Method method, Param1 parame ter1, Param2 parameter2)
99 {
100 return adoptRef(new GenericWorkerTask(method, parameter1, parameter2 ));
101 }
102
103 private:
104 GenericWorkerTask2(Method method, Param1 parameter1, Param2 parameter2)
105 : m_method(method)
106 , m_parameter1(parameter1)
107 , m_parameter2(parameter2)
108 {
109 }
110
111 virtual void performTask(ScriptExecutionContext* context)
112 {
113 (*m_method)(context, m_parameter1, m_parameter2);
114 }
115
116 private:
117 Method m_method;
118 P1 m_parameter1;
119 P2 m_parameter2;
120 };
121
122 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3>
123 class GenericWorkerTask3 : public ScriptExecutionContext::Task {
124 public:
125 typedef void (*Method)(ScriptExecutionContext*, MP1, MP2, MP3);
126 typedef GenericWorkerTask3<P1, MP1, P2, MP2, P3, MP3> GenericWorkerTask;
127 typedef typename GenericWorkerTaskTraits<P1>::ParamType Param1;
128 typedef typename GenericWorkerTaskTraits<P2>::ParamType Param2;
129 typedef typename GenericWorkerTaskTraits<P3>::ParamType Param3;
130
131 static PassRefPtr<GenericWorkerTask> create(Method method, Param1 parame ter1, Param2 parameter2, Param3 parameter3)
132 {
133 return adoptRef(new GenericWorkerTask(method, parameter1, parameter2 , parameter3));
134 }
135
136 private:
137 GenericWorkerTask3(Method method, Param1 parameter1, Param2 parameter2, Param3 parameter3)
138 : m_method(method)
139 , m_parameter1(parameter1)
140 , m_parameter2(parameter2)
141 , m_parameter3(parameter3)
142 {
143 }
144
145 virtual void performTask(ScriptExecutionContext* context)
146 {
147 (*m_method)(context, m_parameter1, m_parameter2, m_parameter3);
148 }
149
150 private:
151 Method m_method;
152 P1 m_parameter1;
153 P2 m_parameter2;
154 P3 m_parameter3;
155 };
156
157 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4>
158 class GenericWorkerTask4 : public ScriptExecutionContext::Task {
159 public:
160 typedef void (*Method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4);
161 typedef GenericWorkerTask4<P1, MP1, P2, MP2, P3, MP3, P4, MP4> GenericWo rkerTask;
162 typedef typename GenericWorkerTaskTraits<P1>::ParamType Param1;
163 typedef typename GenericWorkerTaskTraits<P2>::ParamType Param2;
164 typedef typename GenericWorkerTaskTraits<P3>::ParamType Param3;
165 typedef typename GenericWorkerTaskTraits<P4>::ParamType Param4;
166
167 static PassRefPtr<GenericWorkerTask> create(Method method, Param1 parame ter1, Param2 parameter2, Param3 parameter3, Param4 parameter4)
168 {
169 return adoptRef(new GenericWorkerTask(method, parameter1, parameter2 , parameter3, parameter4));
170 }
171
172 private:
173 GenericWorkerTask4(Method method, Param1 parameter1, Param2 parameter2, Param3 parameter3, Param4 parameter4)
174 : m_method(method)
175 , m_parameter1(parameter1)
176 , m_parameter2(parameter2)
177 , m_parameter3(parameter3)
178 , m_parameter4(parameter4)
179 {
180 }
181
182 virtual void performTask(ScriptExecutionContext* context)
183 {
184 (*m_method)(context, m_parameter1, m_parameter2, m_parameter3, m_par ameter4);
185 }
186
187 private:
188 Method m_method;
189 P1 m_parameter1;
190 P2 m_parameter2;
191 P3 m_parameter3;
192 P4 m_parameter4;
193 };
194
195 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4, typename P5, typename MP5>
196 class GenericWorkerTask5 : public ScriptExecutionContext::Task {
197 public:
198 typedef void (*Method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4, MP5) ;
199 typedef GenericWorkerTask5<P1, MP1, P2, MP2, P3, MP3, P4, MP4, P5, MP5> GenericWorkerTask;
200 typedef typename GenericWorkerTaskTraits<P1>::ParamType Param1;
201 typedef typename GenericWorkerTaskTraits<P2>::ParamType Param2;
202 typedef typename GenericWorkerTaskTraits<P3>::ParamType Param3;
203 typedef typename GenericWorkerTaskTraits<P4>::ParamType Param4;
204 typedef typename GenericWorkerTaskTraits<P5>::ParamType Param5;
205
206 static PassRefPtr<GenericWorkerTask> create(Method method, Param1 parame ter1, Param2 parameter2, Param3 parameter3, Param4 parameter4, Param5 parameter5 )
207 {
208 return adoptRef(new GenericWorkerTask(method, parameter1, parameter2 , parameter3, parameter4, parameter5));
209 }
210
211 private:
212 GenericWorkerTask5(Method method, Param1 parameter1, Param2 parameter2, Param3 parameter3, Param4 parameter4, Param5 parameter5)
213 : m_method(method)
214 , m_parameter1(parameter1)
215 , m_parameter2(parameter2)
216 , m_parameter3(parameter3)
217 , m_parameter4(parameter4)
218 , m_parameter5(parameter5)
219 {
220 }
221
222 virtual void performTask(ScriptExecutionContext* context)
223 {
224 (*m_method)(context, m_parameter1, m_parameter2, m_parameter3, m_par ameter4, m_parameter5);
225 }
226
227 private:
228 Method m_method;
229 P1 m_parameter1;
230 P2 m_parameter2;
231 P3 m_parameter3;
232 P4 m_parameter4;
233 P5 m_parameter5;
53 }; 234 };
54 235
55 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4, typename P5, typename MP5, typename P6, typename MP6> 236 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4, typename P5, typename MP5, typename P6, typename MP6>
56 class GenericWorkerTask6 : public GenericWorkerTaskBase { 237 class GenericWorkerTask6 : public ScriptExecutionContext::Task {
57 public: 238 public:
58 typedef void (*Method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4, MP5, MP6); 239 typedef void (*Method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4, MP5, MP6);
59 typedef GenericWorkerTask6<P1, MP1, P2, MP2, P3, MP3, P4, MP4, P5, MP5, P6, MP6> GenericWorkerTask; 240 typedef GenericWorkerTask6<P1, MP1, P2, MP2, P3, MP3, P4, MP4, P5, MP5, P6, MP6> GenericWorkerTask;
60 241 typedef typename GenericWorkerTaskTraits<P1>::ParamType Param1;
61 static PassRefPtr<GenericWorkerTask> create(WorkerMessagingProxy* messag ingProxy, Method method, const P1& parameter1, const P2& parameter2, const P3& p arameter3, const P4& parameter4, const P5& parameter5, const P6& parameter6) 242 typedef typename GenericWorkerTaskTraits<P2>::ParamType Param2;
62 { 243 typedef typename GenericWorkerTaskTraits<P3>::ParamType Param3;
63 return adoptRef(new GenericWorkerTask(messagingProxy, method, parame ter1, parameter2, parameter3, parameter4, parameter5, parameter6)); 244 typedef typename GenericWorkerTaskTraits<P4>::ParamType Param4;
64 } 245 typedef typename GenericWorkerTaskTraits<P5>::ParamType Param5;
65 246 typedef typename GenericWorkerTaskTraits<P6>::ParamType Param6;
66 private: 247
67 GenericWorkerTask6(WorkerMessagingProxy* messagingProxy, Method method, const P1& parameter1, const P2& parameter2, const P3& parameter3, const P4& para meter4, const P5& parameter5, const P6& parameter6) 248 static PassRefPtr<GenericWorkerTask> create(Method method, Param1 parame ter1, Param2 parameter2, Param3 parameter3, Param4 parameter4, Param5 parameter5 , Param6 parameter6)
68 : GenericWorkerTaskBase(messagingProxy) 249 {
69 , m_method(method) 250 return adoptRef(new GenericWorkerTask(method, parameter1, parameter2 , parameter3, parameter4, parameter5, parameter6));
70 , m_parameter1(parameter1) 251 }
71 , m_parameter2(parameter2) 252
72 , m_parameter3(parameter3) 253 private:
254 GenericWorkerTask6(Method method, Param1 parameter1, Param2 parameter2, Param3 parameter3, Param4 parameter4, Param5 parameter5, Param6 parameter6)
255 : m_method(method)
256 , m_parameter1(parameter1)
257 , m_parameter2(parameter2)
258 , m_parameter3(parameter3)
73 , m_parameter4(parameter4) 259 , m_parameter4(parameter4)
74 , m_parameter5(parameter5) 260 , m_parameter5(parameter5)
75 , m_parameter6(parameter6) 261 , m_parameter6(parameter6)
76 { 262 {
77 } 263 }
78 264
79 virtual void performTask(ScriptExecutionContext* context) 265 virtual void performTask(ScriptExecutionContext* context)
80 { 266 {
81 if (!canPerformTask())
82 return;
83 (*m_method)(context, m_parameter1, m_parameter2, m_parameter3, m_par ameter4, m_parameter5, m_parameter6); 267 (*m_method)(context, m_parameter1, m_parameter2, m_parameter3, m_par ameter4, m_parameter5, m_parameter6);
84 } 268 }
85 269
86 private: 270 private:
87 Method m_method; 271 Method m_method;
88 P1 m_parameter1; 272 P1 m_parameter1;
89 P2 m_parameter2; 273 P2 m_parameter2;
90 P3 m_parameter3; 274 P3 m_parameter3;
91 P4 m_parameter4; 275 P4 m_parameter4;
92 P5 m_parameter5; 276 P5 m_parameter5;
93 P6 m_parameter6; 277 P6 m_parameter6;
94 }; 278 };
95 279
280 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4, typename P5, typename MP5, typename P6, typename MP6, typename P7, typename MP7>
281 class GenericWorkerTask7 : public ScriptExecutionContext::Task {
282 public:
283 typedef void (*Method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4, MP5, MP6, MP7);
284 typedef GenericWorkerTask7<P1, MP1, P2, MP2, P3, MP3, P4, MP4, P5, MP5, P6, MP6, P7, MP7> GenericWorkerTask;
285 typedef typename GenericWorkerTaskTraits<P1>::ParamType Param1;
286 typedef typename GenericWorkerTaskTraits<P2>::ParamType Param2;
287 typedef typename GenericWorkerTaskTraits<P3>::ParamType Param3;
288 typedef typename GenericWorkerTaskTraits<P4>::ParamType Param4;
289 typedef typename GenericWorkerTaskTraits<P5>::ParamType Param5;
290 typedef typename GenericWorkerTaskTraits<P6>::ParamType Param6;
291 typedef typename GenericWorkerTaskTraits<P7>::ParamType Param7;
292
293 static PassRefPtr<GenericWorkerTask> create(Method method, Param1 parame ter1, Param2 parameter2, Param3 parameter3, Param4 parameter4, Param5 parameter5 , Param6 parameter6, Param7 parameter7)
294 {
295 return adoptRef(new GenericWorkerTask(method, parameter1, parameter2 , parameter3, parameter4, parameter5, parameter6, parameter7));
296 }
297
298 private:
299 GenericWorkerTask7(Method method, Param1 parameter1, Param2 parameter2, Param3 parameter3, Param4 parameter4, Param5 parameter5, Param6 parameter6, Para m7 parameter7)
300 : m_method(method)
301 , m_parameter1(parameter1)
302 , m_parameter2(parameter2)
303 , m_parameter3(parameter3)
304 , m_parameter4(parameter4)
305 , m_parameter5(parameter5)
306 , m_parameter6(parameter6)
307 , m_parameter7(parameter7)
308 {
309 }
310
311 virtual void performTask(ScriptExecutionContext* context)
312 {
313 (*m_method)(context, m_parameter1, m_parameter2, m_parameter3, m_par ameter4, m_parameter5, m_parameter6, m_parameter7);
314 }
315
316 private:
317 Method m_method;
318 P1 m_parameter1;
319 P2 m_parameter2;
320 P3 m_parameter3;
321 P4 m_parameter4;
322 P5 m_parameter5;
323 P6 m_parameter6;
324 P7 m_parameter7;
325 };
326
327 template<typename P1, typename MP1>
328 PassRefPtr<ScriptExecutionContext::Task> createCallbackTask(
329 void (*method)(ScriptExecutionContext*, MP1),
330 const P1& parameter1)
331 {
332 return GenericWorkerTask1<typename CrossThreadCopier<P1>::Type, MP1>::cr eate(
333 method,
334 CrossThreadCopier<P1>::copy(parameter1));
335 }
336
337 template<typename P1, typename MP1, typename P2, typename MP2>
338 PassRefPtr<ScriptExecutionContext::Task> createCallbackTask(
339 void (*method)(ScriptExecutionContext*, MP1, MP2),
340 const P1& parameter1, const P2& parameter2)
341 {
342 return GenericWorkerTask2<typename CrossThreadCopier<P1>::Type, MP1, typ ename CrossThreadCopier<P2>::Type, MP2>::create(
343 method,
344 CrossThreadCopier<P1>::copy(parameter1), CrossThreadCopier<P2>::copy (parameter2));
345 }
346
347 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3>
348 PassRefPtr<ScriptExecutionContext::Task> createCallbackTask(
349 void (*method)(ScriptExecutionContext*, MP1, MP2, MP3),
350 const P1& parameter1, const P2& parameter2, const P3& parameter3)
351 {
352 return GenericWorkerTask3<typename CrossThreadCopier<P1>::Type, MP1, typ ename CrossThreadCopier<P2>::Type, MP2, typename CrossThreadCopier<P3>::Type, MP 3>::create(
353 method,
354 CrossThreadCopier<P1>::copy(parameter1), CrossThreadCopier<P2>::copy (parameter2),
355 CrossThreadCopier<P3>::copy(parameter3));
356 }
357
358 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4>
359 PassRefPtr<ScriptExecutionContext::Task> createCallbackTask(
360 void (*method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4),
361 const P1& parameter1, const P2& parameter2, const P3& parameter3, const P4& parameter4)
362 {
363 return GenericWorkerTask4<typename CrossThreadCopier<P1>::Type, MP1, typ ename CrossThreadCopier<P2>::Type, MP2, typename CrossThreadCopier<P3>::Type, MP 3,
364 typename CrossThreadCopier<P4>::Type, MP4>::create(
365 method,
366 CrossThreadCopier<P1>::copy(parameter1), CrossThreadCopier<P2>:: copy(parameter2),
367 CrossThreadCopier<P3>::copy(parameter3), CrossThreadCopier<P4>:: copy(parameter4));
368 }
369
370 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4, typename P5, typename MP5>
371 PassRefPtr<ScriptExecutionContext::Task> createCallbackTask(
372 void (*method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4, MP5),
373 const P1& parameter1, const P2& parameter2, const P3& parameter3, const P4& parameter4, const P5& parameter5)
374 {
375 return GenericWorkerTask5<typename CrossThreadCopier<P1>::Type, MP1, typ ename CrossThreadCopier<P2>::Type, MP2, typename CrossThreadCopier<P3>::Type, MP 3,
376 typename CrossThreadCopier<P4>::Type, MP4, typename CrossThreadCopie r<P5>::Type, MP5>::create(
377 method,
378 CrossThreadCopier<P1>::copy(parameter1), CrossThreadCopier<P2>:: copy(parameter2),
379 CrossThreadCopier<P3>::copy(parameter3), CrossThreadCopier<P4>:: copy(parameter4),
380 CrossThreadCopier<P5>::copy(parameter5));
381 }
382
96 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4, typename P5, typename MP5, typename P6, typename MP6> 383 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4, typename P5, typename MP5, typename P6, typename MP6>
97 PassRefPtr<GenericWorkerTask6<P1, MP1, P2, MP2, P3, MP3, P4, MP4, P5, MP5, P 6, MP6> > createCallbackTask( 384 PassRefPtr<ScriptExecutionContext::Task> createCallbackTask(
98 WorkerMessagingProxy* messagingProxy,
99 void (*method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4, MP5, MP6), 385 void (*method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4, MP5, MP6),
100 const P1& parameter1, const P2& parameter2, const P3& parameter3, const P4& parameter4, const P5& parameter5, const P6& parameter6) 386 const P1& parameter1, const P2& parameter2, const P3& parameter3, const P4& parameter4, const P5& parameter5, const P6& parameter6)
101 { 387 {
102 return GenericWorkerTask6<P1, MP1, P2, MP2, P3, MP3, P4, MP4, P5, MP5, P 6, MP6>::create(messagingProxy, method, parameter1, parameter2, parameter3, para meter4, parameter5, parameter6); 388 return GenericWorkerTask6<typename CrossThreadCopier<P1>::Type, MP1, typ ename CrossThreadCopier<P2>::Type, MP2, typename CrossThreadCopier<P3>::Type, MP 3,
389 typename CrossThreadCopier<P4>::Type, MP4, typename CrossThreadCopie r<P5>::Type, MP5, typename CrossThreadCopier<P6>::Type, MP6>::create(
390 method,
391 CrossThreadCopier<P1>::copy(parameter1), CrossThreadCopier<P2>:: copy(parameter2),
392 CrossThreadCopier<P3>::copy(parameter3), CrossThreadCopier<P4>:: copy(parameter4),
393 CrossThreadCopier<P5>::copy(parameter5), CrossThreadCopier<P6>:: copy(parameter6));
394 }
395
396 template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4, typename P5, typename MP5, typename P6, typename MP6, typename P7, typename MP7>
397 PassRefPtr<ScriptExecutionContext::Task> createCallbackTask(
398 void (*method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4, MP5, MP6, MP 7),
399 const P1& parameter1, const P2& parameter2, const P3& parameter3, const P4& parameter4, const P5& parameter5, const P6& parameter6, const P7& parameter7 )
400 {
401 return GenericWorkerTask7<typename CrossThreadCopier<P1>::Type, MP1, typ ename CrossThreadCopier<P2>::Type, MP2, typename CrossThreadCopier<P3>::Type, MP 3,
402 typename CrossThreadCopier<P4>::Type, MP4, typename CrossThreadCopie r<P5>::Type, MP5, typename CrossThreadCopier<P6>::Type, MP6,
403 typename CrossThreadCopier<P7>::Type, MP7>::create(
404 method,
405 CrossThreadCopier<P1>::copy(parameter1), CrossThreadCopier<P2>:: copy(parameter2),
406 CrossThreadCopier<P3>::copy(parameter3), CrossThreadCopier<P4>:: copy(parameter4),
407 CrossThreadCopier<P5>::copy(parameter5), CrossThreadCopier<P6>:: copy(parameter6),
408 CrossThreadCopier<P7>::copy(parameter7));
103 } 409 }
104 410
105 } // namespace WebCore 411 } // namespace WebCore
106 412
107 #endif // ENABLE(WORKERS) 413 #endif // ENABLE(WORKERS)
108 414
109 #endif // GenericWorkerTask_h 415 #endif // GenericWorkerTask_h
OLDNEW
« no previous file with comments | « third_party/WebKit/WebCore/dom/Document.cpp ('k') | third_party/WebKit/WebCore/dom/NamedAttrMap.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698