Address some style problems found by static analysis
[WebKit-https.git] / Source / JavaScriptCore / inspector / scripts / tests / expected / commands-with-optional-call-return-parameters.json-result
index bca7433..2e21393 100644 (file)
@@ -1,7 +1,7 @@
-### Begin File: InspectorAlternateBackendDispatchers.h
+### Begin File: InspectorBackendCommands.js
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
-#ifndef InspectorAlternateBackendDispatchers_h
-#define InspectorAlternateBackendDispatchers_h
-
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
-
-#include "InspectorProtocolTypes.h"
-#include <JavaScriptCore/InspectorBackendDispatcher.h>
-
-namespace Inspector {
-
-class AlternateBackendDispatcher {
-public:
-    void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
-private:
-    RefPtr<BackendDispatcher> m_backendDispatcher;
-};
-
-
-class AlternateDatabaseBackendDispatcher : public AlternateBackendDispatcher {
-public:
-    virtual ~AlternateDatabaseBackendDispatcher() { }
-    virtual void executeAllOptionalParameters(long callId, const Inspector::InspectorArray* in_columnNames, const String* in_notes, const double* in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* in_printColor) = 0;
-    virtual void executeNoOptionalParameters(long callId, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor) = 0;
-};
-
-} // namespace Inspector
-
-#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
-
-#endif // !defined(InspectorAlternateBackendDispatchers_h)
-### End File: InspectorAlternateBackendDispatchers.h
+// Database.
+InspectorBackend.registerEnum("Database.PrimaryColors", {Red: "red", Green: "green", Blue: "blue"});
+InspectorBackend.registerCommand("Database.executeAllOptionalParameters", [{"name": "columnNames", "type": "object", "optional": true}, {"name": "notes", "type": "string", "optional": true}, {"name": "timestamp", "type": "number", "optional": true}, {"name": "values", "type": "object", "optional": true}, {"name": "payload", "type": "object", "optional": true}, {"name": "databaseId", "type": "number", "optional": true}, {"name": "sqlError", "type": "object", "optional": true}, {"name": "screenColor", "type": "string", "optional": true}, {"name": "alternateColors", "type": "object", "optional": true}, {"name": "printColor", "type": "string", "optional": true}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]);
+InspectorBackend.registerCommand("Database.executeNoOptionalParameters", [{"name": "columnNames", "type": "object", "optional": false}, {"name": "notes", "type": "string", "optional": false}, {"name": "timestamp", "type": "number", "optional": false}, {"name": "values", "type": "object", "optional": false}, {"name": "payload", "type": "object", "optional": false}, {"name": "databaseId", "type": "number", "optional": false}, {"name": "sqlError", "type": "object", "optional": false}, {"name": "screenColor", "type": "string", "optional": false}, {"name": "alternateColors", "type": "object", "optional": false}, {"name": "printColor", "type": "string", "optional": false}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]);
+InspectorBackend.activateDomain("Database");
+### End File: InspectorBackendCommands.js
 
-### Begin File: InspectorBackendCommands.js
+### Begin File: TestAlternateBackendDispatchers.h
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -93,17 +67,41 @@ public:
 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
-// Database.
-InspectorBackend.registerEnum("Database.PrimaryColors", {Red: "red", Green: "green", Blue: "blue"});
-InspectorBackend.registerCommand("Database.executeAllOptionalParameters", [{"name": "columnNames", "type": "object", "optional": true}, {"name": "notes", "type": "string", "optional": true}, {"name": "timestamp", "type": "number", "optional": true}, {"name": "values", "type": "object", "optional": true}, {"name": "payload", "type": "object", "optional": true}, {"name": "databaseId", "type": "number", "optional": true}, {"name": "sqlError", "type": "object", "optional": true}, {"name": "screenColor", "type": "string", "optional": true}, {"name": "alternateColors", "type": "object", "optional": true}, {"name": "printColor", "type": "string", "optional": true}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]);
-InspectorBackend.registerCommand("Database.executeNoOptionalParameters", [{"name": "columnNames", "type": "object", "optional": false}, {"name": "notes", "type": "string", "optional": false}, {"name": "timestamp", "type": "number", "optional": false}, {"name": "values", "type": "object", "optional": false}, {"name": "payload", "type": "object", "optional": false}, {"name": "databaseId", "type": "number", "optional": false}, {"name": "sqlError", "type": "object", "optional": false}, {"name": "screenColor", "type": "string", "optional": false}, {"name": "alternateColors", "type": "object", "optional": false}, {"name": "printColor", "type": "string", "optional": false}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]);
-InspectorBackend.activateDomain("Database");
-### End File: InspectorBackendCommands.js
+#pragma once
+
+#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
+
+#include "TestProtocolTypes.h"
+#include <inspector/InspectorFrontendRouter.h>
+#include <JavaScriptCore/InspectorBackendDispatcher.h>
 
