Of course it couldn't be trivial :P
wrapObject is a pure virtual function which prevents an abstract constructor
from being used.
So, we need to extend DOMEventTargetHelper (applicable acronym: DETH :D) with
a wrapObject implementation - in a derivative class is the clearest way to do
this, as opposed to making DETH more complex.
This removes some restrictions on whether an interface that implements
QueryInterface can have a non-abstract ancestor.
This restriction was put in place back when we automatically added
QueryInterface to all rootmost non-abstract interfaces (~Pale Moon 24).
At the time, we needed to make sure it did NOT end up on EventTarget, because
back then WebIDL quickstubs would replace the QI implementation on non-WebIDL
EventTargets with the WebIDL one, which would not work for them.
Since then, we have removed WebIDL quickstubs and we now explicitly list which
interfaces get QueryInterface, so this check is no longer needed.
- clean up old unused graphics
- remove gradient and noise
- tweak quickdial styling
- add padding and slightly reduce logos
- add generic search icon for those without one
Redesigned the styling for the search box for newtab (quickdial) and about:home.
This gets rid of the "play" button and reinstates the "Search" localized term
for submission of the search terms.
Also tweaked the spacing around the logo to neatly tuck into the left side of
the search input bar, which was sloppy and especially visible with image-filling
logotypes (i.e. square).
Part of the UX refresh Pale Moon effort. This uses the new -moz-dark-theme media
query to make the logopage dark if the UI is dark, without explicitly relying on
(often not sane) system color values.
This adds the later spec revision's contentBoxSize and borderBoxSize, and the
inlineSize and blockSize concepts.
The older spec contentRect remains functional as well for backwards
compatibility with the earlier spec (that was IMHO perfectly fine as it was...)
GetNodeDepth() is a specialized version for ResizeObserver to get the depth of
a node across Shadow DOM. It's better to have this in ResizeObserver.cpp
instead of the generic ContentUtils.
Also updated the function to bypass the shadow root itself and not count it
because ResizeObserver doesn't observe the shadow root and only needs the
relative depths among all observed targets. IOW we use the flattened tree here.
This functionality was already added to Gecko for UA stylesheets allow the "dom.details_element.enabled" preference to work. I changed the condition to allow bool preferences to be used in chrome stylesheets as well.
In almost all cases this is pointless to include, a ton of useless entries,
and there's no reason to have people post a full enumeration of installed
printers on their system when asked for TS information.
If there's a printer specific issue, people can always be asked to post relevant
info manually.
OS.File already only supports UTF-8 paths on non-Windows systems, so this change
makes our different ways of accessing file paths consistent with each other.
This should prevent unexpected crashes in glibc that expect UTF-8.
This resolves#1772.