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

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

Issue 2124203002: DevTools: copy protocol files to front-end to fix hosted mode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 5 months 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 4
5 // This should be executed immediately after InspectorBackend and InspectorBacke ndCommands 5 // This should be executed immediately after InspectorBackend and InspectorBacke ndCommands
6 6
7 WebInspector.InspectorBackendHostedMode = {}; 7 WebInspector.InspectorBackendHostedMode = {};
8 8
9 /** 9 /**
10 * @param {string} jsonUrl 10 * @param {!Array<string>} urls
11 * @return {?Promise}
11 */ 12 */
12 WebInspector.InspectorBackendHostedMode.loadFromJSONIfNeeded = function(jsonUrl) 13 WebInspector.InspectorBackendHostedMode.loadFromJSONIfNeeded = function(urls)
13 { 14 {
14 if (InspectorBackend.isInitialized()) 15 if (InspectorBackend.isInitialized())
15 return; 16 return null;
16 17
17 var xhr = new XMLHttpRequest(); 18 var promises = urls.map(url => loadURL(url));
18 xhr.open("GET", jsonUrl, false); 19 return Promise.all(promises);
19 xhr.send(null);
20 20
21 var schema = JSON.parse(xhr.responseText); 21 /**
22 var code = WebInspector.InspectorBackendHostedMode.generateCommands(schema); 22 * @param {string} url
23 eval(code); 23 * @return {!Promise}
24 */
25 function loadURL(url)
26 {
27 return fetch(url)
28 .then(response => response.text())
pfeldman 2016/07/07 23:25:44 I consider this an anti-pattern. Sync code should
29 .then(schema => WebInspector.InspectorBackendHostedMode.generateComm ands(JSON.parse(schema)))
30 .then(code => eval(code));
31 }
24 } 32 }
25 33
26 /** 34 /**
27 * @param {*} schema 35 * @param {*} schema
28 * @return {string} 36 * @return {string}
29 */ 37 */
30 WebInspector.InspectorBackendHostedMode.generateCommands = function(schema) 38 WebInspector.InspectorBackendHostedMode.generateCommands = function(schema)
31 { 39 {
32 var jsTypes = { integer: "number", array: "object" }; 40 var jsTypes = { integer: "number", array: "object" };
33 var rawTypes = {}; 41 var rawTypes = {};
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 for (var k = 0; event.parameters && k < event.parameters.length; ++k ) { 123 for (var k = 0; event.parameters && k < event.parameters.length; ++k ) {
116 var parameter = event.parameters[k]; 124 var parameter = event.parameters[k];
117 paramsText.push("\"" + parameter.name + "\""); 125 paramsText.push("\"" + parameter.name + "\"");
118 } 126 }
119 result.push("InspectorBackend.registerEvent(\"" + domain.domain + ". " + event.name + "\", [" + paramsText.join(", ") + "]);"); 127 result.push("InspectorBackend.registerEvent(\"" + domain.domain + ". " + event.name + "\", [" + paramsText.join(", ") + "]);");
120 } 128 }
121 } 129 }
122 return result.join("\n"); 130 return result.join("\n");
123 } 131 }
124 132
125 WebInspector.InspectorBackendHostedMode.loadFromJSONIfNeeded("../inspector.json" ); 133 WebInspector.InspectorBackendHostedMode.loadFromJSONIfNeeded([
134 "../sdk/protocol/browser_protocol.json",
135 "../sdk/protocol/js_protocol.json"
136 ]);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698