We have four entry points that deal with the parents of display:none/ display:contents content. These are the functions for setting, changing, getting and removing a style context. Or more specifically:
GetStyleContextInMap called by GetDisplay[None|Contents]StyleFor
SetStyleContextInMap called by RegisterDisplay[None|Contents]StyleFor
ChangeStyleContextInMap called by ChangeRegisteredDisplay[None|Contents]StyleFor
UnregisterDisplay[None|Contents]StyleFor okay, this is actually two functions, but they act as a pair
This change makes all these functions call GetApplicableParent up front and act on and pass around the parent that it returns. This is so that throughout the code we are always handling the parent that will be used as the key in the UndisplayedMap entry. This is necessary so that all the code that sets/gets the 'MayHaveChildrenWithLayoutBoxesDisabled' bit on/from an nsIContent object is using the same object, otherwise everything breaks down.
Partially based on part 2 of https://bugzilla.mozilla.org/show_bug.cgi?id=1367214
This repository holds the code for a unified application platform for XUL-based
applications. It is a hard fork from the Mozilla code repository (mozilla-central)
with an ESR-52 fork point.
In addition to further development based on the Mozilla upstream code, and
selective cherry-picking of directly-applicable patches, this repository has its
own development and holds the base for a maintained platform to be used by XUL
applications.
For a list of active projects making use of the Unified XUL Platform, checkout http://thereisonlyxul.org/.
Additional documentation
Additional documentation relevant to this source code can be found in the /docs
directory. This will contain relevant documentation regarding contributing,
using and distributing this code and its binaries.
If you are interested in the development and building side of things, some
information will be available on the Pale Moon developer site.
You are also always welcome to get in touch with our community on the Pale Moon forum.
A note about trademarks and branding
Although this repository is licensed under Mozilla Public License v2.0, the
trademarks and brands contained herein remain the property of their respective
owners. For more details, please see the notifications in the respective directories.
Foundation and maintainership
This repository has been founded by Moonchild (M.C. Straver) and is maintained by him
and other community members.
If you fork this repository to perform your own work on it, please consider offering
improvement patches upstream to its origin to mutually improve the platform and build
a future for XUL.