Commit Graph

10210 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
2db7de5c3d Bug 1456052 - Change overflow-clip-box of textarea to be consistent with text inputs and match other browsers. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D38794

--HG--
extra : moz-landing-system : lando
2019-07-22 21:17:18 +00:00
Boris Zbarsky
0f70d08ec8 Bug 1566595. Stop using [array] in nsIBinaryOutputStream. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D38387

--HG--
extra : moz-landing-system : lando
2019-07-22 20:27:39 +00:00
Ciure Andrei
98278afa46 Backed out changeset a858e4411532 (bug 1566595) for causing Windows MinGW builds bustages CLOSED TREE 2019-07-22 21:39:08 +03:00
Boris Zbarsky
9c74919340 Bug 1566595. Stop using [array] in nsIBinaryOutputStream. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D38387

--HG--
extra : moz-landing-system : lando
2019-07-22 14:52:04 +00:00
Daniel Holbert
088b7f4827 Bug 1568542: Adjust fuzzy annotation for reftest 1562733-rotated-nastaliq-2.html to allow a couple more pixels to be fuzzy. (no review, test-annotation-only) 2019-07-24 12:02:11 -07:00
longsonr
01547f5575 Bug 1474834 - fix transform-box for SVG shapes with fill: none r=dholbert 2019-07-24 09:13:18 +01:00
Hiroyuki Ikezoe
29364f973b Bug 1567108 - Test. r=hiro,emilio
Differential Revision: https://phabricator.services.mozilla.com/D38601
2019-07-20 17:43:49 +02:00
Emilio Cobos Álvarez
cf7beea50e Bug 1561794 - Do not crop display text of themed comboboxes due to padding. r=dbaron
This is a potential fix that I thought it was worth doing rather than
implementing Blink's platform-dependent silliness. This ensures that the display
frame always has enough space to display itself.

Note that it may still get clipped, if there's no room for both the display
frame and the button.

Differential Revision: https://phabricator.services.mozilla.com/D37922

--HG--
extra : moz-landing-system : lando
2019-07-20 14:54:33 +00:00
Jonathan Kew
f37f1040f9 Bug 1567397 - Adjust fuzzy annotations for minor subpixel changes in rotated nastaliq tests. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D38646

--HG--
extra : moz-landing-system : lando
2019-07-19 22:49:16 +00:00
Jeff Muizelaar
7004f6c590 Bug 1567265. Add test for visible rect changes not causing bounds changes. r=mstange
This tests triggers the problem that we ran into with bug 1565231. It
triggers the somewhat rare scenario where we update a blob and have a
new visible area.

Often changes in the visible area cause a bounds change which causes a
complete rebuild of the blob.

Differential Revision: https://phabricator.services.mozilla.com/D38550

--HG--
extra : moz-landing-system : lando
2019-07-19 13:03:14 +00:00
Jonathan Kew
91ee22332b Bug 1513423 - Measure text by always laying out glyphs LTR. r=heycam
Depends on D38298

Differential Revision: https://phabricator.services.mozilla.com/D38299

--HG--
extra : moz-landing-system : lando
2019-07-18 04:55:05 +00:00
Jonathan Kew
07940ead4d Bug 1513423 - Additional testcases for correct bounding box of complex RTL text runs. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D38298

--HG--
rename : layout/reftests/bugs/1116480-1-fakeitalic-overflow-ref.html => layout/reftests/bugs/1513423-1-ref.html
rename : layout/reftests/bugs/1116480-1-fakeitalic-overflow.html => layout/reftests/bugs/1513423-1.html
rename : layout/reftests/bugs/1116480-1-fakeitalic-overflow-ref.html => layout/reftests/bugs/1513423-2-ref.html
rename : layout/reftests/bugs/1116480-1-fakeitalic-overflow.html => layout/reftests/bugs/1513423-2.html
extra : moz-landing-system : lando
2019-07-18 21:52:08 +00:00
L. David Baron
9b308e257b Bug 1567036 - Clear BidiParagraphData::mPrevFrame when ResolveParagraphWithinBlock creates a new continuation, which invalidates its relationship to the line iterator. r=jfkthame
This patch adds an assertion that documents the invariant that this code
needs to maintain to manage the line iterator correctly.  Failing to
meet that invariant would also cause additional assertions in my
work-in-progress on bug 1300293.

It then adds two assignments of mPrevFrame to null that make that
assertion hold.

The first assignment to null is tested by a number of tests already in
our test suite, including
layout/reftests/w3c-css/received/css-writing-modes/block-plaintext-004.html
and layout/reftests/bidi/unicode-bidi-plaintext.html , which would hit
the added assertion if that assignment to null were not present.

