Supports creating a windowless browser on Linux without an X server. Most of the
changes are just adding branches to avoid calls in to GTK which calls
into X. Some of the bigger additions were adding a separate headless widget
which implements just enough to render a page. A headless look and
feel were also added since there are many calls into GTK in the platform
specific one.
For simplicity, this test is being added to test_classifier.html which
already has all of the infrastructure necessary for setting up a test
domain as a tracking domain.
Our use counter tests force reporting of use counters from documents to
make the tests more deterministic: relying on the default
report-at-document-destruction behavior would introduce any number of
intermittents. However, documents may have any number of external
resource documents, and we have no mechanism for forcing a deterministic
reporting of the use counters from those documents. Relying on those
external resources to have been destroyed (and thereby reported their
use counters) when we examine the values of the use counters in question
is a recipe for intermittent failures.
Therefore, we introduce an optional report kind for use counter
reporting: if a document is reporting its use counters for the purposes
of a test, we will also report the use counters for the document's
external resource documents. This change makes everything more
deterministic.
Our use counter tests force reporting of use counters from documents to
make the tests more deterministic: relying on the default
report-at-document-destruction behavior would introduce any number of
intermittents. However, documents may have any number of external
resource documents, and we have no mechanism for forcing a deterministic
reporting of the use counters from those documents. Relying on those
external resources to have been destroyed (and thereby reported their
use counters) when we examine the values of the use counters in question
is a recipe for intermittent failures.
Therefore, we introduce an optional report kind for use counter
reporting: if a document is reporting its use counters for the purposes
of a test, we will also report the use counters for the document's
external resource documents. This change makes everything more
deterministic.
It is a preparation for later patch which moves functions from those
classes into StyleSheet. Some of the functions are better defined in
StyleSheetInlines.h.
This commit is generated by the following command:
find . \( -name '*.h' -or -name '*.cpp' \) -not -name '*StyleSheet*' -exec sed -i -b \
-e '/^#include/ s_/\(CSS\|Servo\)StyleSheet\.h_/StyleSheetInlines.h_' \
-e '1,\_^#include "mozilla/StyleSheetInlines.h"_ ! { \_^#include "mozilla/StyleSheetInlines.h"_d }' {} +
MozReview-Commit-ID: 54H5x27Pmso
This patch makes GetBounds(), GetScreenBounds() and GetClientBounds() more
obviously infallible, like existing functions such as GetNaturalBounds() and
GetClientSize(). This results in clearer behaviour in nsCocoaWindow.mm if
Objective C exceptions occur. Along the way, the patch removes some useless
failure checks for these functions.
The patch also removes the NS_IMETHOD from GetRestoredBounds and makes that
function MOZ_MUST_USE.
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):
hg stat -c \
| cut -c 3- \
| tr '\n' '\0' \
| xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''
Then:
hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h
... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.
MozReview-Commit-ID: ZV6jyvmLfA