зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset dfb3a55370d3 (bug 1909625) for causing mochitest failures on test_canvas_font_setter.html. CLOSED TREE
This commit is contained in:
Родитель
6e3f3af15e
Коммит
c71207a11c
|
@ -2602,8 +2602,14 @@ static already_AddRefed<StyleLockedDeclarationBlock> CreateDeclarationForServo(
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
// From canvas spec, force to set line-height property to 'normal' font
|
||||
// property.
|
||||
if (aProperty == eCSSProperty_font) {
|
||||
Servo_DeclarationBlock_SanitizeForCanvas(servoDeclarations);
|
||||
const nsCString normalString = "normal"_ns;
|
||||
Servo_DeclarationBlock_SetPropertyById(
|
||||
servoDeclarations, eCSSProperty_line_height, &normalString, false,
|
||||
env.mUrlExtraData, StyleParsingMode::DEFAULT, env.mCompatMode,
|
||||
env.mLoader, env.mRuleType, {});
|
||||
}
|
||||
|
||||
return servoDeclarations.forget();
|
||||
|
|
|
@ -5053,21 +5053,6 @@ fn set_property(
|
|||
)
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn Servo_DeclarationBlock_SanitizeForCanvas(
|
||||
declarations: &LockedDeclarationBlock,
|
||||
) {
|
||||
use style::properties::PropertyDeclaration;
|
||||
use style::values::specified::{LineHeight, XTextScale, Zoom};
|
||||
// From canvas spec, force to set line-height property to 'normal' font property.
|
||||
// Also, for compat, disable text scaling and CSS zoom.
|
||||
write_locked_arc(declarations, |decls: &mut PropertyDeclarationBlock| {
|
||||
decls.push(PropertyDeclaration::LineHeight(LineHeight::Normal), Importance::Normal);
|
||||
decls.push(PropertyDeclaration::Zoom(Zoom::Document), Importance::Normal);
|
||||
decls.push(PropertyDeclaration::XTextScale(XTextScale::None), Importance::Normal);
|
||||
});
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn Servo_DeclarationBlock_SetProperty(
|
||||
declarations: &LockedDeclarationBlock,
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<style>
|
||||
canvas {
|
||||
width: 600px;
|
||||
height: 200px;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const ctx = document.getElementById("canvas").getContext("2d");
|
||||
ctx.font = "48px serif";
|
||||
ctx.fillText(ctx.font, 10, 50);
|
||||
});
|
||||
</script>
|
||||
<canvas id="canvas" width="300" height="100"></canvas>
|
|
@ -1,20 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1909625">
|
||||
<link rel="help" href="https://html.spec.whatwg.org/#dom-context-2d-font">
|
||||
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
|
||||
<link rel="author" href="https://mozilla.org" title="Mozilla">
|
||||
<link rel="match" href="canvas-ref.html">
|
||||
<title>zoom is ignored for canvas</title>
|
||||
<style>
|
||||
canvas {
|
||||
zoom: 2;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const ctx = document.getElementById("canvas").getContext("2d");
|
||||
ctx.font = "48px serif";
|
||||
ctx.fillText(ctx.font, 10, 50);
|
||||
});
|
||||
</script>
|
||||
<canvas id="canvas" width="300" height="100"></canvas>
|
Загрузка…
Ссылка в новой задаче