Closed Bug 1603363 Opened 10 months ago Closed 7 months ago

Make the (new) performance panel support target switching


(DevTools :: Performance Tools (Profiler/Timeline), enhancement, P1)



(Fission Milestone:M6, firefox75 fixed)

Firefox 75
Fission Milestone M6
Tracking Status
firefox75 --- fixed


(Reporter: ochameau, Assigned: daisuke)


(Blocks 1 open bug)


(Whiteboard: dt-fission-m2-mvp)


(1 file, 1 obsolete file)

Bug 1565263 landed the TargetList API which helps support switching to another target (as well as supporting the additional remote iframe target).
But we should followup in each tool in order to start using this new API.
The very first goal is to:

  • stop memoizing the target/targetFront and may be also the target scoped front (inspector, console, thread, storage, ...). Instead we should use toolbox.targetList.targetFront in order to query for the current top level target front.
  • support target switching by using TargetList.watchTargets. In a first iteration we would only care about the top level target. In order to do so, we can check for the isTopLevel argument being passed to the two callbacks register to watchTargets:
    ({ type, targetFront, isTopLevel }) => {
      if (isTopLevel) {
        // A new top level target is available
        // This will be fired on toolbox opening, for the first one,
        // And then, evertime we navigate to another process.
        // For now, you would need `` to be set to true
        // And navigate from any http website to about:robots, which loads into the parent process. Or enable Fission and navigate between two distinct top level domains.
    ({ type, targetFront, isTopLevel }) => {
      if (isTopLevel) {
        // A top level target has been destroyed

See bug 1565263 for how we migrated the console or bug 1578242 for the inspector.

We could remove gTarget as it isn't used:
And would ensure that we do not try to use target-scoped fronts. Which are the things to accomodate regarding target-switching.

Otherwise, as the new performance panel is only using parent process/global actors:
There isn't anything to do in order to make it work when we switch to top level target.

Whiteboard: dt-fission-m2-mvp

Tracking dt-fission-m2 bugs for Fission Nightly (M6)

Fission Milestone: --- → M6
Priority: -- → P2
Assignee: nobody → daisuke

Depends on D62702

Priority: P2 → P1
Attachment #9126334 - Attachment is obsolete: true
Pushed by
Get rid of variables that no longer used in new performance panel. r=jdescottes,julienw
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 75
You need to log in before you can comment on or make changes to this bug.