The second assignment to null was untested in our test suite (though it
showed up when doing view-source: of https://html.spec.whatwg.org/ ), so
I've added a reftest (1567036-1.html) that hits the added assertion if
that second assignment to null is not present.

Differential Revision: https://phabricator.services.mozilla.com/D38438

--HG--
extra : moz-landing-system : lando
2019-07-18 20:09:04 +00:00
Lee Salzman
fcb5ce241f Bug 1566449 - Don't reverse glyphs in GlyphBuffer for RTL. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D38190

--HG--
extra : moz-landing-system : lando
2019-07-17 16:20:25 +00:00
Daniel Varga
68d2d44e0e Backed out changeset d0c32e17c69f (bug 1566449) for wpt failure at /css/css-text/shaping/shaping_lig-000.html. On a CLOSED TREE 2019-07-17 13:48:59 +03:00
Lee Salzman
1492fa84f0 Bug 1566449 - Don't reverse glyphs in GlyphBuffer for RTL. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D38190

--HG--
extra : moz-landing-system : lando
2019-07-17 07:14:07 +00:00
Bogdan Tara
848c0f8b71 Backed out changeset 0948829b33b0 (bug 1566449) for boundary-shaping-010.html failures CLOSED TREE 2019-07-17 05:16:29 +03:00
Csoregi Natalia
5c50393ac1 Backed out changeset 05c5e4d30587 (bug 1561794) for multiple failures e.g. test_bug320799.html. CLOSED TREE 2019-07-17 04:24:52 +03:00
Daniel Holbert
c66b95d09e Bug 1565384 part 1: When an embedded SVG document has an aspect-ratio change, trigger a reflow if 'object-fit' is set on the embedding element. r=emilio
If the embedding element uses `object-fit`, then that indicates it's precisely
positioning and/or sizing the embedded SVG document's viewport to fit inside
the embedding element's content area.  So, when the internal SVG viewBox
changes, then the embedding element needs to redo that positioning/sizing.  For
now, this specifically requires a reflow (and in particular, the nsViewManager
adjustments at the end of nsSubDocumentFrame::Reflow).

Differential Revision: https://phabricator.services.mozilla.com/D37910

--HG--
extra : moz-landing-system : lando
2019-07-17 00:58:57 +00:00
Emilio Cobos Álvarez
d146066640 Bug 1561794 - Do not to crop display text of themed comboboxes due to padding. r=dbaron
This is a potential fix that I thought it was worth doing rather than
implementing Blink's platform-dependent silliness. This ensures that the display
frame always has enough space to display itself.

Note that it may still get clipped, if there's no room for both the display
frame and the button.

Differential Revision: https://phabricator.services.mozilla.com/D37922

--HG--
extra : moz-landing-system : lando
2019-07-16 23:11:42 +00:00
Lee Salzman
81469e4765 Bug 1566449 - Don't reverse glyphs in GlyphBuffer for RTL. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D38190

--HG--
extra : moz-landing-system : lando
2019-07-16 19:23:40 +00:00
Bogdan Tara
05d1beaf67 Backed out changeset f69f242281a4 (bug 1566449) for regtests failing because of reftest.list CLOSED TREE 2019-07-16 22:06:42 +03:00
Lee Salzman
e979d8d858 Bug 1566449 - Don't reverse glyphs in GlyphBuffer for RTL. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D38190

--HG--
extra : moz-landing-system : lando
2019-07-16 17:24:10 +00:00
Chris Pearce
d022cd1e54 Bug 1351924 - Keep separate flags for whether block-size has changed and whether percentages derived from the block-size have changed, and make better decisions about what needs reflow. r=dholbert
This reduces a bit of code complexity, fixes bugs where we weren't
reflowing enough, and optimizes additional cases that we couldn't
optimize in the past.

Co-authored-by: Chris Pearce <cpearce@mozilla.com>
Co-authored-by: L. David Baron <dbaron@dbaron.org>

Differential Revision: https://phabricator.services.mozilla.com/D37610

--HG--
extra : moz-landing-system : lando
2019-07-14 01:04:31 +00:00
L. David Baron
e91086dae1 Bug 1351924 - Add reftests for correctness bug fixed by this bug. r=dholbert
Co-authored-by: L. David Baron <dbaron@dbaron.org>
Co-authored-by: Chris Pearce <cpearce@mozilla.com>

Differential Revision: https://phabricator.services.mozilla.com/D37609

--HG--
extra : moz-landing-system : lando
2019-07-14 01:04:29 +00:00
Jeff Muizelaar
00f87f386d Bug 1564655. blob: Make the recording use absolute coordinates. r=nical
Currently items are painted with a context that has a transform of
-mLayerBounds.TopLeft().  This means that if TopLeft() changes the commands
will be in the wrong place because the -TopLeft() offset is baked into the
recording.

I don't think we've ever needed to support painting without this transformed
baked in so there were some infrastructure changes that needed to be made to
make this possible. Most of the problems come from the use of
gfxContext::GetClipExtents which expose the bounds of the underlying surface.
The biggest of these was fixed by the CreateClippedDrawTarget rewrite. The rest
should be handled by ensuring that the DrawTarget has bounds that are at least
as big as the union of the individual item bounds. i.e. GetClipExtents should
never intersect with bounds of the item.

This change has a couple of parts:

1. Store mLayerBounds.TopLeft() in the recording so that it will be subtracted
during replay

2. Use mLayerBounds as the Rect of the RecordingDrawTarget

3. Don't include mLayerBounds.TopLeft() in the transform during recording.

4. Adjust the dirty rect by recordingOrigin before we use it as a clip so that
it stays in the right place.

5. In PaintContainerItem the bounds parameter of PushLayer is in device space
so we need to account for the shift in the location of device space in the
DrawTargetRecording.

Differential Revision: https://phabricator.services.mozilla.com/D37513

--HG--
extra : moz-landing-system : lando
2019-07-14 00:02:03 +00:00
L. David Baron
97a432f01b Bug 1564649 - Reflow all columns when a multicol with non-auto block-size balances its columns at a different block-size. r=TYLin
Depends on D37516

Differential Revision: https://phabricator.services.mozilla.com/D37517

--HG--
extra : moz-landing-system : lando
2019-07-12 20:24:46 +00:00
L. David Baron
3ca65b5216 Bug 1564649 - Add reftest. r=TYLin
Depends on D37515

Differential Revision: https://phabricator.services.mozilla.com/D37516

--HG--
extra : moz-landing-system : lando
2019-07-12 20:24:44 +00:00
Emilio Cobos Álvarez
b2494dc0fa Bug 1457628 - Remove broken rule for the file input button. r=jfkthame
Inheriting block-size is just plain wrong in presence of calc or percentages.

The layout without these rules also matches other browsers, so I see no reason
not to do this.

Differential Revision: https://phabricator.services.mozilla.com/D37746

--HG--
extra : moz-landing-system : lando
2019-07-12 10:10:43 +00:00
Gurzau Raul
c99bec025b Backed out changeset 13b62d64e105 (bug 1457628) for reftest failures at /forms/input/file/button-height.html on a CLOSED TREE.
--HG--
extra : rebase_source : 0322d1819c6bb5f1b86cb98c65889949d89f2b3d
extra : histedit_source : fa4c921ec16cb24154c9543ae6ff85502fa19aa7
2019-07-12 06:31:29 +03:00
Emilio Cobos Álvarez
609a5a9af0 Bug 1457628 - Remove broken rule for the file input button. r=jfkthame
Inheriting block-size is just plain wrong in presence of calc or percentages.

The layout without these rules also matches other browsers, so I see no reason
not to do this.

Differential Revision: https://phabricator.services.mozilla.com/D37746

--HG--
extra : moz-landing-system : lando
2019-07-11 18:34:33 +00:00
Emilio Cobos Álvarez
2189015730 Bug 1565129 - Re-introduce plain_text.wrap_long_lines. r=bzbarsky
Looks like some users use it, and it's not too much effort to support. This is
somewhat simpler, and IMO better than what existed before bug 1514655 because:

 * It doesn't regress bidi rendering when the pref is disabled (before, the pref
   would prevent plaintext.css from applying altogether).

 * It's consistent with the way view-source docs work.

 * It doesn't use non-standard stylesheet APIs to toggle the stylesheet
   (bug 1260720).