-### Begin File: InspectorBackendDispatchers.h
+namespace Inspector {
+
+class AlternateBackendDispatcher {
+public:
+    void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTFMove(dispatcher); }
+    BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
+private:
+    RefPtr<BackendDispatcher> m_backendDispatcher;
+};
+
+
+class AlternateDatabaseBackendDispatcher : public AlternateBackendDispatcher {
+public:
+    virtual ~AlternateDatabaseBackendDispatcher() { }
+    virtual void executeAllOptionalParameters(long callId, const Inspector::InspectorArray* in_columnNames, const String* const in_notes, const double* const in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* const in_payload, const int* const in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* const in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* const in_printColor) = 0;
+    virtual void executeNoOptionalParameters(long callId, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor) = 0;
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
+### End File: TestAlternateBackendDispatchers.h
+
+### Begin File: TestBackendDispatchers.h
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -131,10 +129,9 @@ InspectorBackend.activateDomain("Database");
 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
-#ifndef InspectorBackendDispatchers_h
-#define InspectorBackendDispatchers_h
+#pragma once
 
-#include "InspectorProtocolObjects.h"
+#include "TestProtocolObjects.h"
 #include <inspector/InspectorBackendDispatcher.h>
 #include <wtf/text/WTFString.h>
 
@@ -148,12 +145,6 @@ class AlternateDatabaseBackendDispatcher;
 
 class DatabaseBackendDispatcherHandler {
 public:
-    // Named after parameter 'screenColor' while generating command/event executeAllOptionalParameters.
-    enum class ScreenColor {
-        Red = 0,
-        Green = 1,
-        Blue = 2,
-    }; // enum class ScreenColor
     // Named after parameter 'printColor' while generating command/event executeAllOptionalParameters.
     enum class PrintColor {
         Cyan = 3,
@@ -161,7 +152,7 @@ public:
         Yellow = 5,
         Black = 6,
     }; // enum class PrintColor
-    virtual void executeAllOptionalParameters(ErrorString&, const Inspector::InspectorArray* opt_in_columnNames, const String* opt_in_notes, const double* opt_in_timestamp, const Inspector::InspectorObject* opt_in_values, const Inspector::InspectorValue* opt_in_payload, const int* opt_in_databaseId, const Inspector::InspectorObject* opt_in_sqlError, const String* opt_in_screenColor, const Inspector::InspectorArray* opt_in_alternateColors, const String* opt_in_printColor, RefPtr<Inspector::Protocol::Array<String>>& opt_out_columnNames, Inspector::Protocol::OptOutput<String>* opt_out_notes, Inspector::Protocol::OptOutput<double>* opt_out_timestamp, Inspector::Protocol::OptOutput<Inspector::InspectorObject>* opt_out_values, Inspector::Protocol::OptOutput<Inspector::InspectorValue>* opt_out_payload, Inspector::Protocol::OptOutput<int>* opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& opt_out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;
+    virtual void executeAllOptionalParameters(ErrorString&, const Inspector::InspectorArray* opt_in_columnNames, const String* const opt_in_notes, const double* const opt_in_timestamp, const Inspector::InspectorObject* opt_in_values, const Inspector::InspectorValue* const opt_in_payload, const int* const opt_in_databaseId, const Inspector::InspectorObject* opt_in_sqlError, const String* const opt_in_screenColor, const Inspector::InspectorArray* opt_in_alternateColors, const String* const opt_in_printColor, RefPtr<Inspector::Protocol::Array<String>>& opt_out_columnNames, Inspector::Protocol::OptOutput<String>* opt_out_notes, Inspector::Protocol::OptOutput<double>* opt_out_timestamp, Inspector::Protocol::OptOutput<Inspector::InspectorObject>* opt_out_values, Inspector::Protocol::OptOutput<Inspector::InspectorValue>* opt_out_payload, Inspector::Protocol::OptOutput<int>* opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& opt_out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;
     virtual void executeNoOptionalParameters(ErrorString&, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor, RefPtr<Inspector::Protocol::Array<String>>& out_columnNames, String* out_notes, double* out_timestamp, Inspector::InspectorObject* out_values, Inspector::InspectorValue* out_payload, int* out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& out_sqlError, Inspector::Protocol::Database::PrimaryColors* out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0;
 protected:
     virtual ~DatabaseBackendDispatcherHandler();
@@ -169,31 +160,29 @@ protected:
 
 class DatabaseBackendDispatcher final : public SupplementalBackendDispatcher {
 public:
-    static Ref<DatabaseBackendDispatcher> create(BackendDispatcher*, DatabaseBackendDispatcherHandler*);
-    virtual void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
+    static Ref<DatabaseBackendDispatcher> create(BackendDispatcher&, DatabaseBackendDispatcherHandler*);
+    void dispatch(long requestId, const String& method, Ref<InspectorObject>&& message) override;
 private:
     void executeAllOptionalParameters(long requestId, RefPtr<InspectorObject>&& parameters);
     void executeNoOptionalParameters(long requestId, RefPtr<InspectorObject>&& parameters);
-private:
-    DatabaseBackendDispatcher(BackendDispatcher&, DatabaseBackendDispatcherHandler*);
-    DatabaseBackendDispatcherHandler* m_agent;
 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
 public:
     void setAlternateDispatcher(AlternateDatabaseBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
 private:
-    AlternateDatabaseBackendDispatcher* m_alternateDispatcher;
+    AlternateDatabaseBackendDispatcher* m_alternateDispatcher { nullptr };
 #endif
+private:
+    DatabaseBackendDispatcher(BackendDispatcher&, DatabaseBackendDispatcherHandler*);
+    DatabaseBackendDispatcherHandler* m_agent { nullptr };
 };
 
 } // namespace Inspector
+### End File: TestBackendDispatchers.h
 
-#endif // !defined(InspectorBackendDispatchers_h)
-### End File: InspectorBackendDispatchers.h
-
-### Begin File: InspectorBackendDispatchers.cpp
+### Begin File: TestBackendDispatchers.cpp
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -222,32 +211,29 @@ private:
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
 #include "config.h"
-#include "InspectorBackendDispatchers.h"
+#include "TestBackendDispatchers.h"
 
-#include <inspector/InspectorFrontendChannel.h>
+#include <inspector/InspectorFrontendRouter.h>
 #include <inspector/InspectorValues.h>
 #include <wtf/NeverDestroyed.h>
 #include <wtf/text/CString.h>
 
 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
-#include "InspectorAlternateBackendDispatchers.h"
+#include "TestAlternateBackendDispatchers.h"
 #endif
 
 namespace Inspector {
 
 DatabaseBackendDispatcherHandler::~DatabaseBackendDispatcherHandler() { }
 
-Ref<DatabaseBackendDispatcher> DatabaseBackendDispatcher::create(BackendDispatcher* backendDispatcher, DatabaseBackendDispatcherHandler* agent)
+Ref<DatabaseBackendDispatcher> DatabaseBackendDispatcher::create(BackendDispatcher& backendDispatcher, DatabaseBackendDispatcherHandler* agent)
 {
-    return adoptRef(*new DatabaseBackendDispatcher(*backendDispatcher, agent));
+    return adoptRef(*new DatabaseBackendDispatcher(backendDispatcher, agent));
 }
 
 DatabaseBackendDispatcher::DatabaseBackendDispatcher(BackendDispatcher& backendDispatcher, DatabaseBackendDispatcherHandler* agent)
     : SupplementalBackendDispatcher(backendDispatcher)
     , m_agent(agent)
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
-    , m_alternateDispatcher(nullptr)
-#endif
 {
     m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Database"), this);
 }
@@ -260,9 +246,9 @@ void DatabaseBackendDispatcher::dispatch(long requestId, const String& method, R
     message->getObject(ASCIILiteral("params"), parameters);
 
     if (method == "executeAllOptionalParameters")
-        executeAllOptionalParameters(requestId, WTF::move(parameters));
+        executeAllOptionalParameters(requestId, WTFMove(parameters));
     else if (method == "executeNoOptionalParameters")
-        executeNoOptionalParameters(requestId, WTF::move(parameters));
+        executeNoOptionalParameters(requestId, WTFMove(parameters));
     else
         m_backendDispatcher->reportProtocolError(BackendDispatcher::MethodNotFound, makeString('\'', "Database", '.', method, "' was not found"));
 }
@@ -338,9 +324,9 @@ void DatabaseBackendDispatcher::executeAllOptionalParameters(long requestId, Ref
             result->setString(ASCIILiteral("printColor"), out_printColor.getValue());
     }
     if (!error.length())
-        m_backendDispatcher->sendResponse(requestId, WTF::move(result));
+        m_backendDispatcher->sendResponse(requestId, WTFMove(result));
     else
-        m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTF::move(error));
+        m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
 }
 
 void DatabaseBackendDispatcher::executeNoOptionalParameters(long requestId, RefPtr<InspectorObject>&& parameters)
@@ -389,24 +375,24 @@ void DatabaseBackendDispatcher::executeNoOptionalParameters(long requestId, RefP
         result->setValue(ASCIILiteral("payload"), out_payload);
         result->setInteger(ASCIILiteral("databaseId"), out_databaseId);
         result->setObject(ASCIILiteral("sqlError"), out_sqlError);
-        result->setString(ASCIILiteral("screenColor"), Inspector::Protocol::getEnumConstantValue(out_screenColor));
+        result->setString(ASCIILiteral("screenColor"), Inspector::Protocol::TestHelpers::getEnumConstantValue(out_screenColor));
         result->setArray(ASCIILiteral("alternateColors"), out_alternateColors);
-        result->setString(ASCIILiteral("printColor"), Inspector::Protocol::getEnumConstantValue(out_printColor));
+        result->setString(ASCIILiteral("printColor"), Inspector::Protocol::TestHelpers::getEnumConstantValue(out_printColor));
     }
     if (!error.length())
-        m_backendDispatcher->sendResponse(requestId, WTF::move(result));
+        m_backendDispatcher->sendResponse(requestId, WTFMove(result));
     else
-        m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTF::move(error));
+        m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
 }
 
 } // namespace Inspector
 
-### End File: InspectorBackendDispatchers.cpp
+### End File: TestBackendDispatchers.cpp
 
-### Begin File: InspectorFrontendDispatchers.h
+### Begin File: TestFrontendDispatchers.h
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -434,27 +420,23 @@ void DatabaseBackendDispatcher::executeNoOptionalParameters(long requestId, RefP
 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
-#ifndef InspectorFrontendDispatchers_h
-#define InspectorFrontendDispatchers_h
+#pragma once
 
-#include "InspectorProtocolObjects.h"
-#include <inspector/InspectorFrontendChannel.h>
+#include "TestProtocolObjects.h"
 #include <inspector/InspectorValues.h>
 #include <wtf/text/WTFString.h>
 
 namespace Inspector {
 
-
+class FrontendRouter;
 
 } // namespace Inspector
+### End File: TestFrontendDispatchers.h
 
-#endif // !defined(InspectorFrontendDispatchers_h)
-### End File: InspectorFrontendDispatchers.h
-
-### Begin File: InspectorFrontendDispatchers.cpp
+### Begin File: TestFrontendDispatchers.cpp
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -483,20 +465,21 @@ namespace Inspector {
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
 #include "config.h"
-#include "InspectorFrontendDispatchers.h"
+#include "TestFrontendDispatchers.h"
 
+#include "InspectorFrontendRouter.h"
 #include <wtf/text/CString.h>
 
 namespace Inspector {
 
 } // namespace Inspector
 
-### End File: InspectorFrontendDispatchers.cpp
+### End File: TestFrontendDispatchers.cpp
 
-### Begin File: InspectorProtocolObjects.h
+### Begin File: TestProtocolObjects.h
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -524,8 +507,7 @@ namespace Inspector {
 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
-#ifndef InspectorProtocolObjects_h
-#define InspectorProtocolObjects_h
+#pragma once
 
 #include <inspector/InspectorProtocolTypes.h>
 #include <wtf/Assertions.h>
@@ -552,6 +534,8 @@ typedef Inspector::Protocol::Array<Inspector::Protocol::Database::PrimaryColors>
 } // Database
 // End of typedefs.
 
+namespace TestHelpers {
+
 String getEnumConstantValue(int code);
 
 template<typename T> String getEnumConstantValue(T enumValue)
@@ -559,6 +543,8 @@ template<typename T> String getEnumConstantValue(T enumValue)
     return getEnumConstantValue(static_cast<int>(enumValue));
 }
 
+} // namespace TestHelpers
+
 namespace Database {
 /*  */
 enum class PrimaryColors {
@@ -587,7 +573,7 @@ public:
         }
 
         Builder(Ref</*Error*/InspectorObject>&& object)
-            : m_result(WTF::move(object))
+            : m_result(WTFMove(object))
         {
             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
         }
@@ -614,7 +600,7 @@ public:
             COMPILE_ASSERT(sizeof(Error) == sizeof(InspectorObject), cannot_cast);
 
             Ref<InspectorObject> result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast<Ref<Error>*>(&result));
+            return WTFMove(*reinterpret_cast<Ref<Error>*>(&result));
         }
     };
 
