Instead of using a strange number of spaces (5) for the example
override, use a single space. This makes it much easier to undo changes
to this file when switching between overriding a dependency and not
overriding a dependency.
Also switch from depending on `https://github.com/servo/style.git` to
the more common `https://github.com/servo/style`.
There is now platform-specific way to get metrics for `line-through` on
MacOS and currently striking through simply does not work. The correct
approach here is likely to first search for these metrics in font tables
and then falling back to deriving them. Searching the font tables is a
larger change, so this change adds the fallback mechanism first. This at
least makes sure that strike through renders at all on Mac.
In a followup change we can add support for getting metrics via HarfBuzz
in a platform-independent way, which is what Gecko does.
Fixes#942.
* rustdoc: Fix fontface broken link error
* Correct link to `Font`
* Reduce the diff a bit
---------
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
During the shutdown process, various threads (such as the
font cache thread) may be finishing up their work. If those threads make
synchronous requests to the compositor, answer them -- even if the
results will be unused. This is at least enough processing for them to
finish their work and exit cleanly.
This addresses crashes that are sometimes seen at exit, particuarly when
the font cache thread tries to register a font during shutdown.
In addition, this change also removes an unused compositor message.
It doesn't make sense to ask everyone to file a bug if their
distribution is unsupported. We have manual build instructions for some
distributions and we can add instructions for more easily.
Android's OpenGL emulation layer (goldfish-opengl) has pre-processing
logic that looks for samplers of the type `samplerExternalOES` and
does a simple textual [replacement to change the type][1] to `sampler2D`
before compilation. It also [marks the sampler][2] as 'replaced' so
it can emulate the correct type at runtime.
However, this logic can lead to false positives when the sampler is
declared inside conditional macros. Hence, the sampler's type can be
incorrectly marked as `samplerExternalOES` even though the #if, #ifdef
conditional logic would have declared the type as `sampler2D`.
This seems to be a [known limitation][3].
WebRender (in particular the shared.glsl include) has such conditional
declaration of the texture units used from the shaders.
In particular, the sampler [sColor0 here][4] is declared within ifdefs
to have different types depending on the flags enabled, to allow the
shader to work with different image target kinds.
WebRender also maintain two versions of the compiled shaders in its cache:
1. An unoptimized version with all the conditional logic preserved
in the source until the shader is compiled at runtime on Android,
when the shader is actually used.
2. Multiple optimized versions for combinations of features required
These versions are produced during Servo [build][5]. Thus the
optimized versions eliminate most of the conditional declarations
at build time.
The bug in Servo with current code is because, [by default][6], WebRender
uses the *unoptimized* versions of the shaders. This means the conditional
GLSL source is evaluated at runtime by the Android emulator and thus ends
up with the incorrect type for the sColor0 sampler unit, which breaks the
[texture sampling in the fragment shader][7], causing it to always return
Vec4(0, 0, 0, 1) and rendering all elements on the page black.
This change forces WebRender to use the *optimized* version as a
workaround - the optimized versions have unconditional code for the
sampler declarations so are not susceptible to the emulator issue.
[1]: https://android.googlesource.com/device/generic/goldfish-opengl/+/refs/tags/android-platform-11.0.0_r40/system/GLESv2_enc/GL2Encoder.cpp#1644
[2]: https://android.googlesource.com/device/generic/goldfish-opengl/+/refs/tags/android-platform-11.0.0_r40/system/GLESv2_enc/GL2Encoder.cpp#1673
[3]: https://android.googlesource.com/device/generic/goldfish-opengl/+/refs/tags/android-platform-11.0.0_r40/system/GLESv2_enc/GL2Encoder.cpp#1571
[4]: b36399019c/webrender/res/shared.glsl (L206)
[5]: b36399019c/webrender/build.rs (L289)
[6]: b36399019c/webrender/src/renderer/init.rs (L214)
[7]: b36399019c/webrender/res/composite.glsl (L189)Fixes#31726.
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* clippy: remove extra static lifetimes in generated code
* clippy: fix return and cast in generated code
* clippy: fix more warnings in codegen
* clippy: fix all errors from generated files
* Update raw lags path for WPT import
I forgot to do this in #31616
* Update web-platform-tests to revision b'298d1599dbf6255aea63506daaa1702ff0c4fdc5'
---------
Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
* Updated comment with 'layout_traits' to 'script_layout_interface'
* Rewrap text
* Remove trailing whitespace
---------
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Add support for partial and shallow clones for contributors with limited internet access
* Fix requested changes
* small typo
* Removed Trailing spaces and Fixed req changes
* Small fixes to the new documentation
---------
Co-authored-by: Martin Robinson <mrobinson@igalia.com>