Differential Revision: https://phabricator.services.mozilla.com/D37742

--HG--
extra : moz-landing-system : lando
2019-07-11 18:49:50 +00:00
Bogdan Tara
fa0329b09b Backed out changeset 6f468ad73df2 (bug 1565129) for causing leaks CLOSED TREE 2019-07-11 21:00:59 +03:00
Emilio Cobos Álvarez
f75dd725f5 Bug 1565129 - Re-introduce plain_text.wrap_long_lines. r=bzbarsky
Looks like some users use it, and it's not too much effort to support. This is
somewhat simpler, and IMO better than what existed before bug 1514655 because:

 * It doesn't regress bidi rendering when the pref is disabled (before, the pref
   would prevent plaintext.css from applying altogether).

 * It's consistent with the way view-source docs work.

 * It doesn't use non-standard stylesheet APIs to toggle the stylesheet
   (bug 1260720).

Differential Revision: https://phabricator.services.mozilla.com/D37742

--HG--
extra : moz-landing-system : lando
2019-07-11 16:32:08 +00:00
Boris Chiou
1f9cb879fe Bug 1559276 - Part 1: Avoid using 3 valued syntax for position. r=emilio
Update the existing reftests to not use 3 valued syntax.

I run the script to update the syntax in
`layout/reftests/w3c-css/submitted/images3/*`,
`layout/reftests/w3c-css/submitted/masking/*`,
`layout/reftests/xul/*`, and
`layout/reftests/webm-video/*`:
```
function rename() {
    find layout/reftests/\
         -type f\
         ! -path "./obj*"\
         ! -path "./.git"\
         ! -path "./.hg"\
         \( -name "*.html" -or\
            -name "*.xul" \)\
            -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "object-position: top 3px center" "object-position: top 3px left 50%"
rename "object-position: center right 25%" "object-position: top 50% right 25%"
```

For `layout/reftests/svg/svg-integration/clip-path/*`, I just manually
update them.

Differential Revision: https://phabricator.services.mozilla.com/D37125

--HG--
extra : moz-landing-system : lando
2019-07-10 20:25:23 +00:00
Brendan Dahl
84f1f82f3d Bug 1557371 - Part 1 - Load all XUL reftests with chrome privilege. r=dbaron
This will have two benefits:

1) Align test setup with shipping Firefox - We don't allow content
privilege XUL in shipping versions of Firefox, so having the tests be
chrome would be more realistic to our use case.

2) Support the XUL to XHTML migration. These files will soon become XHTML
files, but will still need to load XUL elements, so they'll need to be
marked as chrome privileged to continue working.

One test (404149-1.xul) is now disabled, since it fails when loaded as
chrome. Bug 1557383 was filed to address this.

Differential Revision: https://phabricator.services.mozilla.com/D33986

--HG--
extra : moz-landing-system : lando
2019-07-09 19:40:33 +00:00
Kartikaya Gupta
a48c958c4a Bug 1564275 - Tweak allowed fuzz for 456219-1c.html. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D37418

--HG--
extra : moz-landing-system : lando
2019-07-09 16:23:51 +00:00
Kartikaya Gupta
19648f643e Bug 1564409 - Tweak allowed fuzz for img-width-slice-1.html. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D37417