@@ -635,17 +621,26 @@ public:
 
 
 
+namespace TestHelpers {
+
+template<typename ProtocolEnumType>
+std::optional<ProtocolEnumType> parseEnumValueFromString(const String&);
+
+// Enums in the 'Database' Domain
+template<>
+std::optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String&);
+
+} // namespace TestHelpers
+
 } // namespace Protocol
 
 } // namespace Inspector
+### End File: TestProtocolObjects.h
 
-#endif // !defined(InspectorProtocolObjects_h)
-### End File: InspectorProtocolObjects.h
-
-### Begin File: InspectorProtocolObjects.cpp
+### Begin File: TestProtocolObjects.cpp
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -674,14 +669,17 @@ public:
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
 #include "config.h"
-#include "InspectorProtocolObjects.h"
+#include "TestProtocolObjects.h"
 
+#include <wtf/Optional.h>
 #include <wtf/text/CString.h>
 
 namespace Inspector {
 
 namespace Protocol {
 
+namespace TestHelpers {
+
 static const char* const enum_constant_values[] = {
     "red",
     "green",
@@ -696,18 +694,37 @@ String getEnumConstantValue(int code) {
     return enum_constant_values[code];
 }
 
+// Enums in the 'Database' Domain
+template<>
+std::optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String& protocolString)
+{
+    static const size_t constantValues[] = {
+        (size_t)Inspector::Protocol::Database::PrimaryColors::Red,
+        (size_t)Inspector::Protocol::Database::PrimaryColors::Green,
+        (size_t)Inspector::Protocol::Database::PrimaryColors::Blue,
+    };
+    for (size_t i = 0; i < 3; ++i)
+        if (protocolString == enum_constant_values[constantValues[i]])
+            return (Inspector::Protocol::Database::PrimaryColors)constantValues[i];
+
+    return std::nullopt;
+}
+
+
+} // namespace TestHelpers
+
 
 
 } // namespace Protocol
 
 } // namespace Inspector
 
