Граф коммитов

3622 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 95d5d947ba Bug 874811 - Outer svg is a replaced box with CSS layout, and CSSOM should reflect that accordingly. r=dholbert,violet
Co-authored-by: violet <violet.bugreport@gmail.com>

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

--HG--
extra : moz-landing-system : lando
2019-04-22 17:01:10 +00:00
Sylvestre Ledru a1dce6440a Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-22 16:35:03 +00:00
Narcis Beleuzu 43fbd93234 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-04-27 12:54:35 +03:00
longsonr dcc4813635 Bug 1542646 Part 13 - Make function declaration and definition parameter names match r=dholbert 2019-04-27 08:57:50 +01:00
longsonr b768833e62 Bug 1542646 Part 12 - avoid implicit double to float conversions by using std:: variants of mathematical functions r=dholbert 2019-04-25 22:46:33 +01:00
longsonr ff95be21f8 Bug 1542646 Part 10 - simplify boolean logic r=dholbert 2019-04-20 11:29:32 +01:00
longsonr 5f62f5b014 Bug 1542646 Part 9 - Fix else after return r=dholbert 2019-04-20 11:26:19 +01:00
violet f48d16aaf5 Bug 1247218 - Should consider CSS transform when using non-scaling-stroke r=longsonr
We remove initial x/y offset for nsSVGUtils::GetTransformMatrixInUserSpace
so that it can be used in not-nondisplay context. Previously it was only
used in nondisplay context, where x/y offset is always 0.

Then we use this utility to get the transform matrix to judge whether we need
special care for non-scaling-stroke. The old matrix doesn't account for CSS
transform.

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

--HG--
extra : moz-landing-system : lando
2019-04-20 02:04:52 +00:00
violet 3d671c5897 Bug 1323962 - Should support CSS transform for pattern r=longsonr
The same as mask.

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

--HG--
extra : moz-landing-system : lando
2019-04-18 14:35:23 +00:00
violet 5f0ba63570 Bug 1323962 - Should support CSS transform for mask r=longsonr
SVGElement::PrependLocalTransformsTo doesn't take CSS transform into
account, we should use nsIFrame::GetTransformMatrix instead.

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

--HG--
extra : moz-landing-system : lando
2019-04-18 17:19:42 +00:00
Andreea Pavel e5b695eefd Merge mozilla-inbound to mozilla-central. a=merge 2019-04-19 00:36:23 +03:00
Brian Grinstead 381332c51e Bug 1544051 - Part 3 - Scripted change to remove references to AddTask.js r=ahal
This was generated with the script at https://bug1544051.bmoattachments.org/attachment.cgi?id=9058672

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

--HG--
extra : moz-landing-system : lando
2019-04-18 16:51:01 +00:00
Dan Glastonbury d361d6bc8e Bug 1526972 - P1: Compress bool state into bit flags. r=miko
Also move to first cache-line (64-bytes) of nsDisplayItem to improve D-cache hit
when accessing mFrame, mItemFlags, etc.

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

--HG--
extra : moz-landing-system : lando
2019-04-18 02:38:13 +00:00
longsonr 0ae6e3c251 Bug 1542646 Part 7 - use default keyword where possible r=dholbert 2019-04-17 23:38:02 +01:00
Brian Grinstead ede8c44ef2 Bug 1544322 - Part 2.1 - Remove the [type] attribute for one-liner <script> tags loading files in /tests/SimpleTest/ in everything except for dom/ r=bzbarsky
This excludes dom/, otherwise the file size is too large for phabricator to handle.

This is an autogenerated commit to handle scripts loading mochitest harness files, in
the simple case where the script src is on the same line as the tag.

This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170
using the `--part 2` argument.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 03:50:44 +00:00
Brian Grinstead 6515f97bcb Bug 1544322 - Part 1 - Remove the [type] attribute for one-liner <script> tags loading files in chrome://mochikit/content/ r=bzbarsky
This is an autogenerated commit to handle scripts loading mochitest harness files, in
the simple case where the script src is on the same line as the tag.

This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170
using the `--part 1` argument.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 20:56:58 +00:00
Masayuki Nakano f5737567dd Bug 1544343 - part 3: Make layout use mozilla::PresShell instead of nsIPresShell as far as possible r=emilio
This patch changes remaining things under `layout/`.  However, there are some
places which still need to use `nsIPresShell`.  That will be fixed in a
follow up bug.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 07:25:10 +00:00
Masayuki Nakano 2f9688c14e Bug 1544343 - part 2: Make factory methods take mozilla::PresShell instead of nsIPresShell r=emilio
Additionally, this patch makes `nsFrame.h` stop including `nsIPresShell.h`
and makes each users include `mozilla/PresShell.h` instead.  So, this improves
rebuild performance of `nsIPresShell.h` (and `mozilla/PresShell.h` in the
future).

Note that due to `nsIFrame::PresShell()`, `mozilla::` prefix is necessary for
`PresShell` in a lot of classes which are derived from `nsIFrame` even in
`.cpp` files.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 07:24:49 +00:00
Kartikaya Gupta 25f7a03029 Bug 1543482 - Extract a helper to identify clip paths WR can handle without masks. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D27454

--HG--
extra : moz-landing-system : lando
2019-04-15 11:24:53 +00:00
Csoregi Natalia 612325227f Backed out 8 changesets (bug 1526972) for causing crashes (bug 1544406). a=backout
Backed out changeset 815543d81a1d (bug 1526972)
Backed out changeset a895c9028b31 (bug 1526972)
Backed out changeset 2ea2f8533078 (bug 1526972)
Backed out changeset 2fb940b13971 (bug 1526972)
Backed out changeset 8543b9d46521 (bug 1526972)
Backed out changeset ddd57e437228 (bug 1526972)
Backed out changeset 54b14df56e6f (bug 1526972)
Backed out changeset a59f06022a95 (bug 1526972)
2019-04-15 18:15:49 +03:00
Dan Glastonbury a9319e3ae3 Bug 1526972 - P1: Compress bool state into bit flags. r=miko
Also move to first cache-line (64-bytes) of nsDisplayItem to improve D-cache hit
when accessing mFrame, mItemFlags, etc.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 00:23:07 +00:00
violet fa3b85a4da Bug 1544270 - Change 1.f * something to float(something) r=longsonr
Change 1.f * something to float(something)

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

--HG--
extra : moz-landing-system : lando
2019-04-14 09:32:19 +00:00
violet 1ce98d921c Bug 1544209 - Should not scale mFontSizeScaleFactor for user space r=longsonr
We already get the user space metrics, mFontSizeScaleFactor is irrelevant
and the scaling should not be applied in the first place.

Otherwise we will get very wrong bounding box when <text> has SVG transform
or the font has extreme size.

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

--HG--
extra : moz-landing-system : lando
2019-04-14 07:41:42 +00:00
Masayuki Nakano 414509fe00 Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug
So, this patch makes all caller of it safe including its arguments unless
they come from other methods.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 12:43:57 +00:00
longsonr eff829f752 Bug 1542646 Part 6 - pass by reference when it's more efficient r=dholbert 2019-04-12 17:29:32 +01:00
longsonr 07bf678276 Bug 1542646 Part 5 - don't use instance variables to access static methods r=dholbert 2019-04-12 17:28:13 +01:00
Ting-Yu Lin f49d08722a Bug 1543571 Part 1 - Replace "reflow state" with "reflow input". r=dholbert
This patch is generated by the following script on Linux:

function rename() {
    find .\
         -type f\
         ! -path "./obj*"\
         ! -path "./.git"\
         ! -path "./.hg"\
         \( -name "*.cpp" -or\
            -name "*.h" \)\
            -exec sed -i -e "s/$1/$2/g" "{}" \;
}
rename "reflow state" "reflow input"

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

--HG--
extra : moz-landing-system : lando
2019-04-11 20:27:37 +00:00
longsonr 866f2126b4 Bug 1540408 Part 3 - Rename SVGViewBoxRect to SVGViewBox r=dholbert 2019-04-10 05:08:14 +01:00
longsonr 4c4cabe851 Bug 1540408 Part 2 - Move nsSVGLength2 and nsSVGNumber2 to the mozilla namespace renaming them to be SVGAnimatedLength and SVGAnimatedNumber. r=dholbert
--HG--
rename : dom/svg/nsSVGLength2.cpp => dom/svg/SVGAnimatedLength.cpp
rename : dom/svg/nsSVGLength2.h => dom/svg/SVGAnimatedLength.h
rename : dom/svg/nsSVGNumber2.cpp => dom/svg/SVGAnimatedNumber.cpp
rename : dom/svg/nsSVGNumber2.h => dom/svg/SVGAnimatedNumber.h
2019-04-09 21:04:33 +01:00
violet 5c289d7a54 Bug 1542714 - Remove nsSVGUtils::GetUserToCanvasTM r=longsonr
nsSVGUtils::GetUserToCanvasTM becomes dead code and no longer useful,
since it doesn't take CSS transform into account. Let's remove it.

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