--HG--
extra : moz-landing-system : lando
2019-07-09 16:23:51 +00:00
Kartikaya Gupta
9368f243bc Bug 1564429 - Tweak allowed fuzz to cover new values with WebRender on Geckoview, after bug 1409773. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D37416

--HG--
extra : moz-landing-system : lando
2019-07-09 14:20:27 +00:00
Kartikaya Gupta
9128a05784 Bug 1564383 - Mark test as passing with WebRender on Geckoview. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D37415

--HG--
extra : moz-landing-system : lando
2019-07-09 14:20:27 +00:00
Narcis Beleuzu
4b16f12a07 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-07-09 06:51:10 +03:00
Narcis Beleuzu
59c3fccd33 Merge inbound to mozilla-central. a=merge 2019-07-09 06:45:48 +03:00
Hiroyuki Ikezoe
3c50a262de Bug 1516322 - Enable all reftests in layout/reftests/meta-viewport on Windows. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D37032

--HG--
extra : moz-landing-system : lando
2019-07-08 18:51:51 +00:00
Andrew Osmond
e501ee889d Bug 1409773 - Use WebRender instead of fallback for border raster images. r=jrmuizel
Before this patch, we would use fallback for all border images. Now for
all but vector images we will use the WebRender border images
primitives. Vector images are an exception because the fallback is
clever in that it upscales the vector image and clips to only draw the
region it requires. This avoids artifacting but to do something similar
for WebRender as it is currently defined, we would increase our CPU and
memory footprint as we would need to produce the entire vector image
upscaled, not just the parts we need. In the future we should change
WebRender to accept different image resources for each of the segments.

Differential Revision: https://phabricator.services.mozilla.com/D37093
2019-07-08 12:54:44 -04:00
Hiroyuki Ikezoe
e1744fe34b Bug 1564021 - Use the default desktop width (980px) in the case where we have any viewport meta element but no valid content there. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D37329

--HG--
extra : moz-landing-system : lando
2019-07-09 01:56:34 +00:00
Hiroyuki Ikezoe
dcfdeea7f1 Bug 1556275 - Handle unknown values for width and height as 'Auto' in viewport meta tag. r=botond
Without the change a green rectangle in each reftest in this commit covers whole
screen.

Differential Revision: https://phabricator.services.mozilla.com/D37328

--HG--
extra : moz-landing-system : lando
2019-07-09 00:02:48 +00:00
Emilio Cobos Álvarez
74837c0281 Bug 1563484 - Add reftests for this bug. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D36895