-### End File: InspectorProtocolObjects.cpp
+### End File: TestProtocolObjects.cpp
 
-### Begin File: RWIProtocolBackendDispatchers.h
+### Begin File: TestProtocolBackendDispatchers.h
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -738,28 +755,28 @@ String getEnumConstantValue(int code) {
 #include <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
 #include <wtf/RetainPtr.h>
 
-@protocol RWIProtocolDatabaseDomainHandler;
+@protocol TestProtocolDatabaseDomainHandler;
 
 namespace Inspector {
 
 
 class ObjCInspectorDatabaseBackendDispatcher final : public AlternateDatabaseBackendDispatcher {
 public:
-    ObjCInspectorDatabaseBackendDispatcher(id<RWIProtocolDatabaseDomainHandler> handler) { m_delegate = handler; }
-    virtual void executeAllOptionalParameters(long requestId, const Inspector::InspectorArray* in_columnNames, const String* in_notes, const double* in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* in_printColor) override;
+    ObjCInspectorDatabaseBackendDispatcher(id<TestProtocolDatabaseDomainHandler> handler) { m_delegate = handler; }
+    virtual void executeAllOptionalParameters(long requestId, const Inspector::InspectorArray* in_columnNames, const String* const in_notes, const double* const in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* const in_payload, const int* const in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* const in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* const in_printColor) override;
     virtual void executeNoOptionalParameters(long requestId, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor) override;
 private:
-    RetainPtr<id<RWIProtocolDatabaseDomainHandler>> m_delegate;
+    RetainPtr<id<TestProtocolDatabaseDomainHandler>> m_delegate;
 };
 
 } // namespace Inspector
 
-### End File: RWIProtocolBackendDispatchers.h
+### End File: TestProtocolBackendDispatchers.h
 
-### Begin File: RWIProtocolConfiguration.mm
+### Begin File: TestProtocolConfiguration.mm
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -788,10 +805,10 @@ private:
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
 #import "config.h"
-#import "RWIProtocolConfiguration.h"
+#import "TestProtocolConfiguration.h"
 
-#import "RWIProtocolInternal.h"
-#import "RWIProtocolBackendDispatchers.h"
+#import "TestProtocolInternal.h"
+#import "TestProtocolBackendDispatchers.h"
 #import <JavaScriptCore/AlternateDispatchableAgent.h>
 #import <JavaScriptCore/AugmentableInspectorController.h>
 #import <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
@@ -799,10 +816,10 @@ private:
 
 using namespace Inspector;
 
-@implementation RWIProtocolConfiguration
+@implementation TestProtocolConfiguration
 {
     AugmentableInspectorController* _controller;
-    id<RWIProtocolDatabaseDomainHandler> _databaseHandler;
+    id<TestProtocolDatabaseDomainHandler> _databaseHandler;
 }
 
 - (instancetype)initWithController:(AugmentableInspectorController*)controller
@@ -821,7 +838,7 @@ using namespace Inspector;
     [super dealloc];
 }
 
-- (void)setDatabaseHandler:(id<RWIProtocolDatabaseDomainHandler>)handler
+- (void)setDatabaseHandler:(id<TestProtocolDatabaseDomainHandler>)handler
 {
     if (handler == _databaseHandler)
         return;
@@ -830,11 +847,11 @@ using namespace Inspector;
     _databaseHandler = [handler retain];
 
     auto alternateDispatcher = std::make_unique<ObjCInspectorDatabaseBackendDispatcher>(handler);
-    auto alternateAgent = std::make_unique<AlternateDispatchableAgent<DatabaseBackendDispatcher, AlternateDatabaseBackendDispatcher>>(ASCIILiteral("Database"), WTF::move(alternateDispatcher));
-    _controller->appendExtraAgent(WTF::move(alternateAgent));
+    auto alternateAgent = std::make_unique<AlternateDispatchableAgent<DatabaseBackendDispatcher, AlternateDatabaseBackendDispatcher>>(ASCIILiteral("Database"), *_controller, WTFMove(alternateDispatcher));
+    _controller->appendExtraAgent(WTFMove(alternateAgent));
 }
 
-- (id<RWIProtocolDatabaseDomainHandler>)databaseHandler
+- (id<TestProtocolDatabaseDomainHandler>)databaseHandler
 {
     return _databaseHandler;
 }
@@ -842,12 +859,12 @@ using namespace Inspector;
 @end
 
 
-### End File: RWIProtocolConfiguration.mm
+### End File: TestProtocolConfiguration.mm
 
-### Begin File: RWIProtocolConfiguration.h
+### Begin File: TestProtocolConfiguration.h
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -875,20 +892,20 @@ using namespace Inspector;
 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
-#import "RWIProtocol.h"
+#import <WebInspector/TestProtocol.h>
 
 __attribute__((visibility ("default")))
-@interface RWIProtocolConfiguration : NSObject
-@property (nonatomic, retain, setter=setDatabaseHandler:) id<RWIProtocolDatabaseDomainHandler> databaseHandler;
+@interface TestProtocolConfiguration : NSObject
+@property (nonatomic, retain, setter=setDatabaseHandler:) id<TestProtocolDatabaseDomainHandler> databaseHandler;
 @end
 
 
