Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(223)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sdk/InspectorBackendHostedMode.js

Issue 2466123002: DevTools: reformat front-end code to match chromium style. (Closed)
Patch Set: all done Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4
5 // This should be executed immediately after InspectorBackend and InspectorBacke ndCommands 4 // This should be executed immediately after InspectorBackend and InspectorBacke ndCommands
6 5
7 WebInspector.InspectorBackendHostedMode = {}; 6 WebInspector.InspectorBackendHostedMode = {};
8 7
9 WebInspector.InspectorBackendHostedMode.loadFromJSONIfNeeded = function() 8 WebInspector.InspectorBackendHostedMode.loadFromJSONIfNeeded = function() {
10 { 9 if (InspectorBackend.isInitialized())
11 if (InspectorBackend.isInitialized()) 10 return;
12 return;
13 11
14 for (var url of Object.keys(Runtime.cachedResources)) { 12 for (var url of Object.keys(Runtime.cachedResources)) {
15 if (url.indexOf("protocol.json") !== -1) { 13 if (url.indexOf('protocol.json') !== -1) {
16 var protocol = Runtime.cachedResources[url]; 14 var protocol = Runtime.cachedResources[url];
17 var code = WebInspector.InspectorBackendHostedMode.generateCommands( JSON.parse(protocol)); 15 var code = WebInspector.InspectorBackendHostedMode.generateCommands(JSON.p arse(protocol));
18 eval(code); 16 eval(code);
19 }
20 } 17 }
18 }
21 }; 19 };
22 20
23 /** 21 /**
24 * @param {*} schema 22 * @param {*} schema
25 * @return {string} 23 * @return {string}
26 */ 24 */
27 WebInspector.InspectorBackendHostedMode.generateCommands = function(schema) 25 WebInspector.InspectorBackendHostedMode.generateCommands = function(schema) {
28 { 26 var jsTypes = {integer: 'number', array: 'object'};
29 var jsTypes = { integer: "number", array: "object" }; 27 var rawTypes = {};
30 var rawTypes = {}; 28 var result = [];
31 var result = [];
32 29
33 var domains = schema["domains"] || []; 30 var domains = schema['domains'] || [];
34 for (var i = 0; i < domains.length; ++i) { 31 for (var i = 0; i < domains.length; ++i) {
35 var domain = domains[i]; 32 var domain = domains[i];
36 for (var j = 0; domain.types && j < domain.types.length; ++j) { 33 for (var j = 0; domain.types && j < domain.types.length; ++j) {
37 var type = domain.types[j]; 34 var type = domain.types[j];
38 rawTypes[domain.domain + "." + type.id] = jsTypes[type.type] || type .type; 35 rawTypes[domain.domain + '.' + type.id] = jsTypes[type.type] || type.type;
36 }
37 }
38
39 function toUpperCase(groupIndex, group0, group1) {
40 return [group0, group1][groupIndex].toUpperCase();
41 }
42 function generateEnum(enumName, items) {
43 var members = [];
44 for (var m = 0; m < items.length; ++m) {
45 var value = items[m];
46 var name = value;
47 var prefix = '';
48 if (name[0] === '-') {
49 prefix = 'Negative';
50 name = name.substring(1);
51 }
52 name = name.replace(/-(\w)/g, toUpperCase.bind(null, 1)).toTitleCase();
53 name = name.replace(/HTML|XML|WML|API/ig, toUpperCase.bind(null, 0));
54 members.push(prefix + name + ': "' + value + '"');
55 }
56 return 'InspectorBackend.registerEnum("' + enumName + '", {' + members.join( ', ') + '});';
57 }
58
59 for (var i = 0; i < domains.length; ++i) {
60 var domain = domains[i];
61
62 var types = domain['types'] || [];
63 for (var j = 0; j < types.length; ++j) {
64 var type = types[j];
65 if ((type['type'] === 'string') && type['enum'])
66 result.push(generateEnum(domain.domain + '.' + type.id, type['enum']));
67 else if (type['type'] === 'object') {
68 var properties = type['properties'] || [];
69 for (var k = 0; k < properties.length; ++k) {
70 var property = properties[k];
71 if ((property['type'] === 'string') && property['enum'])
72 result.push(generateEnum(domain.domain + '.' + type.id + property['n ame'].toTitleCase(), property['enum']));
39 } 73 }
74 }
40 } 75 }
41 76
42 function toUpperCase(groupIndex, group0, group1) 77 var commands = domain['commands'] || [];
43 { 78 for (var j = 0; j < commands.length; ++j) {
44 return [group0, group1][groupIndex].toUpperCase(); 79 var command = commands[j];
45 } 80 var parameters = command['parameters'];
46 function generateEnum(enumName, items) 81 var paramsText = [];
47 { 82 for (var k = 0; parameters && k < parameters.length; ++k) {
48 var members = []; 83 var parameter = parameters[k];
49 for (var m = 0; m < items.length; ++m) { 84
50 var value = items[m]; 85 var type;
51 var name = value; 86 if (parameter.type)
52 var prefix = ""; 87 type = jsTypes[parameter.type] || parameter.type;
53 if (name[0] === "-") { 88 else {
54 prefix = "Negative"; 89 var ref = parameter['$ref'];
55 name = name.substring(1); 90 if (ref.indexOf('.') !== -1)
56 } 91 type = rawTypes[ref];
57 name = name.replace(/-(\w)/g, toUpperCase.bind(null, 1)).toTitleCase (); 92 else
58 name = name.replace(/HTML|XML|WML|API/ig, toUpperCase.bind(null, 0)) ; 93 type = rawTypes[domain.domain + '.' + ref];
59 members.push(prefix + name + ": \"" + value + "\"");
60 } 94 }
61 return "InspectorBackend.registerEnum(\"" + enumName + "\", {" + members .join(", ") + "});"; 95
96 var text = '{"name": "' + parameter.name + '", "type": "' + type + '", " optional": ' +
97 (parameter.optional ? 'true' : 'false') + '}';
98 paramsText.push(text);
99 }
100
101 var returnsText = [];
102 var returns = command['returns'] || [];
103 for (var k = 0; k < returns.length; ++k) {
104 var parameter = returns[k];
105 returnsText.push('"' + parameter.name + '"');
106 }
107 var hasErrorData = String(Boolean(command.error));
108 result.push(
109 'InspectorBackend.registerCommand("' + domain.domain + '.' + command.n ame + '", [' + paramsText.join(', ') +
110 '], [' + returnsText.join(', ') + '], ' + hasErrorData + ');');
62 } 111 }
63 112
64 for (var i = 0; i < domains.length; ++i) { 113 for (var j = 0; domain.events && j < domain.events.length; ++j) {
65 var domain = domains[i]; 114 var event = domain.events[j];
66 115 var paramsText = [];
67 var types = domain["types"] || []; 116 for (var k = 0; event.parameters && k < event.parameters.length; ++k) {
68 for (var j = 0; j < types.length; ++j) { 117 var parameter = event.parameters[k];
69 var type = types[j]; 118 paramsText.push('"' + parameter.name + '"');
70 if ((type["type"] === "string") && type["enum"]) 119 }
71 result.push(generateEnum(domain.domain + "." + type.id, type["en um"])); 120 result.push(
72 else if (type["type"] === "object") { 121 'InspectorBackend.registerEvent("' + domain.domain + '.' + event.name + '", [' + paramsText.join(', ') +
73 var properties = type["properties"] || []; 122 ']);');
74 for (var k = 0; k < properties.length; ++k) {
75 var property = properties[k];
76 if ((property["type"] === "string") && property["enum"])
77 result.push(generateEnum(domain.domain + "." + type.id + property["name"].toTitleCase(), property["enum"]));
78 }
79 }
80 }
81
82 var commands = domain["commands"] || [];
83 for (var j = 0; j < commands.length; ++j) {
84 var command = commands[j];
85 var parameters = command["parameters"];
86 var paramsText = [];
87 for (var k = 0; parameters && k < parameters.length; ++k) {
88 var parameter = parameters[k];
89
90 var type;
91 if (parameter.type)
92 type = jsTypes[parameter.type] || parameter.type;
93 else {
94 var ref = parameter["$ref"];
95 if (ref.indexOf(".") !== -1)
96 type = rawTypes[ref];
97 else
98 type = rawTypes[domain.domain + "." + ref];
99 }
100
101 var text = "{\"name\": \"" + parameter.name + "\", \"type\": \"" + type + "\", \"optional\": " + (parameter.optional ? "true" : "false") + "}";
102 paramsText.push(text);
103 }
104
105 var returnsText = [];
106 var returns = command["returns"] || [];
107 for (var k = 0; k < returns.length; ++k) {
108 var parameter = returns[k];
109 returnsText.push("\"" + parameter.name + "\"");
110 }
111 var hasErrorData = String(Boolean(command.error));
112 result.push("InspectorBackend.registerCommand(\"" + domain.domain + "." + command.name + "\", [" + paramsText.join(", ") + "], [" + returnsText.join (", ") + "], " + hasErrorData + ");");
113 }
114
115 for (var j = 0; domain.events && j < domain.events.length; ++j) {
116 var event = domain.events[j];
117 var paramsText = [];
118 for (var k = 0; event.parameters && k < event.parameters.length; ++k ) {
119 var parameter = event.parameters[k];
120 paramsText.push("\"" + parameter.name + "\"");
121 }
122 result.push("InspectorBackend.registerEvent(\"" + domain.domain + ". " + event.name + "\", [" + paramsText.join(", ") + "]);");
123 }
124 } 123 }
125 return result.join("\n"); 124 }
125 return result.join('\n');
126 }; 126 };
127 127
128 WebInspector.InspectorBackendHostedMode.loadFromJSONIfNeeded(); 128 WebInspector.InspectorBackendHostedMode.loadFromJSONIfNeeded();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698