Make Document.h treat mozilla::PresShell directly rather than via nsIPresShell
Categories
(Core :: DOM: Core & HTML, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: masayuki, Assigned: masayuki)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
Assignee | ||
Comment 1•2 years ago
|
||
If Document::GetShell()
returns PresShell*
rather than nsIPresShell
, it's
a good step to deCOMTaminate PresShell
.
This patch makes Document.h
stop including nsIPresShell.h
since
nsIPresShell.h
includes Document.h
indirectly and that causes bustage
when we make Document::GetShell()
return PresShell*
.
Assignee | ||
Comment 2•2 years ago
|
||
*Inlines.h
shouldn't be included by another header file, but nsPresContext.h
does it. This causes include-hell which blocks the following fix.
Additionally, it causes an include hell between PresShell.h
vs.
nsIPresShell.h
and nsPresContext.h if
Document.hincludes
PresShell.h. Therefore, this patch also solves this include hell with adding
nsPresContextInlines.h`.
Assignee | ||
Comment 3•2 years ago
|
||
This makes Document::GetShell()
return PresShell*
instead of nsIPresShell
.
Additonally, "shell" is unclear ("docshell" vs. "presshell"). Therefore, this
also renames Document::GetShell()
to Document::GetPresShell()
.
Similarly, some other method names of Document
are also renamed from
*Shell*
to *PresShell*
.
Assignee | ||
Updated•2 years ago
|
Pushed by masayuki@d-toybox.com: https://hg.mozilla.org/integration/autoland/rev/9561d2c36fa5 part 1: Make Document.h stop including nsIPresShell.h r=smaug https://hg.mozilla.org/integration/autoland/rev/5723ddbc5c44 part 2: Make nsPresContext.h stop including nsIPresShel.h and nsIPresShellInlines.h r=smaug https://hg.mozilla.org/integration/autoland/rev/7b71c9da0214 part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
Comment 5•2 years ago
|
||
Backed out 3 changesets (bug 1540015) for build bustage. CLOSED TREE
Log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=236901063&repo=autoland&lineNumber=20418
Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=236901055&revision=7b71c9da0214e43368ab5cfb95344ca5ae13d670
Backout:
https://hg.mozilla.org/integration/autoland/rev/5d97989d4f0d6e6d357648963a4951661fa37628
Assignee | ||
Comment 6•2 years ago
|
||
Oh, sorry for the bustage. I forgot changing macOS only part, but I didn't test it on tryserver (confirmed only with Linux64 on tryserver). After verifying to build with macOS, I'll reland them with one line fix.
Pushed by masayuki@d-toybox.com: https://hg.mozilla.org/integration/autoland/rev/65f80cb57b30 part 1: Make Document.h stop including nsIPresShell.h r=smaug https://hg.mozilla.org/integration/autoland/rev/f2267d0779f7 part 2: Make nsPresContext.h stop including nsIPresShel.h and nsIPresShellInlines.h r=smaug https://hg.mozilla.org/integration/autoland/rev/f529b394cb11 part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
Comment 8•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/65f80cb57b30
https://hg.mozilla.org/mozilla-central/rev/f2267d0779f7
https://hg.mozilla.org/mozilla-central/rev/f529b394cb11
Description
•