Closed Bug 1583700 Opened 3 months ago Closed 2 months ago

Enable DocumentChannel by default in Nightly

Categories

(Core :: Networking, task, P2)

task

Tracking

()

RESOLVED FIXED
mozilla72
Fission Milestone M4
Tracking Status
firefox72 --- fixed

People

(Reporter: neha, Assigned: mattwoodrow)

References

(Depends on 3 open bugs, Blocks 1 open bug, Regressed 4 open bugs, Regression)

Details

(Whiteboard: [necko-triaged])

Attachments

(8 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
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review

This is to track pref'ing ON DocumentChannel (browser.tabs.documentchannel) by default.

Depends on: 1556489, 1456995
Priority: -- → P2
Whiteboard: [necko-triaged]

We want this to run in both processes so that we set the cspToInherit on the LoadInfo within the child as well as the parent.

Depends on D47356

Assignee: nobody → matt.woodrow
Status: NEW → ASSIGNED
Attachment #9096851 - Attachment is obsolete: true
Depends on: 1587719
Attachment #9096851 - Attachment is obsolete: false
Depends on: 1588154
Depends on: 1588899
Depends on: 1589982
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b9d06db6d43c
Enable DocumentChannel by default. r=nika
https://hg.mozilla.org/integration/autoland/rev/cfb571dd120a
Move CSP setup code to run in both processes. r=nika,ckerschb,mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/015ec42c311a
Make DocumentChannelParent::HasCrossOriginOpenerPolicyMismatch return the union of the state from all channels we redirected through. r=nika
https://hg.mozilla.org/integration/autoland/rev/41e07201a158
Update WPT expectations. r=perry
https://hg.mozilla.org/integration/autoland/rev/dc9e317da307
Pass the loading context of the cspToInherit when deserializing LoadInfo, since this isn't necessarily the same as the loading context of the LoadInfo. r=ckerschb
https://hg.mozilla.org/integration/autoland/rev/c662a369062f
Create a new ClientSource from a parent-allocated ClientInfo even for same-origin redirects, since there might have been a prior cross-origin redirect. r=perry,asuth
https://hg.mozilla.org/integration/autoland/rev/48ceb0dd5d09
Copy hasNonEmptySandboxingFlags across with DocumentChannel so that it can be set on the nHttpChannel in the parent. r=JuniorHsu,valentin
Fission Milestone: --- → M4

Backed out 7 changesets (Bug 1583700) for causing raptor dom failures.

Backout link: https://hg.mozilla.org/integration/autoland/rev/1800de9be60f5747964112065197010207bfde87

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&searchStr=linux%2Cx64%2Cshippable%2Copt%2Craptor%2Cperformance%2Ctests%2Con%2Cfirefox%2Ctest-linux64-shippable%2Fopt-raptor-assorted-dom-firefox-e10s%2Crap%28dom%29&fromchange=ef22242bd8198887b592a40e09fb9fc851732d58&tochange=e528f32390b25793f780b90f05e943dd3c02065d&selectedJob=272299379

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=272299379&repo=autoland&lineNumber=950

[task 2019-10-22T00:19:18.755Z] 00:19:18 INFO - raptor-control-server Info: received webext_raptor-page-timeout: [u'raptor-assorted-dom-firefox', u'http://127.0.0.1:37263/assorted-dom/assorted/driver.html?raptor']
[task 2019-10-22T00:19:18.755Z] 00:19:18 INFO - PID 3484 | console.error: "raptor-page-timeout on http://127.0.0.1:37263/assorted-dom/assorted/driver.html?raptor"
[task 2019-10-22T00:19:18.755Z] 00:19:18 INFO - PID 3484 | console.log: "[raptor-runnerjs] posting to control server"
[task 2019-10-22T00:19:18.755Z] 00:19:18 INFO - PID 3484 | console.log: "[raptor-runnerjs] raptor-assorted-dom-firefox,http://127.0.0.1:37263/assorted-dom/assorted/driver.html?raptor"
[task 2019-10-22T00:19:18.755Z] 00:19:18 INFO - PID 3484 | console.log: "[raptor-runnerjs] capturing screenshot"
[task 2019-10-22T00:19:18.755Z] 00:19:18 INFO - PID 3484 | console.log: "[raptor-runnerjs] post success"
[task 2019-10-22T00:19:18.791Z] 00:19:18 INFO - raptor-control-server Info: received webext_screenshot
[task 2019-10-22T00:19:18.791Z] 00:19:18 INFO - perftest-results-handler Info: received screenshot
<...>
[task 2019-10-22T00:19:20.822Z] 00:19:20 ERROR - raptor-main Critical: TEST-UNEXPECTED-FAIL: no raptor test results were found for raptor-assorted-dom-firefox
[task 2019-10-22T00:19:20.891Z] 00:19:20 ERROR - Return code: 1

Flags: needinfo?(matt.woodrow)

This failure is a bit crazy.

The raptor extension is injecting a content script in DOMContentLoaded, but the extension service code for doing so is an async function with awaits (for scripts to compile).

The injected script adds a listener for messages, and the test itself sends a message with the results from the load event.

We require that the content scripts run and install the listener, before the load event.

This race is usually won, because ExtensionPolicyService.cpp has an http-on-opening-request listener, which precompiles scripts. When we get DOMContentLoaded, these should all be ready (hopefully?), so the async function should run sync.

Flags: needinfo?(matt.woodrow)
Pushed by jyavenard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d5768c2f8124
Enable DocumentChannel by default. r=nika
https://hg.mozilla.org/integration/autoland/rev/7ff126a6e02a
Move CSP setup code to run in both processes. r=nika,ckerschb,mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/5a36f774f015
Make DocumentChannelParent::HasCrossOriginOpenerPolicyMismatch return the union of the state from all channels we redirected through. r=nika
https://hg.mozilla.org/integration/autoland/rev/7241ab9853a7
Update WPT expectations. r=perry
https://hg.mozilla.org/integration/autoland/rev/57e190b02a52
Pass the loading context of the cspToInherit when deserializing LoadInfo, since this isn't necessarily the same as the loading context of the LoadInfo. r=ckerschb
https://hg.mozilla.org/integration/autoland/rev/b11ead7ebf7b
Create a new ClientSource from a parent-allocated ClientInfo even for same-origin redirects, since there might have been a prior cross-origin redirect. r=perry,asuth
https://hg.mozilla.org/integration/autoland/rev/a30fe09fc6be
Copy hasNonEmptySandboxingFlags across with DocumentChannel so that it can be set on the nHttpChannel in the parent. r=JuniorHsu,valentin
https://hg.mozilla.org/integration/autoland/rev/25b533bff405
Listen for DocumentChannel's on-opening-request as well as HTTP's in ExtensionPolicyService. r=jya
Regressions: 1590763
Regressions: 1590868
Depends on: 1590912
Regressions: 1590604
Regressions: 1591183
Regressions: 1591433
Regressions: 1590898
Regressions: 1591705
Regressions: 1591864
Regressions: 1590608
Regressions: 1590276
Regressions: 1588241
Regressed by: 1593445
Regressions: 1595404
Regressions: 1599083
Regressions: 1595179
Regressions: 1595578
Summary: Enable DocumentChannel by default → Enable DocumentChannel by default in Nightly
Regressions: 1600912
Regressions: 1601743
You need to log in before you can comment on or make changes to this bug.