-### End File: RWIProtocolConfiguration.h
+### End File: TestProtocolConfiguration.h
 
-### Begin File: RWIProtocolBackendDispatchers.mm
+### Begin File: TestProtocolBackendDispatchers.mm
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -917,23 +934,22 @@ __attribute__((visibility ("default")))
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
 #import "config.h"
-#import "RWIProtocolBackendDispatchers.h"
+#import "TestProtocolBackendDispatchers.h"
 
-#include "RWIProtocolInternal.h"
-#include "RWIProtocolEnumConversionHelpers.h"
-#include <JavaScriptCore/InspectorFrontendChannel.h>
+#include "TestProtocolInternal.h"
+#include "TestProtocolTypeConversions.h"
 #include <JavaScriptCore/InspectorValues.h>
 
 namespace Inspector {
 
-void ObjCInspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long requestId, const Inspector::InspectorArray* in_columnNames, const String* in_notes, const double* in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* in_printColor)
+void ObjCInspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long requestId, const Inspector::InspectorArray* in_columnNames, const String* const in_notes, const double* const in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* const in_payload, const int* const in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* const in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* const in_printColor)
 {
     id errorCallback = ^(NSString *error) {
         backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
         backendDispatcher()->sendPendingErrors();
     };
 
-    id successCallback = ^(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor) {
+    id successCallback = ^(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, TestProtocolDatabaseError **sqlError, TestProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, TestProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor) {
         Ref<InspectorObject> resultObject = InspectorObject::create();
         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @"columnNames");
         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @"notes");
@@ -961,7 +977,7 @@ void ObjCInspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long r
             resultObject->setArray(ASCIILiteral("alternateColors"), inspectorStringArray(*alternateColors));
         if (printColor)
             resultObject->setString(ASCIILiteral("printColor"), toProtocolString(*printColor));
-        backendDispatcher()->sendResponse(requestId, WTF::move(resultObject));
+        backendDispatcher()->sendResponse(requestId, WTFMove(resultObject));
     };
 
     NSArray/*<NSString>*/ *o_in_columnNames;
@@ -982,18 +998,18 @@ void ObjCInspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long r
     int o_in_databaseId;
     if (in_databaseId)
         o_in_databaseId = *in_databaseId;
-    RWIProtocolDatabaseError *o_in_sqlError;
+    TestProtocolDatabaseError *o_in_sqlError;
     if (in_sqlError)
-        o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:in_sqlError] autorelease];
-    RWIProtocolDatabasePrimaryColors o_in_screenColor;
+        o_in_sqlError = [[[TestProtocolDatabaseError alloc] initWithInspectorObject:in_sqlError] autorelease];
+    TestProtocolDatabasePrimaryColors o_in_screenColor;
     if (in_screenColor)
-        o_in_screenColor = fromProtocolString<RWIProtocolDatabasePrimaryColors>(*in_screenColor);
+        o_in_screenColor = fromProtocolString<TestProtocolDatabasePrimaryColors>(*in_screenColor);
     NSArray/*<NSString>*/ *o_in_alternateColors;
     if (in_alternateColors)
         o_in_alternateColors = objcStringArray(in_alternateColors);
-    RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor o_in_printColor;
+    TestProtocolDatabaseExecuteAllOptionalParametersPrintColor o_in_printColor;
     if (in_printColor)
-        o_in_printColor = fromProtocolString<RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor>(*in_printColor);
+        o_in_printColor = fromProtocolString<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor>(*in_printColor);
 
     [m_delegate executeAllOptionalParametersWithErrorCallback:errorCallback successCallback:successCallback columnNames:(in_columnNames ? &o_in_columnNames : nil) notes:(in_notes ? &o_in_notes : nil) timestamp:(in_timestamp ? &o_in_timestamp : nil) values:(in_values ? &o_in_values : nil) payload:(in_payload ? &o_in_payload : nil) databaseId:(in_databaseId ? &o_in_databaseId : nil) sqlError:(in_sqlError ? &o_in_sqlError : nil) screenColor:(in_screenColor ? &o_in_screenColor : nil) alternateColors:(in_alternateColors ? &o_in_alternateColors : nil) printColor:(in_printColor ? &o_in_printColor : nil)];
 }
@@ -1005,7 +1021,7 @@ void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long re
         backendDispatcher()->sendPendingErrors();
     };
 
-    id successCallback = ^(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, NSArray/*<NSString>*/ *alternateColors, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor) {
+    id successCallback = ^(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, TestProtocolDatabaseError *sqlError, TestProtocolDatabasePrimaryColors screenColor, NSArray/*<NSString>*/ *alternateColors, TestProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor) {
         Ref<InspectorObject> resultObject = InspectorObject::create();
         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @"columnNames");
         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @"notes");
@@ -1023,7 +1039,7 @@ void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long re
         resultObject->setString(ASCIILiteral("screenColor"), toProtocolString(screenColor));
         resultObject->setArray(ASCIILiteral("alternateColors"), inspectorStringArray(alternateColors));
         resultObject->setString(ASCIILiteral("printColor"), toProtocolString(printColor));
-        backendDispatcher()->sendResponse(requestId, WTF::move(resultObject));
+        backendDispatcher()->sendResponse(requestId, WTFMove(resultObject));
     };
 
     NSArray/*<NSString>*/ *o_in_columnNames = objcStringArray(&in_columnNames);
@@ -1032,10 +1048,10 @@ void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long re
     RWIProtocolJSONObject *o_in_values = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:&in_values] autorelease];
     RWIProtocolJSONObject *o_in_payload = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:&in_payload] autorelease];
     int o_in_databaseId = in_databaseId;
-    RWIProtocolDatabaseError *o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:&in_sqlError] autorelease];
-    RWIProtocolDatabasePrimaryColors o_in_screenColor = fromProtocolString<RWIProtocolDatabasePrimaryColors>(in_screenColor);
+    TestProtocolDatabaseError *o_in_sqlError = [[[TestProtocolDatabaseError alloc] initWithInspectorObject:&in_sqlError] autorelease];
+    TestProtocolDatabasePrimaryColors o_in_screenColor = fromProtocolString<TestProtocolDatabasePrimaryColors>(in_screenColor);
     NSArray/*<NSString>*/ *o_in_alternateColors = objcStringArray(&in_alternateColors);
