Open
Bug 1316741
Opened 8 years ago
Updated 1 year ago
Implement chrome.debugger to let extensions use remote debugging protocol
Categories
(WebExtensions :: Developer Tools, task, P3)
WebExtensions
Developer Tools
Tracking
(Not tracked)
NEW
People
(Reporter: Harald, Unassigned)
References
(Blocks 1 open bug, )
Details
(Whiteboard: triaged)
https://developer.chrome.com/extensions/debugger
My use case is an addon that continuously collects profiles for page load for analysis.
Another use case is Lighthouse, which uses the remote debugging protocol to control the browser and collect profiling information: https://github.com/GoogleChrome/lighthouse/tree/master/lighthouse-extension
Reporter | ||
Comment 1•8 years ago
|
||
Jim might have some insights into how this can work and if it makes sense to provide, effectively providing better compatibility for web extensions.
Flags: needinfo?(jimb)
Updated•8 years ago
|
Component: WebExtensions: Compatibility → WebExtensions: Developer Tools
Comment 2•8 years ago
|
||
reopening bug 1241448 - but Luca looking at now due to use case and progress. one expose are protocol (dev tools related) and two add an adapter. different priorities on two bugs.
will set priority next week based on luca's input.
Flags: needinfo?(lgreco)
Comment 3•8 years ago
|
||
That API seems to provide a way to send Chrome protocol packets to the debuggee. We don't yet have a Chrome protocol server, so this isn't feasible to implement. However, we do plan to transition the JavaScript debugger to the Chrome protocol (and share the server code between Servo and Gecko). Once that is done, this might make sense to pursue, since it will simply be offering access to something we've already implemented.
The transition to the Chrome protocol is expected to take place in 2017. Our plans to provide a JS debugger for Servo depend on it.
Flags: needinfo?(jimb)
Comment 4•8 years ago
|
||
We recently discussed about the chrome.debugger API again and I was going to open a new bugzilla issue related to implementing the debugger API to provide our debugging protocol, which do not cover the Chrome compatibility side of this API, but it can be useful to help the transition of existent Firefox add-ons into WebExtensions (e.g. all the Firebug addons are already using our RDP protocol directly)
Given the plans for implementing the Chrome debugging protocol, I think that we can:
- re-open Bug 1241448 (which was explicitly related to the Chrome compatibility part) and add to it the "tracking bug" of the "Chrome Debugging protocol implementation" as a dependency
- use this bugzilla issue to start discussing and implementing an initial version of the debugger API which will provide our current RDP protocol (and the we will add support for the Chrome debugging procotol as part of Bug 1241448, once its dependencies have been landed).
Flags: needinfo?(lgreco)
Comment 5•8 years ago
|
||
Thanks Jim,
is there already a tracking bugzilla issue for it?
(related to the Chrome debugging protocol server)
Flags: needinfo?(jimb)
Comment 6•8 years ago
|
||
I just filed bug 1323098 to serve as a tracking bug for all debugger-related Chrome protocol support work.
Flags: needinfo?(jimb)
Updated•8 years ago
|
Priority: -- → P3
Whiteboard: triaged
If we add support for this, I request that we make it usable with both the Chrome and Firefox debugging protocols by passing an optional 'protocol' parameter of type 'String' to the 'target' parameter in the 'attach' function.
The 'protocol' parameter would have the following values as valid (in Firefox):
- 'chrome' (default) - Specifies that this extension wants to receive debugging events using the Chrome Debugging Protocol
- 'firefox' - Specifies that this extension wants to receive debugging events using the Firefox Debugging Protocol
One reason for this is to make it easier for legacy Firefox debugging add-ons using the Firefox Debugging Protocol would be able to keep using the Firefox Debugging Protocol during the Embedded WebExtension stage of porting without needing to translate to/from the Chrome Debugging Protocol when passing information between the legacy portion and the Embedded WebExtension portion.
Another reason is so that there is some competition in the debugging protocol area, thus preventing stagnation.
Other browser vendors will be allowed to add their own protocols to this (but these two, or at least 'chrome' should be standard).
Comment 9•7 years ago
|
||
Hi, do we have a timeline for this issue?
Comment 10•7 years ago
|
||
No timeline for making this happen yet. We're interested but not yet committed.
Comment 11•7 years ago
|
||
Many folks in the industry would like to see this for cross-browser integration testing efforts. These folks are currently using puppeteer, which only tests Chrome today. With some work we could leverage the same code to test across multiple browser environments without having to resort to using a heavy-weight solution like Selenium.
Blocks: webextensions-chrome-gaps
Updated•6 years ago
|
Product: Toolkit → WebExtensions
Comment 12•5 years ago
|
||
Any news in this area? Thread created 3 years ago, and I see that community is trying to handle this missing API: https://github.com/puppeteer/juggler
Updated•5 years ago
|
Updated•5 years ago
|
Type: defect → task
Comment 13•5 years ago
|
||
Any news on this Bug?
My use case is an addon that automate the page as testing tool. We need the debugger to listen to events like Page.javascriptDialogOpening, Page.javascriptDialogClosed and etc.
Reporter | ||
Comment 14•5 years ago
|
||
DevTools has currently no plans to enable this API; while https://bugzilla.mozilla.org/show_bug.cgi?id=puppeteer might get us partway there. I would recommend finding other ways to control dialogs meanwhile.
Updated•2 years ago
|
Severity: normal → S3
Updated•1 year ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•