--HG--
extra : moz-landing-system : lando
2019-07-06 08:20:14 +00:00
Emilio Cobos Álvarez
6754f5f967 Bug 1563484 - Add reftest support for text-zoom. r=dbaron
Seems we had no reftests for this feature :(

Depends on D36893

Differential Revision: https://phabricator.services.mozilla.com/D36894

--HG--
extra : moz-landing-system : lando
2019-07-05 21:33:37 +00:00
Kartikaya Gupta
9f2ef918cb Bug 1563691 - Add GV+WR fuzz annotation for new test. r=gbrown
Depends on D37066

Differential Revision: https://phabricator.services.mozilla.com/D37067

--HG--
extra : moz-landing-system : lando
2019-07-05 14:43:05 +00:00
Kartikaya Gupta
f81fad2520 Bug 1563737 - Tweak fuzz on element-paint-native-widget.html. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D37066

--HG--
extra : moz-landing-system : lando
2019-07-05 14:44:38 +00:00
Kartikaya Gupta
30a866a3ac Bug 1525314 - Disable tests that crash. r=gbrown
Depends on D36798

Differential Revision: https://phabricator.services.mozilla.com/D36799

--HG--
extra : moz-landing-system : lando
2019-07-04 21:34:59 +00:00
Kartikaya Gupta
ec2096ed3f Bug 1525314 - Update reftest annotations for WebRender on GeckoView. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D36798

--HG--
extra : moz-landing-system : lando
2019-07-04 21:57:48 +00:00
Kartikaya Gupta
a898111144 Bug 1525314 - Auto-fuzz WR on Android with maxDifference<=2. r=jmaher
Due to the sheer number of tests that exhibit a random fuzz with maxDifference=1
and maxDifference=2 with WR on Android, it's easier to just tweak the harness
to autofuzz these away. This adds machinery to do so, and also adds a new
annotation that can be used to disable the autofuzzing on specific tests.

Depends on D36794

Differential Revision: https://phabricator.services.mozilla.com/D36796

--HG--
extra : moz-landing-system : lando
2019-07-04 21:35:04 +00:00
Coroiu Cristina
3983fddf6d Backed out 6 changesets (bug 1525314) for reftest failures at reftests/svg/filters/css-filters/saturate-zero.html om a CLOSED TREE
Backed out changeset 0ed2509b7191 (bug 1525314)
Backed out changeset af72d1c4c107 (bug 1525314)
Backed out changeset ab21a3ff4ae4 (bug 1525314)
Backed out changeset 02399933ac4b (bug 1525314)
Backed out changeset 95790a07a93c (bug 1525314)
Backed out changeset 28f52fd3934e (bug 1525314)
2019-07-05 00:29:12 +03:00
Kartikaya Gupta
7cfd94cc2c Bug 1525314 - Disable tests that crash. r=gbrown
Depends on D36798

Differential Revision: https://phabricator.services.mozilla.com/D36799

--HG--
extra : moz-landing-system : lando
2019-07-03 17:09:40 +00:00
Kartikaya Gupta
c08a0b6539 Bug 1525314 - Update reftest annotations for WebRender on GeckoView. r=gbrown
Depends on D36797

Differential Revision: https://phabricator.services.mozilla.com/D36798

--HG--
extra : moz-landing-system : lando
2019-07-03 17:13:33 +00:00
Kartikaya Gupta
3d830c4a8c Bug 1525314 - Auto-fuzz WR on Android with maxDifference<=2. r=jmaher
Due to the sheer number of tests that exhibit a random fuzz with maxDifference=1
and maxDifference=2 with WR on Android, it's easier to just tweak the harness
to autofuzz these away. This adds machinery to do so, and also adds a new
annotation that can be used to disable the autofuzzing on specific tests.

Depends on D36794

Differential Revision: https://phabricator.services.mozilla.com/D36796

--HG--
extra : moz-landing-system : lando
2019-07-03 17:59:55 +00:00
Jonathan Kew
947857981c Bug 1562733 - Properly transform DetailedGlyph offsets when rendering vertical (rotated) text through webrender. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D36795

--HG--
extra : moz-landing-system : lando
2019-07-04 11:58:35 +00:00
Jonathan Kew
d7932775f8 Bug 1562733 - Add reftests using Noto Nastaliq in vertical (sideways) writing mode. r=lsalzman
The sideways-rl test is fuzzy (even without webrender) because we get a 1px discrepancy
in baseline positioning for the rotated text; presumably the rotation done by sideways-rl
and that done by CSS transform end up rounding the center of rotation differently. That's
probably a bug we should fix, although offhand I'm not sure which is more correct; anyhow,
it's a separate issue from the bug here.

When WebRender is enabled, the test/reference difference is much greater because many of
the glyphs are wildly misplaced, not just shifted by 1px, so it still fails despite the
fuzzy() annotation.

Differential Revision: https://phabricator.services.mozilla.com/D36793

--HG--
extra : moz-landing-system : lando
2019-07-03 18:24:03 +00:00
Jeff Muizelaar
e4c1e944b8 Bug 1563359. Add a test for clipping and stroking text. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D36825

--HG--
extra : moz-landing-system : lando
2019-07-03 19:49:05 +00:00
Dzmitry Malyshau
a29869406b Bug 1546818 - WR text local transform fix r=gw
Change the glyph transform computation to be relative to the surface node.

Differential Revision: https://phabricator.services.mozilla.com/D36603

--HG--
extra : moz-landing-system : lando
2019-07-03 18:59:42 +00:00
Daniel Holbert
b459034009 Bug 1562312: Implement 'contain:size' for <select multiple> elements. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D36418

--HG--
rename : layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-001-ref.html => layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-003-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-001.html => layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-003.html
rename : layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-002-ref.html => layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-004-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-002.html => layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-004.html
extra : moz-landing-system : lando
2019-07-02 18:40:17 +00:00
Mihai Alexandru Michis
761fb3a596 Backed out changeset c68a6b2e0157 (bug 1557371) for causing failures in reftest/content/bugs/272646-1.xul CLOSED TREE 2019-07-02 06:01:31 +03:00
Brendan Dahl
c5fbaae97e Bug 1557371 - Part 1 - Load all XUL reftests with chrome privilege. r=dbaron
This will have two benefits:

1) Align test setup with shipping Firefox - We don't allow content
privilege XUL in shipping versions of Firefox, so having the tests be
chrome would be more realistic to our use case.

2) Support the XUL to XHTML migration. These files will soon become XHTML
files, but will still need to load XUL elements, so they'll need to be
marked as chrome privileged to continue working.

One test (404149-1.xul) is now disabled, since it fails when loaded as
chrome. Bug 1557383 was filed to address this.

Differential Revision: https://phabricator.services.mozilla.com/D33986

--HG--
extra : moz-landing-system : lando
2019-06-29 00:04:12 +00:00
Daniel Holbert
2bfc73da09 Bug 1476127: Implement 'contain:size' for select elements. r=TYLin
Note that this is an imperfect implementation, in that it doesn't exactly
match the sizing behavior of a truly empty `<select>` element.  I've filed
followup bug 1562057 on that.  However, the behavior that's implemented
here *does* successfully make us ignore a `<select>`'s contents for sizing
purposes, and it's much better than what we do currently (which is pretty
broken via inheriting a partial `contain:size` implementation from our
parent class, nsBlockFrame).

Differential Revision: https://phabricator.services.mozilla.com/D36253

--HG--
extra : moz-landing-system : lando
2019-06-28 20:32:13 +00:00
Geoff Brown
945ee0068f Bug 1556058 - Update test expectations for Android 7.0 reftests; r=kats
These changes are needed for consistently green runs with the new emulator with
"-gpu on".
Most changes are simple removal of fuzzy-if(geckoview) but I also needed to add
at least one new fuzzy-if.
In this configuration we can run reftests in just 2 chunks (20 minutes each on
opt/30 minutes on debug).

Differential Revision: https://phabricator.services.mozilla.com/D36258

--HG--
extra : moz-landing-system : lando
2019-06-28 17:30:48 +00:00
Jan Henning
689a29b361 Bug 1552781 - Part 3: Make flex/grid items font inflation flow roots, too. r=dbaron
The arguments for the respective container elements apply to their immediate
child items, too: They establish a new formatting context as well and presumably
represent page content that can be considered to be logically separate enough to
warrant individual consideration for font inflation.

