blob: 2f1f2f107da3edafea29f4b6e53fbcdb263c5f4f [file] [log] [blame]
/*
* 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 CombinedDomains.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#include "config.h"
#include "InspectorProtocolObjects.h"
#include <wtf/Optional.h>
#include <wtf/text/CString.h>
namespace Inspector {
namespace Protocol {
namespace InspectorHelpers {
static const char* const enum_constant_values[] = {
"user",
"user-agent",
"inspector",
"regular",
"active",
"inactive",
"disabled",
"style",
"mediaRule",
"importRule",
"linkedSheet",
"inlineSheet",
"overset",
"fit",
"empty",
"xml",
"javascript",
"network",
"console-api",
"storage",
"appcache",
"rendering",
"css",
"security",
"content-blocker",
"other",
"log",
"info",
"warning",
"error",
"debug",
"dir",
"dirxml",
"table",
"trace",
"clear",
"startGroup",
"startGroupCollapsed",
"endGroup",
"assert",
"timing",
"profile",
"profileEnd",
"before",
"after",
"open",
"closed",
"additions",
"removals",
"text",
"true",
"false",
"mixed",
"page",
"step",
"location",
"date",
"time",
"grammar",
"spelling",
"assertive",
"polite",
"off",
"subtree-modified",
"attribute-modified",
"node-removed",
"evaluate",
"sound",
"probe",
"global",
"with",
"closure",
"catch",
"functionName",
"globalLexicalEnvironment",
"nestedLexical",
"full",
"partial",
"Document",
"Stylesheet",
"Image",
"Font",
"Script",
"XHR",
"WebSocket",
"Other",
"parser",
"script",
"Viewport",
"Page",
"object",
"function",
"undefined",
"string",
"number",
"boolean",
"symbol",
"array",
"null",
"node",
"regexp",
"map",
"set",
"weakmap",
"weakset",
"iterator",
"class",
"accessor",
"none",
"irrecoverable",
"unterminated-literal",
"recoverable",
"API",
"Microtask",
"EventDispatch",
"ScheduleStyleRecalculation",
"RecalculateStyles",
"InvalidateLayout",
"Layout",
"Paint",
"Composite",
"RenderingFrame",
"TimerInstall",
"TimerRemove",
"TimerFire",
"EvaluateScript",
"TimeStamp",
"Time",
"TimeEnd",
"FunctionCall",
"ProbeSample",
"ConsoleProfile",
"RequestAnimationFrame",
"CancelAnimationFrame",
"FireAnimationFrame",
"ScriptProfiler",
"Timeline",
"Memory",
"Heap",
"DOM",
"EventListener",
"exception",
"CSPViolation",
"DebuggerStatement",
"Breakpoint",
"PauseOnNextStatement",
"uncaught",
"all",
"allowed",
"forbidden",
};
String getEnumConstantValue(int code) {
return enum_constant_values[code];
}
// Enums in the 'CSS' Domain
template<>
Optional<Inspector::Protocol::CSS::StyleSheetOrigin> parseEnumValueFromString<Inspector::Protocol::CSS::StyleSheetOrigin>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::CSS::StyleSheetOrigin::User,
(size_t)Inspector::Protocol::CSS::StyleSheetOrigin::UserAgent,
(size_t)Inspector::Protocol::CSS::StyleSheetOrigin::Inspector,
(size_t)Inspector::Protocol::CSS::StyleSheetOrigin::Regular,
};
for (size_t i = 0; i < 4; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::CSS::StyleSheetOrigin)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::CSS::CSSPropertyStatus> parseEnumValueFromString<Inspector::Protocol::CSS::CSSPropertyStatus>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::CSS::CSSPropertyStatus::Active,
(size_t)Inspector::Protocol::CSS::CSSPropertyStatus::Inactive,
(size_t)Inspector::Protocol::CSS::CSSPropertyStatus::Disabled,
(size_t)Inspector::Protocol::CSS::CSSPropertyStatus::Style,
};
for (size_t i = 0; i < 4; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::CSS::CSSPropertyStatus)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::CSS::CSSMedia::Source> parseEnumValueFromString<Inspector::Protocol::CSS::CSSMedia::Source>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::CSS::CSSMedia::Source::MediaRule,
(size_t)Inspector::Protocol::CSS::CSSMedia::Source::ImportRule,
(size_t)Inspector::Protocol::CSS::CSSMedia::Source::LinkedSheet,
(size_t)Inspector::Protocol::CSS::CSSMedia::Source::InlineSheet,
};
for (size_t i = 0; i < 4; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::CSS::CSSMedia::Source)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::CSS::Region::RegionOverset> parseEnumValueFromString<Inspector::Protocol::CSS::Region::RegionOverset>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::CSS::Region::RegionOverset::Overset,
(size_t)Inspector::Protocol::CSS::Region::RegionOverset::Fit,
(size_t)Inspector::Protocol::CSS::Region::RegionOverset::Empty,
};
for (size_t i = 0; i < 3; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::CSS::Region::RegionOverset)constantValues[i];
return Nullopt;
}
// Enums in the 'Console' Domain
template<>
Optional<Inspector::Protocol::Console::ConsoleMessage::Source> parseEnumValueFromString<Inspector::Protocol::Console::ConsoleMessage::Source>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Console::ConsoleMessage::Source::XML,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Source::Javascript,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Source::Network,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Source::ConsoleAPI,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Source::Storage,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Source::Appcache,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Source::Rendering,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Source::CSS,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Source::Security,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Source::ContentBlocker,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Source::Other,
};
for (size_t i = 0; i < 11; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Console::ConsoleMessage::Source)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::Console::ConsoleMessage::Level> parseEnumValueFromString<Inspector::Protocol::Console::ConsoleMessage::Level>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Console::ConsoleMessage::Level::Log,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Level::Info,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Level::Warning,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Level::Error,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Level::Debug,
};
for (size_t i = 0; i < 5; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Console::ConsoleMessage::Level)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::Console::ConsoleMessage::Type> parseEnumValueFromString<Inspector::Protocol::Console::ConsoleMessage::Type>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::Log,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::Dir,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::DirXML,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::Table,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::Trace,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::Clear,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::StartGroup,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::StartGroupCollapsed,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::EndGroup,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::Assert,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::Timing,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::Profile,
(size_t)Inspector::Protocol::Console::ConsoleMessage::Type::ProfileEnd,
};
for (size_t i = 0; i < 13; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Console::ConsoleMessage::Type)constantValues[i];
return Nullopt;
}
// Enums in the 'DOM' Domain
template<>
Optional<Inspector::Protocol::DOM::PseudoType> parseEnumValueFromString<Inspector::Protocol::DOM::PseudoType>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::DOM::PseudoType::Before,
(size_t)Inspector::Protocol::DOM::PseudoType::After,
};
for (size_t i = 0; i < 2; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::DOM::PseudoType)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::DOM::ShadowRootType> parseEnumValueFromString<Inspector::Protocol::DOM::ShadowRootType>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::DOM::ShadowRootType::UserAgent,
(size_t)Inspector::Protocol::DOM::ShadowRootType::Open,
(size_t)Inspector::Protocol::DOM::ShadowRootType::Closed,
};
for (size_t i = 0; i < 3; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::DOM::ShadowRootType)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::DOM::LiveRegionRelevant> parseEnumValueFromString<Inspector::Protocol::DOM::LiveRegionRelevant>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::DOM::LiveRegionRelevant::Additions,
(size_t)Inspector::Protocol::DOM::LiveRegionRelevant::Removals,
(size_t)Inspector::Protocol::DOM::LiveRegionRelevant::Text,
};
for (size_t i = 0; i < 3; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::DOM::LiveRegionRelevant)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::DOM::AccessibilityProperties::Checked> parseEnumValueFromString<Inspector::Protocol::DOM::AccessibilityProperties::Checked>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Checked::True,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Checked::False,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Checked::Mixed,
};
for (size_t i = 0; i < 3; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::DOM::AccessibilityProperties::Checked)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::DOM::AccessibilityProperties::Current> parseEnumValueFromString<Inspector::Protocol::DOM::AccessibilityProperties::Current>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Current::True,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Current::False,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Current::Page,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Current::Step,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Current::Location,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Current::Date,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Current::Time,
};
for (size_t i = 0; i < 7; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::DOM::AccessibilityProperties::Current)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::DOM::AccessibilityProperties::Invalid> parseEnumValueFromString<Inspector::Protocol::DOM::AccessibilityProperties::Invalid>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Invalid::True,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Invalid::False,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Invalid::Grammar,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::Invalid::Spelling,
};
for (size_t i = 0; i < 4; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::DOM::AccessibilityProperties::Invalid)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::DOM::AccessibilityProperties::LiveRegionStatus> parseEnumValueFromString<Inspector::Protocol::DOM::AccessibilityProperties::LiveRegionStatus>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::LiveRegionStatus::Assertive,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::LiveRegionStatus::Polite,
(size_t)Inspector::Protocol::DOM::AccessibilityProperties::LiveRegionStatus::Off,
};
for (size_t i = 0; i < 3; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::DOM::AccessibilityProperties::LiveRegionStatus)constantValues[i];
return Nullopt;
}
// Enums in the 'DOMDebugger' Domain
template<>
Optional<Inspector::Protocol::DOMDebugger::DOMBreakpointType> parseEnumValueFromString<Inspector::Protocol::DOMDebugger::DOMBreakpointType>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::DOMDebugger::DOMBreakpointType::SubtreeModified,
(size_t)Inspector::Protocol::DOMDebugger::DOMBreakpointType::AttributeModified,
(size_t)Inspector::Protocol::DOMDebugger::DOMBreakpointType::NodeRemoved,
};
for (size_t i = 0; i < 3; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::DOMDebugger::DOMBreakpointType)constantValues[i];
return Nullopt;
}
// Enums in the 'Debugger' Domain
template<>
Optional<Inspector::Protocol::Debugger::BreakpointAction::Type> parseEnumValueFromString<Inspector::Protocol::Debugger::BreakpointAction::Type>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Debugger::BreakpointAction::Type::Log,
(size_t)Inspector::Protocol::Debugger::BreakpointAction::Type::Evaluate,
(size_t)Inspector::Protocol::Debugger::BreakpointAction::Type::Sound,
(size_t)Inspector::Protocol::Debugger::BreakpointAction::Type::Probe,
};
for (size_t i = 0; i < 4; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Debugger::BreakpointAction::Type)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::Debugger::Scope::Type> parseEnumValueFromString<Inspector::Protocol::Debugger::Scope::Type>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Debugger::Scope::Type::Global,
(size_t)Inspector::Protocol::Debugger::Scope::Type::With,
(size_t)Inspector::Protocol::Debugger::Scope::Type::Closure,
(size_t)Inspector::Protocol::Debugger::Scope::Type::Catch,
(size_t)Inspector::Protocol::Debugger::Scope::Type::FunctionName,
(size_t)Inspector::Protocol::Debugger::Scope::Type::GlobalLexicalEnvironment,
(size_t)Inspector::Protocol::Debugger::Scope::Type::NestedLexical,
};
for (size_t i = 0; i < 7; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Debugger::Scope::Type)constantValues[i];
return Nullopt;
}
// Enums in the 'Heap' Domain
template<>
Optional<Inspector::Protocol::Heap::GarbageCollection::Type> parseEnumValueFromString<Inspector::Protocol::Heap::GarbageCollection::Type>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Heap::GarbageCollection::Type::Full,
(size_t)Inspector::Protocol::Heap::GarbageCollection::Type::Partial,
};
for (size_t i = 0; i < 2; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Heap::GarbageCollection::Type)constantValues[i];
return Nullopt;
}
// Enums in the 'Network' Domain
template<>
Optional<Inspector::Protocol::Network::Initiator::Type> parseEnumValueFromString<Inspector::Protocol::Network::Initiator::Type>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Network::Initiator::Type::Parser,
(size_t)Inspector::Protocol::Network::Initiator::Type::Script,
(size_t)Inspector::Protocol::Network::Initiator::Type::Other,
};
for (size_t i = 0; i < 3; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Network::Initiator::Type)constantValues[i];
return Nullopt;
}
// Enums in the 'Page' Domain
template<>
Optional<Inspector::Protocol::Page::ResourceType> parseEnumValueFromString<Inspector::Protocol::Page::ResourceType>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Page::ResourceType::Document,
(size_t)Inspector::Protocol::Page::ResourceType::Stylesheet,
(size_t)Inspector::Protocol::Page::ResourceType::Image,
(size_t)Inspector::Protocol::Page::ResourceType::Font,
(size_t)Inspector::Protocol::Page::ResourceType::Script,
(size_t)Inspector::Protocol::Page::ResourceType::XHR,
(size_t)Inspector::Protocol::Page::ResourceType::WebSocket,
(size_t)Inspector::Protocol::Page::ResourceType::Other,
};
for (size_t i = 0; i < 8; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Page::ResourceType)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::Page::CoordinateSystem> parseEnumValueFromString<Inspector::Protocol::Page::CoordinateSystem>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Page::CoordinateSystem::Viewport,
(size_t)Inspector::Protocol::Page::CoordinateSystem::Page,
};
for (size_t i = 0; i < 2; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Page::CoordinateSystem)constantValues[i];
return Nullopt;
}
// Enums in the 'Runtime' Domain
template<>
Optional<Inspector::Protocol::Runtime::SyntaxErrorType> parseEnumValueFromString<Inspector::Protocol::Runtime::SyntaxErrorType>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Runtime::SyntaxErrorType::None,
(size_t)Inspector::Protocol::Runtime::SyntaxErrorType::Irrecoverable,
(size_t)Inspector::Protocol::Runtime::SyntaxErrorType::UnterminatedLiteral,
(size_t)Inspector::Protocol::Runtime::SyntaxErrorType::Recoverable,
};
for (size_t i = 0; i < 4; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Runtime::SyntaxErrorType)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::Runtime::RemoteObject::Type> parseEnumValueFromString<Inspector::Protocol::Runtime::RemoteObject::Type>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Runtime::RemoteObject::Type::Object,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Type::Function,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Type::Undefined,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Type::String,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Type::Number,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Type::Boolean,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Type::Symbol,
};
for (size_t i = 0; i < 7; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Runtime::RemoteObject::Type)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::Runtime::RemoteObject::Subtype> parseEnumValueFromString<Inspector::Protocol::Runtime::RemoteObject::Subtype>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Array,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Null,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Node,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Regexp,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Date,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Error,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Map,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Set,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Weakmap,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Weakset,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Iterator,
(size_t)Inspector::Protocol::Runtime::RemoteObject::Subtype::Class,
};
for (size_t i = 0; i < 12; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Runtime::RemoteObject::Subtype)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::Runtime::ObjectPreview::Type> parseEnumValueFromString<Inspector::Protocol::Runtime::ObjectPreview::Type>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Type::Object,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Type::Function,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Type::Undefined,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Type::String,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Type::Number,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Type::Boolean,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Type::Symbol,
};
for (size_t i = 0; i < 7; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Runtime::ObjectPreview::Type)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::Runtime::ObjectPreview::Subtype> parseEnumValueFromString<Inspector::Protocol::Runtime::ObjectPreview::Subtype>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Array,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Null,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Node,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Regexp,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Date,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Error,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Map,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Set,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Weakmap,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Weakset,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Iterator,
(size_t)Inspector::Protocol::Runtime::ObjectPreview::Subtype::Class,
};
for (size_t i = 0; i < 12; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Runtime::ObjectPreview::Subtype)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::Runtime::PropertyPreview::Type> parseEnumValueFromString<Inspector::Protocol::Runtime::PropertyPreview::Type>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Type::Object,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Type::Function,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Type::Undefined,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Type::String,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Type::Number,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Type::Boolean,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Type::Symbol,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Type::Accessor,
};
for (size_t i = 0; i < 8; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Runtime::PropertyPreview::Type)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::Runtime::PropertyPreview::Subtype> parseEnumValueFromString<Inspector::Protocol::Runtime::PropertyPreview::Subtype>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Array,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Null,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Node,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Regexp,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Date,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Error,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Map,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Set,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Weakmap,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Weakset,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Iterator,
(size_t)Inspector::Protocol::Runtime::PropertyPreview::Subtype::Class,
};
for (size_t i = 0; i < 12; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Runtime::PropertyPreview::Subtype)constantValues[i];
return Nullopt;
}
// Enums in the 'ScriptProfiler' Domain
template<>
Optional<Inspector::Protocol::ScriptProfiler::EventType> parseEnumValueFromString<Inspector::Protocol::ScriptProfiler::EventType>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::ScriptProfiler::EventType::API,
(size_t)Inspector::Protocol::ScriptProfiler::EventType::Microtask,
(size_t)Inspector::Protocol::ScriptProfiler::EventType::Other,
};
for (size_t i = 0; i < 3; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::ScriptProfiler::EventType)constantValues[i];
return Nullopt;
}
// Enums in the 'Timeline' Domain
template<>
Optional<Inspector::Protocol::Timeline::EventType> parseEnumValueFromString<Inspector::Protocol::Timeline::EventType>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Timeline::EventType::EventDispatch,
(size_t)Inspector::Protocol::Timeline::EventType::ScheduleStyleRecalculation,
(size_t)Inspector::Protocol::Timeline::EventType::RecalculateStyles,
(size_t)Inspector::Protocol::Timeline::EventType::InvalidateLayout,
(size_t)Inspector::Protocol::Timeline::EventType::Layout,
(size_t)Inspector::Protocol::Timeline::EventType::Paint,
(size_t)Inspector::Protocol::Timeline::EventType::Composite,
(size_t)Inspector::Protocol::Timeline::EventType::RenderingFrame,
(size_t)Inspector::Protocol::Timeline::EventType::TimerInstall,
(size_t)Inspector::Protocol::Timeline::EventType::TimerRemove,
(size_t)Inspector::Protocol::Timeline::EventType::TimerFire,
(size_t)Inspector::Protocol::Timeline::EventType::EvaluateScript,
(size_t)Inspector::Protocol::Timeline::EventType::TimeStamp,
(size_t)Inspector::Protocol::Timeline::EventType::Time,
(size_t)Inspector::Protocol::Timeline::EventType::TimeEnd,
(size_t)Inspector::Protocol::Timeline::EventType::FunctionCall,
(size_t)Inspector::Protocol::Timeline::EventType::ProbeSample,
(size_t)Inspector::Protocol::Timeline::EventType::ConsoleProfile,
(size_t)Inspector::Protocol::Timeline::EventType::RequestAnimationFrame,
(size_t)Inspector::Protocol::Timeline::EventType::CancelAnimationFrame,
(size_t)Inspector::Protocol::Timeline::EventType::FireAnimationFrame,
};
for (size_t i = 0; i < 21; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Timeline::EventType)constantValues[i];
return Nullopt;
}
template<>
Optional<Inspector::Protocol::Timeline::Instrument> parseEnumValueFromString<Inspector::Protocol::Timeline::Instrument>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Timeline::Instrument::ScriptProfiler,
(size_t)Inspector::Protocol::Timeline::Instrument::Timeline,
(size_t)Inspector::Protocol::Timeline::Instrument::Memory,
(size_t)Inspector::Protocol::Timeline::Instrument::Heap,
};
for (size_t i = 0; i < 4; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Timeline::Instrument)constantValues[i];
return Nullopt;
}
} // namespace InspectorHelpers
const char* Inspector::Protocol::CSS::CSSProperty::Implicit = "implicit";
const char* Inspector::Protocol::CSS::CSSProperty::Name = "name";
const char* Inspector::Protocol::CSS::CSSProperty::ParsedOk = "parsedOk";
const char* Inspector::Protocol::CSS::CSSProperty::Priority = "priority";
const char* Inspector::Protocol::CSS::CSSProperty::Range = "range";
const char* Inspector::Protocol::CSS::CSSProperty::Status = "status";
const char* Inspector::Protocol::CSS::CSSProperty::Text = "text";
const char* Inspector::Protocol::CSS::CSSProperty::Value = "value";
const char* Inspector::Protocol::Network::Response::FromDiskCache = "fromDiskCache";
const char* Inspector::Protocol::Network::Response::Headers = "headers";
const char* Inspector::Protocol::Network::Response::HeadersText = "headersText";
const char* Inspector::Protocol::Network::Response::MimeType = "mimeType";
const char* Inspector::Protocol::Network::Response::RequestHeaders = "requestHeaders";
const char* Inspector::Protocol::Network::Response::RequestHeadersText = "requestHeadersText";
const char* Inspector::Protocol::Network::Response::Status = "status";
const char* Inspector::Protocol::Network::Response::StatusText = "statusText";
const char* Inspector::Protocol::Network::Response::Timing = "timing";
const char* Inspector::Protocol::Network::Response::Url = "url";
const char* Inspector::Protocol::Timeline::TimelineEvent::Children = "children";
const char* Inspector::Protocol::Timeline::TimelineEvent::Data = "data";
const char* Inspector::Protocol::Timeline::TimelineEvent::Type = "type";
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Debugger::Location>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator scriptIdPos = object->find(ASCIILiteral("scriptId"));
ASSERT(scriptIdPos != object->end());
BindingTraits<String>::assertValueHasExpectedType(scriptIdPos->value.get());
}
{
InspectorObject::iterator lineNumberPos = object->find(ASCIILiteral("lineNumber"));
ASSERT(lineNumberPos != object->end());
BindingTraits<int>::assertValueHasExpectedType(lineNumberPos->value.get());
}
int foundPropertiesCount = 2;
{
InspectorObject::iterator columnNumberPos = object->find(ASCIILiteral("columnNumber"));
if (columnNumberPos != object->end()) {
BindingTraits<int>::assertValueHasExpectedType(columnNumberPos->value.get());
++foundPropertiesCount;
}
}
if (foundPropertiesCount != object->size())
FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data());
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Debugger::FunctionDetails>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator locationPos = object->find(ASCIILiteral("location"));
ASSERT(locationPos != object->end());
BindingTraits<Inspector::Protocol::Debugger::Location>::assertValueHasExpectedType(locationPos->value.get());
}
int foundPropertiesCount = 1;
{
InspectorObject::iterator namePos = object->find(ASCIILiteral("name"));
if (namePos != object->end()) {
BindingTraits<String>::assertValueHasExpectedType(namePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator displayNamePos = object->find(ASCIILiteral("displayName"));
if (displayNamePos != object->end()) {
BindingTraits<String>::assertValueHasExpectedType(displayNamePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator scopeChainPos = object->find(ASCIILiteral("scopeChain"));
if (scopeChainPos != object->end()) {
BindingTraits<Inspector::Protocol::Array<Inspector::Protocol::Debugger::Scope>>::assertValueHasExpectedType(scopeChainPos->value.get());
++foundPropertiesCount;
}
}
if (foundPropertiesCount != object->size())
FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data());
}
#endif // !ASSERT_DISABLED
RefPtr<Inspector::Protocol::Debugger::FunctionDetails> BindingTraits<Inspector::Protocol::Debugger::FunctionDetails>::runtimeCast(RefPtr<InspectorValue>&& value)
{
RefPtr<InspectorObject> result;
bool castSucceeded = value->asObject(result);
ASSERT_UNUSED(castSucceeded, castSucceeded);
#if !ASSERT_DISABLED
BindingTraits<Inspector::Protocol::Debugger::FunctionDetails>::assertValueHasExpectedType(result.get());
#endif // !ASSERT_DISABLED
COMPILE_ASSERT(sizeof(Inspector::Protocol::Debugger::FunctionDetails) == sizeof(InspectorObjectBase), type_cast_problem);
return static_cast<Inspector::Protocol::Debugger::FunctionDetails*>(static_cast<InspectorObjectBase*>(result.get()));
}
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Debugger::CallFrame>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator callFrameIdPos = object->find(ASCIILiteral("callFrameId"));
ASSERT(callFrameIdPos != object->end());
BindingTraits<String>::assertValueHasExpectedType(callFrameIdPos->value.get());
}
{
InspectorObject::iterator functionNamePos = object->find(ASCIILiteral("functionName"));
ASSERT(functionNamePos != object->end());
BindingTraits<String>::assertValueHasExpectedType(functionNamePos->value.get());
}
{
InspectorObject::iterator locationPos = object->find(ASCIILiteral("location"));
ASSERT(locationPos != object->end());
BindingTraits<Inspector::Protocol::Debugger::Location>::assertValueHasExpectedType(locationPos->value.get());
}
{
InspectorObject::iterator scopeChainPos = object->find(ASCIILiteral("scopeChain"));
ASSERT(scopeChainPos != object->end());
BindingTraits<Inspector::Protocol::Array<Inspector::Protocol::Debugger::Scope>>::assertValueHasExpectedType(scopeChainPos->value.get());
}
{
InspectorObject::iterator thisPos = object->find(ASCIILiteral("this"));
ASSERT(thisPos != object->end());
BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(thisPos->value.get());
}
{
InspectorObject::iterator isTailDeletedPos = object->find(ASCIILiteral("isTailDeleted"));
ASSERT(isTailDeletedPos != object->end());
BindingTraits<bool>::assertValueHasExpectedType(isTailDeletedPos->value.get());
}
int foundPropertiesCount = 6;
if (foundPropertiesCount != object->size())
FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data());
}
#endif // !ASSERT_DISABLED
RefPtr<Inspector::Protocol::Debugger::CallFrame> BindingTraits<Inspector::Protocol::Debugger::CallFrame>::runtimeCast(RefPtr<InspectorValue>&& value)
{
RefPtr<InspectorObject> result;
bool castSucceeded = value->asObject(result);
ASSERT_UNUSED(castSucceeded, castSucceeded);
#if !ASSERT_DISABLED
BindingTraits<Inspector::Protocol::Debugger::CallFrame>::assertValueHasExpectedType(result.get());
#endif // !ASSERT_DISABLED
COMPILE_ASSERT(sizeof(Inspector::Protocol::Debugger::CallFrame) == sizeof(InspectorObjectBase), type_cast_problem);
return static_cast<Inspector::Protocol::Debugger::CallFrame*>(static_cast<InspectorObjectBase*>(result.get()));
}
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Debugger::Scope::Type>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
String result;
bool castSucceeded = value->asString(result);
ASSERT(castSucceeded);
ASSERT(result == "global" || result == "with" || result == "closure" || result == "catch" || result == "functionName" || result == "globalLexicalEnvironment" || result == "nestedLexical");
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Debugger::Scope>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator objectPos = object->find(ASCIILiteral("object"));
ASSERT(objectPos != object->end());
BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(objectPos->value.get());
}
{
InspectorObject::iterator typePos = object->find(ASCIILiteral("type"));
ASSERT(typePos != object->end());
BindingTraits<Inspector::Protocol::Debugger::Scope::Type>::assertValueHasExpectedType(typePos->value.get());
}
int foundPropertiesCount = 2;
{
InspectorObject::iterator namePos = object->find(ASCIILiteral("name"));
if (namePos != object->end()) {
BindingTraits<String>::assertValueHasExpectedType(namePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator locationPos = object->find(ASCIILiteral("location"));
if (locationPos != object->end()) {
BindingTraits<Inspector::Protocol::Debugger::Location>::assertValueHasExpectedType(locationPos->value.get());
++foundPropertiesCount;
}
}
if (foundPropertiesCount != object->size())
FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data());
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::RemoteObject::Type>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
String result;
bool castSucceeded = value->asString(result);
ASSERT(castSucceeded);
ASSERT(result == "object" || result == "function" || result == "undefined" || result == "string" || result == "number" || result == "boolean" || result == "symbol");
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::RemoteObject::Subtype>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
String result;
bool castSucceeded = value->asString(result);
ASSERT(castSucceeded);
ASSERT(result == "array" || result == "null" || result == "node" || result == "regexp" || result == "date" || result == "error" || result == "map" || result == "set" || result == "weakmap" || result == "weakset" || result == "iterator" || result == "class");
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator typePos = object->find(ASCIILiteral("type"));
ASSERT(typePos != object->end());
BindingTraits<Inspector::Protocol::Runtime::RemoteObject::Type>::assertValueHasExpectedType(typePos->value.get());
}
int foundPropertiesCount = 1;
{
InspectorObject::iterator subtypePos = object->find(ASCIILiteral("subtype"));
if (subtypePos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::RemoteObject::Subtype>::assertValueHasExpectedType(subtypePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator classNamePos = object->find(ASCIILiteral("className"));
if (classNamePos != object->end()) {
BindingTraits<String>::assertValueHasExpectedType(classNamePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator valuePos = object->find(ASCIILiteral("value"));
if (valuePos != object->end()) {
BindingTraits<Inspector::InspectorValue>::assertValueHasExpectedType(valuePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator descriptionPos = object->find(ASCIILiteral("description"));
if (descriptionPos != object->end()) {
BindingTraits<String>::assertValueHasExpectedType(descriptionPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator objectIdPos = object->find(ASCIILiteral("objectId"));
if (objectIdPos != object->end()) {
BindingTraits<String>::assertValueHasExpectedType(objectIdPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator sizePos = object->find(ASCIILiteral("size"));
if (sizePos != object->end()) {
BindingTraits<int>::assertValueHasExpectedType(sizePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator classPrototypePos = object->find(ASCIILiteral("classPrototype"));
if (classPrototypePos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(classPrototypePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator previewPos = object->find(ASCIILiteral("preview"));
if (previewPos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::ObjectPreview>::assertValueHasExpectedType(previewPos->value.get());
++foundPropertiesCount;
}
}
if (foundPropertiesCount != object->size())
FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data());
}
#endif // !ASSERT_DISABLED
RefPtr<Inspector::Protocol::Runtime::RemoteObject> BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::runtimeCast(RefPtr<InspectorValue>&& value)
{
RefPtr<InspectorObject> result;
bool castSucceeded = value->asObject(result);
ASSERT_UNUSED(castSucceeded, castSucceeded);
#if !ASSERT_DISABLED
BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(result.get());
#endif // !ASSERT_DISABLED
COMPILE_ASSERT(sizeof(Inspector::Protocol::Runtime::RemoteObject) == sizeof(InspectorObjectBase), type_cast_problem);
return static_cast<Inspector::Protocol::Runtime::RemoteObject*>(static_cast<InspectorObjectBase*>(result.get()));
}
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::ObjectPreview::Type>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
String result;
bool castSucceeded = value->asString(result);
ASSERT(castSucceeded);
ASSERT(result == "object" || result == "function" || result == "undefined" || result == "string" || result == "number" || result == "boolean" || result == "symbol");
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::ObjectPreview::Subtype>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
String result;
bool castSucceeded = value->asString(result);
ASSERT(castSucceeded);
ASSERT(result == "array" || result == "null" || result == "node" || result == "regexp" || result == "date" || result == "error" || result == "map" || result == "set" || result == "weakmap" || result == "weakset" || result == "iterator" || result == "class");
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::ObjectPreview>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator typePos = object->find(ASCIILiteral("type"));
ASSERT(typePos != object->end());
BindingTraits<Inspector::Protocol::Runtime::ObjectPreview::Type>::assertValueHasExpectedType(typePos->value.get());
}
{
InspectorObject::iterator losslessPos = object->find(ASCIILiteral("lossless"));
ASSERT(losslessPos != object->end());
BindingTraits<bool>::assertValueHasExpectedType(losslessPos->value.get());
}
int foundPropertiesCount = 2;
{
InspectorObject::iterator subtypePos = object->find(ASCIILiteral("subtype"));
if (subtypePos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::ObjectPreview::Subtype>::assertValueHasExpectedType(subtypePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator descriptionPos = object->find(ASCIILiteral("description"));
if (descriptionPos != object->end()) {
BindingTraits<String>::assertValueHasExpectedType(descriptionPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator overflowPos = object->find(ASCIILiteral("overflow"));
if (overflowPos != object->end()) {
BindingTraits<bool>::assertValueHasExpectedType(overflowPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator propertiesPos = object->find(ASCIILiteral("properties"));
if (propertiesPos != object->end()) {
BindingTraits<Inspector::Protocol::Array<Inspector::Protocol::Runtime::PropertyPreview>>::assertValueHasExpectedType(propertiesPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator entriesPos = object->find(ASCIILiteral("entries"));
if (entriesPos != object->end()) {
BindingTraits<Inspector::Protocol::Array<Inspector::Protocol::Runtime::EntryPreview>>::assertValueHasExpectedType(entriesPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator sizePos = object->find(ASCIILiteral("size"));
if (sizePos != object->end()) {
BindingTraits<int>::assertValueHasExpectedType(sizePos->value.get());
++foundPropertiesCount;
}
}
if (foundPropertiesCount != object->size())
FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data());
}
#endif // !ASSERT_DISABLED
RefPtr<Inspector::Protocol::Runtime::ObjectPreview> BindingTraits<Inspector::Protocol::Runtime::ObjectPreview>::runtimeCast(RefPtr<InspectorValue>&& value)
{
RefPtr<InspectorObject> result;
bool castSucceeded = value->asObject(result);
ASSERT_UNUSED(castSucceeded, castSucceeded);
#if !ASSERT_DISABLED
BindingTraits<Inspector::Protocol::Runtime::ObjectPreview>::assertValueHasExpectedType(result.get());
#endif // !ASSERT_DISABLED
COMPILE_ASSERT(sizeof(Inspector::Protocol::Runtime::ObjectPreview) == sizeof(InspectorObjectBase), type_cast_problem);
return static_cast<Inspector::Protocol::Runtime::ObjectPreview*>(static_cast<InspectorObjectBase*>(result.get()));
}
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::PropertyPreview::Type>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
String result;
bool castSucceeded = value->asString(result);
ASSERT(castSucceeded);
ASSERT(result == "object" || result == "function" || result == "undefined" || result == "string" || result == "number" || result == "boolean" || result == "symbol" || result == "accessor");
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::PropertyPreview::Subtype>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
String result;
bool castSucceeded = value->asString(result);
ASSERT(castSucceeded);
ASSERT(result == "array" || result == "null" || result == "node" || result == "regexp" || result == "date" || result == "error" || result == "map" || result == "set" || result == "weakmap" || result == "weakset" || result == "iterator" || result == "class");
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::PropertyPreview>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator namePos = object->find(ASCIILiteral("name"));
ASSERT(namePos != object->end());
BindingTraits<String>::assertValueHasExpectedType(namePos->value.get());
}
{
InspectorObject::iterator typePos = object->find(ASCIILiteral("type"));
ASSERT(typePos != object->end());
BindingTraits<Inspector::Protocol::Runtime::PropertyPreview::Type>::assertValueHasExpectedType(typePos->value.get());
}
int foundPropertiesCount = 2;
{
InspectorObject::iterator subtypePos = object->find(ASCIILiteral("subtype"));
if (subtypePos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::PropertyPreview::Subtype>::assertValueHasExpectedType(subtypePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator valuePos = object->find(ASCIILiteral("value"));
if (valuePos != object->end()) {
BindingTraits<String>::assertValueHasExpectedType(valuePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator valuePreviewPos = object->find(ASCIILiteral("valuePreview"));
if (valuePreviewPos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::ObjectPreview>::assertValueHasExpectedType(valuePreviewPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator internalPos = object->find(ASCIILiteral("internal"));
if (internalPos != object->end()) {
BindingTraits<bool>::assertValueHasExpectedType(internalPos->value.get());
++foundPropertiesCount;
}
}
if (foundPropertiesCount != object->size())
FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data());
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::EntryPreview>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator valuePos = object->find(ASCIILiteral("value"));
ASSERT(valuePos != object->end());
BindingTraits<Inspector::Protocol::Runtime::ObjectPreview>::assertValueHasExpectedType(valuePos->value.get());
}
int foundPropertiesCount = 1;
{
InspectorObject::iterator keyPos = object->find(ASCIILiteral("key"));
if (keyPos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::ObjectPreview>::assertValueHasExpectedType(keyPos->value.get());
++foundPropertiesCount;
}
}
if (foundPropertiesCount != object->size())
FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data());
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::CollectionEntry>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator valuePos = object->find(ASCIILiteral("value"));
ASSERT(valuePos != object->end());
BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(valuePos->value.get());
}
int foundPropertiesCount = 1;
{
InspectorObject::iterator keyPos = object->find(ASCIILiteral("key"));
if (keyPos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(keyPos->value.get());
++foundPropertiesCount;
}
}
if (foundPropertiesCount != object->size())
FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data());
}
#endif // !ASSERT_DISABLED
RefPtr<Inspector::Protocol::Runtime::CollectionEntry> BindingTraits<Inspector::Protocol::Runtime::CollectionEntry>::runtimeCast(RefPtr<InspectorValue>&& value)
{
RefPtr<InspectorObject> result;
bool castSucceeded = value->asObject(result);
ASSERT_UNUSED(castSucceeded, castSucceeded);
#if !ASSERT_DISABLED
BindingTraits<Inspector::Protocol::Runtime::CollectionEntry>::assertValueHasExpectedType(result.get());
#endif // !ASSERT_DISABLED
COMPILE_ASSERT(sizeof(Inspector::Protocol::Runtime::CollectionEntry) == sizeof(InspectorObjectBase), type_cast_problem);
return static_cast<Inspector::Protocol::Runtime::CollectionEntry*>(static_cast<InspectorObjectBase*>(result.get()));
}
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::PropertyDescriptor>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator namePos = object->find(ASCIILiteral("name"));
ASSERT(namePos != object->end());
BindingTraits<String>::assertValueHasExpectedType(namePos->value.get());
}
{
InspectorObject::iterator configurablePos = object->find(ASCIILiteral("configurable"));
ASSERT(configurablePos != object->end());
BindingTraits<bool>::assertValueHasExpectedType(configurablePos->value.get());
}
{
InspectorObject::iterator enumerablePos = object->find(ASCIILiteral("enumerable"));
ASSERT(enumerablePos != object->end());
BindingTraits<bool>::assertValueHasExpectedType(enumerablePos->value.get());
}
int foundPropertiesCount = 3;
{
InspectorObject::iterator valuePos = object->find(ASCIILiteral("value"));
if (valuePos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(valuePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator writablePos = object->find(ASCIILiteral("writable"));
if (writablePos != object->end()) {
BindingTraits<bool>::assertValueHasExpectedType(writablePos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator getPos = object->find(ASCIILiteral("get"));
if (getPos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(getPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator setPos = object->find(ASCIILiteral("set"));
if (setPos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(setPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator wasThrownPos = object->find(ASCIILiteral("wasThrown"));
if (wasThrownPos != object->end()) {
BindingTraits<bool>::assertValueHasExpectedType(wasThrownPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator isOwnPos = object->find(ASCIILiteral("isOwn"));
if (isOwnPos != object->end()) {
BindingTraits<bool>::assertValueHasExpectedType(isOwnPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator symbolPos = object->find(ASCIILiteral("symbol"));
if (symbolPos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(symbolPos->value.get());
++foundPropertiesCount;
}
}
{
InspectorObject::iterator nativeGetterPos = object->find(ASCIILiteral("nativeGetter"));
if (nativeGetterPos != object->end()) {
BindingTraits<bool>::assertValueHasExpectedType(nativeGetterPos->value.get());
++foundPropertiesCount;
}
}
if (foundPropertiesCount != object->size())
FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data());
}
#endif // !ASSERT_DISABLED
RefPtr<Inspector::Protocol::Runtime::PropertyDescriptor> BindingTraits<Inspector::Protocol::Runtime::PropertyDescriptor>::runtimeCast(RefPtr<InspectorValue>&& value)
{
RefPtr<InspectorObject> result;
bool castSucceeded = value->asObject(result);
ASSERT_UNUSED(castSucceeded, castSucceeded);
#if !ASSERT_DISABLED
BindingTraits<Inspector::Protocol::Runtime::PropertyDescriptor>::assertValueHasExpectedType(result.get());
#endif // !ASSERT_DISABLED
COMPILE_ASSERT(sizeof(Inspector::Protocol::Runtime::PropertyDescriptor) == sizeof(InspectorObjectBase), type_cast_problem);
return static_cast<Inspector::Protocol::Runtime::PropertyDescriptor*>(static_cast<InspectorObjectBase*>(result.get()));
}
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Runtime::InternalPropertyDescriptor>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator namePos = object->find(ASCIILiteral("name"));
ASSERT(namePos != object->end());
BindingTraits<String>::assertValueHasExpectedType(namePos->value.get());
}
int foundPropertiesCount = 1;
{
InspectorObject::iterator valuePos = object->find(ASCIILiteral("value"));
if (valuePos != object->end()) {
BindingTraits<Inspector::Protocol::Runtime::RemoteObject>::assertValueHasExpectedType(valuePos->value.get());
++foundPropertiesCount;
}
}
if (foundPropertiesCount != object->size())
FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data());
}
#endif // !ASSERT_DISABLED
RefPtr<Inspector::Protocol::Runtime::InternalPropertyDescriptor> BindingTraits<Inspector::Protocol::Runtime::InternalPropertyDescriptor>::runtimeCast(RefPtr<InspectorValue>&& value)
{
RefPtr<InspectorObject> result;
bool castSucceeded = value->asObject(result);
ASSERT_UNUSED(castSucceeded, castSucceeded);
#if !ASSERT_DISABLED
BindingTraits<Inspector::Protocol::Runtime::InternalPropertyDescriptor>::assertValueHasExpectedType(result.get());
#endif // !ASSERT_DISABLED
COMPILE_ASSERT(sizeof(Inspector::Protocol::Runtime::InternalPropertyDescriptor) == sizeof(InspectorObjectBase), type_cast_problem);
return static_cast<Inspector::Protocol::Runtime::InternalPropertyDescriptor*>(static_cast<InspectorObjectBase*>(result.get()));
}
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Timeline::EventType>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
String result;
bool castSucceeded = value->asString(result);
ASSERT(castSucceeded);
ASSERT(result == "EventDispatch" || result == "ScheduleStyleRecalculation" || result == "RecalculateStyles" || result == "InvalidateLayout" || result == "Layout" || result == "Paint" || result == "Composite" || result == "RenderingFrame" || result == "TimerInstall" || result == "TimerRemove" || result == "TimerFire" || result == "EvaluateScript" || result == "TimeStamp" || result == "Time" || result == "TimeEnd" || result == "FunctionCall" || result == "ProbeSample" || result == "ConsoleProfile" || result == "RequestAnimationFrame" || result == "CancelAnimationFrame" || result == "FireAnimationFrame");
}
#endif // !ASSERT_DISABLED
#if !ASSERT_DISABLED
void BindingTraits<Inspector::Protocol::Timeline::TimelineEvent>::assertValueHasExpectedType(Inspector::InspectorValue* value)
{
ASSERT_ARG(value, value);
RefPtr<InspectorObject> object;
bool castSucceeded = value->asObject(object);
ASSERT_UNUSED(castSucceeded, castSucceeded);
{
InspectorObject::iterator typePos = object->find(ASCIILiteral("type"));
ASSERT(typePos != object->end());
BindingTraits<Inspector::Protocol::Timeline::EventType>::assertValueHasExpectedType(typePos->value.get());
}
{
InspectorObject::iterator dataPos = object->find(ASCIILiteral("data"));
ASSERT(dataPos != object->end());
BindingTraits<Inspector::InspectorObject>::assertValueHasExpectedType(dataPos->value.get());
}
{
InspectorObject::iterator childrenPos = object->find(ASCIILiteral("children"));
if (childrenPos != object->end()) {
BindingTraits<Inspector::Protocol::Array<Inspector::Protocol::Timeline::TimelineEvent>>::assertValueHasExpectedType(childrenPos->value.get());
}
}
}
#endif // !ASSERT_DISABLED
RefPtr<Inspector::Protocol::Timeline::TimelineEvent> BindingTraits<Inspector::Protocol::Timeline::TimelineEvent>::runtimeCast(RefPtr<InspectorValue>&& value)
{
RefPtr<InspectorObject> result;
bool castSucceeded = value->asObject(result);
ASSERT_UNUSED(castSucceeded, castSucceeded);
#if !ASSERT_DISABLED
BindingTraits<Inspector::Protocol::Timeline::TimelineEvent>::assertValueHasExpectedType(result.get());
#endif // !ASSERT_DISABLED
COMPILE_ASSERT(sizeof(Inspector::Protocol::Timeline::TimelineEvent) == sizeof(InspectorObjectBase), type_cast_problem);
return static_cast<Inspector::Protocol::Timeline::TimelineEvent*>(static_cast<InspectorObjectBase*>(result.get()));
}
} // namespace Protocol
} // namespace Inspector