Closed Bug 1620243 Opened 4 years ago Closed 4 years ago

Implement console message listening via the ResourceWatcher API on the actor side

Categories

(DevTools :: Framework, enhancement, P2)

enhancement

Tracking

(Fission Milestone:M6c, firefox79 fixed)

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

People

(Reporter: ochameau, Assigned: ochameau)

References

(Blocks 5 open bugs)

Details

(Whiteboard: dt-fission-m2-mvp)

Attachments

(3 files, 8 obsolete files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review

While bug 1576624 implement a 100% client side version of the Resources API,
which demonstrates that it would work against old Firefox versions.
This bug will focus on implementing this on the actor side.

Implementing it on the actor side would allow:

  • To get rid of the quite complex LegacyImplementations pieces of code introduced in bug 1576624, once this bug reaches Firefox release channel.
  • In coordination to bug 1593937, this will allow listening to resources before the document, process or worker would start executing anything.
Depends on: 1576624, 1620234
Priority: -- → P2
Blocks: 1626647
Whiteboard: dt-fission-m2-mvp

Tracking Fission DevTools bugs for Fission Nightly (M6) milestone

Fission Milestone: --- → M6

This bug will be the first case of server side listening of a resource, applied to console messages.

Summary: Implement resources API on the actor side → Implement console message listening via the ResourceWatcher API on the actor side
Attachment #9131122 - Attachment description: Bug 1620243 - Watch resources from the server side. → Bug 1620243 - Watch console messages resources from the server side.

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

Fission Milestone: M6 → M6c
Assignee: nobody → poirot.alex
Status: NEW → ASSIGNED

This would probably better match a potential followup where we are using
BrowsingContext attributes/events dedicated to DevTools instead of sharedData.

Depends on: 1638910

This is to workaround races when reading/writting sharedData from multiple callsites in the same process.

Attachment #9146322 - Attachment description: Bug 1620243 - Wait for already existing resources → Bug 1620243 - Wait for already existing resources.
Depends on: 1640641

Comment on attachment 9149846 [details]
Bug 1620243 - Instantiate only one ResourceWatcher in the console stubs test.

Revision D75790 was moved to bug 1640641. Setting attachment 9149846 [details] to obsolete.

Attachment #9149846 - Attachment is obsolete: true

Comment on attachment 9151440 [details]
Bug 1620243 - Add resourceType attribute to each resource and emit list of resources.

Revision D76672 was moved to bug 1640641. Setting attachment 9151440 [details] to obsolete.

Attachment #9151440 - Attachment is obsolete: true

I broke logpoints again:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=addc79a6c31a289d9edc56af1133355288a32b42
But if we ignore that, try is green with the latest changes.

Blocks: 1642295
Blocks: 1642296
Blocks: 1642297
Blocks: 1642298
Blocks: 1642599
Attachment #9131122 - Attachment is obsolete: true
Attachment #9146322 - Attachment is obsolete: true
Attachment #9147273 - Attachment is obsolete: true
Attachment #9149847 - Attachment is obsolete: true
Attachment #9150152 - Attachment is obsolete: true

This is an alternative to how I addressed this issue:
https://phabricator.services.mozilla.com/D77441?id=290263#inline-451203

We pass the list of watched resources from the parent process, when calling WatcherActor.watchTargets, instead of relying on sharedData.
So that, sharedData is really only read when the document starts loading, from DevToolsFrameChild.instantiate.
i.e. only where we really have to depend on sharedData.

If you are happy with this patch, I'll merge it into the previous one.

Attachment #9154298 - Attachment is obsolete: true
Blocks: 1573327
Blocks: 1644360
Blocks: 1644398
Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/18c4fee3723c
Pass BrowsingContextTargetActor docShell via its constructor. r=jdescottes
https://hg.mozilla.org/integration/autoland/rev/6700501368b1
Fix the key used for DevToolsFramesChild._connections map. r=jdescottes
https://hg.mozilla.org/integration/autoland/rev/12624e4520a1
Watch console messages resources from the server side. r=nchevobbe,jdescottes
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 79
Blocks: 1650135
Blocks: 1731967
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: