Bug 899054 (dbg-addon)

[meta] Add-on debugging

NEW
Unassigned

Status

()

Firefox
Developer Tools: Debugger
P5
normal
4 years ago
4 months ago

People

(Reporter: ejpbruel, Unassigned)

Tracking

(Depends on: 22 bugs)

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

4 years ago
Now that the remote browser debugger can attach to add-on scripts, it is possible to debug add-ons with it. Doing so is still cumbersome, however, since the browser debugger attaches to all globals regardless of whether they are part of a specific add-on or not. What we want is for the browser debugger to attach to a specific add-on, rather than the entire browser.

In terms of implementation, our proposal is to create a specialization of the chrome thread actor used by the debugger, which we will call an add-on thread actor (bug 898559). In contrast to the chrome thread actor, which adds *all* globals as debuggees, an add-on thread actor only adds globals that are part of a given add-on.

In addition, the root actor should be extended to respond to a request for a list of add-ons by sending a reply containing a list of add-on thread actors, one for each (active) add-on. Clients can then attach to/detach from these add-on thread actors on an individual basis.

The add-on thread actor must be able to tell which globals are part of a given add-on and which are not. To facilitate this, we propose implementing a metadata API (bug 898559) which allows globals to be tagged as such.

Once we've implemented add-on thread actors, we propose to extend the add-on manager UI with an option 'debug this add-on' for each active add-on. Clicking this option will cause the browser debugger to be started for a specific add-on (by passing it the add-on ID as a parameter).
(Reporter)

Updated

4 years ago
Depends on: 899052
(Reporter)

Updated

4 years ago
Depends on: 898559

Updated

4 years ago
Depends on: 898229
Depends on: 911098
Priority: -- → P5
(In reply to Eddy Bruel [:ejpbruel] from comment #1)
> In terms of implementation, our proposal is to create a specialization of
> the chrome thread actor used by the debugger, which we will call an add-on
> thread actor (bug 898559). In contrast to the chrome thread actor, which
> adds *all* globals as debuggees, an add-on thread actor only adds globals
> that are part of a given add-on.

For anyone else reading and being confused like me: I think the bug number was meant to be bug 899052.
Assignee: nobody → rFobic
Assignee: rFobic → jsantell
Depends on: 986108
Depends on: 986586
Depends on: 986755
Depends on: 986838
Depends on: 986853
Depends on: 987890
Depends on: 988661
Alias: addon-dbg
Depends on: 990074
Depends on: 990256
Depends on: 990258
Depends on: 991347
Depends on: 991762
Depends on: 992244
Depends on: 993029
Depends on: 993533
Depends on: 1003252
Depends on: 1005193
Depends on: 1006102
Depends on: 1007428
Depends on: 1007732
Depends on: 1015545
Depends on: 1016046
Assignee: jsantell → nobody
(Reporter)

Updated

3 years ago
Summary: [Meta] Implement an Add-on Debugger → [meta] Add-on debugging
(Reporter)

Updated

3 years ago
Depends on: 953414
(Reporter)

Updated

3 years ago
Depends on: 1065952
(Reporter)

Updated

3 years ago
Depends on: 1011760
(Reporter)

Updated

3 years ago
Alias: addon-dbg → dbg-addon
(Reporter)

Updated

3 years ago
Depends on: 991179
(Reporter)

Updated

3 years ago
Depends on: 1075104
Depends on: 1060093
Depends on: 1075172
Depends on: 1076796
Depends on: 1075185
Depends on: 1106689
(Reporter)

Updated

2 years ago
Depends on: 1112293
(Reporter)

Updated

2 years ago
Depends on: 1027047

Updated

2 years ago
Depends on: 1116160

Updated

2 years ago
Depends on: 1116163
Depends on: 1116113

Updated

2 years ago
No longer depends on: 1116113
Depends on: 1116113

Updated

2 years ago
Depends on: 1116276
Depends on: 1122144
Depends on: 1092270
Depends on: 1191802
Depends on: 1208590
Depends on: 1233407

Updated

a year ago
Depends on: 1211665

Updated

a year ago
Depends on: 1261857
Depends on: 1265636

Updated

10 months ago
Depends on: 1283363
No longer depends on: 1116160
You need to log in before you can comment on or make changes to this bug.