Differential Revision: https://phabricator.services.mozilla.com/D35881

--HG--
extra : moz-landing-system : lando
2019-06-26 21:12:07 +00:00
Jan Henning
d507b88036 Bug 1552781 - Part 2: Flexboxes/grids should be font inflation flow roots. r=dbaron
Our algorithm for dividing a page up into separate font inflation flow roots
seems mostly based on the idea that a new Block Formatting Context (BFC) should
go hand in hand with a font inflation flow root.
Flex containers so far didn't follow that rule, since they technically create a
new *Flex* Formatting Context (FFC) and possibly also because nobody thought
about font inflation when implementing nsFlexContainerFrame.

This leads to all flex containers being counted against the next higher-level
flow root, meaning that a lot of small flex containers can get inflated if their
sum total of text *collectively* exceeds the font inflation threshold.
This alone is likely undesired most of the time, but is then also aggravated by
the fact that our flexbox behaviour under font inflation is somewhat buggy (bug
1142461).

As apart from the different layout rules inside the container, a FFC behaves
very much like a BFC in that it establishes a new formatting context, flex
containers should therefore correspondingly become font inflation flow roots,
too, and therefore be considered individually for font inflation.

As far as I can tell, with this change we'll also match Blink's behaviour in
that regard.

For completeness's sake, we'll make grid containers follow the same principles,
even though hopefully grids on non mobile-friendly pages should hopefully be
somewhat rarer than flexboxes.

Differential Revision: https://phabricator.services.mozilla.com/D32622

--HG--
extra : moz-landing-system : lando
2019-06-26 21:11:20 +00:00
Jan Henning
b0ada58aa8 Bug 1552781 - Part 1: Add reftests for flexbox/grid font inflation scope. r=dbaron
In this case, the desired end state is *no* inflation, so we don't need separate
ref-versions of the test pages - the only difference is in the prefs being used.

Differential Revision: https://phabricator.services.mozilla.com/D32621

--HG--
extra : moz-landing-system : lando
2019-06-26 21:11:14 +00:00
Jan Henning
edd23be2b9 Bug 1552781 - Part 0: Clarify comment in reftest manifest. r=dbaron
There is a natural tendency to add new tests at the bottom of the manifest, so
the comment about the lineThreshold pref wasn't entirely accurate anymore.

Differential Revision: https://phabricator.services.mozilla.com/D32620

--HG--
extra : moz-landing-system : lando
2019-06-26 21:11:08 +00:00
Daniel Holbert
b43696ca71 Bug 1561717 part 2: Add "elem" suffix to reftests "contain-size-select-*", to avoid name collisions with other WPT tests, and add spec link. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D36222

--HG--
rename : layout/reftests/w3c-css/submitted/contain/contain-size-select-001-ref.html => layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-001-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-size-select-001.html => layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-001.html
rename : layout/reftests/w3c-css/submitted/contain/contain-size-select-002-ref.html => layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-002-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-size-select-002.html => layout/reftests/w3c-css/submitted/contain/contain-size-select-elem-002.html
extra : moz-landing-system : lando
2019-06-27 18:10:46 +00:00
Emilio Cobos Álvarez
ca7c3716eb Bug 1552578 - Restrict properties that apply to ::marker for now. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D31680
2019-06-27 13:27:40 +02:00
Coroiu Cristina
f91bd38732 Merge inbound to mozilla-central a=merge 2019-06-27 12:36:00 +03:00
Gurzau Raul
f5eb98192b Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-06-27 01:04:55 +03:00
L. David Baron
0c725e58b7 Bug 1561351 - Fix prematurely closed head elements. r=dholbert
Depends on D35958

Differential Revision: https://phabricator.services.mozilla.com/D35959

