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

- Bug 766345 - Part 1 - Implement DEAA Antialiasing for transformed layers (v5 Patch). r=vladimir, r=djg (a5b4175d8)
- Bug 766345 - Part 2 - Implement Matrix4x4::TransformAndClipRect (v2 Patch). r=vladimir (fba290751)
- Bug 766345 - Part 3 - Implement correct clipping of DEAA edges for quads that cross the w=0 plane (v3 Patch). r=vlad (1574cd5e8)
- Bug 766345 - Part 4: Adjust reftests (v3 patch). r=vlad (8a78cc3c4)
- Bug 1158120 - Replace nsIntSize by mozilla::gfx::IntSize in gfx/layers. r=nical (39b6ad475)
- Bug 1170189 - Simplify TiledContentHost's render loop. r=BenWa (040aac295)
- Bug 1170189 - Simplify the client-side tiling code. r=BenWa (069820cf1)
- Bug 1170189 - Remove the TiledLayerComposer interface. r=BenWa (843da52ff)
- Bug 1158122 - Remove some of the occurences of nsIntRect in gfx. r=nical (600608f14)
- Bug 1181240 - Part 3: Replace gfx3DMatrix with Matrix4x4 in gfx,r=vlad (e27a99500)
- Bug 1181240 - Part 4: Remove gfx3DMatrix,r=vlad (36138a985)
- Bug 997709 part 1 - nsComboboxDisplayFrame can't be split so its reflow status is always NS_FRAME_COMPLETE. r=heycam (15696aad1)
- Bug 997709 part 2 - Prevent the nsComboboxDisplayFrame from being blockified if the parent context has display:flex/grid. r=heycam (7bedb6d69)
- Bug 1140216. Remove asserts that stuff that we never create is not null, since it clearly is null. r=jwatt (aad9d387b)
- Bug 997709 part 3 - tests. (50f3e3a16)
- Bug 1113206: Make nsComboboxControlFrame and nsListControlFrame use logical coordinates and support vertical writing modes - patch by smontagu with additions by jfkthame. r=jfkthame,smontagu (aaaff31e9)
- Bug 1181890 - Center children of ruby content frame if necessary after the bidi reposition. r=jfkthame (8b3b5fdb2)
- Bug 1123284 - pt 1 - Make nsTextBoxFrame somewhat aware of vertical writing mode, to allow <input type=file> to display properly. r=smontagu (b395ba174)
- Bug 1123284 - pt 2 - Fix Get{Min,Pref}ISize in nsLeafBoxFrame for vertical mode. r=smontagu (4a828e0ab)
- Bug 1079151 - patch 1 - Update constraint calculations in nsHTMLReflowState to work with logical coordinates. r=smontagu (ce11e8f6b)
- Bug 1079151 - patch 2 - Convert nsAbsoluteContainingBlock to use logial coordinates. r=smontagu (ad2b0000c)
- Bug 1079151 - patch 3 - Remove failure annotations from the vertical abs-pos reftests. r=smontagu (d95333230)
- Bug 1079151 - patch 4 - Handle unconstrained inline-size when computing constraints for an orthogonal absolutely-positioned block. r=smontagu (99ffede00)
- Bug 1079151 - Updated test files with corrected comments and references as needed. r=jfkthame (c655a98d0)
- Bug 1175492 - unpref transform-origin percentage handling for SVG elements r=jwatt (cda2fffa7)
- Bug 1175094 - Include borderPadding in the combobox's containerWidth, so that dropdown arrow is positioned correctly in RTL. r=smontagu (e93ccaa34)
- Bug 1177614 - Provide a utility method on nsHTMLReflowState to return the computed size including border-padding, for use as a container for logical coordinate conversions, or zero if unconstrained. r=dholbert (89feb2d8a)
- Bug 1180178: Add writing-mode and logical coordinates to frame dumps, r=jfkthame (786a6d878)
- Bug 1157569 - part 12 - Convert physical values from BCPropertyData to logical when returning from Get[Included]OuterBCBorder. r=roc (2d5790f2a)
- Bug 1157569 - part 13 - More conversion of physical to logical terminology in border-collapse calculations. r=dholbert (a85618bf4)
- Bug 1176523 - Convert Get/SetContinuousBCBorderWidth in nsTableColFrame and nsTableColGroupFrame to logical coordinates. r=dholbert (6198c6eb3)
- Bug 1157569 - part 14 - Finish conversion of border-collapse code in nsTableFrame to logical coordinates. r=dholbert (700bbf09b)
- Bug 1157569 - Reftest for RTL table with border-collapse. r=roc (aa4fc0092)
- Bug 1157569 - Followup to address review nits (renamings, comment updates) from parts 13 and 14. (6cccb95df)
- Bug 903135 - Multi platform MAR verification updater support. r=rstrong (7643732df)
- Bug 991993: Disable NSS for updater on OSX and enable native APIs. r=smichaud,rstrong (1490dead8)
This commit is contained in:
2021-03-05 09:13:17 +08:00
parent c87f3d5918
commit 7d12d066b1
217 changed files with 4263 additions and 5450 deletions
+13 -11
View File
@@ -188,7 +188,7 @@ DrawSurfaceWithTextureCoords(DrawTarget *aDest,
#ifdef MOZ_ENABLE_SKIA
static SkMatrix
Matrix3DToSkia(const gfx3DMatrix& aMatrix)
Matrix3DToSkia(const Matrix4x4& aMatrix)
{
SkMatrix transform;
transform.setAll(aMatrix._11,
@@ -207,7 +207,7 @@ Matrix3DToSkia(const gfx3DMatrix& aMatrix)
static void
Transform(DataSourceSurface* aDest,
DataSourceSurface* aSource,
const gfx3DMatrix& aTransform,
const Matrix4x4& aTransform,
const Point& aDestOffset)
{
if (aTransform.IsSingular()) {
@@ -233,8 +233,8 @@ Transform(DataSourceSurface* aDest,
src.setInfo(srcInfo, aSource->Stride());
src.setPixels((uint32_t*)aSource->GetData());
gfx3DMatrix transform = aTransform;
transform.TranslatePost(Point3D(-aDestOffset.x, -aDestOffset.y, 0));
Matrix4x4 transform = aTransform;
transform.PostTranslate(Point3D(-aDestOffset.x, -aDestOffset.y, 0));
destCanvas.setMatrix(Matrix3DToSkia(transform));
SkPaint paint;
@@ -246,7 +246,7 @@ Transform(DataSourceSurface* aDest,
}
#else
static pixman_transform
Matrix3DToPixman(const gfx3DMatrix& aMatrix)
Matrix3DToPixman(const Matrix4x4& aMatrix)
{
pixman_f_transform transform;
@@ -269,7 +269,7 @@ Matrix3DToPixman(const gfx3DMatrix& aMatrix)
static void
Transform(DataSourceSurface* aDest,
DataSourceSurface* aSource,
const gfx3DMatrix& aTransform,
const Matrix4x4& aTransform,
const Point& aDestOffset)
{
IntSize destSize = aDest->GetSize();
@@ -329,7 +329,8 @@ BasicCompositor::DrawQuad(const gfx::Rect& aRect,
const gfx::Rect& aClipRect,
const EffectChain &aEffectChain,
gfx::Float aOpacity,
const gfx::Matrix4x4 &aTransform)
const gfx::Matrix4x4& aTransform,
const gfx::Rect& aVisibleRect)
{
RefPtr<DrawTarget> buffer = mRenderTarget->mDrawTarget;
@@ -342,7 +343,7 @@ BasicCompositor::DrawQuad(const gfx::Rect& aRect,
Matrix newTransform;
Rect transformBounds;
gfx3DMatrix new3DTransform;
Matrix4x4 new3DTransform;
IntPoint offset = mRenderTarget->GetOrigin();
if (aTransform.Is2D()) {
@@ -357,8 +358,9 @@ BasicCompositor::DrawQuad(const gfx::Rect& aRect,
dest->SetTransform(Matrix::Translation(-aRect.x, -aRect.y));
// Get the bounds post-transform.
new3DTransform = To3DMatrix(aTransform);
gfxRect bounds = new3DTransform.TransformBounds(ThebesRect(aRect));
new3DTransform = aTransform;
gfxRect bounds = ThebesRect(aRect);
bounds.TransformBounds(new3DTransform);
bounds.IntersectRect(bounds, gfxRect(offset.x, offset.y, buffer->GetSize().width, buffer->GetSize().height));
transformBounds = ToRect(bounds);
@@ -369,7 +371,7 @@ BasicCompositor::DrawQuad(const gfx::Rect& aRect,
// When we apply the 3D transformation, we do it against a temporary
// surface, so undo the coordinate offset.
new3DTransform = gfx3DMatrix::Translation(aRect.x, aRect.y, 0) * new3DTransform;
new3DTransform = Matrix4x4::Translation(aRect.x, aRect.y, 0) * new3DTransform;
}
newTransform.PostTranslate(-offset.x, -offset.y);