--HG--
extra : moz-landing-system : lando
2019-04-08 17:20:07 +00:00
violet c0ca7d5cac Bug 1541021 - Should take CSS transform into account when calculating getBoundingClientRect() r=longsonr
We should use nsLayoutUtils::GetTransformToAncestor instead of
nsSVGUtils::GetUserToCanvasTM to get the transform matrix. Because the former
will also take CSS transform into account while the latter won't.

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

--HG--
extra : moz-landing-system : lando
2019-04-08 04:39:23 +00:00
Narcis Beleuzu 8d78f21970 Backed out changeset 253e90f0ccf3 (bug 1541021) for mochitest failures on test_bounds.html 2019-04-07 19:50:14 +03:00
violet ea72deb0be Bug 1541021 - Should take CSS transform into account when calculating getBoundingClientRect() r=longsonr
We should use nsLayoutUtils::GetTransformToAncestor instead of
nsSVGUtils::GetUserToCanvasTM to get the transform matrix. Because the former
will also take CSS transform into account while the latter won't.

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

--HG--
extra : moz-landing-system : lando
2019-04-07 14:11:39 +00:00
Emilio Cobos Álvarez 7980a72d0a Bug 760345 - Remove the last usage of lossy currentcolor. r=heycam
We don't have lossy currentcolor in the style system anymore, except for a
single property -moz-font-smoothing-background-color.

I could've converted it into a proper StyleColor and thread down all the
necessary information to the font metrics code.

But it doesn't really seem worth it given it's not exposed to the web, so I just
did the simplest thing, which is making currentcolor compute to transparent to
that specific property.

This patch also removes the stores_complex_colors_lossily code and related,
since now we always can cache computed colors.

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

--HG--
extra : moz-landing-system : lando
2019-04-06 17:47:58 +00:00
Masayuki Nakano e8446480e1 Bug 1542407 - Make nsIFrame use mozilla::PresShell directly rather than via nsIPresShell r=emilio
Except retrieving from weak reference, `nsIFrame` should treat
`mozilla::PresShell` directly rather than via `nsIPresShell`.

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

--HG--
extra : moz-landing-system : lando
2019-04-06 06:02:28 +00:00
Kartikaya Gupta 4d9ac753d2 Bug 1541113 - Avoid crashing content process with giant drawtarget. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D25931

--HG--
extra : moz-landing-system : lando
2019-04-05 16:26:59 +00:00
Coroiu Cristina 749dbdc496 Merge mozilla-central to inbound a=merge 2019-04-05 06:23:29 +03:00
Miko Mynttinen 5463d7f522 Bug 1536423 - Remove SVGCharClipDisplayItem r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D26191

--HG--
extra : moz-landing-system : lando
2019-04-04 18:04:49 +00:00
Alex Henrie c8349295db Bug 1529182 - Include stroke in SVG <text> bounding box. r=longsonr,heycam
I think I found another mistake in the SVG text code that could explain the regression: If the text is drawn with a stroke, shouldn't the stroke be included in the bounding box?

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

--HG--
extra : moz-landing-system : lando
2019-04-04 06:38:40 +00:00
Masayuki Nakano 9165a150a1 Bug 1540930 - Make nsPresContext use mozilla::PresShell directly rather than via nsIPresShell r=emilio
`nsPresContext` should use `mozilla::PresShell` directly instead of
`nsIPresShell`.  This patch makes it.

Unfortunately, `nsPresContext` and `nsIFrame` have `PresShell()`.  Therefore,
we cannot use `PresShell*` in its methods so that this patch uses `mozilla::`
namespace prefix.

It might be better to rename them as `PresShellPtr()` in another bug.

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

--HG--
extra : moz-landing-system : lando
2019-04-03 12:40:26 +00:00
violet 6db1bbd9b8 Bug 1370646 - Honor the maxTextRunSize if it's within reasonable range r=heycam
If the maximal and minimal font-size in a SVGTextFrame have a huge difference,
previously we chose mFontSizeScaleFactor to satisfy the minimal one. That's
problematic, because the maximal one might be a reasonable size, while the minimal
one is extremely small. We should honor the maximal one if this is the case.

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

--HG--
extra : moz-landing-system : lando
2019-04-03 01:00:38 +00:00
Matt Woodrow d99a15fae2 Bug 1539673 - Support fallible display item construction. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D25167

--HG--
extra : moz-landing-system : lando
2019-04-01 16:53:11 +00:00
violet fa6e04c666 Bug 1540703 - Should also reflow SVGTextFrame for non-display active child of switch element r=longsonr
When <switch> happens to have an active child that is non-display, we should still reflow all its descendant SVGTextFrame for consistency.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 06:08:23 +00:00
Jonathan Kew f5e8791f61 Bug 1533428 - patch 4 - Include chromium-config.mozbuild in the moz.build for a bunch more directories, so that IPC-related headers are available. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D22922

--HG--
extra : moz-landing-system : lando
2019-04-01 14:32:44 +00:00
Daniel Varga bd12eaff99 Backed out changeset 005d447749ec (bug 1370646) mochitest failure at layout/style/test/test_font_loading_api.html. On a CLOSED TREE 2019-03-29 10:38:13 +02:00
violet e93691e85b Bug 1370646 - Honor the maxTextRunSize if it's within reasonable range r=heycam
If the maximal and minimal font-size in a SVGTextFrame have a huge difference,
previously we chose mFontSizeScaleFactor to satisfy the minimal one. That's
problematic, because the maximal one might be a reasonable size, while the minimal
one is extremely small. We should honor the maximal one if this is the case.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 07:01:10 +00:00
longsonr bff06425af Bug 1540408 Part 1 - Move most internal attribute representation classes to be of the form SVGAnimated. r=dholbert
--HG--
rename : dom/svg/SVGBoolean.cpp => dom/svg/SVGAnimatedBoolean.cpp
rename : dom/svg/SVGBoolean.h => dom/svg/SVGAnimatedBoolean.h
rename : dom/svg/SVGClass.cpp => dom/svg/SVGAnimatedClass.cpp
rename : dom/svg/SVGClass.h => dom/svg/SVGAnimatedClass.h
rename : dom/svg/SVGEnum.cpp => dom/svg/SVGAnimatedEnumeration.cpp
rename : dom/svg/SVGEnum.h => dom/svg/SVGAnimatedEnumeration.h
rename : dom/svg/SVGInteger.cpp => dom/svg/SVGAnimatedInteger.cpp
rename : dom/svg/SVGInteger.h => dom/svg/SVGAnimatedInteger.h
rename : dom/svg/SVGIntegerPair.cpp => dom/svg/SVGAnimatedIntegerPair.cpp
rename : dom/svg/SVGIntegerPair.h => dom/svg/SVGAnimatedIntegerPair.h
rename : dom/svg/SVGNumberPair.cpp => dom/svg/SVGAnimatedNumberPair.cpp
rename : dom/svg/SVGNumberPair.h => dom/svg/SVGAnimatedNumberPair.h
rename : dom/svg/SVGOrient.cpp => dom/svg/SVGAnimatedOrient.cpp
rename : dom/svg/SVGOrient.h => dom/svg/SVGAnimatedOrient.h
rename : dom/svg/SVGString.cpp => dom/svg/SVGAnimatedString.cpp
rename : dom/svg/SVGString.h => dom/svg/SVGAnimatedString.h
rename : dom/svg/SVGViewBox.cpp => dom/svg/SVGAnimatedViewBox.cpp
rename : dom/svg/SVGViewBox.h => dom/svg/SVGAnimatedViewBox.h
2019-04-04 18:40:56 +01:00
Emilio Cobos Álvarez 2dd6a71b3e Bug 1531333 - Fix <svg:use> cycle detection. r=longsonr
With the current code we'll eventually detect the cycle, but will take much
more, creating many shadow trees unnecessarily. Take for example the following:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133" height="232774">
    <style>
      symbol { display: block }
    </style>
    <symbol id="svg-sprite" viewBox="0 0 133 230866">
        <title>svg-sprite</title>
        <symbol id="svg-sprite" viewBox="0 0 133 230866">
            <title>svg-sprite</title>
            <use xlink:href="#svg-sprite" width="500" height="500" />
        </symbol>
        <use xlink:href="#svg-sprite" y="1601" width="133" height="228958" />
    </symbol>
    <use xlink:href="#svg-sprite" y="1601" width="133" height="230866" />
