Open Bug 1467214 (rm-docshell-tree-item) Opened 2 years ago Updated 1 month ago

Replace uses of nsIDocShellTreeItem with BrowsingContext

Categories

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

enhancement

Tracking

()

Fission Milestone Future

People

(Reporter: relaas, Unassigned)

References

(Depends on 53 open bugs, Blocks 2 open bugs)

Details

Attachments

(1 file)

No description provided.
Thomas: Can we get details here?
Flags: needinfo?(telin)
Priority: -- → P3
I believe this is moving callers of the existing DocShell APIs to those of the new BrowsingContext. This may also require cross-process window proxies but that I'm even less sure of.
Flags: needinfo?(telin)
Blocks: oop-frames
Summary: Eliminate Native consumers of the nsDocShellTreeItem APIs → Replace uses of nsDocShellTreeItem with BrowsingContext
Depends on: 1471601
Depends on: 1467212
Fission Milestone: --- → Future
Depends on: 1467227
Depends on: 1523636
Component: DOM → DOM: Core & HTML
No longer blocks: oop-frames
Fission Milestone: Future → M3

Just wondering we do already have a way to enumerate OOP child subdocuments in a document? I believe it's necessary for bug 1519546 and bug 1518919 at least. I thought this is the bug to provide the way, but boris told me on IRC that this bug is fission:M3 and bug 1519546 is fission:M2.

Nika?

Flags: needinfo?(nika)

You can enumerate the BrowsingContexts which are children of the current document's BrowsingContext. If those have a nsDocShell attached to them, they're in-process, and otherwise they're out-of-process.

In bug 1525427 I've also added a method to get the embedder <iframe> element for one of these BrowsingContext elements, which can be useful for getting any other relevant information here.

Is that sufficient, or is there something else you need?

Flags: needinfo?(nika)

Thank you, Nika! Yes, it sounds sufficient for the purpose.

Depends on: 1546759
Fission Milestone: M3 → Future
Depends on: 1525962
Depends on: 1552966
Summary: Replace uses of nsDocShellTreeItem with BrowsingContext → Replace uses of nsIDocShellTreeItem with BrowsingContext
Depends on: 1559414
Depends on: 1569262

Partial, draft assessment of uses of nsIDocShellTreeItem and semantic notes.

Ok, I'm going to change my approach here. Auditing the entire list is going really slow, and I don't think I should block the next step until this completes. It's unnecessary serialization.

I think I'll take what I have now, and start spinning off bugs for individual files to fix up. This will at least open the possibility of others starting on some of this work while the audit is still ongoing, and I can create new bugs as I audit more stuff.

Nika, what do you think?

Flags: needinfo?(nika)

