Cargo recently introduced the `cargo check` command for shortening the
edit-compile cycle when working on large programs. Since we don't
really support invoking `cargo` directly, let's wire up this command to
`mach`. Gecko developers can then `mach cargo check` to ensure their
changes typecheck.
All the machinery we set up for `cargo build` is equally useful for
other commands, such as `cargo check`. Let's refactor things so that
it's easy to reuse said machinery for `cargo check`.
We currently only honor LIB_IS_C_ONLY for cases where we set a
LIBRARY (and, implicitly, REAL_LIBRARY) and FORCE_SHARED_LIB. For many
libraries, such as the libraries from NSS, we never set LIBRARY, which
leads to not setting REAL_LIBRARY, which leads to not honoring
LIB_IS_C_ONLY. This practice has not been harmful thus far (except
perhaps linking in more things than necessary to our NSS shared
libraries), but on some platforms, linking with the C++ compiler will
drag in more things than we would like.
Consulting LIBRARY first should not be necessary; checking
FORCE_SHARED_LIB should be enough to tell us if we're building a shared
library for the purposes of honoring LIB_IS_C_ONLY.
Both of these libraries call into libm for various reasons, but by
linking with the C++ compiler on most platforms, they never had to
declare their dependency on libm. Future changes will make these
libraries link with the C compiler, which won't automatically link with
libm, so we need to make the dependency explicit prior to that change.
We have a flag set on all Linkables, cxx_link, denoting whether there's
anything being linked into them that requires C++. We do this even when
we link against shared libraries that required C++. But if these
libraries don't export C++ interfaces, there's no reason that the things
linking against them should require C++. Therefore, ignore shared
libraries when making the determination of whether an object requires
C++ or not.
With configure now being able to auto-detect the presence of a `mach
bootstrap`-installed clang and libclang and the upcoming
build-by-defaultness of Stylo, we can start downloading these packages
all the time.
Since Homebrew doesn't automatically place clang and associated binaries
on PATH, we need to do the task ourselves. MacPorts does place the
binaries in PATH, but uses yet another name, so we have to add that to
the search list.
LLVM/clang is needed for Stylo's bindgen, and Apple's clang is unusable
for such purposes. For other platforms, we have installed LLVM/clang
from our tooltool archive on the supposition that those packages are
definitely known to work, as we use said packages in automation. For
Mac, however, we haven't been able to generate packages for tooltool
that successfully build Stylo, and even if we had, those packages would
solely be used for developer builds of Stylo and would not be used in
automation. The case for downloading LLVM/clang for Mac from tooltool,
therefore, is not as strong as for other platforms.
As a result, we'll rely on the installed package manager for LLVM/clang,
which many people may have installed anyway.
In passing, also delete some old code for OS X versions < 10.7; such
platforms are no longer supported for running or building Firefox.
Create a new internal REGION role which maps to the generic landmark role
of each platform accessibility API. Update the internal mapping of region
from roles::PANE and kGenericAccType to roles::REGION and eLandmark. Also
change the AXSubrole of region from "AXDocumentRegion" to "AXLandmarkRegion",
the latter being what is specified in the Core AAM 1.1 and used in Safari.
Since we implement following properties animatable, append to test.
* -moz-border-bottom-colors
* -moz-border-left-colors
* -moz-border-right-colors
* -moz-border-top-colors
MozReview-Commit-ID: E3zWaDcRdtE
--HG--
extra : rebase_source : 27301a4bc354f14cf3f90e8c8271be6022d99721
In this patch, implements following properties:
* background-image
* border-image-source
* mask-image
MozReview-Commit-ID: 30RdO0fMNr8
--HG--
extra : rebase_source : d4490b4d64e22a3bc1f022c37edc20363f7c0269
In this patch, implements following properties:
* -moz-border-bottom-colors
* -moz-border-left-colors
* -moz-border-right-colors
* -moz-border-top-colors
To realize, we introduced a binding method Gecko_GetMozBorderColors.
MozReview-Commit-ID: JeseSyl8rMG
--HG--
extra : rebase_source : 118b6659a7be58f7b84e6024bfeea0a13dad66c0
<!-- Please describe your changes on the following line: -->
This PR fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1371115
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
<!-- Either: -->
- [X] There are tests for these changes. Add some tests into dom/animation/test/ of m-c in patch 14. Also, remove test fail annotation from meta in wpt as patch 15.
Source-Repo: https://github.com/servo/servo
Source-Revision: 42e551f60614da58f47fd29cb095cd72733e38b8
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8acead695cf4f6294e4f84be90cca616a555a0e0
It's unused except in test code (nsTestEntityTable). The patch removes that
test code, which also removes testing for UnicodeToEntity conversion, but the
test code wasn't being run anyway so it's no great loss.
(UnicodeToEntity conversion is still used by
nsHTMLContentSerializer::AppendAndTranslateEntities().)