Closed Bug 1477717 Opened 7 years ago Closed 7 years ago

Prototype webextension tracking

Categories

(Toolkit :: Performance Monitoring, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED

People

(Reporter: tarek, Assigned: tarek)

References

Details

(Whiteboard: [perf-tools])

Attachments

(1 file)

Based on bug 1468550 let's build a demo of how web extensions can be tracked. The demo will be a raw HTML that displays WebExtension API usage and track LastPass and Grammarly. Once successful, the next step will be to reuse that work to improve about:performance
Whiteboard: [perf-tools]
Comment on attachment 8994440 [details] Bug 1477717 - Prototype displaying webextension activity https://reviewboard.mozilla.org/r/258992/#review265988 Code analysis found 6 defects in this patch: - 6 defects found by mozlint You can run this analysis locally with: - `./mach lint path/to/file` (JS/Python) If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx ::: toolkit/components/aboutperformance/content/aboutPerformance.js:110 (Diff revision 1) > return null; > } > let tabbrowser = browser.getTabBrowser(); > if (!tabbrowser) > return {tabbrowser: null, > tab: {getAttribute: function() { return ""; }, Error: Expected method shorthand. [eslint: object-shorthand] ::: toolkit/components/aboutperformance/content/aboutPerformance.js:409 (Diff revision 1) > for (let counter of counters) { > let {items, host, windowId, duration, isWorker, isTopLevel} = counter; > if (isWorker && (windowId == 18446744073709552000 || !windowId)) > windowId = 1; > let dispatchCount = 0; > for (let {category, count} of items) { Error: 'category' is assigned a value but never used. [eslint: no-unused-vars] ::: toolkit/components/aboutperformance/content/aboutPerformance.js:472 (Diff revision 1) > + > + for (let [extId, extension] of extensions.entries()) { > + for (let [apiId, counter] of extension.entries()) { > + let row = table.insertRow(-1); > + let name = row.insertCell(0); > + name.innerHTML = extId; Error: Unsafe assignment to innerHTML [eslint: no-unsanitized/property] ::: toolkit/components/aboutperformance/content/aboutPerformance.js:474 (Diff revision 1) > + for (let [apiId, counter] of extension.entries()) { > + let row = table.insertRow(-1); > + let name = row.insertCell(0); > + name.innerHTML = extId; > + let api = row.insertCell(1); > + api.innerHTML = apiId; Error: Unsafe assignment to innerHTML [eslint: no-unsanitized/property] ::: toolkit/components/aboutperformance/content/aboutPerformance.js:476 (Diff revision 1) > + let name = row.insertCell(0); > + name.innerHTML = extId; > + let api = row.insertCell(1); > + api.innerHTML = apiId; > + let calls = row.insertCell(2); > + calls.innerHTML = counter.calls; Error: Unsafe assignment to innerHTML [eslint: no-unsanitized/property] ::: toolkit/components/aboutperformance/content/aboutPerformance.js:478 (Diff revision 1) > + let api = row.insertCell(1); > + api.innerHTML = apiId; > + let calls = row.insertCell(2); > + calls.innerHTML = counter.calls; > + let duration = row.insertCell(3); > + duration.innerHTML = Math.trunc(counter.duration) + " ms"; Error: Unsafe assignment to innerHTML [eslint: no-unsanitized/property]
prototype not needed anymore. The counter has been added in about:performance
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: