Closed Bug 1625957 Opened 8 months ago Closed 6 months ago

Use the ResourceWatcher API to fetch CSS Changes

Categories

(DevTools :: Inspector: Changes, task, P2)

task

Tracking

(Fission Milestone:M6c, firefox79 fixed)

RESOLVED FIXED
Firefox 79
Fission Milestone M6c
Tracking Status
firefox79 --- fixed

People

(Reporter: ochameau, Assigned: daisuke)

References

(Blocks 1 open bug, Regressed 1 open bug)

Details

(Whiteboard: dt-fission-m2-mvp)

Attachments

(4 files)

Bug 1576624 introduced the ResourceWatcher API, accessible via toolbox.resourceWatcher. This API will help listen to data that is being created early, when the document just started loading.

We should migrate the whole DevTools codebase to this API for any data that:

  • DevTools frontend listen to, or care about,
    and,
  • may be created or be notified early, when the document just starts being loaded.
    This data will typically be: console messages, errors, warnings, sources, Root element NodeFront, storage values, network events, stylesheets, ...

We are typically not going to use this API for:

  • data being fetched on-demand, from user's input. For ex: webconsole evaluation input, or, DOM element expands from the Markup view.
  • events which we only want to record when the user cares about them. For ex: animation events.

For some more high level context, please have a look at Migration to Fission-compatible APIs, which describes all Fission-related refactorings.

The typical task for this bug will be about migrating code that:

  • start listening and register a RDP event listener,
  • retrieve already existings data,
    from panel's codebase, to the ResourceWatcher module, in the LegacyListener object.
    And then, the panel should use the ResourceWatcher instead.

Bug 1620234 is a good example of such migration, applied to Console Messages.
Bug 1623699 is also useful example as it demonstrates how to write tests for such migration.

This bug is about focusing on only one usecase: the CSS changes.

We do request already existing changes, and start listening for the next ones from here:
https://searchfox.org/mozilla-central/rev/9c6e7500c0015a2c60be7b1b888261d95095ce27/devtools/client/inspector/compatibility/CompatibilityView.js#157-165

Summary: Use the ResourceWatcher API to fetch WebSocket data → Use the ResourceWatcher API to fetch CSS Changes
Component: Netmonitor → Inspector: Changes

Tracking Fission DevTools bugs for Fission Nightly (M6) milestone

Fission Milestone: --- → M6
Blocks: 1626645
Assignee: nobody → daisuke
Status: NEW → ASSIGNED

Depends on D74599

Depends on: 1637641

Tracking dt-fission-m2-mvp bugs for Fission Nightly milestone (M6c)

Fission Milestone: M6 → M6c
Blocks: 1644194
Pushed by dakatsuka.birchill@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e540c9937a31
Implement ResourceWatcher for CSS changes. r=ochameau,rcaliman
https://hg.mozilla.org/integration/autoland/rev/8520caa244e1
Use ResourceWatcher in Changes view. r=ochameau,rcaliman
https://hg.mozilla.org/integration/autoland/rev/7d796f50c69f
Use ResourceWatcher in Compatibility view. r=ochameau,rcaliman
https://hg.mozilla.org/integration/autoland/rev/6d6323e559cb
Add ResourceWatcher test for CSS changes. r=ochameau,rcaliman
Regressions: 1645301
Flags: needinfo?(daisuke)
Pushed by dakatsuka.birchill@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2c71a91762d3
Implement ResourceWatcher for CSS changes. r=ochameau,rcaliman
https://hg.mozilla.org/integration/autoland/rev/dfd589598959
Use ResourceWatcher in Changes view. r=ochameau,rcaliman
https://hg.mozilla.org/integration/autoland/rev/f3982a7f1771
Use ResourceWatcher in Compatibility view. r=ochameau,rcaliman
https://hg.mozilla.org/integration/autoland/rev/e860655e21e7
Add ResourceWatcher test for CSS changes. r=ochameau,rcaliman
See Also: → 1652414
Regressions: 1656477
You need to log in before you can comment on or make changes to this bug.