| Index: content/browser/devtools/protocol/devtools_protocol_handler_generator.py
|
| diff --git a/content/browser/devtools/protocol/devtools_protocol_handler_generator.py b/content/browser/devtools/protocol/devtools_protocol_handler_generator.py
|
| index 6bce71e604749801f63191a919c7c24633d9630f..3b003953fcbbb1358db9519c9538735065d2da1a 100755
|
| --- a/content/browser/devtools/protocol/devtools_protocol_handler_generator.py
|
| +++ b/content/browser/devtools/protocol/devtools_protocol_handler_generator.py
|
| @@ -76,7 +76,7 @@ class DevToolsProtocolDispatcher {
|
| public:
|
| using Notifier = DevToolsProtocolClient::RawMessageCallback;
|
| using CommandHandler =
|
| - base::Callback<bool(int, scoped_ptr<base::DictionaryValue>)>;
|
| + base::Callback<bool(int, int, scoped_ptr<base::DictionaryValue>)>;
|
|
|
| explicit DevToolsProtocolDispatcher(const Notifier& notifier);
|
| ~DevToolsProtocolDispatcher();
|
| @@ -223,6 +223,7 @@ tmpl_event = string.Template("""\
|
|
|
| tmpl_response = string.Template("""\
|
| void Send${Command}Response(
|
| + int session_id,
|
| DevToolsCommandId command_id,
|
| scoped_refptr<${Command}Response> params);
|
| """)
|
| @@ -234,6 +235,7 @@ tmpl_setter = string.Template("""\
|
|
|
| tmpl_callback = string.Template("""\
|
| bool On${Domain}${Command}(
|
| + int session_id,
|
| DevToolsCommandId command_id,
|
| scoped_ptr<base::DictionaryValue> params);
|
| """)
|
| @@ -323,18 +325,18 @@ tmpl_init_client = string.Template("""\
|
|
|
| tmpl_callback_impl = string.Template("""\
|
| bool DevToolsProtocolDispatcher::On${Domain}${Command}(
|
| - DevToolsCommandId command_id,
|
| + int session_id, DevToolsCommandId command_id,
|
| scoped_ptr<base::DictionaryValue> params) {
|
| ${prep}\
|
| Response response = ${domain}_handler_->${Command}(${args});
|
| scoped_ptr<base::DictionaryValue> protocol_response;
|
| - if (client_.SendError(command_id, response))
|
| + if (client_.SendError(session_id, command_id, response))
|
| return true;
|
| if (response.IsFallThrough())
|
| return false;
|
| scoped_ptr<base::DictionaryValue> result(new base::DictionaryValue());
|
| ${wrap}\
|
| - client_.SendSuccess(command_id, result.Pass());
|
| + client_.SendSuccess(session_id, command_id, result.Pass());
|
| return true;
|
| }
|
| """)
|
| @@ -345,11 +347,12 @@ tmpl_wrap = string.Template("""\
|
|
|
| tmpl_callback_async_impl = string.Template("""\
|
| bool DevToolsProtocolDispatcher::On${Domain}${Command}(
|
| + int session_id,
|
| DevToolsCommandId command_id,
|
| scoped_ptr<base::DictionaryValue> params) {
|
| ${prep}\
|
| Response response = ${domain}_handler_->${Command}(${args});
|
| - if (client_.SendError(command_id, response))
|
| + if (client_.SendError(session_id, command_id, response))
|
| return true;
|
| return !response.IsFallThrough();
|
| }
|
| @@ -358,7 +361,7 @@ ${prep}\
|
| tmpl_prep_req = string.Template("""\
|
| ${raw_type} in_${param}${init};
|
| if (!params || !params->Get${Type}("${proto_param}", &in_${param})) {
|
| - client_.SendError(command_id, Response::InvalidParams("${proto_param}"));
|
| + client_.SendError(session_id, command_id, Response::InvalidParams("${proto_param}"));
|
| return true;
|
| }
|
| """)
|
| @@ -366,7 +369,7 @@ tmpl_prep_req = string.Template("""\
|
| tmpl_prep_req_list = string.Template("""\
|
| base::ListValue* list_${param} = nullptr;
|
| if (!params || !params->GetList("${proto_param}", &list_${param})) {
|
| - client_.SendError(command_id, Response::InvalidParams("${proto_param}"));
|
| + client_.SendError(session_id, command_id, Response::InvalidParams("${proto_param}"));
|
| return true;
|
| }
|
| std::vector<${item_type}> in_${param};
|
| @@ -374,7 +377,7 @@ tmpl_prep_req_list = string.Template("""\
|
| list_${param}->begin(); it != list_${param}->end(); ++it) {
|
| ${item_raw_type} item;
|
| if (!(*it)->GetAs${ItemType}(&item)) {
|
| - client_.SendError(command_id, Response::InvalidParams("${proto_param}"));
|
| + client_.SendError(session_id, command_id, Response::InvalidParams("${proto_param}"));
|
| return true;
|
| }
|
| in_${param}.push_back(${item_pass});
|
| @@ -427,9 +430,10 @@ void Client::${Command}(
|
|
|
| tmpl_response_impl = string.Template("""\
|
| void Client::Send${Command}Response(
|
| + int session_id,
|
| DevToolsCommandId command_id,
|
| scoped_refptr<${Command}Response> params) {
|
| - SendSuccess(command_id, params->ToValue().Pass());
|
| + SendSuccess(session_id, command_id, params->ToValue().Pass());
|
| }
|
| """)
|
|
|
| @@ -708,7 +712,8 @@ for json_domain in all_domains:
|
| # TODO(vkuzkokov) Pass async callback instance similar to how
|
| # InspectorBackendDispatcher does it. This, however, can work
|
| # only if Blink and Chrome are in the same repo.
|
| - args.insert(0, "command_id")
|
| + args.insert(0, "session_id")
|
| + args.insert(1, "command_id")
|
| handler_method_impls.append(
|
| tmpl_callback_async_impl.substitute(command_map,
|
| prep = "".join(prep),
|
|
|