-    RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor o_in_printColor = fromProtocolString<RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor>(in_printColor);
+    TestProtocolDatabaseExecuteNoOptionalParametersPrintColor o_in_printColor = fromProtocolString<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor>(in_printColor);
 
     [m_delegate executeNoOptionalParametersWithErrorCallback:errorCallback successCallback:successCallback columnNames:o_in_columnNames notes:o_in_notes timestamp:o_in_timestamp values:o_in_values payload:o_in_payload databaseId:o_in_databaseId sqlError:o_in_sqlError screenColor:o_in_screenColor alternateColors:o_in_alternateColors printColor:o_in_printColor];
 }
@@ -1043,12 +1059,150 @@ void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long re
 
 } // namespace Inspector
 
-### End File: RWIProtocolBackendDispatchers.mm
+### End File: TestProtocolBackendDispatchers.mm
+
+### Begin File: TestProtocolEventDispatchers.mm
+/*
+ * Copyright (C) 2013 Google Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
+ * Copyright (C) 2014 University of Washington. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
+// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
+
+#import "config.h"
+#import "TestProtocolInternal.h"
+
+#import "TestProtocolTypeConversions.h"
+#import <JavaScriptCore/InspectorValues.h>
+
+using namespace Inspector;
+
+
+
+
+### End File: TestProtocolEventDispatchers.mm
+
+### Begin File: TestProtocol.h
+/*
+ * Copyright (C) 2013 Google Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
+ * Copyright (C) 2014 University of Washington. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
+// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
+
+#import <Foundation/Foundation.h>
+
+#import <WebInspector/RWIProtocolJSONObject.h>
+
+
+@class TestProtocolDatabaseError;
+
+
+typedef NS_ENUM(NSInteger, TestProtocolDatabasePrimaryColors) {
+    TestProtocolDatabasePrimaryColorsRed,
+    TestProtocolDatabasePrimaryColorsGreen,
+    TestProtocolDatabasePrimaryColorsBlue,
+};
+
+typedef NS_ENUM(NSInteger, TestProtocolDatabaseExecuteAllOptionalParametersPrintColor) {
+    TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan,
+    TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta,
+    TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow,
+    TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack,
+};
+
+typedef NS_ENUM(NSInteger, TestProtocolDatabaseExecuteAllOptionalParametersPrintColor) {
+    TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan,
+    TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta,
+    TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow,
+    TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack,
+};
+
+typedef NS_ENUM(NSInteger, TestProtocolDatabaseExecuteNoOptionalParametersPrintColor) {
+    TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan,
+    TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta,
+    TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow,
+    TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack,
+};
+
+typedef NS_ENUM(NSInteger, TestProtocolDatabaseExecuteNoOptionalParametersPrintColor) {
+    TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan,
+    TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta,
+    TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow,
+    TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack,
+};
+
+
+__attribute__((visibility ("default")))
+@interface TestProtocolDatabaseError : RWIProtocolJSONObject
+- (instancetype)initWithPayload:(NSDictionary<NSString *, id> *)payload;
+- (instancetype)initWithJSONObject:(RWIProtocolJSONObject *)jsonObject;
+- (instancetype)initWithMessage:(NSString *)message code:(int)code;
+/* required */ @property (nonatomic, copy) NSString *message;
+/* required */ @property (nonatomic, assign) int code;
+@end
+
+@protocol TestProtocolDatabaseDomainHandler <NSObject>
+@required
+- (void)executeAllOptionalParametersWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, TestProtocolDatabaseError **sqlError, TestProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, TestProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor))successCallback columnNames:(NSArray/*<NSString>*/ **)columnNames notes:(NSString **)notes timestamp:(double *)timestamp values:(RWIProtocolJSONObject **)values payload:(RWIProtocolJSONObject **)payload databaseId:(int *)databaseId sqlError:(TestProtocolDatabaseError **)sqlError screenColor:(TestProtocolDatabasePrimaryColors *)screenColor alternateColors:(NSArray/*<NSString>*/ **)alternateColors printColor:(TestProtocolDatabaseExecuteAllOptionalParametersPrintColor *)printColor;
+- (void)executeNoOptionalParametersWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, TestProtocolDatabaseError *sqlError, TestProtocolDatabasePrimaryColors screenColor, NSArray/*<NSString>*/ *alternateColors, TestProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor))successCallback columnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload databaseId:(int)databaseId sqlError:(TestProtocolDatabaseError *)sqlError screenColor:(TestProtocolDatabasePrimaryColors)screenColor alternateColors:(NSArray/*<NSString>*/ *)alternateColors printColor:(TestProtocolDatabaseExecuteNoOptionalParametersPrintColor)printColor;
+@end
+
+
 
-### Begin File: RWIProtocolEnumConversionHelpers.h
+
+### End File: TestProtocol.h
+
+### Begin File: TestProtocolInternal.h
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -1076,7 +1230,49 @@ void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long re
 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
