Closed Bug 1292503 Opened 5 years ago Closed 5 years ago

Fix e10s issues in resending HTTP requests, enable browser_net_resend.js test

Categories

(DevTools :: Netmonitor, defect)

defect
Not set
normal

Tracking

(e10s+, firefox51 fixed)

RESOLVED FIXED
Firefox 51
Tracking Status
e10s + ---
firefox51 --- fixed

People

(Reporter: jsnajdr, Assigned: jsnajdr)

References

Details

Attachments

(1 file)

In bug 1091612, the browser_net_resend.js test was disabled in e10s, because the resend feature doesn't work 100% in multiprocess mode.

Let's fix the cause and re-enable the test.
Assignee: nobody → jsnajdr
Blocks: 1091612, 1270096
The WebConsoleActor.onSendHTTPRequest method sends a HTTP request, creates an empty NetworkEventActor for it, and returns it to the caller. This way, the caller can associate future network events with the request. [1]

When creating a new NetworkEventActor, the getNetworkEventActor checks if the actor for the request was already created, and returns the already existing one. The key in the this._netEvents map is the nsIChannel. [2]

This works well in single process, where the onNetworkEvent function is called from [3]. However, in e10s, the network events are proxied to the child from the parent, and the call to onNetworkEvent at [4] doesn't know the channel. Therefore, the existing actor is not found and a new one is created.

Since we now have channelId property on the nsIHttpChannel, this is easy to fix. Just use the channelId that is now available both in parent and child. The onNetworkEvent method now needs only one parameter - aEvent. It already has the channelId as a property. The aChannel parameter is no longer needed, and the third one, the networkMonitor instance, was already never used.

[1] http://searchfox.org/mozilla-central/source/devtools/server/actors/webconsole.js#1580-1588
[2] http://searchfox.org/mozilla-central/source/devtools/server/actors/webconsole.js#1548-1554
[3] http://searchfox.org/mozilla-central/source/devtools/shared/webconsole/network-monitor.js#1082
[4] http://searchfox.org/mozilla-central/source/devtools/shared/webconsole/network-monitor.js#1481
Attachment #8778220 - Flags: review?(poirot.alex)
tracking-e10s: --- → ?
Comment on attachment 8778220 [details] [diff] [review]
Fix e10s issues in resending HTTP requests, enable browser_net_resend.js test

Review of attachment 8778220 [details] [diff] [review]:
-----------------------------------------------------------------

Makes a lot of sense. Thanks for the cleanup.
Attachment #8778220 - Flags: review?(poirot.alex) → review+
Keywords: checkin-needed
Pushed by kwierso@gmail.com:
https://hg.mozilla.org/integration/fx-team/rev/100cd15ce84d
Fix e10s issues in resending HTTP requests, enable browser_net_resend.js test r=ochameau
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/100cd15ce84d
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 51
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.