--HG--
extra : moz-landing-system : lando
2019-06-26 15:34:14 +00:00
Luke Zielinski
b501455d0e Bug 1561351 - Import from WPT: Load Ahem as a webfont everywhere (part 2) (#17173) r=dholbert
This change updates a large number of reftests to link to the
`/fonts/ahem.css` stylesheet. Each file contains a single additional
line before the first `<style>` element:
```
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
```

Differential Revision: https://phabricator.services.mozilla.com/D35958

--HG--
extra : moz-landing-system : lando
2019-06-26 15:35:58 +00:00
Joel Maher
6aaddcd2f1 Bug 1559851 - fix reftest manifest ordering for random-if to work. r=gbrown
reftest manifests have ordering issues, re-organizing the fuzzy-if/random-if clauses to allow random-if to work.

Differential Revision: https://phabricator.services.mozilla.com/D36031

--HG--
extra : moz-landing-system : lando
2019-06-26 14:42:22 +00:00
Hiroyuki Ikezoe
ae4a1bc2c7 Bug 1560704 - Revert the change transform-style: inherit added to ::-moz-table-wrapper in ua.css. r=birtles
It caused rendering issues just like a reftest in this commit.  We don't know
the reason but fixing it will be some amount of work which couldn't be uplifted
to 68.  So we just revert the change here now.  Probably we should revisit the
problem once we got a bug report that the lack of the `transform-style: inherit`
causes rendering issues.

Differential Revision: https://phabricator.services.mozilla.com/D35946

--HG--
extra : moz-landing-system : lando
2019-06-26 10:29:37 +00:00
Mihai Alexandru Michis
c97c5547e7 Backed out changeset 7423f5bc275c (bug 1552578) for causing failures in test_marker_restrictions.html. CLOSED TREE 2019-06-27 05:52:48 +03:00
Emilio Cobos Álvarez
5fa55a81bc Bug 1552578 - Restrict properties that apply to ::marker for now. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D31680

--HG--
extra : moz-landing-system : lando
2019-06-27 00:53:45 +00:00
Hiroyuki Ikezoe
b14c7c928c Bug 1560237 - Don't propagate scroll-behavior from <body>. r=botond
From the CSSOM View spec[1];

 The scroll-behavior property of the HTML body element is not propagated to
 the viewport.

The reason why this change fixes the test case in this commit is that we don't
have two different scrollable frames for <html> and <body> respectively if we
don't propagate scroll-behavior property from <body> to <html> so that we can
properly find the `flow root` of sticky position elements.

In other words, in the case where both of <html> and <body> have properties
that are propagated from <body> but they are different we have two scrollable
frames as a candidate of the 'flow root' for the sticky position element in
the test case, one is the scrollable frame for <html> and the other is the
scrollable frame for <body>.  That means that
nsLayoutUtils::GetNearestScrollableFrame doesn't return what we want in some
places, for example we have a pretty similar issue in case of
overscroll-behavior which is bug 1561107.

Note that the test position-sticky-root-scroller-with-scroll-behavior.html is
almost copy-and-pasted from
/css/css-position/position-sticky-root-scroller.html [2] in wpt, the reason why
we put the test in /css/cssom-view is that there is a handy function to wait
for async scroll completion.

[1] https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior
[2] https://searchfox.org/mozilla-central/rev/928742d3ea30e0eb4a8622d260041564d81a8468/testing/web-platform/tests/css/css-position/position-sticky-root-scroller.html

Differential Revision: https://phabricator.services.mozilla.com/D35739

--HG--
extra : moz-landing-system : lando
2019-06-26 20:57:05 +00:00
Jeff Muizelaar
164066e445 Bug 1561689. svg: Add reftest for clipped items at negative coordinates. r=mstange
'<image>' elements will look at the current clip when painting. Puting one
of them at negative coordinates exposes potential bugs in the blob recoord work.

Differential Revision: https://phabricator.services.mozilla.com/D36072

--HG--
extra : moz-landing-system : lando
2019-06-26 18:51:22 +00:00
Morgan Rae Reschenberg
e7e326076b Bug 1561717: Add reftests for 'contain:size' on select elements. r=dholbert 2019-06-26 13:17:47 -07:00
Joel Maher
20fa98eddb Bug 1559851 - mark w3c-css/submitted/variables/variable-external-font-face-01.html as random-if on win7/debug. r=gsvelto
mark w3c-css/submitted/variables/variable-external-font-face-01.html as random-if on win7/debug

Differential Revision: https://phabricator.services.mozilla.com/D35653

--HG--
extra : moz-landing-system : lando
2019-06-25 01:25:28 +00:00
Matt Woodrow
8f12c70442 Bug 1558937 - Don't allow duplicate items for printing. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D34775

--HG--
extra : moz-landing-system : lando
2019-06-24 08:00:41 +00:00
Brindusan Cristian
928742d3ea Backed out changeset c872cc627115 (bug 1558937) for reftest failures at 1558937-1.html. 2019-06-24 06:09:11 +03:00
Matt Woodrow
e2458a8e7c Bug 1558937 - Don't allow duplicate items for printing. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D34775

--HG--
extra : moz-landing-system : lando
2019-06-24 01:38:37 +00:00
Emilio Cobos Álvarez
b301149caa Bug 1536871 - Make 'line-height: normal' return the 'normal' keyword from getComputedStyle() on Nightly and Early Beta, for now. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D25119

--HG--
extra : moz-landing-system : lando
2019-06-14 09:01:44 +00:00
Ting-Yu Lin
3ae14a4f88 Bug 1523595 Part 1 - Remove margin-bottom from column-balancing-nested-000.html and its reference. r=dbaron
This patch does the same thing as bug 1548118 Part 3, but for
column-balancing-nested-000.html.

Differential Revision: https://phabricator.services.mozilla.com/D31674

--HG--
extra : moz-landing-system : lando
2019-06-19 17:03:53 +00:00
Daniel Holbert
5ec19daf90 Bug 1558849: Use sans-serif font in reftest ruby-inlinize-blocks-002.html to reduce likelihood of fuzziness. r=jfkthame
We're seeing occasional fuzzy-mismatch failures with a single pixel differing,
where an antialiased "a" serif overlaps an adjacent table border.  Hopefully a
sans-serif font will reduce the likelihood of this fuzziness.

Differential Revision: https://phabricator.services.mozilla.com/D35266

--HG--
extra : moz-landing-system : lando
2019-06-18 22:03:01 +00:00
Brindusan Cristian
3f9e2ec379 Backed out changeset 64b2f8306217 (bug 1536871) for dt failures at browser_fontinspector.js. CLOSED TREE 2019-06-14 00:14:16 +03:00
Emilio Cobos Álvarez
7d1f93b8c6 Bug 1536871 - Make 'line-height: normal' return the 'normal' keyword from getComputedStyle() on Nightly and Early Beta, for now. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D25119

--HG--
extra : moz-landing-system : lando
2019-06-13 18:30:07 +00:00
Kartikaya Gupta
032ebfa3e8 Bug 1559032 - Adjust fuzz for 395107-5.html on geckoview. r=gbrown
Depends on D34896

Differential Revision: https://phabricator.services.mozilla.com/D34897

--HG--
extra : moz-landing-system : lando
2019-06-13 15:26:09 +00:00
Kartikaya Gupta
50738de8c3 Bug 1559023 - Adjust fuzz for form-valid-and-barred-remove-barred.html on geckoview. r=gbrown
Depends on D34895

Differential Revision: https://phabricator.services.mozilla.com/D34896

--HG--
extra : moz-landing-system : lando
2019-06-13 15:27:08 +00:00
Kartikaya Gupta
4c8f4be8cd Bug 1559001 - Adjust fuzz for 395107-3.html on geckoview. r=gbrown
Depends on D34894

Differential Revision: https://phabricator.services.mozilla.com/D34895

--HG--
extra : moz-landing-system : lando
2019-06-13 15:26:38 +00:00
Kartikaya Gupta
f1799b531a Bug 1558894 - Adjust fuzz for 315920-11.html on geckoview. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D34894

--HG--
extra : moz-landing-system : lando
2019-06-13 15:27:32 +00:00
Glenn Watson
e22f19cf52 Bug 1558106 - Support picture caching for multiple scroll roots. r=kvark
This patch implements the majority of the planned picture caching
improvements. It supports most of the functionality required to
(as a follow up) support OS compositor integration. It also improves
on the robustness and functionality of the previous picture caching
implementation.

There are some expected temporary performance regressions in
some cases (such as content that is constantly invalidating) and
during initial page render when many render targets must be drawn
to. These performance regressions will be resolved in follow up
commits by supporting multi-resolution tiles.

The scene is split into a number of slices, determined by the scroll
root of each primitive, which can be found by the primitive's
spatial node indices. If a scene contains too many slices, then
picture caching is disabled on the page, to avoid excessive texture
memory usage, and rendering falls back to rasterizing each frame.

The specific changes in this patch are:
    * Support tile caches for multiple scroll roots, allowing the
      entire page (including fixed divs and the main UI bar) to be
      cached in most cases, in addition to the main content.
    * Remove requirement to read tiles back from the framebuffer.
      Instead, they are drawn into the picture cache target tiles,
      and blitted to the screen. This is slightly slower than the
      existing picture caching when content is constantly changing,
      however this cost will disappear / become irrelevant when
      the OS compositor integration work is complete.
    * Switch picture cache render targets to be nearest sampled (they
      are always rendered 1:1) and support depth buffer targets.
    * Make use of the external scroll offset support to allow removal
      of the primitive correlation hacks in the previous picture
      caching implementation. Also allows storing of primitive
      dependencies in picture space rather than world space, which
      reduces floating point inaccuracies.
    * Determine if each tile and picture cache can be considered
      opaque. This is used to determine whether subpixel AA text
      rendering is available on a slice, and for rendering optimizations
      related to disabling blending and/or tile clears.
    * Use the clip chain instance results from the recent visibility pass
      work to determine clip chain dependencies. This results in fewer
      clip item dependencies in tiles, which is faster to check validity
      and reduces redundant invalidations.
    * Remove extra overhead during batching related to batch lists,
      and region iteration, as they are no longer required.
    * Support PrimitiveVisibilityMask during batching. This allows a
      single traversal of a picture (surface) root during batching to
      efficiently construct multiple alpha batcher objects (typically
      one per invalida tile).
    * Picture caching is now handled implicitly by WR, depending on
      the content of the scene. There is no requirement for client
      code to manually select which stacking context should be cached.
    * Simplify how clip chain / transform dependencies are tracked by
      picture cache tiles.
    * Support pushing / popping enclosing clip chain roots without
      the need for a stacking context / picture in some cases. This
      simplifies the logic to split the scene into multiple slices.

The main remaining work in this area is (a) extend the code to
optionally provide each slice as an input to the OS compositor
rather than drawing the tiles in WR, and (b) support multi-resolution
tiles so that we reduce the draw call, batching and render target
overhead in cases where much of the page content is changing.

Differential Revision: https://phabricator.services.mozilla.com/D34319

--HG--
extra : moz-landing-system : lando
2019-06-13 04:43:56 +00:00
Kartikaya Gupta
2537eda1c2 Bug 1558834 - Adjust fuzz for 315920-7a.html on geckoview. r=gbrown
Note that the geckoview annotation will override the previous Android
annotation, but I verified that on geckoview debug the test seems to
pass so overriding the Android&&debug annotation should be ok.

Depends on D34727

Differential Revision: https://phabricator.services.mozilla.com/D34728

--HG--
extra : moz-landing-system : lando
2019-06-12 15:34:30 +00:00
Kartikaya Gupta
bb51ce8530 Bug 1558712 - Adjust fuzz for frame-scrolling-attr-2.html on geckoview. r=gbrown
Depends on D34725

Differential Revision: https://phabricator.services.mozilla.com/D34727

--HG--
extra : moz-landing-system : lando
2019-06-12 15:34:57 +00:00
Kartikaya Gupta
25cb12eaba Bug 1558645 - Adjust fuzz for selector-read-write-type-change-001.html on geckoview. r=gbrown
Depends on D34724

Differential Revision: https://phabricator.services.mozilla.com/D34725

--HG--
extra : moz-landing-system : lando
2019-06-12 15:35:54 +00:00