-#import "RWIProtocolArrayConversionHelpers.h"
+#import "TestProtocol.h"
+#import "TestProtocolJSONObjectPrivate.h"
+#import <JavaScriptCore/AugmentableInspectorController.h>
+#import <JavaScriptCore/InspectorValues.h>
+
+
+
+
+### End File: TestProtocolInternal.h
+
+### Begin File: TestProtocolTypeConversions.h
+/*
+ * Copyright (C) 2013 Google Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
+ * Copyright (C) 2014 University of Washington. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
+// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
+
+#import "TestProtocol.h"
+#import <WebInspector/RWIProtocolArrayConversions.h>
 
 namespace Inspector {
 
@@ -1084,155 +1280,155 @@ template<typename ObjCEnumType>
 ObjCEnumType fromProtocolString(const String& value);
 
 
-inline String toProtocolString(RWIProtocolDatabasePrimaryColors value)
+inline String toProtocolString(TestProtocolDatabasePrimaryColors value)
 {
     switch(value) {
-    case RWIProtocolDatabasePrimaryColorsRed:
+    case TestProtocolDatabasePrimaryColorsRed:
         return ASCIILiteral("red");
-    case RWIProtocolDatabasePrimaryColorsGreen:
+    case TestProtocolDatabasePrimaryColorsGreen:
         return ASCIILiteral("green");
-    case RWIProtocolDatabasePrimaryColorsBlue:
+    case TestProtocolDatabasePrimaryColorsBlue:
         return ASCIILiteral("blue");
     }
 }
 
 template<>
-inline RWIProtocolDatabasePrimaryColors fromProtocolString(const String& value)
+inline TestProtocolDatabasePrimaryColors fromProtocolString(const String& value)
 {
     if (value == "red")
-        return RWIProtocolDatabasePrimaryColorsRed;
+        return TestProtocolDatabasePrimaryColorsRed;
     if (value == "green")
-        return RWIProtocolDatabasePrimaryColorsGreen;
+        return TestProtocolDatabasePrimaryColorsGreen;
     if (value == "blue")
-        return RWIProtocolDatabasePrimaryColorsBlue;
+        return TestProtocolDatabasePrimaryColorsBlue;
     ASSERT_NOT_REACHED();
-    return RWIProtocolDatabasePrimaryColorsRed;
+    return TestProtocolDatabasePrimaryColorsRed;
 }
 
-inline String toProtocolString(RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor value)
+inline String toProtocolString(TestProtocolDatabaseExecuteAllOptionalParametersPrintColor value)
 {
     switch(value) {
-    case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan:
+    case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan:
         return ASCIILiteral("cyan");
-    case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta:
+    case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta:
         return ASCIILiteral("magenta");
-    case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow:
+    case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow:
         return ASCIILiteral("yellow");
-    case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack:
+    case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack:
         return ASCIILiteral("black");
     }
 }
 
 template<>
-inline RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor fromProtocolString(const String& value)
+inline TestProtocolDatabaseExecuteAllOptionalParametersPrintColor fromProtocolString(const String& value)
 {
     if (value == "cyan")
-        return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
+        return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
     if (value == "magenta")
-        return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta;
+        return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta;
     if (value == "yellow")
-        return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow;
+        return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow;
     if (value == "black")
-        return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack;
+        return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack;
     ASSERT_NOT_REACHED();
-    return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
+    return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
 }
 
-inline String toProtocolString(RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor value)
+inline String toProtocolString(TestProtocolDatabaseExecuteAllOptionalParametersPrintColor value)
 {
     switch(value) {
-    case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan:
+    case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan:
         return ASCIILiteral("cyan");
-    case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta:
+    case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta:
         return ASCIILiteral("magenta");
-    case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow:
+    case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow:
         return ASCIILiteral("yellow");
-    case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack:
+    case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack:
         return ASCIILiteral("black");
     }
 }
 
 template<>
-inline RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor fromProtocolString(const String& value)
+inline TestProtocolDatabaseExecuteAllOptionalParametersPrintColor fromProtocolString(const String& value)
 {
     if (value == "cyan")
-        return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
+        return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
     if (value == "magenta")
-        return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta;
+        return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta;
     if (value == "yellow")
-        return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow;
+        return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow;
     if (value == "black")
-        return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack;
+        return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack;
     ASSERT_NOT_REACHED();
-    return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
+    return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
 }
 
-inline String toProtocolString(RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor value)
+inline String toProtocolString(TestProtocolDatabaseExecuteNoOptionalParametersPrintColor value)
 {
     switch(value) {
-    case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan:
+    case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan:
         return ASCIILiteral("cyan");
-    case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta:
+    case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta:
         return ASCIILiteral("magenta");
-    case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow:
+    case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow:
         return ASCIILiteral("yellow");
-    case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack:
+    case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack:
         return ASCIILiteral("black");
     }
 }
 
 template<>
-inline RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor fromProtocolString(const String& value)
+inline TestProtocolDatabaseExecuteNoOptionalParametersPrintColor fromProtocolString(const String& value)
 {
     if (value == "cyan")
-        return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
+        return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
     if (value == "magenta")
-        return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta;
+        return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta;
     if (value == "yellow")
-        return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow;
+        return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow;
     if (value == "black")
-        return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack;
+        return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack;
     ASSERT_NOT_REACHED();
-    return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
+    return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
 }
 
-inline String toProtocolString(RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor value)
+inline String toProtocolString(TestProtocolDatabaseExecuteNoOptionalParametersPrintColor value)
 {
     switch(value) {
-    case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan:
+    case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan:
         return ASCIILiteral("cyan");
-    case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta:
+    case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta:
         return ASCIILiteral("magenta");
-    case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow:
+    case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow:
         return ASCIILiteral("yellow");
-    case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack:
+    case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack:
         return ASCIILiteral("black");
     }
 }
 
 template<>
-inline RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor fromProtocolString(const String& value)
+inline TestProtocolDatabaseExecuteNoOptionalParametersPrintColor fromProtocolString(const String& value)
 {
     if (value == "cyan")
-        return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
+        return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
     if (value == "magenta")
-        return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta;
+        return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta;
     if (value == "yellow")
-        return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow;
+        return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow;
     if (value == "black")
-        return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack;
+        return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack;
     ASSERT_NOT_REACHED();
-    return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
+    return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
 }
 
 } // namespace Inspector
 
-### End File: RWIProtocolEnumConversionHelpers.h
+### End File: TestProtocolTypeConversions.h
 
-### Begin File: RWIProtocolEventDispatchers.mm
+### Begin File: TestProtocolTypeConversions.mm
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -1261,115 +1457,58 @@ inline RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor fromProtocolStri
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
 #import "config.h"
-#import "RWIProtocolInternal.h"
+#import "TestProtocolTypeConversions.h"
 
-#import "RWIProtocolEnumConversionHelpers.h"
-#import <JavaScriptCore/InspectorFrontendChannel.h>
-#import <JavaScriptCore/InspectorValues.h>
+#import "TestProtocol.h"
+#import "TestProtocolTypeParser.h"
+#import <WebInspector/RWIProtocolJSONObjectPrivate.h>
 
 using namespace Inspector;
 
+@interface TestProtocolTypeConversions (DatabaseDomain)
 
++ (void)_parseDatabaseId:(NSNumber **)outValue fromPayload:(id)payload;
++ (void)_parsePrimaryColors:(NSNumber **)outValue fromPayload:(id)payload;
++ (void)_parseColorList:(NSArray/*<NSString>*/ **)outValue fromPayload:(id)payload;
++ (void)_parseError:(TestProtocolDatabaseError **)outValue fromPayload:(id)payload;
 
