Closed Bug 1765652 Opened 2 years ago Closed 2 years ago

Fix netwerk/test/browser/browser_103_telemetry.js with parent controlled loads

Categories

(Core :: Networking, defect, P2)

defect

Tracking

()

RESOLVED FIXED
103 Branch
Tracking Status
firefox103 --- fixed

People

(Reporter: mccr8, Assigned: manuel)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

Attachments

(1 file)

This test fails with browser.tabs.documentchannel.parent-controlled set to true.

netwerk/test/browser/browser_103_telemetry.js
  FAIL unexpected counts should be zero for EH_NUM_OF_HINTS_PER_PAGE at index 0 - 1 == 0 - JS frame :: resource://testing-common/TelemetryTestUtils.jsm :: assertHistogram :: line 302
Stack trace:
resource://testing-common/TelemetryTestUtils.jsm:assertHistogram:302
chrome://mochitests/content/browser/netwerk/test/browser/browser_103_telemetry.js:null:33
  FAIL expected counts should match for EH_NUM_OF_HINTS_PER_PAGE at index 1 - 0 == 1 - JS frame :: resource://testing-common/TelemetryTestUtils.jsm :: assertHistogram :: line 296
Stack trace:
resource://testing-common/TelemetryTestUtils.jsm:assertHistogram:296
chrome://mochitests/content/browser/netwerk/test/browser/browser_103_telemetry.js:null:33
  FAIL unexpected counts should be zero for EH_FINAL_RESPONSE at index 4 - 1 == 0 - JS frame :: resource://testing-common/TelemetryTestUtils.jsm :: assertHistogram :: line 302
Stack trace:
resource://testing-common/TelemetryTestUtils.jsm:assertHistogram:302
chrome://mochitests/content/browser/netwerk/test/browser/browser_103_telemetry.js:null:34
  FAIL Should have found an entry for EH_FINAL_RESPONSE at index 0 - false == true - JS frame :: resource://testing-common/TelemetryTestUtils.jsm :: assertHistogram :: line 309
Stack trace:
resource://testing-common/TelemetryTestUtils.jsm:assertHistogram:309
chrome://mochitests/content/browser/netwerk/test/browser/browser_103_telemetry.js:null:34
  FAIL false == true - JS frame :: chrome://mochitests/content/browser/netwerk/test/browser/browser_103_telemetry.js :: <TOP_LEVEL> :: line 42
Stack trace:
chrome://mochitests/content/browser/netwerk/test/browser/browser_103_telemetry.js:null:42
  FAIL unexpected counts should be zero for EH_FINAL_RESPONSE at index 4 - 1 == 0 - JS frame :: resource://testing-common/TelemetryTestUtils.jsm :: assertHistogram :: line 302
Stack trace:
resource://testing-common/TelemetryTestUtils.jsm:assertHistogram:302
chrome://mochitests/content/browser/netwerk/test/browser/browser_103_telemetry.js:null:92
  FAIL Should have found an entry for EH_FINAL_RESPONSE at index 2 - false == true - JS frame :: resource://testing-common/TelemetryTestUtils.jsm :: assertHistogram :: line 309
Stack trace:
resource://testing-common/TelemetryTestUtils.jsm:assertHistogram:309
chrome://mochitests/content/browser/netwerk/test/browser/browser_103_telemetry.js:null:92

I haven't had a chance to look into it further yet.

Manuel, could you take a look?
Thanks.

Flags: needinfo?(mbucher)

Bug 1721217 fixed a bunch of test failures with parent controlled navigation, so perhaps there's an approach that will work for this test in one of those patches. It is possible that this is detecting an actual issue with the navigation change.

Assignee: nobody → mbucher
Flags: needinfo?(mbucher)
Severity: -- → S4
Priority: -- → P2
Whiteboard: [necko-triaged]

I think we need to allow concurrent loads if the other load originated from an 103 early hint. So the patch might look similar to https://phabricator.services.mozilla.com/D126846

/docshell/base/CanonicalBrowsingContext.cpp#2184-2187

    // If we want to do a download, don't cancel the current navigation.
    if (!aLoad->IsDownload() && !aLoad->IsEarlyHintPreload()) {
      mCurrentLoad->Cancel(NS_BINDING_CANCELLED_OLD_LOAD);
    }
Status: NEW → ASSIGNED

Fixes early hint preloads always getting cancelled with
browser.tabs.documentchannel.parent-controlled set to true

I don't yet understand what the browser.tabs.documentchannel.parent-controlled true should achieve. Therefore I don't know which way of fixing it is the best. Also why does mCurrentLoad seem to be set, even though it is the first load of the page?

I submitted a patch, which could be reasonable, but I'm not sure if it is correct.

Doing it the way explained in #c3 would also work.

@mccr8 I'm going to land this today. So shouldn't block Bug 1746524 anymore. And if landing doesn't work, it would be ok to move on with Bug 1746524. Because this bug currently only disables telemetry.

Pushed by mbucher@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2401a5039495
Fix early hints still preloading with parent controlled loads r=necko-reviewers,kershaw
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 103 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: