| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 import sys | 6 import sys |
| 7 import string | 7 import string |
| 8 import json | 8 import json |
| 9 | 9 |
| 10 blink_protocol_path = sys.argv[1] | 10 blink_protocol_path = sys.argv[1] |
| 11 output_cc_path = sys.argv[2] | 11 output_cc_path = sys.argv[2] |
| 12 output_h_path = sys.argv[3] | 12 output_h_path = sys.argv[3] |
| 13 | 13 |
| 14 header = """\ | 14 header = """\ |
| 15 // Copyright 2014 The Chromium Authors. All rights reserved. | 15 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 16 // Use of this source code is governed by a BSD-style license that can be | 16 // Use of this source code is governed by a BSD-style license that can be |
| 17 // found in the LICENSE file. | 17 // found in the LICENSE file. |
| 18 | 18 |
| 19 // THIS FILE IS AUTOGENERATED. DO NOT EDIT. | 19 // THIS FILE IS AUTOGENERATED. DO NOT EDIT. |
| 20 // Generated by | 20 // Generated by |
| 21 // content/public/browser/devtools_protocol_handler_generator.py from | 21 // content/browser/devtools/protocol/devtools_protocol_handler_generator.py |
| 22 // gen/blink/core/inspector/protocol.json and | 22 // from gen/blink/core/inspector/protocol.json |
| 23 """ | 23 """ |
| 24 | 24 |
| 25 template_h = string.Template(header + """\ | 25 template_h = string.Template(header + """\ |
| 26 | 26 |
| 27 #ifndef CONTENT_BROWSER_DEVTOOLS_PROTOCOL_DEVTOOLS_PROTOCOL_DISPATCHER_H_ | 27 #ifndef CONTENT_BROWSER_DEVTOOLS_PROTOCOL_DEVTOOLS_PROTOCOL_DISPATCHER_H_ |
| 28 #define CONTENT_BROWSER_DEVTOOLS_PROTOCOL_DEVTOOLS_PROTOCOL_DISPATCHER_H_ | 28 #define CONTENT_BROWSER_DEVTOOLS_PROTOCOL_DEVTOOLS_PROTOCOL_DISPATCHER_H_ |
| 29 | 29 |
| 30 #include <memory> |
| 30 #include <utility> | 31 #include <utility> |
| 31 | 32 |
| 32 #include "base/memory/ptr_util.h" | 33 #include "base/memory/ptr_util.h" |
| 33 #include "content/browser/devtools/protocol/devtools_protocol_client.h" | 34 #include "content/browser/devtools/protocol/devtools_protocol_client.h" |
| 34 | 35 |
| 35 namespace content { | 36 namespace content { |
| 36 | 37 |
| 37 class DevToolsProtocolDispatcher; | 38 class DevToolsProtocolDispatcher; |
| 38 | 39 |
| 39 namespace devtools { | 40 namespace devtools { |
| 40 | 41 |
| 41 extern const char kProtocolVersion[]; | 42 extern const char kProtocolVersion[]; |
| 42 | 43 |
| 43 bool IsSupportedProtocolVersion(const std::string& version); | 44 bool IsSupportedProtocolVersion(const std::string& version); |
| 44 | 45 |
| 45 template<typename T> | 46 template<typename T> |
| 46 base::Value* CreateValue(const T& param) { | 47 std::unique_ptr<base::Value> CreateValue(const T& param) { |
| 47 return new base::FundamentalValue(param); | 48 return base::MakeUnique<base::FundamentalValue>(param); |
| 49 } |
| 50 |
| 51 template<typename T> |
| 52 std::unique_ptr<base::Value> CreateValue(std::unique_ptr<T>& param) { |
| 53 return std::move(param); |
| 48 } | 54 } |
| 49 | 55 |
| 50 template<class T> | 56 template<class T> |
| 51 base::Value* CreateValue(std::unique_ptr<T>& param) { | 57 std::unique_ptr<base::Value> CreateValue(const scoped_refptr<T>& param) { |
| 52 return param.release(); | 58 return param->ToValue(); |
| 53 } | |
| 54 | |
| 55 template<class T> | |
| 56 base::Value* CreateValue(scoped_refptr<T> param) { | |
| 57 return param->ToValue().release(); | |
| 58 } | 59 } |
| 59 | 60 |
| 60 template<typename T> | 61 template<typename T> |
| 61 base::Value* CreateValue(const std::vector<T> param) { | 62 std::unique_ptr<base::Value> CreateValue(const std::vector<T>& param) { |
| 62 base::ListValue* result = new base::ListValue(); | 63 std::unique_ptr<base::ListValue> result(new base::ListValue()); |
| 63 for (auto& item : param) { | 64 for (auto& item : param) { |
| 64 result->Append(CreateValue(item)); | 65 result->Append(CreateValue(item)); |
| 65 } | 66 } |
| 66 return result; | 67 return std::move(result); |
| 67 } | 68 } |
| 68 | 69 |
| 69 template<> | 70 template<> |
| 70 base::Value* CreateValue(const std::string& param); | 71 std::unique_ptr<base::Value> CreateValue(const std::string& param); |
| 71 | 72 |
| 72 ${types}\ | 73 ${types}\ |
| 73 | 74 |
| 74 } // namespace devtools | 75 } // namespace devtools |
| 75 | 76 |
| 76 class DevToolsProtocolDispatcher { | 77 class DevToolsProtocolDispatcher { |
| 77 public: | 78 public: |
| 78 using CommandHandler = | 79 using CommandHandler = |
| 79 base::Callback<bool(DevToolsCommandId, | 80 base::Callback<bool(DevToolsCommandId, |
| 80 std::unique_ptr<base::DictionaryValue>)>; | 81 std::unique_ptr<base::DictionaryValue>)>; |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 277 bool IsSupportedProtocolVersion(const std::string& version) { | 278 bool IsSupportedProtocolVersion(const std::string& version) { |
| 278 std::vector<base::StringPiece> tokens = base::SplitStringPiece( | 279 std::vector<base::StringPiece> tokens = base::SplitStringPiece( |
| 279 version, ".", base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY); | 280 version, ".", base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY); |
| 280 int major, minor; | 281 int major, minor; |
| 281 return tokens.size() == 2 && | 282 return tokens.size() == 2 && |
| 282 base::StringToInt(tokens[0], &major) && major == ${major} && | 283 base::StringToInt(tokens[0], &major) && major == ${major} && |
| 283 base::StringToInt(tokens[1], &minor) && minor <= ${minor}; | 284 base::StringToInt(tokens[1], &minor) && minor <= ${minor}; |
| 284 } | 285 } |
| 285 | 286 |
| 286 template<> | 287 template<> |
| 287 base::Value* CreateValue(const std::string& param) { | 288 std::unique_ptr<base::Value> CreateValue(const std::string& param) { |
| 288 return new base::StringValue(param); | 289 return base::MakeUnique<base::StringValue>(param); |
| 289 } | 290 } |
| 290 | 291 |
| 291 ${types}\ | 292 ${types}\ |
| 292 | 293 |
| 293 } // namespace devtools | 294 } // namespace devtools |
| 294 | 295 |
| 295 } // namespace content | 296 } // namespace content |
| 296 """) | 297 """) |
| 297 | 298 |
| 298 tmpl_include = string.Template("""\ | 299 tmpl_include = string.Template("""\ |
| (...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 795 output_h_file.close() | 796 output_h_file.close() |
| 796 | 797 |
| 797 output_cc_file.write(template_cc.substitute({}, | 798 output_cc_file.write(template_cc.substitute({}, |
| 798 major = blink_protocol["version"]["major"], | 799 major = blink_protocol["version"]["major"], |
| 799 minor = blink_protocol["version"]["minor"], | 800 minor = blink_protocol["version"]["minor"], |
| 800 includes = "".join(sorted(includes)), | 801 includes = "".join(sorted(includes)), |
| 801 fields_init = ",\n ".join(fields_init), | 802 fields_init = ",\n ".join(fields_init), |
| 802 methods = "\n".join(handler_method_impls), | 803 methods = "\n".join(handler_method_impls), |
| 803 types = "\n".join(type_impls))) | 804 types = "\n".join(type_impls))) |
| 804 output_cc_file.close() | 805 output_cc_file.close() |
| OLD | NEW |