Closed Bug 1646899 Opened 5 years ago Closed 5 years ago

Use DocumentChannel to for object/embed loads - Pt 1

Categories

(Core :: DOM: Core & HTML, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla80
Fission Milestone M6a
Tracking Status
firefox80 --- fixed

People

(Reporter: u480271, Assigned: u480271)

References

(Regressed 2 open bugs)

Details

(Whiteboard: [7/14] patch bounced)

Attachments

(5 files)

Part one - Plumb channel creation through DocumentChannel for <embed> & <object> elements. Redirect channel directly to content to effect a different mechanism for channel creation, but keep decision making in content.

Part two - Move decision making into parent process. Eg. cross-origin documents loaded via <object> need to create a new process, BrowsingContext, etc.

LoadInfo has a lot of state. Simplify initialization so most have one definition
of truth.

LoadInfo has a number of constructors intended to be used in different contexts.
Add named factory functions to make it clearer in which context the returns
LoadInfo is being used.

Allows checking if DocumentChannel can be used with out creating an
nsDocShellLoadState object.

Pass internal content policy type to DLL and switch behavior depending on type
being loaded. This implementation immediately redirects channel back to the
content process for further handling.

test_bug375314 - Move check from content to parent process.
iframe-scrolling-attribute-values.html - Update from permafail on linux debug to
intermittent.

Fission Milestone: --- → M6a
Attachment #9158085 - Attachment description: Bug 1646899 - P5: Fix tests. → Bug 1646899 - P5: Fix test_bug375314.
Pushed by dglastonbury@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4731d76dae88 P1: Deduplicate initialization of LoadInfo default values. r=necko-reviewers,dragana https://hg.mozilla.org/integration/autoland/rev/7a7194146fe1 P2: Use named factories to create LoadInfo. r=mattwoodrow https://hg.mozilla.org/integration/autoland/rev/d2fd0f955e24 P3: Modify CanUseDocumentChannel to take necessary vars. r=mattwoodrow https://hg.mozilla.org/integration/autoland/rev/86a5e0827050 P4: Handle object & embed via DocumentChannel. r=mattwoodrow,jya https://hg.mozilla.org/integration/autoland/rev/f41ac122a801 P5: Fix test_bug375314. r=heycam
Flags: needinfo?(dglastonbury)
Type: task → enhancement
Priority: P3 → P2
Whiteboard: [7/14] patch bounced

Matt, Patch 4 might need another once over. I removed the use of mExternalContentPolicyType, set in Open(), to switch document/object logic and added a boolean mIsDocumentLoad that makes it a little clearer.

Flags: needinfo?(matt.woodrow)

Looks good!

Flags: needinfo?(matt.woodrow)
Pushed by dglastonbury@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6c593013b710 P1: Deduplicate initialization of LoadInfo default values. r=necko-reviewers,dragana https://hg.mozilla.org/integration/autoland/rev/fc96ea4de326 P2: Use named factories to create LoadInfo. r=mattwoodrow https://hg.mozilla.org/integration/autoland/rev/64e118a38c1d P3: Modify CanUseDocumentChannel to take necessary vars. r=mattwoodrow https://hg.mozilla.org/integration/autoland/rev/41de9ac734d6 P4: Handle object & embed via DocumentChannel. r=mattwoodrow,jya https://hg.mozilla.org/integration/autoland/rev/94dcb2fb29ce P5: Fix test_bug375314. r=heycam
Regressions: 1654764
Regressions: 1656984
Regressions: 1661564
Regressions: 1662096
Regressions: 1962194
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: