Skip to content

Commit b640adc

Browse files
Lightning00BladeDevtools-frontend LUCI CQ
authored andcommitted
Add types to devtools_compatibility.js
Effectively relands https://crrev.com/c/7079428, And fixes some more types. Bug: 454321652 Change-Id: I61479d730d0a81b488b887a3fbf9f0e4cf8b0f2b Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/7079134 Auto-Submit: Nikolay Vitkov <[email protected]> Commit-Queue: Nikolay Vitkov <[email protected]> Reviewed-by: Alex Rudenko <[email protected]>
1 parent 4975c35 commit b640adc

File tree

2 files changed

+38
-24
lines changed

2 files changed

+38
-24
lines changed

front_end/core/host/InspectorFrontendHost.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,12 @@ class InspectorFrontendAPIImpl {
601601
}
602602
}
603603

604+
/**
605+
* Used in `front_end/devtools_compatibility.js` to verify that calls from there
606+
* are valid.
607+
*/
608+
export type InspectorFrontendAPIImplMethods = keyof InspectorFrontendAPIImpl;
609+
604610
(function(): void {
605611

606612
function initializeInspectorFrontendHost(): void {

front_end/devtools_compatibility.js

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,13 @@
77
// https://crsrc.org/c/third_party/blink/renderer/controller/dev_tools_frontend_impl.cc;l=107
88
(window => {
99
/**
10+
* A function that tries to check the remotely connected instance
11+
* major version. You should check against this to provide
12+
* forward and backwards compatibility.
13+
*
1014
* @returns {number|null}
1115
*/
16+
1217
function getRemoteMajorVersion() {
1318
try {
1419
const remoteVersion = new URLSearchParams(window.location.search).get('remoteVersion');
@@ -97,7 +102,9 @@
97102
}
98103

99104
/**
100-
* @param method
105+
* @typedef {import('./core/host/InspectorFrontendHostAPI.js').Events} Events
106+
* @typedef {import('./core/host/InspectorFrontendHost.js').InspectorFrontendAPIImplMethods} Methods
107+
* @param {`${Events|Methods}`} method
101108
* @param args
102109
*/
103110
_dispatchOnInspectorFrontendAPI(method, args) {
@@ -114,7 +121,7 @@
114121
// API methods below this line --------------------------------------------
115122

116123
/**
117-
* @param extensions {ExtensionDescriptor[]}
124+
* @param {ExtensionDescriptor[]} extensions
118125
*/
119126
addExtensions(extensions) {
120127
// The addExtensions command is sent as the onload event happens for
@@ -128,7 +135,7 @@
128135
}
129136

130137
/**
131-
* @param forbiddenOrigins {string[]}
138+
* @param {string[]} forbiddenOrigins
132139
*/
133140
setOriginsForbiddenForExtensions(forbiddenOrigins) {
134141
this._originsForbiddenForExtensions = forbiddenOrigins;
@@ -142,14 +149,14 @@
142149
}
143150

144151
/**
145-
* @param url {string}
152+
* @param {string} url
146153
*/
147154
appendedToURL(url) {
148155
this._dispatchOnInspectorFrontendAPI('appendedToURL', [url]);
149156
}
150157

151158
/**
152-
* @param url {string}
159+
* @param {string} url
153160
*/
154161
canceledSaveURL(url) {
155162
this._dispatchOnInspectorFrontendAPI('canceledSaveURL', [url]);
@@ -167,7 +174,7 @@
167174
}
168175

169176
/**
170-
* @param count
177+
* @param {number} count
171178
*/
172179
deviceCountUpdated(count) {
173180
this._dispatchOnInspectorFrontendAPI('deviceCountUpdated', [count]);
@@ -287,7 +294,7 @@
287294
}
288295

289296
/**
290-
* @param callback {(param: object) => unknown}
297+
* @param {(param: object) => unknown} callback
291298
*/
292299
setAddExtensionCallback(callback) {
293300
this._addExtensionCallback = callback;
@@ -298,7 +305,7 @@
298305
}
299306

300307
/**
301-
* @param hard {boolean}
308+
* @param {boolean} hard
302309
*/
303310
reloadInspectedPage(hard) {
304311
this._dispatchOnInspectorFrontendAPI('reloadInspectedPage', [hard]);
@@ -335,7 +342,7 @@
335342
}
336343

337344
/**
338-
* @param tabId {string}
345+
* @param {string} tabId
339346
*/
340347
setInspectedTabId(tabId) {
341348
this._inspectedTabIdValue = tabId;
@@ -344,7 +351,7 @@
344351
}
345352

346353
/**
347-
* @param targetId {string}
354+
* @param {string} targetId
348355
*/
349356
setInitialTargetId(targetId) {
350357
this._setInitialTargetId(targetId);
@@ -358,30 +365,30 @@
358365
}
359366

360367
/**
361-
* @param useSoftMenu {boolean}
368+
* @param {boolean} useSoftMenu
362369
*/
363370
setUseSoftMenu(useSoftMenu) {
364371
this._dispatchOnInspectorFrontendAPI('setUseSoftMenu', [useSoftMenu]);
365372
}
366373

367374
/**
368-
* @param panelName {string}
375+
* @param {string} panelName
369376
*/
370377
showPanel(panelName) {
371378
this._dispatchOnInspectorFrontendAPI('showPanel', [panelName]);
372379
}
373380

374381
/**
375-
* @param id {number}
376-
* @param chunk {string}
377-
* @param encoded {boolean}
382+
* @param {number} id
383+
* @param {string} chunk
384+
* @param {boolean} encoded
378385
*/
379386
streamWrite(id, chunk, encoded) {
380387
this._dispatchOnInspectorFrontendAPI('streamWrite', [id, encoded ? this._decodeBase64(chunk) : chunk]);
381388
}
382389

383390
/**
384-
* @param chunk {string}
391+
* @param {string} chunk
385392
* @returns {string}
386393
*/
387394
_decodeBase64(chunk) {
@@ -516,15 +523,15 @@
516523

517524
/**
518525
* @param trigger
519-
* @param callback {(param: object) => unknown}
526+
* @param {(param: object) => unknown} callback
520527
*/
521528
showSurvey(trigger, callback) {
522529
DevToolsAPI.sendMessageToEmbedder('showSurvey', [trigger], callback);
523530
}
524531

525532
/**
526533
* @param trigger
527-
* @param callback {(param: object) => unknown}
534+
* @param {(param: object) => unknown} callback
528535
*/
529536
canShowSurvey(trigger, callback) {
530537
DevToolsAPI.sendMessageToEmbedder('canShowSurvey', [trigger], callback);
@@ -546,7 +553,7 @@
546553
* @param url
547554
* @param headers
548555
* @param streamId
549-
* @param callback {(param: object) => unknown}
556+
* @param {(param: object) => unknown} callback
550557
*/
551558
loadNetworkResource(url, headers, streamId, callback) {
552559
DevToolsAPI.sendMessageToEmbedder('loadNetworkResource', [url, headers, streamId], callback);
@@ -561,15 +568,15 @@
561568
}
562569

563570
/**
564-
* @param callback {(param: object) => unknown}
571+
* @param {(param: object) => unknown} callback
565572
*/
566573
getPreferences(callback) {
567574
DevToolsAPI.sendMessageToEmbedder('getPreferences', [], callback);
568575
}
569576

570577
/**
571578
* @param name
572-
* @param callback {(param: object) => unknown}
579+
* @param {(param: object) => unknown} callback
573580
*/
574581
getPreference(name, callback) {
575582
DevToolsAPI.sendMessageToEmbedder('getPreference', [name], callback);
@@ -709,9 +716,10 @@
709716
}
710717

711718
/**
712-
* @param url
719+
* @param {string} _url
713720
*/
714-
close(url) {
721+
close(_url) {
722+
// This is required when InspectorFrontendHostStub is used
715723
}
716724

717725
/**
@@ -1136,7 +1144,7 @@
11361144
]);
11371145

11381146
/**
1139-
* @param keyCode {number}
1147+
* @param {number} keyCode
11401148
* @returns
11411149
*/
11421150
function keyCodeToKeyIdentifier(keyCode) {

0 commit comments

Comments
 (0)