+@end
 
-### End File: RWIProtocolEventDispatchers.mm
-
-### Begin File: RWIProtocol.h
-/*
- * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
- * Copyright (C) 2014 University of Washington. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
-// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
-
-#import <Foundation/Foundation.h>
-
-#import <WebInspector/RWIProtocolJSONObject.h>
-
-
-@class RWIProtocolDatabaseError;
-
-
-typedef NS_ENUM(NSInteger, RWIProtocolDatabasePrimaryColors) {
-    RWIProtocolDatabasePrimaryColorsRed,
-    RWIProtocolDatabasePrimaryColorsGreen,
-    RWIProtocolDatabasePrimaryColorsBlue,
-};
-
-typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor) {
-    RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan,
-    RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta,
-    RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow,
-    RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack,
-};
-
-typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor) {
-    RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan,
-    RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta,
-    RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow,
-    RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack,
-};
+@implementation TestProtocolTypeConversions (DatabaseDomain)
 
-typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor) {
-    RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan,
-    RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta,
-    RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow,
-    RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack,
-};
++ (void)_parseDatabaseId:(NSNumber **)outValue fromPayload:(id)payload
+{
+    THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSNumber class]);
+    *outValue = (NSNumber *)payload;
+}
 
-typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor) {
-    RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan,
-    RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta,
-    RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow,
-    RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack,
-};
++ (void)_parsePrimaryColors:(NSNumber **)outValue fromPayload:(id)payload
+{
+    THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
+    *outValue = @(Inspector::fromProtocolString<TestProtocolDatabasePrimaryColors>(payload));
+}
 
++ (void)_parseColorList:(NSArray/*<NSString>*/ **)outValue fromPayload:(id)payload
+{
+    THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSArray/*<NSString>*/ class]);
+    *outValue = (NSArray/*<NSString>*/ *)payload;
+}
 
-__attribute__((visibility ("default")))
-@interface RWIProtocolDatabaseError : RWIProtocolJSONObject
-- (instancetype)initWithMessage:(NSString *)message code:(int)code;
-/* required */ @property (nonatomic, copy) NSString *message;
-/* required */ @property (nonatomic, assign) int code;
-@end
++ (void)_parseError:(TestProtocolDatabaseError **)outValue fromPayload:(id)payload
+{
+    THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSDictionary class]);
+    *outValue = [[TestProtocolDatabaseError alloc] initWithPayload:payload];
+}
 
-@protocol RWIProtocolDatabaseDomainHandler <NSObject>
-@required
-- (void)executeAllOptionalParametersWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor))successCallback columnNames:(NSArray/*<NSString>*/ **)columnNames notes:(NSString **)notes timestamp:(double *)timestamp values:(RWIProtocolJSONObject **)values payload:(RWIProtocolJSONObject **)payload databaseId:(int *)databaseId sqlError:(RWIProtocolDatabaseError **)sqlError screenColor:(RWIProtocolDatabasePrimaryColors *)screenColor alternateColors:(NSArray/*<NSString>*/ **)alternateColors printColor:(RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor *)printColor;
-- (void)executeNoOptionalParametersWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, NSArray/*<NSString>*/ *alternateColors, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor))successCallback columnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload databaseId:(int)databaseId sqlError:(RWIProtocolDatabaseError *)sqlError screenColor:(RWIProtocolDatabasePrimaryColors)screenColor alternateColors:(NSArray/*<NSString>*/ *)alternateColors printColor:(RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor)printColor;
 @end
 
 
+### End File: TestProtocolTypeConversions.mm
 
-
-### End File: RWIProtocol.h
-
-### Begin File: RWIProtocolTypes.mm
+### Begin File: TestProtocolTypes.mm
 /*
  * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
  * Copyright (C) 2014 University of Washington. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -1398,21 +1537,42 @@ __attribute__((visibility ("default")))
 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
 
 #import "config.h"
-#import "RWIProtocolInternal.h"
+#import "TestProtocolInternal.h"
 
-#import "RWIProtocolEnumConversionHelpers.h"
+#import "TestProtocolTypeConversions.h"
+#import <WebInspector/RWIProtocolJSONObjectPrivate.h>
 #import <JavaScriptCore/InspectorValues.h>
 #import <wtf/Assertions.h>
 
 using namespace Inspector;
 
 
-@implementation RWIProtocolDatabaseError
+@implementation TestProtocolDatabaseError
 
-- (instancetype)initWithMessage:(NSString *)message code:(int)code;
+- (instancetype)initWithPayload:(nonnull NSDictionary<NSString *, id> *)payload
 {
-    self = [super init];
-    if (!self)
+    if (!(self = [super init]))
+        return nil;
+
+    THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"message"], @"message");
+    self.message = payload[@"message"];
+
+    THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"code"], @"code");
+    self.code = [payload[@"code"] integerValue];
+
+    return self;
+}
+- (instancetype)initWithJSONObject:(RWIProtocolJSONObject *)jsonObject
+{
+    if (!(self = [super initWithInspectorObject:[jsonObject toInspectorObject].get()]))
+        return nil;
+
+    return self;
+}
+
+- (instancetype)initWithMessage:(NSString *)message code:(int)code
+{
+    if (!(self = [super init]))
         return nil;
 
     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message");
@@ -1446,45 +1606,4 @@ using namespace Inspector;
 @end
 
 
-### End File: RWIProtocolTypes.mm
-
-### Begin File: RWIProtocolInternal.h
-/*
- * Copyright (C) 2013 Google Inc. All rights reserved.
- * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
- * Copyright (C) 2014 University of Washington. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
-// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
-
-#import "RWIProtocol.h"
-#import "RWIProtocolJSONObjectInternal.h"
-#import <JavaScriptCore/AugmentableInspectorController.h>
-#import <JavaScriptCore/InspectorValues.h>
-
-
-
-
-### End File: RWIProtocolInternal.h
+### End File: TestProtocolTypes.mm