import changes from `dev' branch of rmottola/Arctic-Fox:

- Bug 1208300 (part 1) - Remove unused default arguments from ClearThebesSurface. r=jwatt. (bcb2009a23)
- Bug 1208300 (part 2) - Convert gfxRGBA uses to gfx::Color in CompositorBench.cpp. r=jwatt. (ea9b6e5e4e)
- Bug 1208300 (part 3) - Convert gfxRGBA uses to gfx::Color in LayerScope.cpp. r=jwatt. (cdee85cd56)
-  Bg 1155249 - Prescale image with an intermediate surface if repeated often on OS X. r=mstange (de799a164a)
- Bug 1181554 - Snap the spread radius for inset box shadows to device pixels. (af015ea088)
- Bug 1137148. Fix painting of ridge/groove borders for border-collapsed tables. r=jwatt (702e4fbe9b)
- Bug 1185636 - Part 4b - don't use a css border skirt when printing. r=mstange (2e66f01772)
- Bug 1178575 - Intersect the clip rect with aDirtyRect. r=roc (88848e836a)
- Bug 1193519 pt 1 - Update coordinate conversions in WritingModes.h to account for sideways-lr writing mode. r=dholbert (b89824bcb6)
- Bug 1193519 pt 2 - Handle sideways-left orientation in gfx text-drawing code. r=dholbert (4cdc8e0c38)
- Bug 1193519 pt 3 - Handle writing-mode:sideways-lr in nsTextFrame selection and rendering. r=dholbert (b774d26992)
- Bug 1159729 - Use the adjusted |offset| value in GetTextDecorationRectInternal, instead of ignoring it. r=smontagu (b1c735a0b0)
- Bug 1193519 pt 4 - Reverse the direction of text-decoration offsets in sideways-lr mode. r=dholbert (585bcf555a)
- Bug 1205787 - Map the writing-mode values from SVG1.1 to their CSS equivalents. r=heycam (dd8e0d9767)
- Bug 1193488 - Update values of writing-mode and text-orientation to reflect the CSS WG decision to revise them in the Writing Modes spec. r=dholbert (4399949445)
- Bug 1193519 pt 5 - Expose the sideways-lr value for writing-mode to CSS. r=dholbert (ece6e331d1)
- Bug 1193519 pt 6 - Adjust the position of the caret bidi indicator appropriately for sideways-lr mode. r=dholbert (b09478c428)
- Bug 1205787 - Reftest using legacy SVG1.1 writing-mode values. r=heycam (062df44279)
- Bug 1193519 pt 7 - Basic reftests for sideways-lr writing mode. r=dholbert (2c66b9e399)
- Bug 1180528 - Reftest for table row progression in vertical-rl writing mode with ltr and rtl directionality. r=dholbert (e2a5c6cadb)
- Bug 1193519 pt 8 - Reftests for table row and cell ordering in sideways-* writing modes. r=dholbert (6487fce57d)
- Bug 1193519 pt 9 - Reftests with floats in writing-mode: sideways-lr. r=dholbert (9f51c048c6)
- Bug 1193519 pt 10 - Clean up remaining mentions of 'sideways-left' in code comments. r=dholbert (8483886936)
- Bug 1193519 pt 11 - Reftest for sideways-lr writing mode with text-decoration. r=dholbert (bcfd28b4e8)
- Bug 1193519 followup - annotate test for antialiasing fuzz on OS X. (1b8a465d1f)
- Bug 1155828 - Draw box-shadows using an approach inspired by border-image. r=mstange (744997a069)
- Bug 1162824 - Change box shadow cache to cache the colored blurred box shadow. r=mstange (813107388f)
- convert TemporaryRef to already_AddRefed (626bbcb2ec)
- Bug 1179049. Properly null check for draw target in box shadow code. r=mstange (8f3c03253c)
- Bug 1188075 - Speed up inner box-shadow drawing by using a border-image style approach. r=mstange (61e4564172)
- Bug 1208345 - Remove gfxContext::GraphicsOperator. r=jwatt. (884be741db)
- Bug 1199534. Only set TabChild canvas background for the background of root PresContexts. r=mats (9a37268f31)
- remove special transparent case, not found in FF45/52 nor TFF (a2577d8a0c)
- Bug 1202320 - Fall back to platform APZ enabled in PresShell. r=kats (5a62e3e058)
- bug 1171131 - Make dom/plugins/ipc build for iOS. r=jimm (cba4193b6e)
- Bug 1207741 - Remove gfxIntSize. r=nical. (13b99abb9c)
- Bug 591600 - CSS gradients should work on premultiplied colors. r=mstange (b0c6e73961)
This commit is contained in:
2022-08-24 10:13:19 +08:00
parent 5b013d1328
commit aa93536920
154 changed files with 3116 additions and 898 deletions
+9 -9
View File
@@ -4645,19 +4645,19 @@ PresShell::RenderDocument(const nsRect& aRect, uint32_t aFlags,
gfxContextAutoSaveRestore save(aThebesContext);
gfxContext::GraphicsOperator oldOperator = aThebesContext->CurrentOperator();
if (oldOperator == gfxContext::OPERATOR_OVER) {
CompositionOp oldOp = aThebesContext->CurrentOp();
if (oldOp == CompositionOp::OP_OVER) {
// Clip to the destination rectangle before we push the group,
// to limit the size of the temporary surface
aThebesContext->Clip();
}
// we want the window to be composited as a single image using
// whatever operator was set; set OPERATOR_OVER here, which is
// whatever operator was set; set OP_OVER here, which is
// either already the case, or overrides the operator in a group.
// the original operator will be present when we PopGroup.
// we can avoid using a temporary surface if we're using OPERATOR_OVER
bool needsGroup = oldOperator != gfxContext::OPERATOR_OVER;
// we can avoid using a temporary surface if we're using OP_OVER
bool needsGroup = oldOp != CompositionOp::OP_OVER;
if (needsGroup) {
aThebesContext->PushGroup(NS_GET_A(aBackgroundColor) == 0xff ?
@@ -4665,14 +4665,14 @@ PresShell::RenderDocument(const nsRect& aRect, uint32_t aFlags,
gfxContentType::COLOR_ALPHA);
aThebesContext->Save();
if (oldOperator != gfxContext::OPERATOR_OVER) {
if (oldOp != CompositionOp::OP_OVER) {
// Clip now while we paint to the temporary surface. For
// non-source-bounded operators (e.g., SOURCE), we need to do clip
// here after we've pushed the group, so that eventually popping
// the group and painting it will be able to clear the entire
// destination surface.
aThebesContext->Clip();
aThebesContext->SetOperator(gfxContext::OPERATOR_OVER);
aThebesContext->SetOp(CompositionOp::OP_OVER);
}
}
@@ -5312,7 +5312,7 @@ void PresShell::UpdateCanvasBackground()
if (!FrameConstructor()->GetRootElementFrame()) {
mCanvasBackgroundColor = GetDefaultBackgroundColorToDraw();
}
if (XRE_IsContentProcess()) {
if (XRE_IsContentProcess() && mPresContext->IsRoot()) {
if (TabChild* tabChild = TabChild::GetFrom(this)) {
tabChild->SetBackgroundColor(mCanvasBackgroundColor);
}
@@ -5360,7 +5360,7 @@ bool PresShell::AsyncPanZoomEnabled()
return widget->AsyncPanZoomEnabled();
}
}
return false;
return gfxPlatform::AsyncPanZoomEnabled();
}
void PresShell::SetIgnoreViewportScrolling(bool aIgnore)