| Index: third_party/WebKit/Source/platform/inspector_protocol/TypeBuilder_cpp.template
|
| diff --git a/third_party/WebKit/Source/platform/inspector_protocol/TypeBuilder_cpp.template b/third_party/WebKit/Source/platform/inspector_protocol/TypeBuilder_cpp.template
|
| index 7864402d4a9538d594429bd3395e0815db2b6d8b..4eba471c05e13f76b3590632d84da53cbbb32733 100644
|
| --- a/third_party/WebKit/Source/platform/inspector_protocol/TypeBuilder_cpp.template
|
| +++ b/third_party/WebKit/Source/platform/inspector_protocol/TypeBuilder_cpp.template
|
| @@ -6,6 +6,8 @@
|
|
|
| #include "platform/inspector_protocol/{{class_name}}.h"
|
|
|
| +#include "platform/inspector_protocol/Frontend.h"
|
| +
|
| namespace blink {
|
| namespace protocol {
|
|
|
| @@ -80,16 +82,13 @@ std::unique_ptr<{{type.id}}> {{type.id}}::clone() const
|
| return parse(serialize().get(), &errors);
|
| }
|
| {% endfor %}
|
| -} // {{domain.domain}}
|
| -{% endfor %}
|
|
|
| // ------------- Enum values from params.
|
| -{% for domain in api.domains %}
|
| +
|
| {% for command in join_arrays(domain, ["commands", "events"]) %}
|
| {% for param in join_arrays(command, ["parameters", "returns"]) %}
|
| {% if "enum" in param %}
|
|
|
| -namespace {{domain.domain}} {
|
| namespace {{command.name | to_title_case}} {
|
| namespace {{param.name | to_title_case}}Enum {
|
| {% for literal in param.enum %}
|
| @@ -97,10 +96,48 @@ const char* {{ literal | to_title_case}} = "{{literal}}";
|
| {% endfor %}
|
| } // {{param.name | to_title_case}}Enum
|
| } // {{command.name | to_title_case }}
|
| -} // {{domain.domain}}
|
| {% endif %}
|
| {% endfor %}
|
| {% endfor %}
|
| +
|
| +// ------------- Frontend::from.
|
| +
|
| +Frontend* Frontend::from(protocol::Frontend* frontend)
|
| +{
|
| + return &(frontend->m_{{domain.domain | lower}});
|
| +}
|
| +
|
| +// ------------- Frontend notifications.
|
| + {% for event in domain.events %}
|
| + {% if "handlers" in event and not ("renderer" in event["handlers"]) %}{% continue %}{% endif %}
|
| +
|
| +void Frontend::{{event.name}}(
|
| + {%- for parameter in event.parameters %}
|
| + {% if "optional" in parameter -%}
|
| + const Maybe<{{resolve_type(parameter).raw_type}}>&
|
| + {%- else -%}
|
| + {{resolve_type(parameter).pass_type}}
|
| + {%- endif %} {{parameter.name}}{%- if not loop.last -%}, {% endif -%}
|
| + {% endfor -%})
|
| +{
|
| + std::unique_ptr<protocol::DictionaryValue> jsonMessage = DictionaryValue::create();
|
| + jsonMessage->setString("method", "{{domain.domain}}.{{event.name}}");
|
| + std::unique_ptr<protocol::DictionaryValue> paramsObject = DictionaryValue::create();
|
| + {% for parameter in event.parameters %}
|
| + {% if "optional" in parameter %}
|
| + if ({{parameter.name}}.isJust())
|
| + paramsObject->setValue("{{parameter.name}}", toValue({{parameter.name}}.fromJust()));
|
| + {% else %}
|
| + paramsObject->setValue("{{parameter.name}}", toValue({{resolve_type(parameter).to_raw_type % parameter.name}}));
|
| + {% endif %}
|
| + {% endfor %}
|
| + jsonMessage->setObject("params", std::move(paramsObject));
|
| + if (m_frontendChannel)
|
| + m_frontendChannel->sendProtocolNotification(jsonMessage->toJSONString());
|
| +}
|
| + {% endfor %}
|
| +
|
| +} // {{domain.domain}}
|
| {% endfor %}
|
|
|
| } // namespace protocol
|
|
|