(In reply to Kannan Vijayan [:djvj] from comment #7)

Ok, I'm going to change my approach here. Auditing the entire list is going really slow, and I don't think I should block the next step until this completes. It's unnecessary serialization.

I think I'll take what I have now, and start spinning off bugs for individual files to fix up. This will at least open the possibility of others starting on some of this work while the audit is still ongoing, and I can create new bugs as I audit more stuff.

Nika, what do you think?

Sounds like a solid plan!

Flags: needinfo?(nika)
Blocks: 1572831
Depends on: 1572852
No longer blocks: 1572831
Depends on: 1572831
Depends on: 1572860
Depends on: 1573292
Depends on: 1573625
Depends on: 1573630
Depends on: 1573669
Depends on: 1574261
Depends on: 1574280
Depends on: 1575025
Depends on: 1575051
Depends on: 1575059
Depends on: 1575321
Depends on: 1575326
Depends on: 1575328
Depends on: 1575356
Depends on: 1579093
No longer depends on: 1579093
Depends on: 1579988
Depends on: 1580228
Depends on: 1580239
Depends on: 1580241
Depends on: 1580281
Depends on: 1580596
Depends on: 1580601
Depends on: 1580619
Depends on: 1580674
Depends on: 1580675
Depends on: 1580678
Depends on: 1585066
Depends on: 1585067
Depends on: 1585069
Depends on: 1585070
Depends on: 1585074
Depends on: 1585077
Depends on: 1585078
Depends on: 1585079
Depends on: 1585364
Alias: rm-docshell-tree-item
Depends on: 1587396
Depends on: 1587397
Depends on: 1587399
Depends on: 1587402
Depends on: 1587403
Depends on: 1587406
Depends on: 1587409
Depends on: 1587414
Depends on: 1587418
Depends on: 1587423
Depends on: 1587425
Depends on: 1587427
Depends on: 1592967
Depends on: 1594277
Depends on: 1594278
Depends on: 1594280
Depends on: 1594282
Depends on: 1594283
Depends on: 1594284
Depends on: 1594285
Depends on: 1594286
Depends on: 1594287
Depends on: 1594288
Depends on: 1594289
Depends on: 1594290
Depends on: 1594412
Depends on: 1594413
Depends on: 1594414
Depends on: 1594421
See Also: → 1596510
Depends on: 1597405
Depends on: 1597406
Depends on: 1597407
Depends on: 1597409
Depends on: 1597410
Depends on: 1597412
Depends on: 1597413
Depends on: 1597414
Depends on: 1597415
Depends on: 1597416
Depends on: 1597417
Depends on: 1597418
Depends on: 1597419
Depends on: 1597420
Depends on: 1597423
Depends on: 1597424
Depends on: 1597425
Depends on: 1597426
Depends on: 1597427
Depends on: 1597428
Depends on: 1597429
Depends on: 1597430
Depends on: 1597431
Depends on: 1597432
Depends on: 1597433
Depends on: 1597434
Depends on: 1597435
Depends on: 1597436
Depends on: 1597437
Depends on: 1597438
Depends on: 1597439
Depends on: 1597440
Depends on: 1597441
Depends on: 1597442
Depends on: 1597443
Depends on: 1597444
Depends on: 1597445
Depends on: 1597446
Depends on: 1597447
Depends on: 1597448
Depends on: 1597449
Depends on: 1597450
Depends on: 1597451
Depends on: 1597452
Depends on: 1597453
Depends on: 1597454
Depends on: 1597455
Depends on: 1597456
Depends on: 1597458
Depends on: 1597461
Depends on: 1597462
Depends on: 1597463
Depends on: 1597464
Depends on: 1597465
Depends on: 1597466
Depends on: 1597467
Depends on: 1597468
Depends on: 1597469
Depends on: 1597470
Depends on: 1597471
Depends on: 1597472
Depends on: 1597473
Depends on: 1597474
Depends on: 1597475
Depends on: 1597477
Depends on: 1597478
Depends on: 1597479
Depends on: 1597480
Depends on: 1597482
Depends on: 1597483
Depends on: 1597484
Depends on: 1597485
Depends on: 1597486
Depends on: 1597487
Depends on: 1597488
Depends on: 1597489
Depends on: 1597490
Depends on: 1597491
Depends on: 1597493
Depends on: 1597494
Depends on: 1597495
Depends on: 1597496
Depends on: 1597497
Depends on: 1597498
Depends on: 1597499
Depends on: 1597500
Depends on: 1597502
Depends on: 1597504
Depends on: 1597505
Depends on: 1597506
Depends on: 1597507
Depends on: 1597508
Depends on: 1597509
Depends on: 1597510
Depends on: 1597511
Depends on: 1597512
Depends on: 1597514
Depends on: 1597515
Depends on: 1597516
Depends on: 1596820
No longer depends on: 1594286
No longer depends on: 1594287
No longer depends on: 1597516
No longer depends on: 1597434
No longer depends on: 1597441
No longer depends on: 1471601
No longer depends on: 1575059
No longer depends on: 1574261
No longer depends on: 1597427
No longer depends on: 1597512
No longer depends on: 1580674
No longer depends on: 1594290
No longer depends on: 1594412
No longer depends on: 1594413
No longer depends on: 1594414
No longer depends on: 1594289
No longer depends on: 1597415
No longer depends on: 1597423
No longer depends on: 1597416
No longer depends on: 1594285
No longer depends on: 1580601
No longer depends on: 1597429
No longer depends on: 1575321
No longer depends on: 1572852
No longer depends on: 1580678
No longer depends on: 1573292
No longer depends on: 1573625
No longer depends on: 1587396
No longer depends on: 1597454
No longer depends on: 1587406
No longer depends on: 1597409
Depends on: 1570965
No longer depends on: 1597500
No longer depends on: 1597490
No longer depends on: 1597497
No longer depends on: 1573630
No longer depends on: 1597491
No longer depends on: 1597487
No longer depends on: 1597425
No longer depends on: 1597483
Depends on: 1638153
Depends on: 1638164
No longer depends on: 1597514
No longer depends on: 1597515
No longer depends on: 1597511
No longer depends on: js-docshell-tree-item
No longer depends on: 1585077
No longer depends on: 1597440
No longer depends on: 1597496
Depends on: 1642688
You need to log in before you can comment on or make changes to this bug.