mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 16:55:40 +00:00
Bug 1651202 Part 1 - Extract nsBlockFrame's printing child lists logic to a helper methods. r=heycam
`ListChildLists` lives in nsContainerFrame because I'm going to use it to improve nsContainerFrame::List() in a later patch. Differential Revision: https://phabricator.services.mozilla.com/D82602
This commit is contained in:
parent
d84db7a42c
commit
358c2f9ef1
@ -521,20 +521,7 @@ void nsBlockFrame::List(FILE* out, const char* aPrefix,
|
||||
// skip the principal list - we printed the lines above
|
||||
// skip the overflow list - we printed the overflow lines above
|
||||
ChildListIDs skip = {kPrincipalList, kOverflowList};
|
||||
for (const auto& [list, listID] : ChildLists()) {
|
||||
if (skip.contains(listID)) {
|
||||
continue;
|
||||
}
|
||||
fprintf_stderr(out, "%s%s %p <\n", pfx.get(),
|
||||
mozilla::layout::ChildListName(listID),
|
||||
&GetChildList(listID));
|
||||
nsCString nestedPfx(pfx);
|
||||
nestedPfx += " ";
|
||||
for (nsIFrame* kid : list) {
|
||||
kid->List(out, nestedPfx.get(), aFlags);
|
||||
}
|
||||
fprintf_stderr(out, "%s>\n", pfx.get());
|
||||
}
|
||||
ListChildLists(out, pfx.get(), aFlags, skip);
|
||||
|
||||
fprintf_stderr(out, "%s>\n", aPrefix);
|
||||
}
|
||||
|
@ -3297,6 +3297,24 @@ void nsContainerFrame::ListWithMatchedRules(FILE* out,
|
||||
}
|
||||
}
|
||||
|
||||
void nsContainerFrame::ListChildLists(FILE* aOut, const char* aPrefix,
|
||||
ListFlags aFlags,
|
||||
ChildListIDs aSkippedListIDs) const {
|
||||
const nsCString nestedPfx = nsCString(aPrefix) + " "_ns;
|
||||
|
||||
for (const auto& [list, listID] : ChildLists()) {
|
||||
if (aSkippedListIDs.contains(listID)) {
|
||||
continue;
|
||||
}
|
||||
fprintf_stderr(aOut, "%s%s %p <\n", aPrefix, ChildListName(listID),
|
||||
&GetChildList(listID));
|
||||
for (nsIFrame* kid : list) {
|
||||
kid->List(aOut, nestedPfx.get(), aFlags);
|
||||
}
|
||||
fprintf_stderr(aOut, "%s>\n", aPrefix);
|
||||
}
|
||||
}
|
||||
|
||||
void nsContainerFrame::ExtraContainerFrameInfo(nsACString& aTo) const {
|
||||
(void)aTo;
|
||||
}
|
||||
|
@ -66,6 +66,8 @@ class nsContainerFrame : public nsSplittableFrame {
|
||||
ListFlags aFlags = ListFlags()) const override;
|
||||
void ListWithMatchedRules(FILE* out = stderr,
|
||||
const char* aPrefix = "") const override;
|
||||
void ListChildLists(FILE* aOut, const char* aPrefix, ListFlags aFlags,
|
||||
ChildListIDs aSkippedListIDs) const;
|
||||
virtual void ExtraContainerFrameInfo(nsACString& aTo) const;
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user