</svg>

Before this patch, we'd create an svg use element subtree for #svg-sprite. That
subtree will contain two other <use> elements, one under the <symbol>, one not
under it.

Both point to #svg-sprite, but we fail to detect we're an ancestor since the
element #svg-sprite we're looking at is the clone of the #svg-sprite element.

Thus we need to take a look at mOriginal instead (which is the <use> element
under #svg-sprite) rather than at the clone.

Yeah, I had to draw the trees, it's messy :)

Blink and WebKit do something slightly different (they check the element id
directly[1]). That's not 100% correct, since you can have multiple elements with
the same ID.

[1]: https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/svg/svg_use_element.cc?l=560&rcl=861855dcb8c39ba8d42497247d433277858df79b

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

--HG--
extra : moz-landing-system : lando
2019-03-22 22:26:53 +00:00
violet 76cd3244f4 Bug 951904 - SVGTextFrame should always be reflowed even if it is inside a nonactive child of switch element r=longsonr
SVGTextFrame is special, it should always be reflowed to get the correct metrics.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 21:17:18 +00:00
violet 0a0bd52597 Bug 1537708 - Clean up NS_STATE_IS_OUTER_SVG flag in favor of IsSVGOuterSVGFrame r=longsonr
NS_STATE_IS_OUTER_SVG is redundant, we clean it up and use
nsIFrame::IsSVGOuterSVGFrame() instead.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 02:23:35 +00:00
violet 2c538f0dfe Bug 1536892 - Check a frame does maintain overflow before adding to OverflowChangedTracker. r=longsonr CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D24305

--HG--
extra : rebase_source : 90f906520cd20d22276dfa14c51d8f45fa1549c0
extra : amend_source : 84015fc7ebe2db6d8d30d65468deca469ae9bc8f
2019-03-19 20:33:36 +01:00
Cameron McCormack 187b9a230c Bug 1535517 - Don't schedule SVG text reflow in response to bidi resolution. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D23615

--HG--
extra : moz-landing-system : lando
2019-03-15 15:29:33 +00:00
Cameron McCormack 9cd8ebef9b Bug 1531890 - Take objectBoundingBox into account when a clipPath's child has its own clip-path. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D23612

--HG--
extra : moz-landing-system : lando
2019-03-19 01:18:21 +00:00
Matt Woodrow 756b5124bc Bug 1525372 - Add background-clip:text rendering observer so that we get notified of changes to the clipped contents. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D20110

--HG--
extra : moz-landing-system : lando
2019-03-18 16:24:20 +00:00
violet 68968a150f Bug 1504072 - non-display outer SVG also doesn't maintain overflow r=longsonr
There is some inconsistency between nsIFrame::FrameMaintainsOverflow() and
nsSVGContainerFrame::ComputeCustomOverflow(). If an element is a nondisplay
outer SVG, the latter gives false while the former returns true. We make them
consistent since nondisplay element doesn't need to maintain overflow.

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

--HG--
extra : moz-landing-system : lando
2019-03-17 11:00:48 +00:00
violet d307082a12 Bug 1072758 - ScheduleReflowSVGNonDisplayText when changing style to display none r=emilio
DidSetComputedStyle won't be called if the style changes to "display:none".
To ensure the reflow is properly scheduled, we need to also hook DestroyFrom.

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

--HG--
extra : moz-landing-system : lando
2019-03-16 02:36:09 +00:00
Dorel Luca 0e9ffb4c4f Merge mozilla-inbound to mozilla-central. a=merge 2019-03-14 18:25:40 +02:00
Emilio Cobos Álvarez 5aa8533517 Bug 1533963 - Use a single RestyleHint representation. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D22828

--HG--
extra : moz-landing-system : lando
2019-03-14 11:47:50 +00:00
Sylvestre Ledru 4aa92e3091 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00
Andrew Osmond bc278165ae Bug 1534188 - Use high quality downscaling for raster images embedded in SVGs. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D23374
2019-03-14 07:16:29 -04:00
longsonr 65caeb2944 Bug 1532444 - Go back to doing synchronous invalidation in ReflowSVGNonDisplayText as its invoked by ScheduleReflowSVGNonDisplayText so is already asynchronous r=dholbert 2019-03-09 14:14:33 +00:00
violet 7d525e84a8 Bug 1508028 - Change stroke-miterlimit restriction from GreaterThanOrEqualToOneNumber to NonNegativeNumber. r=longsonr,emilio 2019-03-09 13:05:56 +00:00
Kris Maglione f93c2909dd Bug 1573254: Part 2 - Update tests to await snapshotWindow when necessary. r=mccr8
This fixes several tests which snapshot remote windows under Fission. It also
changes some other arbitrary tests that don't use remote windows, which I
changed before I gave up on having an always-async API.

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

--HG--
extra : rebase_source : 6203b7065f7651e6ed4a2695ff2bd92daec70634
2019-08-12 12:56:25 -07:00
Chris Peterson 9b04fe7446 Bug 1532128 - layout: Make some global functions static. r=dholbert
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

layout/painting/FrameLayerBuilder.cpp:2593:6 [-Wmissing-prototypes] no previous prototype for function 'ReleaseLayerUserData'
layout/painting/RetainedDisplayListBuilder.cpp:1084:6 [-Wmissing-prototypes] no previous prototype for function 'FindContainingBlocks'
layout/style/FontFaceSet.cpp:423:6 [-Wmissing-prototypes] no previous prototype for function 'IsPdfJs'
layout/svg/SVGObserverUtils.cpp:969:6 [-Wmissing-prototypes] no previous prototype for function 'DestroyFilterProperty'

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

--HG--
extra : rebase_source : 7b876a976087eef710ff70ca0ae42abb3c505e49
extra : histedit_source : 4254fd49e36bef38bbb6197861a4a22e040d17e0
2019-02-22 20:33:01 -08:00
Jeff Muizelaar 4febae72fc Bug 1495170. Use CreateClippedDrawTarget more. r=mstange
This lets us restrict the size of the mask surface that we allocate
to the destination tile size. This gives a large performance
improvement.

It also includes some miscelanous fixes to the CreateClippedDrawTarget
code path.

Differential Revision: https://phabricator.services.mozilla.com/D21750
2019-03-04 22:30:09 -05:00
violet 3f63d086cd Bug 1528635 - Check urlExtraReferrer not null before dereference to avoid crash r=longsonr
urlExtraReferrer could be null, we should check before dereference.  Otherwise
it will cause crash when webrender is enabled by gfx.webrender.enabled=true
and gfx.webrender.all=true,

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

--HG--
extra : moz-landing-system : lando
2019-03-03 19:35:42 +00:00
Emilio Cobos Álvarez f02f6a3545 Bug 1218257 - Use rust lengths for the SVG lengths. r=boris
As it turns out we need this to avoid losing precision both during painting and
during serialization.

This patch also changes to serialize `context-value` if it's the computed value.

I could keep the previous behavior, but it makes no sense to serialize the
initial value. We're the only ones to support this value anyway, and I couldn't
find a definition or spec for this.

Also update tests and expectations for:

 * New unexpected passes.
 * Always serializing the unit in getComputedStyle.
 * Calc and interpolation support.

Chrome also always serializes the unit in getComputedStyle, so I'm pretty sure
this is compatible with them. Chrome is inconsistent and keeps numbers in
specified style, but that's inconsistent with itself and with other quirky
lengths, so I updated the tests instead.

Differential Revision: https://phabricator.services.mozilla.com/D21819
2019-03-03 00:16:24 +01:00
Emilio Cobos Álvarez 7e10c7b612 Bug 1218257 - Cleanup and fix interpolation of SVG lengths. r=boris
Instead of storing them as LengthPercentage | Number, always store as
LengthPercentage, and use the unitless length quirk to parse numbers instead.

Further cleanups to use the rust representation can happen as a followup, which
will also get rid of the boolean argument (since we can poke at the rust length
itself). That's why I didn't bother to convert it to an enum class yet.

Differential Revision: https://phabricator.services.mozilla.com/D21804
2019-03-03 00:16:13 +01:00
Ryan Hunt b936c00a65 Bug 1523969 part 14 - Move method definition inline comments to new line in 'layout/'. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D21115

--HG--
extra : rebase_source : 4d65c07d8822f3a54ac881b5d0f55468ce884554
2019-02-25 16:09:24 -06:00
Timothy Nikkel 4a54583c19 Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-26 00:16:36 -06:00
Timothy Nikkel b2695b4b73 Backed out changeset 2bf33f573505 2019-02-25 22:48:35 -06:00
Timothy Nikkel b9d0354d8a Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-25 22:45:15 -06:00
Noemi Erli a50bfca7a3 Backed out 10 changesets (bug 1505871) for wrench bustages CLOSED TREE
Backed out changeset 045ab0ec3613 (bug 1505871)
Backed out changeset 6486435a048d (bug 1505871)
Backed out changeset 9be871042749 (bug 1505871)
Backed out changeset 0007feaf988d (bug 1505871)
Backed out changeset 3cb8fb01e77e (bug 1505871)
Backed out changeset 2fff213d97e3 (bug 1505871)
Backed out changeset 1ad20d485eca (bug 1505871)
Backed out changeset 0fd8742fa662 (bug 1505871)
Backed out changeset 1899600a7985 (bug 1505871)
Backed out changeset f9578d20e54e (bug 1505871)
2019-02-26 03:43:12 +02:00
Timothy Nikkel 17f5b2d751 Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-25 19:20:26 -06:00
Alex Henrie 9d83a1b171 Bug 1529182 - Correctly apply scale factor when clamping SVG text size. r=longsonr
--HG--
extra : amend_source : 63508a69c60363cac314ae6d1278df728c3fa0a6
2019-02-24 15:14:32 -07:00
Razvan Maries d7a2f49ed8 Merge mozilla-inbound to mozilla-central a=merge 2019-02-23 06:15:14 +02:00
Razvan Maries 5173412ca4 Backed out changeset 27284783216c (bug 1529182) for reftest fails on text-stroke-scaling-02a.html after fix. a=backout 2019-02-23 02:21:08 +02:00
Samuel Thibault 3ec9cb5130 Bug 919508 - nsTextFrame::GetTrimmedOffsets: Rework flag parameters r=jfkthame
--HG--
extra : histedit_source : 5c59e716d7a94030b6146bc471bc8dbbd92c7122
2019-02-22 22:12:27 +01:00
Alex Henrie 6dbf36393c Bug 1529182 - Recalculate context scale when inflating mRect of SVG text. r=longsonr
--HG--
extra : histedit_source : 532cfc0bb9c8ae23a9d2d8ab31452d8a3bdb7525
2019-02-21 09:06:28 -07:00
Boris Chiou b332718138 Bug 1505225 - Part 1: Make sure we also check the existence of individual transform animations. r=hiro
nsIFrame::BuildDisplayListForStackingContext() will check the existence
of transform animations, so we need to update
nsLayoutUtils::HasAnimationsOfPoperty(). However, checking only
eCSSProperty_transform is not enough. We have to check all the transform-like
properties. Therefore, we update these functions to accept a property
set as the argument, and pass a collection of transform-like properties
into them.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 02:14:39 +00:00
scharing 87df459a63 Bug 1528464 - Convert NS_STYLE_MASK_MODE_* to enum class r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D20063

--HG--
extra : moz-landing-system : lando
2019-02-19 16:54:52 +00:00
Alex Henrie 7afb5aaf34 Bug 1521425 - Round up when inflating mRect of SVG text. r=longsonr 2019-02-17 22:27:56 -07:00
Razvan Maries 2fb9019d41 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-02-15 11:59:08 +02:00
Emilio Cobos Álvarez e9ae3b0907 Bug 1527410 - Use Rust sizes for flex-basis, width, height, and their min/max properties. r=jwatt
Really sorry for the size of the patch :(

Only intentional behavior change is in the uses of HasLengthAndPercentage(),
where it's easier to do the right thing. The checks that used to check for
(IsCalcUnit() && CalcHasPercentage()) are wrong since bug 957915.

Differential Revision: https://phabricator.services.mozilla.com/D19553
2019-02-15 03:59:31 +01:00
Ting-Yu Lin 8c62035164 Bug 1527519 Part 3 - Replace remaining nsLayoutUtils::GetAsBlock() with do_QueryFrame(), and delete nsLayoutUtils::GetAsBlock(). r=mats
Depends on D19861

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

--HG--
extra : moz-landing-system : lando
2019-02-15 01:38:05 +00:00
Jeff Muizelaar ce64d00a94 Bug 1524661. Include perspective items as container items. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D19562

--HG--
extra : moz-landing-system : lando
2019-02-12 20:47:36 +00:00
Emilio Cobos Álvarez 12867b1a3f Bug 1525371 - Kill ComputedStyle::mPresContext, move the pointer to the frame instead. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D18734
2019-02-07 11:15:36 +01:00
Andrew Swan ee2283d446 Bug 1523980 Revoke special testpilot permissions r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D18768

--HG--
extra : moz-landing-system : lando
2019-02-06 22:21:01 +00:00
Emilio Cobos Álvarez e38aff2db7 Bug 1525134 - Move image loads out of the style struct accessors. r=heycam
After this I can pass the document from the caller to ResolveSameStructsAs, and
get rid of the pres context pointer.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 19:47:29 +00:00
Razvan Maries de782903b2 Backed out changeset 919de32d4905 (bug 1525134) for build bustages. CLOSED TREE 2019-02-05 19:36:46 +02:00
Emilio Cobos Álvarez 3fe47839c0 Bug 1525134 - Move image loads out of the style struct accessors. r=heycam
After this I can pass the document from the caller to ResolveSameStructsAs, and
get rid of the pres context pointer.

Differential Revision: https://phabricator.services.mozilla.com/D18600
2019-02-05 18:07:18 +01:00
Razvan Maries 0b09448bc6 Backed out changeset 992f27cfecac (bug 1525134) for build bustages. CLOSED TREE 2019-02-05 18:54:14 +02:00
Emilio Cobos Álvarez 0996652d1a Bug 1525134 - Move image loads out of the style struct accessors. r=heycam
After this I can pass the document from the caller to
ResolveSameStructsAs, and get rid of the pres context pointer.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 13:45:04 +00:00
Emilio Cobos Álvarez 4ac08cd28e Bug 1524328 - Pass a document instead of a pres context to FinishStyle. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D18491
2019-02-03 03:00:27 +01:00
Kris Maglione e930b89c34 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

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

--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
2019-01-17 10:18:31 -08:00
Jeff Muizelaar 0c609e94c7 Bug 1522021. Propagate input size to CreateSimilarDrawTarget for filters. r=mstange
This lets us avoid drawing the complete input for ever tile when
drawing filters into a tile.

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

--HG--
extra : moz-landing-system : lando
2019-01-27 23:36:04 +00:00
longsonr e1582e28d1 Bug 1523069 - Move nsSVGMark to the mozilla namespace. r=jwatt
--HG--
rename : dom/svg/SVGAngle.cpp => dom/svg/SVGOrient.cpp
rename : dom/svg/SVGAngle.h => dom/svg/SVGOrient.h
2019-01-26 13:01:31 +00:00
Matt Woodrow d4ecd598da Bug 1520682 - Limit the amount of filter ops per stacking context in WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D17415

--HG--
extra : moz-landing-system : lando
2019-01-24 03:02:17 +00:00
Matt Woodrow 2cc9e9df9e Bug 1477366 - Handle color space conversion for drop shadow filters with WebRender. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D17089

--HG--
extra : moz-landing-system : lando
2019-01-21 20:01:02 +00:00
Matt Woodrow b6afde59b9 Bug 1477366 - Only support SVG filters with a single input with WebRender. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D17088

--HG--
extra : moz-landing-system : lando
2019-01-21 20:00:57 +00:00
Cosmin Sabou 12149d8542 Merge mozilla-central to autoland. a=merge 2019-01-19 12:10:17 +02:00
Matt Woodrow a79e573d49 Bug 1520652 - Clip SVG filters to the PrimitiveSubregion when using WebRender. r=mstange
This patch changes a few things:
* Restores clipping to the computed clip, but just for SVG filters.
* Computes the clip just from the primitive subregion, not the bounds of the filtered content.
* Unconditionally clips all SVG filters using the primitive subregion
* Allows clips to be combined, if they will be sharing a coordinate space
* Fixes coordinate space of the clip region.

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

--HG--
extra : moz-landing-system : lando
2019-01-19 06:35:16 +00:00
Andreea Pavel bdea6eafb0 Backed out 2 changesets (bug 1520652) for build bustages on a CLOSED TREE
Backed out changeset b9ca6790fee1 (bug 1520652)
Backed out changeset ebdc9e3d72c4 (bug 1520652)
2019-01-19 05:36:54 +02:00
Matt Woodrow 20b4793c83 Bug 1520652 - Clip SVG filters to the PrimitiveSubregion when using WebRender. r=mstange
This patch changes a few things:
* Restores clipping to the computed clip, but just for SVG filters.
* Computes the clip just from the primitive subregion, not the bounds of the filtered content.
* Unconditionally clips all SVG filters using the primitive subregion
* Allows clips to be combined, if they will be sharing a coordinate space
* Fixes coordinate space of the clip region.

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

--HG--
extra : moz-landing-system : lando
2019-01-19 03:21:53 +00:00
Alex Henrie f6a935e57c Bug 1519144 - Apply context scale when inflating mRect of SVG text. r=longsonr 2019-01-16 19:55:24 -07:00
Jonathan Watt 83bd72be0b Bug 1517197. Fix SVG masking and clipping regression. r=mattwoodrow
This Make nsSVGIntegrationUtils::AdjustInvalidAreaForSVGEffects return the
original area if there are no filter effects (instead of using some bogus
fallback code).

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

--HG--
extra : rebase_source : 16de5f99068e5c219f4f366af848ae3cc6c83417
extra : amend_source : 62f0d870192421a58bbf6f7f083c6614c936ac3b
2019-01-15 00:20:52 +00:00
Jeff Muizelaar 17b5ec3dd2 Bug 1509182. Switch from using WrFilterOp to using FilterOp directly. r=nical
This avoids code duplication and simplifies push_stacking_context

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

--HG--
extra : moz-landing-system : lando
2019-01-10 19:41:08 +00:00
Cosmin Sabou 88993e172c Backed out changeset 10dedfde1015 (bug 1509182) for causing build bustages.
--HG--
extra : rebase_source : 4389819cbb88af16724480f571b0abcd027015ba
2019-01-10 20:52:49 +02:00
Jeff Muizelaar ef9bb810f0 Bug 1509182. Switch from using WrFilterOp to using FilterOp directly. r=nical
This avoids code duplication and simplifies push_stacking_context

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

--HG--
extra : moz-landing-system : lando
2019-01-10 18:40:56 +00:00
Csoregi Natalia ae6fde5883 Backed out changeset 8e078c86db82 (bug 1509182) for bustage on WebRenderTypes.h:789. CLOSED TREE 2019-01-10 18:15:42 +02:00
Jeff Muizelaar a0468b94c6 Bug 1509182. Switch from using WrFilterOp to using FilterOp directly. r=nical
This avoids code duplication and simplifies push_stacking_context

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

--HG--
extra : moz-landing-system : lando
2019-01-10 14:20:21 +00:00
Matt Woodrow b2e6afc9ac Bug 1516702 - Skip building nsDisplaySVGGeometry display items when they have opacity:0. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D15891

--HG--
extra : moz-landing-system : lando
2019-01-09 23:06:28 +00:00
Brindusan Cristian d8250d1175 Backed out changeset b66f64e5709d (bug 1516702) for mochitest failures on test_pointer-events-1a.xhtml. 2019-01-10 00:31:36 +02:00
Matt Woodrow 784e839e49 Bug 1516702 - Skip building nsDisplaySVGGeometry display items when they have opacity:0. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D15891

--HG--
extra : moz-landing-system : lando
2019-01-09 19:51:20 +00:00
longsonr 6c649bdee4 Bug 1518000 - Move nsSVGString and nsSVGViewBox to the mozilla namespace r=jwatt
--HG--
rename : dom/svg/nsSVGString.cpp => dom/svg/SVGString.cpp
rename : dom/svg/nsSVGString.h => dom/svg/SVGString.h
rename : dom/svg/nsSVGViewBox.cpp => dom/svg/SVGViewBox.cpp
rename : dom/svg/nsSVGViewBox.h => dom/svg/SVGViewBox.h
2019-01-06 17:52:55 +00:00
longsonr 5530126c12 Bug 1517938 - Move nsSVGIntegerPair and nsSVGNumberPair to the mozilla namespace r=jwatt
--HG--
rename : dom/svg/nsSVGIntegerPair.cpp => dom/svg/SVGIntegerPair.cpp
rename : dom/svg/nsSVGIntegerPair.h => dom/svg/SVGIntegerPair.h
rename : dom/svg/nsSVGNumberPair.cpp => dom/svg/SVGNumberPair.cpp
rename : dom/svg/nsSVGNumberPair.h => dom/svg/SVGNumberPair.h
2019-01-06 08:22:55 +00:00
Emilio Cobos Álvarez d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
longsonr eb0a735bca Bug 1517185 - Move nsSVGEnum to the mozilla namespace and rename it as SVGEnum r=jwatt
--HG--
rename : dom/svg/nsSVGEnum.cpp => dom/svg/SVGEnum.cpp
rename : dom/svg/nsSVGEnum.h => dom/svg/SVGEnum.h
extra : amend_source : faf1423f0eecafceae6ede115759d06fa061faf2
2019-01-02 18:24:11 +00:00
Daniel Holbert 44acfc60f7 Backed out changeset c796403f5a29 since it landed with wrong bug number
--HG--
rename : dom/svg/SVGEnum.cpp => dom/svg/nsSVGEnum.cpp
rename : dom/svg/SVGEnum.h => dom/svg/nsSVGEnum.h
2019-01-02 10:44:12 -08:00
longsonr 69a6be5b17 Bug 1517108 - Move nsSVGEnum to the mozilla namespace and rename it as SVGEnum r=jwatt
--HG--
rename : dom/svg/nsSVGEnum.cpp => dom/svg/SVGEnum.cpp
rename : dom/svg/nsSVGEnum.h => dom/svg/SVGEnum.h
2019-01-02 18:24:11 +00:00
longsonr d03099b507 Bug 1516921 - export things in the mozilla namespace properly r=jwatt 2018-12-31 11:56:52 +00:00
longsonr cd491fca01 Bug 1516076 - Part 3 rename nsSVGAnimatedTransformList to SVGAnimatedTransformList and move it to the mozilla namespace r=dholbert
--HG--
rename : dom/svg/nsSVGAnimatedTransformList.cpp => dom/svg/SVGAnimatedTransformList.cpp
rename : dom/svg/nsSVGAnimatedTransformList.h => dom/svg/SVGAnimatedTransformList.h
2018-12-26 23:46:38 +00:00
longsonr 779726cbdc Bug 1516076 - Part 1 correct one of the include file for SVGGeometryFrame.cpp r=dholbert 2018-12-22 20:06:21 +00:00
Daniel Holbert 9543fab953 Bug 695385 followup: use pixel-valued sizes (not %) for rects in new mochitest. (no review; just tweaking a new test for robustness)
This hopefully will address the test-verify failures that were reported in bug 1516006.

--HG--
extra : rebase_source : d01139f16469c631eb047d21e998dfaf0d58c3a5
extra : amend_source : 8543fd2e10bf485cabaf45dfac156e6b9094ea41
2018-12-21 15:51:44 -08:00
Coroiu Cristina bbc7fc4e7c Merge inbound to mozilla-central a=merge 2018-12-21 23:55:45 +02:00
longsonr 646517ef56 Bug 1515936 - Part 2 Move nsSVGStringInfo to mozilla::dom and rename the nsSVGFilters files to SVGFilters r=dholbert
--HG--
rename : dom/svg/nsSVGFilters.cpp => dom/svg/SVGFilters.cpp
rename : dom/svg/nsSVGFilters.h => dom/svg/SVGFilters.h
2018-12-21 16:24:17 +00:00
longsonr f276e2f01e Bug 1515935 - Add newlines to the end of nsSVGSymbolFrame files r=dholbert 2018-12-21 16:16:50 +00:00
longsonr e160f38d5f Bug 1515607 - Move nsSVGFE into the mozilla::dom namespace r=dholbert 2018-12-21 12:32:35 +00:00
Gurzau Raul d939455801 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-12-21 18:39:42 +02:00
Daniel Holbert 234ebbeea8 Bug 695385: Add a mochitest to validate that cross-origin svg filters are blocked. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D13844

--HG--
rename : layout/reftests/filters.svg => layout/svg/tests/filters.svg
extra : moz-landing-system : lando
2018-12-21 06:46:19 +00:00
Cameron McCormack 59475d7fc5 Bug 1512597 - Resolve currentcolor in fill and stroke against visited-dependent color r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D14706

--HG--
extra : moz-landing-system : lando
2018-12-18 09:39:07 +00:00
Daniel Holbert a70be0a92e Bug 1513393 part 4: In "retrieve-or-initialize" dances in SVGObserverUtils.cpp, use 'found' outparam and AddProperty. r=mattwoodrow
As in the previous commit, this avoids a redundant walk through the list of
frame properties, when we already know the property is not there.

Depends on D14223

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

--HG--
extra : moz-landing-system : lando
2018-12-12 01:43:58 +00:00
Daniel Holbert fa80837513 Bug 1513387: Add braces & newlines to re-wrap some return statements that clang-format unwrapped, in layout/svg. r=heycam
This patch shouldn't affect behavior; it's just making the existing control
flow clearer and more debuggable.

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

--HG--
extra : moz-landing-system : lando
2018-12-12 06:32:44 +00:00
Mark Banner 8c00ef3f30 Bug 1512052 - Add more .eslintrc.js files for test directories. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D13746

--HG--
extra : moz-landing-system : lando
2018-12-11 13:15:08 +00:00
Emilio Cobos Álvarez 4591031b65 Bug 1513012 - Move overflow to use cbindgen. r=heycam
It's one of the most annoying / hacky mako bits we have.

Differential Revision: https://phabricator.services.mozilla.com/D14084
2018-12-11 03:07:08 +01:00
Cameron McCormack 1db3f9da78 Bug 1512716 - Re-indent NS_QUERYFRAME macros after clang-format. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D13995

--HG--
extra : moz-landing-system : lando
2018-12-07 20:00:18 +00:00
Miko Mynttinen aafa85ee9d Bug 1512251 - Remove unused render only selection code r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D13829

--HG--
extra : moz-landing-system : lando
2018-12-06 19:40:50 +00:00
Daniel Holbert 7c3b31a25d Bug 1512112: Remove redundant includes from source files in layout. r=TYLin
All of the removed includes are redundant (i.e. they're #included elsewhere in
the same file).

In most cases, I'm removing the second (redundant) copy of the
#include, except when that copy makes more sense (i.e. if it's in better sorted
order, or if it's paired alongside a closely-associated header while the
earlier copy is not).

Here's the script that I used to generate candidates here -- I ran this in
every subdirectory of layout, on my linux machine (warning, this writes two
files to your /tmp directory):

for FILE in *.h *.cpp; do
  nonunique=$(grep \#include $FILE | grep -v List\.h | cut -f2 -d'"'  | cut -f2- -d'/'| cut -f2- -d'/' | sort | wc -l)
  unique=$(   grep \#include $FILE | grep -v List\.h | cut -f2 -d'"'  | cut -f2- -d'/'| cut -f2- -d'/' | sort | uniq | wc -l)
  if [[ "$unique" != "$nonunique" ]]; then
    echo "$FILE: $nonunique / $unique"
    grep \#include $FILE | cut -f2 -d'"'  | grep -v List\.h | cut -f2- -d'/'| cut -f2- -d'/' | sort  > /tmp/nonunique.txt
    grep \#include $FILE | cut -f2 -d'"'  | grep -v List\.h | cut -f2- -d'/'| cut -f2- -d'/' | sort | uniq  > /tmp/unique.txt
    diff /tmp/nonunique.txt /tmp/unique.txt
    echo
  fi
done

Depends on D13773

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

--HG--
extra : moz-landing-system : lando
2018-12-05 18:55:59 +00:00
Daniel Holbert e590a79e70 Bug 1512054 part 2: Fix alphabetical sorting of SVGObserverUtils.cpp's includes. r=TYLin
(Also, include the full export path when including 'ImageLoader.h', for
consistency with how we include it everywhere else outside of its own
directory.)

Depends on D13743

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

--HG--
extra : moz-landing-system : lando
2018-12-05 15:20:58 +00:00
Daniel Holbert a708b9e3d6 Bug 1512054 part 1: Add some needed "Inlines" includes to .cpp files in layout, to address some -Wundefined-inline build warnings in non-unified builds. r=TYLin
I'm also adding the non-"inlines" version of the added "inlines" includes, too,
since it's nice to have them included as a pair. (It's not strictly necessary,
since in these cases we were already indirectly including the non-"inlines"
header, but it seems like a good practice.)

This patch fixes build warnings in non-unified builds for the following calls:
- The call to IsColumnSpan() in layout/generic/ColumnSetWrapperFrame.cpp
- The call to Type() in layout/style/MappedDeclarations.cpp
- The call to IsInAnonymousSubtree() in layout/svg/SVGObserverUtils.cpp

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

--HG--
extra : moz-landing-system : lando
2018-12-05 02:03:04 +00:00
Cameron McCormack 1ea7c3efc9 Bug 1511854 - Part 2: Fix some more formatting oddities in layout/ after the clang-format. r=TYLin
Depends on D13686

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

--HG--
extra : moz-landing-system : lando
2018-12-05 18:44:05 +00:00
Cameron McCormack a9c935c355 Bug 1511854 - Part 1: Fix some formatting oddities in layout/ after the clang-format. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D13686

--HG--
extra : moz-landing-system : lando
2018-12-05 18:44:03 +00:00
Ciure Andrei ed617be144 Backed out 2 changesets (bug 1512052)for causing build bustages CLOSED TREE
Backed out changeset 4773a3f46c22 (bug 1512052)
Backed out changeset 2f48c5afbe57 (bug 1512052)

--HG--
rename : browser/components/attribution/test/xpcshell/.eslintrc.js => browser/components/attribution/test/.eslintrc.js
2018-12-05 05:47:39 +02:00
Mark Banner 8256078237 Bug 1512052 - Add more .eslintrc.js files for test directories. r=mossop
Depends on D13745

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

--HG--
extra : moz-landing-system : lando
2018-12-04 22:27:35 +00:00
longsonr 3d04ba9c9e Bug 1515187 - Part 4 Rename nsSVGElement to SVGElement and put it in the mozilla:dom namespace r=dholbert
--HG--
rename : dom/svg/nsSVGElement.cpp => dom/svg/SVGElement.cpp
rename : dom/svg/nsSVGElement.h => dom/svg/SVGElement.h
2018-12-21 08:58:14 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Shubham Kumaram b87c4f4c0c Bug 1509664 - Change Text Rendering constants to enum classes in nsStyleConsts.h. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D12839

--HG--
extra : moz-landing-system : lando
2018-11-30 05:08:46 +00:00
Jonathan Watt 5b2fef1b25 Bug 1510295. Stop SVGRenderingObserver subclasses observing reflow, except for -moz-element. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D13080

--HG--
extra : rebase_source : 692e0a777cfda1e74bb316083d5e44f70f322653
extra : amend_source : 97c8d78924c0951d6da008cafcb06cdfe2222b6d
2018-11-14 10:39:12 +00:00
Jonathan Watt e1daf3de62 Bug 1504918. Prevent TextNodeCorrespondenceRecorder::TraverseAndRecord crash. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D11107

--HG--
extra : rebase_source : 37402fd613be1ae8916434c7600252b391a45fbf
2018-11-13 16:49:21 +00:00
Jonathan Watt 4c1b207664 Bug 1510116. Fix some unified build issues in layout code. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D13039

--HG--
extra : rebase_source : f0b6516484ed97ed52b92e04617f89e4ee8189ff
2018-11-12 22:20:52 +00:00
Daniel Varga ef4c0efcc4 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-11-27 07:36:22 +02:00
Coroiu Cristina a2f107533b Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-11-27 01:03:16 +02:00
Kartikaya Gupta 573d3aec36 Bug 1508822 - Guard against trying to create an oversized DrawTargetRecording with WebRender. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D12950

--HG--
extra : moz-landing-system : lando
2018-11-26 18:14:59 +00:00
Jeff Muizelaar 5624b1e36e Bug 1507021. Use SnappedRectangle in more places. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11840

--HG--
extra : moz-landing-system : lando
2018-11-19 23:03:32 +00:00
Timothy Guan-tin Chien 2b5881e46b Bug 1503019 - Part I, Remove dom.webcomponents.shadowdom.enabled r=smaug
This patch removes the dom.webcomponents.shadowdom.enabled pref and all its
references, including the following functions:

* nsContentUtils::IsShadowDOMEnabled()
* nsIDocument::IsShadowDOMEnabled()
* nsDocument::IsShadowDOMEnabled(JSContext* aCx, JSObject* aGlobal)
* nsDocument::IsShadowDOMEnabled(const nsINode* aNode)
* nsTextNode::IsShadowDOMEnabled(JSContext* aCx, JSObject* aObject)

This function is renamed and updated to nsDocument::IsCallerChromeOrAddon():

* nsDocument::IsShadowDOMEnabledAndCallerIsChromeOrAddon(JSContext* aCx, JSObject* aObject)

I didn't change the tests that load Shadow DOM tests in an iframe, in the interest of keeping hg annotation history.

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

--HG--
extra : moz-landing-system : lando
2018-11-15 06:51:07 +00:00
Andreea Pavel 6a58f5fcea Backed out 2 changesets (bug 1507021) for android build bustages on a CLOSED TREE
Backed out changeset 026f135a667f (bug 1507021)
Backed out changeset 1b87eb56e462 (bug 1507021)

--HG--
extra : amend_source : 4d51378a27f24f3d87d9b7a206c78ff962e3b663
2018-11-15 06:35:54 +02:00
Jeff Muizelaar 1d2422df54 Bug 1507021. Use SnappedRectangle in more places. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11840

--HG--
extra : moz-landing-system : lando
2018-11-14 22:47:35 +00:00
Jonathan Watt 469a9f409b Bug 1508358. Avoid clang-format messing up Doxygen comments in SVG code. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D12336

--HG--
extra : rebase_source : fcda515ec3fe76f38aa9b18d618f02b877aeabef
2018-11-05 07:03:55 +00:00
Andreea Pavel d51566f085 Backed out 2 changesets (bug 1503019) for failing crashtests at dom/base/crashtests/1505811.html on a CLOSED TREE
Backed out changeset 06b12fd41ff1 (bug 1503019)
Backed out changeset 7b845eac9dd7 (bug 1503019)
2018-11-15 01:52:30 +02:00
Timothy Guan-tin Chien c0cc4f74e7 Bug 1503019 - Part I, Remove dom.webcomponents.shadowdom.enabled r=smaug
This patch removes the dom.webcomponents.shadowdom.enabled pref and all its
references, including the following functions:

* nsContentUtils::IsShadowDOMEnabled()
* nsIDocument::IsShadowDOMEnabled()
* nsDocument::IsShadowDOMEnabled(JSContext* aCx, JSObject* aGlobal)
* nsDocument::IsShadowDOMEnabled(const nsINode* aNode)
* nsTextNode::IsShadowDOMEnabled(JSContext* aCx, JSObject* aObject)

This function is renamed and updated to nsDocument::IsCallerChromeOrAddon():

* nsDocument::IsShadowDOMEnabledAndCallerIsChromeOrAddon(JSContext* aCx, JSObject* aObject)

I didn't change the tests that load Shadow DOM tests in an iframe, in the interest of keeping hg annotation history.

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

--HG--
extra : moz-landing-system : lando
2018-11-14 19:34:52 +00:00
Nicolas Silva 9c33903470 Bug 1468183 - Support a subset of SVG color matrix filters in WebRender. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D10057

--HG--
extra : source : 3cf0ebaa5e9585c5edcd8d69cef4031245d9d0d9
extra : intermediate-source : 892a9ebfd75ec7200cec879b43f7834f3f509d36
2018-11-02 19:30:47 +01:00
Nicolas Silva 1b186dddd4 Bug 1485512 - Try to express SVG filters as CSS filters when possible. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D8085

--HG--
extra : source : 28104a88b5855f21395f60192ab3f86325931915
extra : intermediate-source : 4a9ee25e545696b17ba09e2b7c9f702ab3d0efc1
2018-11-02 19:01:14 +01:00
Jonathan Watt 42169bf3aa Bug 1509394. Fix pointer events regression for SVG clipPath clipped content. r=longsonr
References to a clipPath that is non-existent or invalid should be ignored,
not cause the referencing element to ignore pointer events.

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

--HG--
extra : rebase_source : 1cbe01a0fbb6b6dc8144427b45ec9af374055e32
2018-11-12 14:59:31 +00:00
Jonathan Watt 705aa1c0d7 Bug 1505498. Rename IDTracker::Reset to something more descriptive. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D11199

--HG--
extra : rebase_source : 0cf198a1eacb23a533b2f93eb80c33476018acda
extra : amend_source : 2245208957d917cb3e9524b573169059f5ce9e16
2018-10-29 10:42:14 +00:00
Ting-Yu Lin 1d9848a22a Bug 916972 - Eliminate nsIFrame::GetSplittableType() completely. r=mats,dholbert
Currently, GetSplittableType() is called only in
nsCSSFrameConstructor::CreateContinuingFrame(). The splittable concrete frames
should inherit from nsSplittableFrame, and must explicitly create continuing
frame in CreateContinuingFrame(). Thus, no need to maintain GetSplittableType().

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

--HG--
extra : moz-landing-system : lando
2018-11-05 19:11:12 +00:00
Emilio Cobos Álvarez c52a218234 Bug 1504078 - Use references in the shapes code. r=bradwerth,TYLin
It doesn't make much sense to return const UniquePtr<Foo>& for something that
can't be null, it's just confusing.

Also make more stuff actually const.

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

--HG--
extra : moz-landing-system : lando
2018-11-02 18:19:06 +00:00
Emilio Cobos Álvarez 622bf3097d Bug 1502936 - Fix SVGUseElement::GetFrame to not get confused. r=heycam
Should've noticed in bug 1502658 that GetFrame() was dead, to verify its
assumptions... Oh well.

Differential Revision: https://phabricator.services.mozilla.com/D10109
2018-10-29 23:27:10 +01:00
Emilio Cobos Álvarez d4ae853741 Bug 1502658 - Remove SVG use attribute change handling code from nsSVGUseFrame to SVGUseElement. r=longsonr
Most of those shouldn't rely on a frame to run.

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

--HG--
extra : moz-landing-system : lando
2018-10-28 23:20:43 +00:00
longsonr 34f04a3465 Bug 1501057 - Trivial clipPaths should respect visibility=hidden r=dholbert 2018-10-24 06:01:57 +01:00
Emilio Cobos Álvarez d62a793992 Bug 1500575 - Map inset clip paths to WR complex clip regions. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D9412

--HG--
extra : moz-landing-system : lando
2018-10-23 00:10:00 +00:00
Cameron McCormack a7510da8d0 Bug 1499408 - Part 2: Have css::URLValue get URLExtraData from its CssUrlData. r=emilio
MozReview-Commit-ID: IqZGzkHlSZD

Depends on D8874

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

--HG--
extra : moz-landing-system : lando
2018-10-17 09:43:32 +00:00
Andrew Osmond 4590e9df52 Bug 1466707 - Ensure that animated images always honour the animated image mode. r=tnikkel
Animated images inside of SVGs and used in XUL frames did not get the
configured animation image mode from the pres context.

Differential Revision: https://phabricator.services.mozilla.com/D8586
2018-10-16 08:50:44 -04:00
Cameron McCormack eeb8da104f Bug 1495994 - Part 4: Merge css::{URLValueData, ImageValue} into css::URLValue r=emilio
Depends on D7595

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

--HG--
extra : moz-landing-system : lando
2018-10-10 02:58:20 +00:00
Jonathan Watt 5933668f75 Bug 1495877. Standardize the GetAndObserve* naming for SVGObserverUtils methods. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7538

--HG--
extra : rebase_source : c042fc33cc12ca59b55cdaaf59914ab91baa8b05
2018-09-25 21:16:49 +01:00
Jonathan Watt 1afc0b4ff4 Bug 1495851. Comment why StopObserving is called in SVGRenderingObserver base class dtors. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7525

--HG--
extra : rebase_source : 136b2757f572b42b89af23554da3d93822b140f8
2018-09-25 10:40:12 +01:00
Jonathan Watt d42f097af8 Bug 1495562. Rename SVGRenderingObserverList to SVGRenderingObserverSet. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7330

--HG--
extra : rebase_source : a8f71572d103c6ad5a84d5ad14a8d83bf2af5d5c
extra : source : ec5d3c12ad4c9b8d3c2eea2b0f71f5dc3c15f15f
2018-09-24 11:45:17 +01:00
Narcis Beleuzu 010feac062 Backed out 2 changesets (bug 1495562, bug 1495554) for crashes on [@ CrashReporter::TerminateHandler()] . CLOSED TREE
Backed out changeset ec5d3c12ad4c (bug 1495562)
Backed out changeset 28792d9adea2 (bug 1495554)
2018-10-02 02:58:09 +03:00
Jonathan Watt 219a2f9e91 Bug 1495562. Rename SVGRenderingObserverList to SVGRenderingObserverSet. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7330

--HG--
extra : rebase_source : 6c843092611056972c991175fa18f37cfad57402
2018-09-24 11:45:17 +01:00
Jonathan Watt 930cf1de0f Bug 1495554. Call StopObserving in SVGRenderingObserver's dtor instead of individual subclasses' dtors. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7328

--HG--
extra : rebase_source : 8cf78efc46d4e94d0328742e836fefab3c977060
2018-09-21 21:16:49 +01:00
Jonathan Watt da5346d105 Bug 1495438. Move most code from SVGObserverUtils.h to its source file. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7293

--HG--
extra : rebase_source : 975eac166d25864e998a01d0f353aab353a115d6
2018-09-21 19:09:41 +01:00
Jonathan Watt c928198204 Bug 1495390. Inline some SVGObserverUtils code. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7269

--HG--
extra : rebase_source : a7739af3656295de179b4166ddc163b394ba1513
2018-09-21 12:46:18 +01:00
Jonathan Watt 163d5851d1 Bug 1495330. Hide SVGObserverUtils implementation details from nsImageRenderer. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7257

--HG--
extra : rebase_source : 040f99a33f43de3a92591bc47def2b129d0da3f6
2018-09-20 13:50:23 +01:00
Jonathan Watt 6d7998277a Bug 1495215. Separate out the SVGObserverUtils mask handling from EffectProperties. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7242

--HG--
extra : rebase_source : 00c2c87e8fc6fc3ae874139b9a9b8b6b1cb4d877
2018-09-19 15:54:27 +01:00
Jonathan Watt 0c92d1efeb Bug 1495249. Make ComputePostEffectsVisualOverflowRect use the first continuation/block-in-inline sibling for SVG. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7245

--HG--
extra : rebase_source : fc013437e171b905f1664af2ac08582eec814a4b
2018-09-18 10:40:12 +01:00
Jonathan Watt 85d30e0f2c Bug 1495034. Separate out the SVGObserverUtils clip path handling from EffectProperties. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7194

--HG--
extra : rebase_source : d8137eb0f1b91fe926d04bfb3d7197c11d6402e7
extra : amend_source : c0faf32401c08471c6acb52b5eb36571ceaeb951
2018-09-05 18:12:44 +01:00
Jonathan Watt c506a0013f Bug 1494953 p2. Make nsFrame::DidSetComputedStyle initiate external filter loads. r=longsonr
In bug 1488300 xidorn make us kick off loading of masks/filters/clipPaths in
resource documents when the style context is set so that the 'load' event
will be blocked until they load.  I missed that in 5177bb8cb2ce (bug 1494355)
where we stopped creating the SVGFilterObserverList in
SVGObserverUtils::GetEffectProperties since I missed that creating that object
looks up the target element (without observing it), which triggers loading of
external resources as necessary.

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

--HG--
extra : rebase_source : 698fe4b437660761e457ecf54d8d604a098229db
extra : amend_source : 3ae9f25761372ee6a33bd4043c7bf6183361ca58
2018-09-04 13:50:22 +01:00
Jonathan Watt 7b3a3b2d10 Bug 1494953 p1. Rename lots of SVGObserverUtils functions. r=longsonr
The lack of clarity over which functions initiate observing and which don't
is a headache since it makes it hard to reason about what's going on. This
rename makes it explicit in the function names.

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

--HG--
extra : rebase_source : 1f2f86423a9bee7843533c09b3ea78416b233bcd
extra : amend_source : a89125d6a3b7b75a4056c4d600de74a5386ac4ff
2018-09-04 10:04:07 +01:00
Jonathan Watt 73f875346b Bug 1494830. Stop leaking SVGFilterObserverList details into nsSVGIntegrationUtils. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7150

--HG--
extra : rebase_source : d4c1b44f851b01a1060cf8567f2eb4ec7bd7859c
2018-09-03 18:09:41 +01:00
Jonathan Watt 61bcaa65a9 Bug 1494820. Stop leaking SVGObserverUtils implementation details into CanvasRenderingContext2D. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7148

--HG--
extra : rebase_source : 95ff24bd2a5656fc4d6708a515f9a869370bd338
2018-09-03 11:24:27 +01:00
Jonathan Watt 8b400ea6ce Bug 1494695. Remove SVGFilterElement::Invalidate. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7095

--HG--
extra : rebase_source : 951c95ceef8ce6682ed867aa96c88283c64ccbd1
extra : __touch-noise__ : 4288727139
extra : amend_source : ad0a1fcb56b4c1ad08f54142cac64c1ab7d7300b
2018-08-31 16:30:03 +01:00
Jonathan Watt 64d88eee9b Bug 1494604. Remove nsSVGUtils::NotifyAncestorsOfFilterRegionChange. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7072

--HG--
extra : rebase_source : 846bccfd360b0468047445459eb51b33a7cf507d
extra : amend_source : 0f7283efd3ea538de00573b9b5896f2f43ba0212
2018-08-31 13:53:25 +01:00
Jonathan Watt 0d889dc646 Bug 1494355. Separate out the SVGObserverUtils filter handling from EffectProperties. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D6930

--HG--
extra : rebase_source : cb3c301ae0fee233ae881c384499340c678e1874
2018-08-29 19:11:43 +01:00
Jonathan Watt 8c224bc9d8 Bug 1494321 p2. Stop doing wasteful pre/post-effects work for frames with just a clip-path or mask applied. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D6924

--HG--
extra : rebase_source : 426e4b6d854644db1524d235651667e23d9c4908
2018-08-28 21:51:23 +01:00
Jonathan Watt c818957c6f Bug 1494321 p1. Fix bug in PreEffectsVisualOverflowCollector::GetPreEffectsVisualOverflowRect. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D6987

--HG--
extra : rebase_source : eb0248f653adbd1c57c4b61d02ffdea615464069
2018-08-28 13:05:37 +01:00
Jonathan Watt b389c507af Bug 1494092. Remove SVGFilterObserverList::IsInObserverLists and related code. r=mattwoodrow
This code is no longer necessary since we now invalidate using Display List
Based Invalidation instead of using recursive calls up the frame tree.

The tests that are marked as failing have only been passing due to a bug in the
code that's being removed from nsSVGIntegrationUtils.cpp which coincidentally
hides the fact that we are actually invalidating in those tests given their
particular structure (which the tests are supposed to be checking we're not
doing).

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

--HG--
extra : rebase_source : cb95359d694dafeca915a22b3c48f580a69679ef
extra : amend_source : 7074f5837170ce0a9243811291782f689666e122
2018-08-27 17:05:37 +01:00
Jonathan Watt a5a808ee8e Bug 1493406. Hide the implementation details of SVG rendering observers for template elements. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D6569

--HG--
extra : rebase_source : 3ee7f77ec68f2735a24d44955d6bfca2fbdc3f47
2018-08-21 14:54:26 +01:00
Robert Longson 1b9177a3e6 Bug 1474982 - Fix asertion failure when lengthAdjust value is empty r=heycam 2018-09-23 15:53:03 +01:00
Jeff Muizelaar 90fbfc8d8a Bug 1447880. Paint nsDisplayMasks directly instead of using a BasicLayerManager. r=mstange
This allows us to invalidate individual items inside of the mask instead of
treating the mask and it's children as a single item.

Differential Revision: https://phabricator.services.mozilla.com/D6224
2018-09-21 18:50:23 -04:00
Jeff Muizelaar f2485f9b16 Bug 1447880. Allow PaintMaskAndClipPath to support different ways of painting its children. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D6223
2018-09-21 18:50:08 -04:00
Jonathan Watt 1cf9fbd0c7 Bug 1493049 - Stop using nsSVGPaintingProperty for observing SVG "template" elements. r=longsonr
Using nsSVGPaintingProperty to observe SVG "template" elements means that we
unnecessarily call InvalidateFrameSubtree(), and unnecessarily call
InvalidateRenderingObservers instead of just calling
InvalidateDirectRenderingObservers.  Besides that it's confusing to anyone
trying to understand the code why href-to-template is a "painting" property.
Creating a new type solves all these issues.

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

--HG--
extra : rebase_source : cd3e731cf08d008096bf5ff20592a28fdfaf4a1b
2018-08-17 16:57:30 +01:00