Figure out if the usage of nsContentUtils::GetRootDocument in FullscreenRoots is OK
Categories
(Core :: DOM: Core & HTML, task, P2)
Tracking
()
Fission Milestone | M6b |
People
(Reporter: kmag, Assigned: smacleod)
References
(Blocks 1 open bug)
Details
It's possible we have some other code that makes things work when OOP frames are involved, but I'm not sure.
Reporter | ||
Comment 1•4 years ago
|
||
Note this also includes use of functions like GetRootDocument
, which does the same thing indirectly.
Updated•4 years ago
|
Comment 2•4 years ago
|
||
Henri, could you look into figuring this out for Fission-compatibility?
Comment 3•4 years ago
|
||
(hsivonen is on pto for couple weeks still, so I can look at this)
FullscreenChange doesn't have any GetInProcessParent usage. It is unclear to me what this bug is about.
Reporter | ||
Comment 4•4 years ago
|
||
(In reply to Olli Pettay [:smaug] from comment #3)
(hsivonen is on pto for couple weeks still, so I can look at this)
FullscreenChange doesn't have any GetInProcessParent usage. It is unclear to me what this bug is about.
I think the main issue is the use of nsContentUtils::GetRootDocument
in the fullscreen code in Document.cpp, which uses GetInProcessParent
indirectly, but there are also some direct usages: https://searchfox.org/mozilla-central/rev/82c04b9cad5b98bdf682bd477f2b1e3071b004ad/dom/base/Document.cpp#12995,13031
Updated•4 years ago
|
Comment 5•4 years ago
|
||
Alphan has been looking into Fullscreen Fission issues. I believe we can start with Alphan. Thank you. :)
Updated•4 years ago
|
Comment 6•4 years ago
|
||
There are three parts for fullscreen code in Document.cpp.
I think the main issue is the use of nsContentUtils::GetRootDocument in the fullscreen code in Document.cpp, which uses GetInProcessParent indirectly,
- The usage of nsContentUtils::GetRootDocument in FullscreenRoots.
https://searchfox.org/mozilla-central/rev/03794edd6edcc3fc1e222de966cb27256ce08998/dom/base/nsContentUtils.cpp#6596
https://searchfox.org/mozilla-central/rev/03794edd6edcc3fc1e222de966cb27256ce08998/dom/base/Document.cpp#12934,12960,13200,13826,13924
but there are also some direct usages:
-
The usage of GetInProcessRootTreeItem() and GetInProcessParent() in PendingFullscreenChangeList.
https://searchfox.org/mozilla-central/rev/82c04b9cad5b98bdf682bd477f2b1e3071b004ad/dom/base/Document.cpp#12995,13031 -
Here is the another usage of GetInProcessRootTreeItem.
https://searchfox.org/mozilla-central/rev/03794edd6edcc3fc1e222de966cb27256ce08998/dom/base/Document.cpp#13765,13854
I will handle 2 and 3 in Bug 1585074.
Updated•4 years ago
|
Comment 7•4 years ago
|
||
There are three parts for fullscreen code in Document.cpp.
I think the main issue is the use of nsContentUtils::GetRootDocument in the fullscreen code in Document.cpp, which uses GetInProcessParent indirectly,
- The usage of nsContentUtils::GetRootDocument in FullscreenRoots.
https://searchfox.org/mozilla-central/rev/03794edd6edcc3fc1e222de966cb27256ce08998/dom/base/nsContentUtils.cpp#6596
https://searchfox.org/mozilla-central/rev/03794edd6edcc3fc1e222de966cb27256ce08998/dom/base/Document.cpp#12934,12960,13200,13826,13924
but there are also some direct usages:
-
The usage of GetInProcessRootTreeItem() and GetInProcessParent() in PendingFullscreenChangeList.
https://searchfox.org/mozilla-central/rev/82c04b9cad5b98bdf682bd477f2b1e3071b004ad/dom/base/Document.cpp#12995,13031 -
Here is the another usage of GetInProcessRootTreeItem.
https://searchfox.org/mozilla-central/rev/03794edd6edcc3fc1e222de966cb27256ce08998/dom/base/Document.cpp#13765,13854
I will handle 2 and 3 in Bug 1585074.
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 8•4 years ago
|
||
This is okay and working in fission due to Alphan's other changes. New tests have been added[1] to verify this and ensure things keep working.
[1] See Bug 1665941 and specifically D90940
Description
•