[WTF] Add makeUnique<T>, which ensures T is fast-allocated, makeUnique / makeUniqueWi...
[WebKit-https.git] / Source / JavaScriptCore / inspector / scripts / tests / generic / expected / domains-with-varying-command-sizes.json-result
1 ### Begin File: InspectorBackendCommands.js
2 /*
3  * Copyright (C) 2013 Google Inc. All rights reserved.
4  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
5  * Copyright (C) 2014 University of Washington. All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
18  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
20  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
26  * THE POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
30 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
31
32 // Network1.
33 InspectorBackend.registerCommand("Network1.loadResource1", [], []);
34 InspectorBackend.activateDomain("Network1");
35
36 // Network3.
37 InspectorBackend.registerCommand("Network3.loadResource1", [], []);
38 InspectorBackend.registerCommand("Network3.loadResource2", [], []);
39 InspectorBackend.registerCommand("Network3.loadResource3", [], []);
40 InspectorBackend.registerCommand("Network3.loadResource4", [], []);
41 InspectorBackend.registerCommand("Network3.loadResource5", [], []);
42 InspectorBackend.registerCommand("Network3.loadResource6", [], []);
43 InspectorBackend.registerCommand("Network3.loadResource7", [], []);
44 InspectorBackend.activateDomain("Network3");
45 ### End File: InspectorBackendCommands.js
46
47 ### Begin File: TestAlternateBackendDispatchers.h
48 /*
49  * Copyright (C) 2013 Google Inc. All rights reserved.
50  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
51  * Copyright (C) 2014 University of Washington. All rights reserved.
52  *
53  * Redistribution and use in source and binary forms, with or without
54  * modification, are permitted provided that the following conditions
55  * are met:
56  * 1. Redistributions of source code must retain the above copyright
57  *    notice, this list of conditions and the following disclaimer.
58  * 2. Redistributions in binary form must reproduce the above copyright
59  *    notice, this list of conditions and the following disclaimer in the
60  *    documentation and/or other materials provided with the distribution.
61  *
62  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
63  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
64  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
65  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
66  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
67  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
68  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
69  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
70  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
71  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
72  * THE POSSIBILITY OF SUCH DAMAGE.
73  */
74
75 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
76 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
77
78 #pragma once
79
80 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
81
82 #include "TestProtocolTypes.h"
83 #include <JavaScriptCore/InspectorBackendDispatcher.h>
84 #include <JavaScriptCore/InspectorFrontendRouter.h>
85
86 namespace Inspector {
87
88 class AlternateBackendDispatcher {
89 public:
90     void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTFMove(dispatcher); }
91     BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
92 private:
93     RefPtr<BackendDispatcher> m_backendDispatcher;
94 };
95
96
97 class AlternateNetwork1BackendDispatcher : public AlternateBackendDispatcher {
98 public:
99     virtual ~AlternateNetwork1BackendDispatcher() { }
100     virtual void loadResource1(long callId) = 0;
101 };
102 class AlternateNetwork3BackendDispatcher : public AlternateBackendDispatcher {
103 public:
104     virtual ~AlternateNetwork3BackendDispatcher() { }
105     virtual void loadResource1(long callId) = 0;
106     virtual void loadResource2(long callId) = 0;
107     virtual void loadResource3(long callId) = 0;
108     virtual void loadResource4(long callId) = 0;
109     virtual void loadResource5(long callId) = 0;
110     virtual void loadResource6(long callId) = 0;
111     virtual void loadResource7(long callId) = 0;
112 };
113
114 } // namespace Inspector
115
116 #endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
117 ### End File: TestAlternateBackendDispatchers.h
118
119 ### Begin File: TestBackendDispatchers.h
120 /*
121  * Copyright (C) 2013 Google Inc. All rights reserved.
122  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
123  * Copyright (C) 2014 University of Washington. All rights reserved.
124  *
125  * Redistribution and use in source and binary forms, with or without
126  * modification, are permitted provided that the following conditions
127  * are met:
128  * 1. Redistributions of source code must retain the above copyright
129  *    notice, this list of conditions and the following disclaimer.
130  * 2. Redistributions in binary form must reproduce the above copyright
131  *    notice, this list of conditions and the following disclaimer in the
132  *    documentation and/or other materials provided with the distribution.
133  *
134  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
135  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
136  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
137  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
138  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
139  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
140  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
141  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
142  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
143  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
144  * THE POSSIBILITY OF SUCH DAMAGE.
145  */
146
147 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
148 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
149
150 #pragma once
151
152 #include "TestProtocolObjects.h"
153 #include <JavaScriptCore/InspectorBackendDispatcher.h>
154 #include <wtf/text/WTFString.h>
155
156 namespace Inspector {
157
158 typedef String ErrorString;
159
160 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
161 class AlternateNetwork1BackendDispatcher;
162 class AlternateNetwork3BackendDispatcher;
163 #endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
164
165 class Network1BackendDispatcherHandler {
166 public:
167     virtual void loadResource1(ErrorString&) = 0;
168 protected:
169     virtual ~Network1BackendDispatcherHandler();
170 };
171
172 class Network3BackendDispatcherHandler {
173 public:
174     virtual void loadResource1(ErrorString&) = 0;
175     virtual void loadResource2(ErrorString&) = 0;
176     virtual void loadResource3(ErrorString&) = 0;
177     virtual void loadResource4(ErrorString&) = 0;
178     virtual void loadResource5(ErrorString&) = 0;
179     virtual void loadResource6(ErrorString&) = 0;
180     virtual void loadResource7(ErrorString&) = 0;
181 protected:
182     virtual ~Network3BackendDispatcherHandler();
183 };
184
185 class Network1BackendDispatcher final : public SupplementalBackendDispatcher {
186 public:
187     static Ref<Network1BackendDispatcher> create(BackendDispatcher&, Network1BackendDispatcherHandler*);
188     void dispatch(long requestId, const String& method, Ref<JSON::Object>&& message) override;
189 private:
190     void loadResource1(long requestId, RefPtr<JSON::Object>&& parameters);
191 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
192 public:
193     void setAlternateDispatcher(AlternateNetwork1BackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
194 private:
195     AlternateNetwork1BackendDispatcher* m_alternateDispatcher { nullptr };
196 #endif
197 private:
198     Network1BackendDispatcher(BackendDispatcher&, Network1BackendDispatcherHandler*);
199     Network1BackendDispatcherHandler* m_agent { nullptr };
200 };
201
202 class Network3BackendDispatcher final : public SupplementalBackendDispatcher {
203 public:
204     static Ref<Network3BackendDispatcher> create(BackendDispatcher&, Network3BackendDispatcherHandler*);
205     void dispatch(long requestId, const String& method, Ref<JSON::Object>&& message) override;
206 private:
207     void loadResource1(long requestId, RefPtr<JSON::Object>&& parameters);
208     void loadResource2(long requestId, RefPtr<JSON::Object>&& parameters);
209     void loadResource3(long requestId, RefPtr<JSON::Object>&& parameters);
210     void loadResource4(long requestId, RefPtr<JSON::Object>&& parameters);
211     void loadResource5(long requestId, RefPtr<JSON::Object>&& parameters);
212     void loadResource6(long requestId, RefPtr<JSON::Object>&& parameters);
213     void loadResource7(long requestId, RefPtr<JSON::Object>&& parameters);
214 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
215 public:
216     void setAlternateDispatcher(AlternateNetwork3BackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
217 private:
218     AlternateNetwork3BackendDispatcher* m_alternateDispatcher { nullptr };
219 #endif
220 private:
221     Network3BackendDispatcher(BackendDispatcher&, Network3BackendDispatcherHandler*);
222     Network3BackendDispatcherHandler* m_agent { nullptr };
223 };
224
225 } // namespace Inspector
226 ### End File: TestBackendDispatchers.h
227
228 ### Begin File: TestBackendDispatchers.cpp
229 /*
230  * Copyright (C) 2013 Google Inc. All rights reserved.
231  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
232  * Copyright (C) 2014 University of Washington. All rights reserved.
233  *
234  * Redistribution and use in source and binary forms, with or without
235  * modification, are permitted provided that the following conditions
236  * are met:
237  * 1. Redistributions of source code must retain the above copyright
238  *    notice, this list of conditions and the following disclaimer.
239  * 2. Redistributions in binary form must reproduce the above copyright
240  *    notice, this list of conditions and the following disclaimer in the
241  *    documentation and/or other materials provided with the distribution.
242  *
243  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
244  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
245  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
246  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
247  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
248  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
249  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
250  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
251  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
252  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
253  * THE POSSIBILITY OF SUCH DAMAGE.
254  */
255
256 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
257 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
258
259 #include "config.h"
260 #include "TestBackendDispatchers.h"
261
262 #include <JavaScriptCore/InspectorFrontendRouter.h>
263 #include <wtf/JSONValues.h>
264 #include <wtf/NeverDestroyed.h>
265 #include <wtf/text/CString.h>
266
267 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
268 #include "TestAlternateBackendDispatchers.h"
269 #endif
270
271 namespace Inspector {
272
273 Network1BackendDispatcherHandler::~Network1BackendDispatcherHandler() { }
274 Network3BackendDispatcherHandler::~Network3BackendDispatcherHandler() { }
275
276 Ref<Network1BackendDispatcher> Network1BackendDispatcher::create(BackendDispatcher& backendDispatcher, Network1BackendDispatcherHandler* agent)
277 {
278     return adoptRef(*new Network1BackendDispatcher(backendDispatcher, agent));
279 }
280
281 Network1BackendDispatcher::Network1BackendDispatcher(BackendDispatcher& backendDispatcher, Network1BackendDispatcherHandler* agent)
282     : SupplementalBackendDispatcher(backendDispatcher)
283     , m_agent(agent)
284 {
285     m_backendDispatcher->registerDispatcherForDomain("Network1"_s, this);
286 }
287
288 void Network1BackendDispatcher::dispatch(long requestId, const String& method, Ref<JSON::Object>&& message)
289 {
290     Ref<Network1BackendDispatcher> protect(*this);
291
292     RefPtr<JSON::Object> parameters;
293     message->getObject("params"_s, parameters);
294
295     if (method == "loadResource1")
296         loadResource1(requestId, WTFMove(parameters));
297     else
298         m_backendDispatcher->reportProtocolError(BackendDispatcher::MethodNotFound, "'Network1." + method + "' was not found");
299 }
300
301 void Network1BackendDispatcher::loadResource1(long requestId, RefPtr<JSON::Object>&&)
302 {
303 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
304     if (m_alternateDispatcher) {
305         m_alternateDispatcher->loadResource1(requestId);
306         return;
307     }
308 #endif
309
310     ErrorString error;
311     Ref<JSON::Object> result = JSON::Object::create();
312     m_agent->loadResource1(error);
313
314     if (!error.length())
315         m_backendDispatcher->sendResponse(requestId, WTFMove(result), false);
316     else
317         m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
318 }
319
320 Ref<Network3BackendDispatcher> Network3BackendDispatcher::create(BackendDispatcher& backendDispatcher, Network3BackendDispatcherHandler* agent)
321 {
322     return adoptRef(*new Network3BackendDispatcher(backendDispatcher, agent));
323 }
324
325 Network3BackendDispatcher::Network3BackendDispatcher(BackendDispatcher& backendDispatcher, Network3BackendDispatcherHandler* agent)
326     : SupplementalBackendDispatcher(backendDispatcher)
327     , m_agent(agent)
328 {
329     m_backendDispatcher->registerDispatcherForDomain("Network3"_s, this);
330 }
331
332 void Network3BackendDispatcher::dispatch(long requestId, const String& method, Ref<JSON::Object>&& message)
333 {
334     Ref<Network3BackendDispatcher> protect(*this);
335
336     RefPtr<JSON::Object> parameters;
337     message->getObject("params"_s, parameters);
338
339     typedef void (Network3BackendDispatcher::*CallHandler)(long requestId, RefPtr<JSON::Object>&& message);
340     typedef HashMap<String, CallHandler> DispatchMap;
341     static NeverDestroyed<DispatchMap> dispatchMap;
342     if (dispatchMap.get().isEmpty()) {
343         static const struct MethodTable {
344             const char* name;
345             CallHandler handler;
346         } commands[] = {
347             { "loadResource1", &Network3BackendDispatcher::loadResource1 },
348             { "loadResource2", &Network3BackendDispatcher::loadResource2 },
349             { "loadResource3", &Network3BackendDispatcher::loadResource3 },
350             { "loadResource4", &Network3BackendDispatcher::loadResource4 },
351             { "loadResource5", &Network3BackendDispatcher::loadResource5 },
352             { "loadResource6", &Network3BackendDispatcher::loadResource6 },
353             { "loadResource7", &Network3BackendDispatcher::loadResource7 },
354         };
355         size_t length = WTF_ARRAY_LENGTH(commands);
356         for (size_t i = 0; i < length; ++i)
357             dispatchMap.get().add(commands[i].name, commands[i].handler);
358     }
359
360     auto findResult = dispatchMap.get().find(method);
361     if (findResult == dispatchMap.get().end()) {
362         m_backendDispatcher->reportProtocolError(BackendDispatcher::MethodNotFound, "'Network3." + method + "' was not found");
363         return;
364     }
365
366     ((*this).*findResult->value)(requestId, WTFMove(parameters));
367 }
368
369 void Network3BackendDispatcher::loadResource1(long requestId, RefPtr<JSON::Object>&&)
370 {
371 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
372     if (m_alternateDispatcher) {
373         m_alternateDispatcher->loadResource1(requestId);
374         return;
375     }
376 #endif
377
378     ErrorString error;
379     Ref<JSON::Object> result = JSON::Object::create();
380     m_agent->loadResource1(error);
381
382     if (!error.length())
383         m_backendDispatcher->sendResponse(requestId, WTFMove(result), false);
384     else
385         m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
386 }
387
388 void Network3BackendDispatcher::loadResource2(long requestId, RefPtr<JSON::Object>&&)
389 {
390 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
391     if (m_alternateDispatcher) {
392         m_alternateDispatcher->loadResource2(requestId);
393         return;
394     }
395 #endif
396
397     ErrorString error;
398     Ref<JSON::Object> result = JSON::Object::create();
399     m_agent->loadResource2(error);
400
401     if (!error.length())
402         m_backendDispatcher->sendResponse(requestId, WTFMove(result), false);
403     else
404         m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
405 }
406
407 void Network3BackendDispatcher::loadResource3(long requestId, RefPtr<JSON::Object>&&)
408 {
409 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
410     if (m_alternateDispatcher) {
411         m_alternateDispatcher->loadResource3(requestId);
412         return;
413     }
414 #endif
415
416     ErrorString error;
417     Ref<JSON::Object> result = JSON::Object::create();
418     m_agent->loadResource3(error);
419
420     if (!error.length())
421         m_backendDispatcher->sendResponse(requestId, WTFMove(result), false);
422     else
423         m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
424 }
425
426 void Network3BackendDispatcher::loadResource4(long requestId, RefPtr<JSON::Object>&&)
427 {
428 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
429     if (m_alternateDispatcher) {
430         m_alternateDispatcher->loadResource4(requestId);
431         return;
432     }
433 #endif
434
435     ErrorString error;
436     Ref<JSON::Object> result = JSON::Object::create();
437     m_agent->loadResource4(error);
438
439     if (!error.length())
440         m_backendDispatcher->sendResponse(requestId, WTFMove(result), false);
441     else
442         m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
443 }
444
445 void Network3BackendDispatcher::loadResource5(long requestId, RefPtr<JSON::Object>&&)
446 {
447 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
448     if (m_alternateDispatcher) {
449         m_alternateDispatcher->loadResource5(requestId);
450         return;
451     }
452 #endif
453
454     ErrorString error;
455     Ref<JSON::Object> result = JSON::Object::create();
456     m_agent->loadResource5(error);
457
458     if (!error.length())
459         m_backendDispatcher->sendResponse(requestId, WTFMove(result), false);
460     else
461         m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
462 }
463
464 void Network3BackendDispatcher::loadResource6(long requestId, RefPtr<JSON::Object>&&)
465 {
466 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
467     if (m_alternateDispatcher) {
468         m_alternateDispatcher->loadResource6(requestId);
469         return;
470     }
471 #endif
472
473     ErrorString error;
474     Ref<JSON::Object> result = JSON::Object::create();
475     m_agent->loadResource6(error);
476
477     if (!error.length())
478         m_backendDispatcher->sendResponse(requestId, WTFMove(result), false);
479     else
480         m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
481 }
482
483 void Network3BackendDispatcher::loadResource7(long requestId, RefPtr<JSON::Object>&&)
484 {
485 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
486     if (m_alternateDispatcher) {
487         m_alternateDispatcher->loadResource7(requestId);
488         return;
489     }
490 #endif
491
492     ErrorString error;
493     Ref<JSON::Object> result = JSON::Object::create();
494     m_agent->loadResource7(error);
495
496     if (!error.length())
497         m_backendDispatcher->sendResponse(requestId, WTFMove(result), false);
498     else
499         m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
500 }
501
502 } // namespace Inspector
503
504 ### End File: TestBackendDispatchers.cpp
505
506 ### Begin File: TestFrontendDispatchers.h
507 /*
508  * Copyright (C) 2013 Google Inc. All rights reserved.
509  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
510  * Copyright (C) 2014 University of Washington. All rights reserved.
511  *
512  * Redistribution and use in source and binary forms, with or without
513  * modification, are permitted provided that the following conditions
514  * are met:
515  * 1. Redistributions of source code must retain the above copyright
516  *    notice, this list of conditions and the following disclaimer.
517  * 2. Redistributions in binary form must reproduce the above copyright
518  *    notice, this list of conditions and the following disclaimer in the
519  *    documentation and/or other materials provided with the distribution.
520  *
521  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
522  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
523  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
524  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
525  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
526  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
527  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
528  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
529  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
530  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
531  * THE POSSIBILITY OF SUCH DAMAGE.
532  */
533
534 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
535 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
536
537 #pragma once
538
539 #include "TestProtocolObjects.h"
540 #include <wtf/JSONValues.h>
541 #include <wtf/text/WTFString.h>
542
543 namespace Inspector {
544
545 class FrontendRouter;
546
547 } // namespace Inspector
548 ### End File: TestFrontendDispatchers.h
549
550 ### Begin File: TestFrontendDispatchers.cpp
551 /*
552  * Copyright (C) 2013 Google Inc. All rights reserved.
553  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
554  * Copyright (C) 2014 University of Washington. All rights reserved.
555  *
556  * Redistribution and use in source and binary forms, with or without
557  * modification, are permitted provided that the following conditions
558  * are met:
559  * 1. Redistributions of source code must retain the above copyright
560  *    notice, this list of conditions and the following disclaimer.
561  * 2. Redistributions in binary form must reproduce the above copyright
562  *    notice, this list of conditions and the following disclaimer in the
563  *    documentation and/or other materials provided with the distribution.
564  *
565  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
566  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
567  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
568  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
569  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
570  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
571  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
572  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
573  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
574  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
575  * THE POSSIBILITY OF SUCH DAMAGE.
576  */
577
578 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
579 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
580
581 #include "config.h"
582 #include "TestFrontendDispatchers.h"
583
584 #include <JavaScriptCore/InspectorFrontendRouter.h>
585 #include <wtf/text/CString.h>
586
587 namespace Inspector {
588
589 } // namespace Inspector
590
591 ### End File: TestFrontendDispatchers.cpp
592
593 ### Begin File: TestProtocolObjects.h
594 /*
595  * Copyright (C) 2013 Google Inc. All rights reserved.
596  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
597  * Copyright (C) 2014 University of Washington. All rights reserved.
598  *
599  * Redistribution and use in source and binary forms, with or without
600  * modification, are permitted provided that the following conditions
601  * are met:
602  * 1. Redistributions of source code must retain the above copyright
603  *    notice, this list of conditions and the following disclaimer.
604  * 2. Redistributions in binary form must reproduce the above copyright
605  *    notice, this list of conditions and the following disclaimer in the
606  *    documentation and/or other materials provided with the distribution.
607  *
608  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
609  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
610  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
611  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
612  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
613  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
614  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
615  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
616  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
617  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
618  * THE POSSIBILITY OF SUCH DAMAGE.
619  */
620
621 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
622 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
623
624 #pragma once
625
626 #include <JavaScriptCore/InspectorProtocolTypes.h>
627 #include <wtf/Assertions.h>
628
629 namespace Inspector {
630
631
632
633 namespace Protocol {
634
635
636
637
638
639 // Typedefs.
640 namespace Network2 {
641 /* Unique loader identifier. */
642 typedef String LoaderId;
643 } // Network2
644 // End of typedefs.
645
646
647
648 } // namespace Protocol
649
650 } // namespace Inspector
651 ### End File: TestProtocolObjects.h
652
653 ### Begin File: TestProtocolObjects.cpp
654 /*
655  * Copyright (C) 2013 Google Inc. All rights reserved.
656  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
657  * Copyright (C) 2014 University of Washington. All rights reserved.
658  *
659  * Redistribution and use in source and binary forms, with or without
660  * modification, are permitted provided that the following conditions
661  * are met:
662  * 1. Redistributions of source code must retain the above copyright
663  *    notice, this list of conditions and the following disclaimer.
664  * 2. Redistributions in binary form must reproduce the above copyright
665  *    notice, this list of conditions and the following disclaimer in the
666  *    documentation and/or other materials provided with the distribution.
667  *
668  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
669  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
670  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
671  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
672  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
673  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
674  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
675  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
676  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
677  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
678  * THE POSSIBILITY OF SUCH DAMAGE.
679  */
680
681 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
682 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
683
684 #include "config.h"
685 #include "TestProtocolObjects.h"
686
687 #include <wtf/Optional.h>
688 #include <wtf/text/CString.h>
689
690 namespace Inspector {
691
692 namespace Protocol {
693
694
695
696 } // namespace Protocol
697
698 } // namespace Inspector
699
700 ### End File: TestProtocolObjects.cpp
701
702 ### Begin File: TestProtocolBackendDispatchers.h
703 /*
704  * Copyright (C) 2013 Google Inc. All rights reserved.
705  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
706  * Copyright (C) 2014 University of Washington. All rights reserved.
707  *
708  * Redistribution and use in source and binary forms, with or without
709  * modification, are permitted provided that the following conditions
710  * are met:
711  * 1. Redistributions of source code must retain the above copyright
712  *    notice, this list of conditions and the following disclaimer.
713  * 2. Redistributions in binary form must reproduce the above copyright
714  *    notice, this list of conditions and the following disclaimer in the
715  *    documentation and/or other materials provided with the distribution.
716  *
717  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
718  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
719  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
720  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
721  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
722  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
723  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
724  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
725  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
726  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
727  * THE POSSIBILITY OF SUCH DAMAGE.
728  */
729
730 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
731 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
732
733 #include <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
734 #include <wtf/RetainPtr.h>
735
736 @protocol TestProtocolNetwork1DomainHandler;
737 @protocol TestProtocolNetwork3DomainHandler;
738
739 namespace Inspector {
740
741
742 class ObjCInspectorNetwork1BackendDispatcher final : public AlternateNetwork1BackendDispatcher {
743     WTF_MAKE_FAST_ALLOCATED;
744 public:
745     ObjCInspectorNetwork1BackendDispatcher(id<TestProtocolNetwork1DomainHandler> handler) { m_delegate = handler; }
746     virtual void loadResource1(long requestId) override;
747 private:
748     RetainPtr<id<TestProtocolNetwork1DomainHandler>> m_delegate;
749 };
750
751 class ObjCInspectorNetwork3BackendDispatcher final : public AlternateNetwork3BackendDispatcher {
752     WTF_MAKE_FAST_ALLOCATED;
753 public:
754     ObjCInspectorNetwork3BackendDispatcher(id<TestProtocolNetwork3DomainHandler> handler) { m_delegate = handler; }
755     virtual void loadResource1(long requestId) override;
756     virtual void loadResource2(long requestId) override;
757     virtual void loadResource3(long requestId) override;
758     virtual void loadResource4(long requestId) override;
759     virtual void loadResource5(long requestId) override;
760     virtual void loadResource6(long requestId) override;
761     virtual void loadResource7(long requestId) override;
762 private:
763     RetainPtr<id<TestProtocolNetwork3DomainHandler>> m_delegate;
764 };
765
766 } // namespace Inspector
767
768 ### End File: TestProtocolBackendDispatchers.h
769
770 ### Begin File: TestProtocolBackendDispatchers.mm
771 /*
772  * Copyright (C) 2013 Google Inc. All rights reserved.
773  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
774  * Copyright (C) 2014 University of Washington. All rights reserved.
775  *
776  * Redistribution and use in source and binary forms, with or without
777  * modification, are permitted provided that the following conditions
778  * are met:
779  * 1. Redistributions of source code must retain the above copyright
780  *    notice, this list of conditions and the following disclaimer.
781  * 2. Redistributions in binary form must reproduce the above copyright
782  *    notice, this list of conditions and the following disclaimer in the
783  *    documentation and/or other materials provided with the distribution.
784  *
785  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
786  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
787  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
788  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
789  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
790  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
791  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
792  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
793  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
794  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
795  * THE POSSIBILITY OF SUCH DAMAGE.
796  */
797
798 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
799 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
800
801 #import "config.h"
802 #import "TestProtocolBackendDispatchers.h"
803
804 #include "TestProtocolInternal.h"
805 #include "TestProtocolTypeConversions.h"
806 #include <wtf/JSONValues.h>
807
808 namespace Inspector {
809
810 void ObjCInspectorNetwork1BackendDispatcher::loadResource1(long requestId)
811 {
812     id errorCallback = ^(NSString *error) {
813         backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
814         backendDispatcher()->sendPendingErrors();
815     };
816
817     id successCallback = ^{
818         backendDispatcher()->sendResponse(requestId, JSON::Object::create(), false);
819     };
820
821     [m_delegate loadResource1WithErrorCallback:errorCallback successCallback:successCallback];
822 }
823
824
825 void ObjCInspectorNetwork3BackendDispatcher::loadResource1(long requestId)
826 {
827     id errorCallback = ^(NSString *error) {
828         backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
829         backendDispatcher()->sendPendingErrors();
830     };
831
832     id successCallback = ^{
833         backendDispatcher()->sendResponse(requestId, JSON::Object::create(), false);
834     };
835
836     [m_delegate loadResource1WithErrorCallback:errorCallback successCallback:successCallback];
837 }
838
839 void ObjCInspectorNetwork3BackendDispatcher::loadResource2(long requestId)
840 {
841     id errorCallback = ^(NSString *error) {
842         backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
843         backendDispatcher()->sendPendingErrors();
844     };
845
846     id successCallback = ^{
847         backendDispatcher()->sendResponse(requestId, JSON::Object::create(), false);
848     };
849
850     [m_delegate loadResource2WithErrorCallback:errorCallback successCallback:successCallback];
851 }
852
853 void ObjCInspectorNetwork3BackendDispatcher::loadResource3(long requestId)
854 {
855     id errorCallback = ^(NSString *error) {
856         backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
857         backendDispatcher()->sendPendingErrors();
858     };
859
860     id successCallback = ^{
861         backendDispatcher()->sendResponse(requestId, JSON::Object::create(), false);
862     };
863
864     [m_delegate loadResource3WithErrorCallback:errorCallback successCallback:successCallback];
865 }
866
867 void ObjCInspectorNetwork3BackendDispatcher::loadResource4(long requestId)
868 {
869     id errorCallback = ^(NSString *error) {
870         backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
871         backendDispatcher()->sendPendingErrors();
872     };
873
874     id successCallback = ^{
875         backendDispatcher()->sendResponse(requestId, JSON::Object::create(), false);
876     };
877
878     [m_delegate loadResource4WithErrorCallback:errorCallback successCallback:successCallback];
879 }
880
881 void ObjCInspectorNetwork3BackendDispatcher::loadResource5(long requestId)
882 {
883     id errorCallback = ^(NSString *error) {
884         backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
885         backendDispatcher()->sendPendingErrors();
886     };
887
888     id successCallback = ^{
889         backendDispatcher()->sendResponse(requestId, JSON::Object::create(), false);
890     };
891
892     [m_delegate loadResource5WithErrorCallback:errorCallback successCallback:successCallback];
893 }
894
895 void ObjCInspectorNetwork3BackendDispatcher::loadResource6(long requestId)
896 {
897     id errorCallback = ^(NSString *error) {
898         backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
899         backendDispatcher()->sendPendingErrors();
900     };
901
902     id successCallback = ^{
903         backendDispatcher()->sendResponse(requestId, JSON::Object::create(), false);
904     };
905
906     [m_delegate loadResource6WithErrorCallback:errorCallback successCallback:successCallback];
907 }
908
909 void ObjCInspectorNetwork3BackendDispatcher::loadResource7(long requestId)
910 {
911     id errorCallback = ^(NSString *error) {
912         backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
913         backendDispatcher()->sendPendingErrors();
914     };
915
916     id successCallback = ^{
917         backendDispatcher()->sendResponse(requestId, JSON::Object::create(), false);
918     };
919
920     [m_delegate loadResource7WithErrorCallback:errorCallback successCallback:successCallback];
921 }
922
923
924 } // namespace Inspector
925
926 ### End File: TestProtocolBackendDispatchers.mm
927
928 ### Begin File: TestProtocolConfiguration.h
929 /*
930  * Copyright (C) 2013 Google Inc. All rights reserved.
931  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
932  * Copyright (C) 2014 University of Washington. All rights reserved.
933  *
934  * Redistribution and use in source and binary forms, with or without
935  * modification, are permitted provided that the following conditions
936  * are met:
937  * 1. Redistributions of source code must retain the above copyright
938  *    notice, this list of conditions and the following disclaimer.
939  * 2. Redistributions in binary form must reproduce the above copyright
940  *    notice, this list of conditions and the following disclaimer in the
941  *    documentation and/or other materials provided with the distribution.
942  *
943  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
944  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
945  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
946  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
947  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
948  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
949  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
950  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
951  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
952  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
953  * THE POSSIBILITY OF SUCH DAMAGE.
954  */
955
956 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
957 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
958
959 #import <WebInspector/TestProtocol.h>
960
961 __attribute__((visibility ("default")))
962 @interface TestProtocolConfiguration : NSObject
963 @property (nonatomic, retain, setter=setNetwork1Handler:) id<TestProtocolNetwork1DomainHandler> network1Handler;
964 @property (nonatomic, retain, setter=setNetwork3Handler:) id<TestProtocolNetwork3DomainHandler> network3Handler;
965 @end
966
967
968 ### End File: TestProtocolConfiguration.h
969
970 ### Begin File: TestProtocolConfiguration.mm
971 /*
972  * Copyright (C) 2013 Google Inc. All rights reserved.
973  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
974  * Copyright (C) 2014 University of Washington. All rights reserved.
975  *
976  * Redistribution and use in source and binary forms, with or without
977  * modification, are permitted provided that the following conditions
978  * are met:
979  * 1. Redistributions of source code must retain the above copyright
980  *    notice, this list of conditions and the following disclaimer.
981  * 2. Redistributions in binary form must reproduce the above copyright
982  *    notice, this list of conditions and the following disclaimer in the
983  *    documentation and/or other materials provided with the distribution.
984  *
985  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
986  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
987  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
988  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
989  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
990  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
991  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
992  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
993  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
994  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
995  * THE POSSIBILITY OF SUCH DAMAGE.
996  */
997
998 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
999 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1000
1001 #import "TestProtocolConfiguration.h"
1002
1003 #import "TestProtocolInternal.h"
1004 #import "TestProtocolBackendDispatchers.h"
1005 #import <JavaScriptCore/AlternateDispatchableAgent.h>
1006 #import <JavaScriptCore/AugmentableInspectorController.h>
1007 #import <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
1008 #import <JavaScriptCore/InspectorBackendDispatchers.h>
1009
1010 using namespace Inspector;
1011
1012 @implementation TestProtocolConfiguration
1013 {
1014     AugmentableInspectorController* _controller;
1015     id<TestProtocolNetwork1DomainHandler> _network1Handler;
1016     id<TestProtocolNetwork3DomainHandler> _network3Handler;
1017 }
1018
1019 - (instancetype)initWithController:(AugmentableInspectorController*)controller
1020 {
1021     self = [super init];
1022     if (!self)
1023         return nil;
1024     ASSERT(controller);
1025     _controller = controller;
1026     return self;
1027 }
1028
1029 - (void)dealloc
1030 {
1031     [_network1Handler release];
1032     [_network3Handler release];
1033     [super dealloc];
1034 }
1035
1036 - (void)setNetwork1Handler:(id<TestProtocolNetwork1DomainHandler>)handler
1037 {
1038     if (handler == _network1Handler)
1039         return;
1040
1041     [_network1Handler release];
1042     _network1Handler = [handler retain];
1043
1044     auto alternateDispatcher = makeUnique<ObjCInspectorNetwork1BackendDispatcher>(handler);
1045     auto alternateAgent = makeUnique<AlternateDispatchableAgent<Network1BackendDispatcher, AlternateNetwork1BackendDispatcher>>("Network1"_s, *_controller, WTFMove(alternateDispatcher));
1046     _controller->appendExtraAgent(WTFMove(alternateAgent));
1047 }
1048
1049 - (id<TestProtocolNetwork1DomainHandler>)network1Handler
1050 {
1051     return _network1Handler;
1052 }
1053
1054 - (void)setNetwork3Handler:(id<TestProtocolNetwork3DomainHandler>)handler
1055 {
1056     if (handler == _network3Handler)
1057         return;
1058
1059     [_network3Handler release];
1060     _network3Handler = [handler retain];
1061
1062     auto alternateDispatcher = makeUnique<ObjCInspectorNetwork3BackendDispatcher>(handler);
1063     auto alternateAgent = makeUnique<AlternateDispatchableAgent<Network3BackendDispatcher, AlternateNetwork3BackendDispatcher>>("Network3"_s, *_controller, WTFMove(alternateDispatcher));
1064     _controller->appendExtraAgent(WTFMove(alternateAgent));
1065 }
1066
1067 - (id<TestProtocolNetwork3DomainHandler>)network3Handler
1068 {
1069     return _network3Handler;
1070 }
1071
1072 @end
1073
1074
1075 ### End File: TestProtocolConfiguration.mm
1076
1077 ### Begin File: TestProtocolEventDispatchers.mm
1078 /*
1079  * Copyright (C) 2013 Google Inc. All rights reserved.
1080  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
1081  * Copyright (C) 2014 University of Washington. All rights reserved.
1082  *
1083  * Redistribution and use in source and binary forms, with or without
1084  * modification, are permitted provided that the following conditions
1085  * are met:
1086  * 1. Redistributions of source code must retain the above copyright
1087  *    notice, this list of conditions and the following disclaimer.
1088  * 2. Redistributions in binary form must reproduce the above copyright
1089  *    notice, this list of conditions and the following disclaimer in the
1090  *    documentation and/or other materials provided with the distribution.
1091  *
1092  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1093  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1094  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1095  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1096  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1097  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1098  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1099  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1100  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1101  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1102  * THE POSSIBILITY OF SUCH DAMAGE.
1103  */
1104
1105 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
1106 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1107
1108 #import "TestProtocolInternal.h"
1109
1110 #import "TestProtocolTypeConversions.h"
1111 #import <wtf/JSONValues.h>
1112
1113 using namespace Inspector;
1114
1115
1116 ### End File: TestProtocolEventDispatchers.mm
1117
1118 ### Begin File: TestProtocol.h
1119 /*
1120  * Copyright (C) 2013 Google Inc. All rights reserved.
1121  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
1122  * Copyright (C) 2014 University of Washington. All rights reserved.
1123  *
1124  * Redistribution and use in source and binary forms, with or without
1125  * modification, are permitted provided that the following conditions
1126  * are met:
1127  * 1. Redistributions of source code must retain the above copyright
1128  *    notice, this list of conditions and the following disclaimer.
1129  * 2. Redistributions in binary form must reproduce the above copyright
1130  *    notice, this list of conditions and the following disclaimer in the
1131  *    documentation and/or other materials provided with the distribution.
1132  *
1133  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1134  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1135  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1136  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1137  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1138  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1139  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1140  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1141  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1142  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1143  * THE POSSIBILITY OF SUCH DAMAGE.
1144  */
1145
1146 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
1147 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1148
1149 #import <Foundation/Foundation.h>
1150
1151 #import <WebInspector/RWIProtocolJSONObject.h>
1152
1153
1154
1155
1156 typedef NS_ENUM(NSInteger, TestProtocolPlatform) {
1157     TestProtocolPlatformAll,
1158     TestProtocolPlatformGeneric,
1159     TestProtocolPlatformIOS,
1160     TestProtocolPlatformMacOS,
1161 };
1162
1163
1164
1165
1166
1167 @protocol TestProtocolNetwork1DomainHandler <NSObject>
1168 @required
1169 - (void)loadResource1WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(void))successCallback;
1170 @end
1171
1172 @protocol TestProtocolNetwork3DomainHandler <NSObject>
1173 @required
1174 - (void)loadResource1WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(void))successCallback;
1175 - (void)loadResource2WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(void))successCallback;
1176 - (void)loadResource3WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(void))successCallback;
1177 - (void)loadResource4WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(void))successCallback;
1178 - (void)loadResource5WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(void))successCallback;
1179 - (void)loadResource6WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(void))successCallback;
1180 - (void)loadResource7WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(void))successCallback;
1181 @end
1182
1183
1184
1185
1186 #import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
1187
1188 ### End File: TestProtocol.h
1189
1190 ### Begin File: TestProtocolInternal.h
1191 /*
1192  * Copyright (C) 2013 Google Inc. All rights reserved.
1193  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
1194  * Copyright (C) 2014 University of Washington. All rights reserved.
1195  *
1196  * Redistribution and use in source and binary forms, with or without
1197  * modification, are permitted provided that the following conditions
1198  * are met:
1199  * 1. Redistributions of source code must retain the above copyright
1200  *    notice, this list of conditions and the following disclaimer.
1201  * 2. Redistributions in binary form must reproduce the above copyright
1202  *    notice, this list of conditions and the following disclaimer in the
1203  *    documentation and/or other materials provided with the distribution.
1204  *
1205  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1206  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1207  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1208  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1209  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1210  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1211  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1212  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1213  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1214  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1215  * THE POSSIBILITY OF SUCH DAMAGE.
1216  */
1217
1218 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
1219 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1220
1221 #import "TestProtocol.h"
1222 #import "TestProtocolJSONObjectPrivate.h"
1223 #import <JavaScriptCore/AugmentableInspectorController.h>
1224 #import <wtf/JSONValues.h>
1225
1226
1227
1228
1229 ### End File: TestProtocolInternal.h
1230
1231 ### Begin File: TestProtocolTypeConversions.h
1232 /*
1233  * Copyright (C) 2013 Google Inc. All rights reserved.
1234  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
1235  * Copyright (C) 2014 University of Washington. All rights reserved.
1236  *
1237  * Redistribution and use in source and binary forms, with or without
1238  * modification, are permitted provided that the following conditions
1239  * are met:
1240  * 1. Redistributions of source code must retain the above copyright
1241  *    notice, this list of conditions and the following disclaimer.
1242  * 2. Redistributions in binary form must reproduce the above copyright
1243  *    notice, this list of conditions and the following disclaimer in the
1244  *    documentation and/or other materials provided with the distribution.
1245  *
1246  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1247  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1248  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1249  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1250  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1251  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1252  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1253  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1254  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1255  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1256  * THE POSSIBILITY OF SUCH DAMAGE.
1257  */
1258
1259 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
1260 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1261
1262 #import "TestProtocol.h"
1263 #import <WebInspector/RWIProtocolArrayConversions.h>
1264
1265 namespace Inspector {
1266
1267 template<typename ObjCEnumType>
1268 Optional<ObjCEnumType> fromProtocolString(const String& value);
1269
1270 inline String toProtocolString(TestProtocolPlatform value)
1271 {
1272     switch(value) {
1273     case TestProtocolPlatformAll:
1274         return "all"_s;
1275     case TestProtocolPlatformGeneric:
1276         return "generic"_s;
1277     case TestProtocolPlatformIOS:
1278         return "ios"_s;
1279     case TestProtocolPlatformMacOS:
1280         return "macos"_s;
1281     }
1282 }
1283
1284 template<>
1285 inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
1286 {
1287     if (value == "all")
1288         return TestProtocolPlatformAll;
1289     if (value == "generic")
1290         return TestProtocolPlatformGeneric;
1291     if (value == "ios")
1292         return TestProtocolPlatformIOS;
1293     if (value == "macos")
1294         return TestProtocolPlatformMacOS;
1295     return WTF::nullopt;
1296 }
1297
1298
1299
1300 } // namespace Inspector
1301
1302 ### End File: TestProtocolTypeConversions.h
1303
1304 ### Begin File: TestProtocolTypeConversions.mm
1305 /*
1306  * Copyright (C) 2013 Google Inc. All rights reserved.
1307  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
1308  * Copyright (C) 2014 University of Washington. All rights reserved.
1309  *
1310  * Redistribution and use in source and binary forms, with or without
1311  * modification, are permitted provided that the following conditions
1312  * are met:
1313  * 1. Redistributions of source code must retain the above copyright
1314  *    notice, this list of conditions and the following disclaimer.
1315  * 2. Redistributions in binary form must reproduce the above copyright
1316  *    notice, this list of conditions and the following disclaimer in the
1317  *    documentation and/or other materials provided with the distribution.
1318  *
1319  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1320  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1321  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1322  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1323  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1324  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1325  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1326  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1327  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1328  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1329  * THE POSSIBILITY OF SUCH DAMAGE.
1330  */
1331
1332 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
1333 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1334
1335 #import "TestProtocolTypeConversions.h"
1336
1337 #import "TestProtocol.h"
1338 #import "TestProtocolTypeParser.h"
1339 #import <WebInspector/RWIProtocolJSONObjectPrivate.h>
1340
1341 using namespace Inspector;
1342
1343 @interface TestProtocolTypeConversions (Network2Domain)
1344
1345 + (void)_parseLoaderId:(NSString **)outValue fromPayload:(id)payload;
1346
1347 @end
1348
1349 @implementation TestProtocolTypeConversions (Network2Domain)
1350
1351 + (void)_parseLoaderId:(NSString **)outValue fromPayload:(id)payload
1352 {
1353     THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
1354     *outValue = (NSString *)payload;
1355 }
1356
1357 @end
1358
1359
1360 ### End File: TestProtocolTypeConversions.mm
1361
1362 ### Begin File: TestProtocolTypes.mm
1363 /*
1364  * Copyright (C) 2013 Google Inc. All rights reserved.
1365  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
1366  * Copyright (C) 2014 University of Washington. All rights reserved.
1367  *
1368  * Redistribution and use in source and binary forms, with or without
1369  * modification, are permitted provided that the following conditions
1370  * are met:
1371  * 1. Redistributions of source code must retain the above copyright
1372  *    notice, this list of conditions and the following disclaimer.
1373  * 2. Redistributions in binary form must reproduce the above copyright
1374  *    notice, this list of conditions and the following disclaimer in the
1375  *    documentation and/or other materials provided with the distribution.
1376  *
1377  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1378  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1379  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1380  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1381  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1382  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1383  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1384  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1385  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1386  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1387  * THE POSSIBILITY OF SUCH DAMAGE.
1388  */
1389
1390 // DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json
1391 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1392
1393 #import "TestProtocolInternal.h"
1394
1395 #import "TestProtocolTypeConversions.h"
1396 #import <WebInspector/RWIProtocolJSONObjectPrivate.h>
1397 #import <wtf/Assertions.h>
1398 #import <wtf/JSONValues.h>
1399
1400 using namespace Inspector;
1401
1402
1403
1404
1405 ### End File: TestProtocolTypes.mm