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

802 Коммитов

Автор SHA1 Сообщение Дата
Jeff Gilbert 2f84637131 Bug 1540357 - Fix implicit int truncation in dom/canvas's dom/* includes. r=qdot
Depends on D25496

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

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

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

--HG--
extra : moz-landing-system : lando
2019-03-31 15:12:55 +00:00
Masayuki Nakano de2d589e58 Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
This makes `Document::GetShell()` return `PresShell*` instead of `nsIPresShell`.

Additonally, "shell" is unclear ("docshell" vs. "presshell").  Therefore, this
also renames `Document::GetShell()` to `Document::GetPresShell()`.

Similarly, some other method names of `Document` are also renamed from
`*Shell*` to `*PresShell*`.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 15:12:47 +00:00
Masayuki Nakano e705b3211c Bug 1540015 - part 1: Make Document.h stop including nsIPresShell.h r=smaug
If `Document::GetShell()` returns `PresShell*` rather than `nsIPresShell`, it's
a good step to deCOMTaminate `PresShell`.

This patch makes `Document.h` stop including `nsIPresShell.h` since
`nsIPresShell.h` includes `Document.h` indirectly and that causes bustage
when we make `Document::GetShell()` return `PresShell*`.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 15:11:04 +00:00
Dorel Luca 5a0fa68b78 Backed out 3 changesets (bug 1540015) for build bustage. CLOSED TREE
Backed out changeset 7b71c9da0214 (bug 1540015)
Backed out changeset 5723ddbc5c44 (bug 1540015)
Backed out changeset 9561d2c36fa5 (bug 1540015)
2019-03-29 16:14:26 +02:00
Masayuki Nakano 9273f25ce2 Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
This makes `Document::GetShell()` return `PresShell*` instead of `nsIPresShell`.

Additonally, "shell" is unclear ("docshell" vs. "presshell").  Therefore, this
also renames `Document::GetShell()` to `Document::GetPresShell()`.

Similarly, some other method names of `Document` are also renamed from
`*Shell*` to `*PresShell*`.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 13:09:26 +00:00
Masayuki Nakano 854606257b Bug 1540015 - part 1: Make Document.h stop including nsIPresShell.h r=smaug
If `Document::GetShell()` returns `PresShell*` rather than `nsIPresShell`, it's
a good step to deCOMTaminate `PresShell`.

This patch makes `Document.h` stop including `nsIPresShell.h` since
`nsIPresShell.h` includes `Document.h` indirectly and that causes bustage
when we make `Document::GetShell()` return `PresShell*`.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 12:12:20 +00:00
violet 38c5f25215 Bug 1512745 - Allow leading and trailing spaces for pairs as well r=longsonr
We also allow leading and trailing spaces for pair to be consistent with length,
number, etc.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 08:57:10 +00:00
Brindusan Cristian ddd1679c05 Backed out changeset 062344ad3eea (bug 1512745) for ESlint failure at test_pairParsing.html:31:5. 2019-03-28 08:56:08 +02:00
violet c51e044cf5 Bug 1512745 - Allow leading and trailing spaces for pairs as well r=longsonr
We also allow leading and trailing spaces for pair to be consistent with length,
number, etc.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 06:12:04 +00:00
championshuttler caa79f7f4b Bug 1508987 - Enable ESLint for dom/svg/ (Manual Changes). r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D22294

--HG--
extra : moz-landing-system : lando
2019-03-25 19:22:27 +00:00
championshuttler 9dc9ed699e Bug 1508987 - Enable ESLint for dom/svg/ (Automatic Changes). r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D22293

--HG--
extra : moz-landing-system : lando
2019-03-25 19:22:09 +00:00
violet 5cb2a2829c Bug 1512745 - Use nsWhitespaceTokenizer to ignore leading and trailing whitespace r=longsonr
Length attribute should allow leading and trailing whitespace per SVG2.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 08:52:33 +00:00
longsonr e9be032791 Bug 1518666 Part 5 - SVGAnimatedPathSegList does not need to be exported r=dholbert 2019-03-26 18:51:25 +00:00
longsonr 3b325c4a5f Bug 1518666 Part 4 - remove some unnecessary typedefs r=dholbert 2019-03-26 18:51:23 +00: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
longsonr 21dcb548e6 Bug 1518666 part 2 - Move existing SVGAnimated classes to DOMSVGAnimated so that we can rename various existing classes to SVGAnimated later r=dholbert
--HG--
rename : dom/svg/SVGAnimatedAngle.cpp => dom/svg/DOMSVGAnimatedAngle.cpp
rename : dom/svg/SVGAnimatedAngle.h => dom/svg/DOMSVGAnimatedAngle.h
rename : dom/svg/SVGAnimatedBoolean.cpp => dom/svg/DOMSVGAnimatedBoolean.cpp
rename : dom/svg/SVGAnimatedBoolean.h => dom/svg/DOMSVGAnimatedBoolean.h
rename : dom/svg/SVGAnimatedEnumeration.cpp => dom/svg/DOMSVGAnimatedEnumeration.cpp
rename : dom/svg/SVGAnimatedEnumeration.h => dom/svg/DOMSVGAnimatedEnumeration.h
rename : dom/svg/SVGAnimatedInteger.cpp => dom/svg/DOMSVGAnimatedInteger.cpp
rename : dom/svg/SVGAnimatedInteger.h => dom/svg/DOMSVGAnimatedInteger.h
rename : dom/svg/SVGAnimatedLength.cpp => dom/svg/DOMSVGAnimatedLength.cpp
rename : dom/svg/SVGAnimatedLength.h => dom/svg/DOMSVGAnimatedLength.h
rename : dom/svg/SVGAnimatedNumber.cpp => dom/svg/DOMSVGAnimatedNumber.cpp
rename : dom/svg/SVGAnimatedNumber.h => dom/svg/DOMSVGAnimatedNumber.h
rename : dom/svg/SVGAnimatedString.cpp => dom/svg/DOMSVGAnimatedString.cpp
rename : dom/svg/SVGAnimatedString.h => dom/svg/DOMSVGAnimatedString.h
2019-03-19 00:01:03 +00:00
longsonr fd7d94f776 Bug 1532156 - correct marker-start for closed paths so it is the average of the start and end angles i.e. the same as marker-end r=dholbert 2019-03-16 17:00:23 +00:00
violet 71e059e062 Bug 1343357 - Ignore lower-priority animateMotion if a to-animation is encountered r=dholbert
Current impl at SVGMotionSMILType::Interpolate has some wrong assertions, it's probably caused by overlooking the special behavior of to-animation. These assumptions also lead weird animation in the product build. Now we take to-animation into account, and implement similar behavior as Chrome and Safari.

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

--HG--
extra : moz-landing-system : lando
2019-03-15 01:26:13 +00: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
Daniel Holbert c4717937f7 Bug 1322770: Remove bogus assertion from SMIL motion code. r=birtles
We had an assertion here that assumed progression along a motion path must be
positive, but that's not the case when we have decreasing values of
the `keyPoints` attribute.  The assertion wasn't justified and nothing
depended on it being valid, so let's just remove it.

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

--HG--
extra : moz-landing-system : lando
2019-03-14 00:55:31 +00:00
Razvan Maries a44733f227 Backed out 2 changesets (bug 1524314) for build bustages. CLOSED TREE
Backed out changeset 2d1f2814e41d (bug 1524314)
Backed out changeset 6838e7d3960f (bug 1524314)
2019-03-09 20:25:42 +02:00
longsonr cfce8a93d3 Bug 1524314 Part 2 - Use RAII notifier classes to simplify code r=dholbert 2019-03-09 17:50:53 +00:00
longsonr 7376fe9ec8 Bug 1524314 Part 1 - use using mozilla:dom to reduce typing r=dholbert 2019-03-09 16:01:33 +00:00
longsonr 1260feab53 Bug 1531578 - don't process nsChangeHint_UpdateSubtreeOverflow for nondisplay frames r=dholbert 2019-03-09 16:01:31 +00:00
violet 6756284172 Bug 1346610 - Compute width and height only when necessary to avoid exponential time complexity r=longsonr
When only width is needed, we should not compute height, and vice versa. Otherwise
there are exponentially repeated computations for nested svg elements, which will
make the tab unresponsive due to 100% CPU usage for exponentially long time.

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

--HG--
extra : moz-landing-system : lando
2019-03-08 07:27:24 +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 00e98538aa Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106

--HG--
extra : rebase_source : ea3f51c2c11247114deccbc86e90fb02b8a97257
2019-02-25 16:05:29 -06:00
longsonr 8e1810987f Bug 1523178 - Merge SVGAngle and nsSVGOrientType into SVGOrient r=jwatt
--HG--
rename : dom/svg/SVGAngle.cpp => dom/svg/SVGOrient.cpp
rename : dom/svg/SVGAngle.h => dom/svg/SVGOrient.h
2019-02-15 08:41:37 +00:00
garvitdelhi 6bd950c37a Bug 1519185: Remove AttributeWillChange aNewValue parameter r=emilio,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D17073
2019-01-29 17:59:38 +01:00
Cosmin Sabou 6b126c3ff0 Backed out 2 changesets (bug 1519185) build bustages on nsMenuGroupOwnerX.mm. CLOSED TREE
Backed out changeset e1de5282e21a (bug 1519185)
Backed out changeset 00d8afb01890 (bug 1519185)

--HG--
extra : rebase_source : d92a7d4606992503f24c66093d35676e12a84ff0
2019-01-29 18:22:46 +02:00
garvitdelhi 3b6550b93f Bug 1519185: Remove AttributeWillChange aNewValue parameter r=emilio,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D17073

--HG--
extra : moz-landing-system : lando
2019-01-29 15:27:02 +00:00
longsonr 50ca026ed1 Bug 1518676 - Part 2 Ensure DOMSVGAngle and DOMSVGNumber are passed an SVGSVGElement and simplify SVGSVGElement create calls. r=jwatt 2019-01-26 17:12:16 +00:00
longsonr 08b26e1f0a Bug 1523069 - Move nsSVGMark to the mozilla namespace (bustage fix). r=jwatt
--HG--
rename : dom/svg/SVGOrient.cpp => dom/svg/SVGAngle.cpp
rename : dom/svg/SVGOrient.h => dom/svg/SVGAngle.h
2019-01-26 13:07:29 +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
Csoregi Natalia 9a5ceab720 Merge mozilla-central to mozilla-inbound. CLOSED TREE
--HG--
extra : rebase_source : 64e179a2919be3598bf7e50ccd54eb7d2762b5d8
2019-01-25 12:13:24 +02:00
Daniel Holbert ac72740770 Bug 1522711: Improve sorting for some #include lists in dom/svg. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D17570

--HG--
extra : moz-landing-system : lando
2019-01-25 02:00:52 +00:00
Narcis Beleuzu e853a80e32 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-25 06:41:23 +02:00
longsonr 3149e5e493 Bug 1522744 - Use DebugOnly where we can and remove a couple of useless ifdef DEBUG statements around MOZ_ASSERT statements. r=birtles 2019-01-25 03:47:16 +00:00
longsonr 1fdb590a11 Bug 1522650 - Rename all remaining nsSMIL classes and types as SMIL and ensure they are in the mozilla namespace. r=birtles
--HG--
rename : dom/smil/nsISMILAttr.h => dom/smil/SMILAttr.h
2019-01-25 03:24:01 +00:00
Daniel Holbert 808dca3627 Bug 1522208: Clean up nsCOMPtr.h includes in dom/svg. r=longsonr
A lot of files include nsCOMPtr without really needing it in dom/svg. (And a
few files use the nsCOMPtr type without including its header.)

For this patch, I found candidate files by just searching for files that only
had a single line that contained "nsCOMPtr", and I took the following actions:
 - If the match is an #include, then remove it (replacing it with the include
   for RefPtr or AlreadyAddrefed if the file uses those types instead).
 - If the match is a usage of the type, then add an #include for nsCOMPtr (as
   well as one for RefPtr, if the file uses that type).

(And in a few cases, I moved an adjacent #include, to get the #include list
closer to sortedness.)

I verified that the dom/svg directory continues to build successfully in
non-unified mode (i.e. if I remove UNIFIED_ from its moz.build file).  So, I'm
not removing any includes that files are now inadvertantly leaning on other
compilation units to provide.

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

--HG--
extra : moz-landing-system : lando
2019-01-24 23:40:25 +00:00
longsonr 30574c3d8b Bug 1522159 - Move nsSVGAttrTearOffTable to the mozilla namespace r=dholbert
--HG--
rename : dom/svg/nsSVGAttrTearoffTable.h => dom/svg/SVGAttrTearoffTable.h
2019-01-23 21:48:00 +00:00
longsonr d37b7ed878 Bug 1521946 - Move nsSMILTypes and nsSMILValue to the mozilla namespace r=birtles
--HG--
rename : dom/smil/nsSMILTypes.h => dom/smil/SMILTypes.h
rename : dom/smil/nsSMILValue.cpp => dom/smil/SMILValue.cpp
rename : dom/smil/nsSMILValue.h => dom/smil/SMILValue.h
2019-01-23 13:48:08 +00:00
longsonr f6f88de10a Bug 1521575 - Move nsSMILTimeValue classes and nsSMILInstanceTime to the mozilla namespace r=birtles
--HG--
rename : dom/smil/nsSMILInstanceTime.cpp => dom/smil/SMILInstanceTime.cpp
rename : dom/smil/nsSMILInstanceTime.h => dom/smil/SMILInstanceTime.h
rename : dom/smil/nsSMILTimeValue.cpp => dom/smil/SMILTimeValue.cpp
rename : dom/smil/nsSMILTimeValue.h => dom/smil/SMILTimeValue.h
rename : dom/smil/nsSMILTimeValueSpec.cpp => dom/smil/SMILTimeValueSpec.cpp
rename : dom/smil/nsSMILTimeValueSpec.h => dom/smil/SMILTimeValueSpec.h
rename : dom/smil/nsSMILTimeValueSpecParams.h => dom/smil/SMILTimeValueSpecParams.h
2019-01-22 07:28:40 +00:00
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Sylvestre Ledru 47a5dd1fb8 Bug 1519636 - Reformat everything to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-01-16 08:50:07 +00:00
longsonr 547d52ec08 Bug 1518676 - Part 1 DeCOM nsSVGLength2 ToDOMBaseVal and ToDOMAnimVal r=jwatt 2019-01-09 20:40:21 +00:00
longsonr 6e5e275ae5 Bug 1518646 - Export things from dom/smil in the mozilla namespace properly r=birtles 2019-01-09 00:34:14 +00:00
Edgar Chen 2f22be013f Bug 1512297 - Do not need to clear image broken state in BindToTree call; r=smaug
ImageLoadingContent will take care of updating element to correct state, we don't need to do this.
Especially for HTMLImageElement, because it may not reload the image after BindToTree (
e.g. the selected source isn't changed), clearing broken state may put element into
incorrect state.

The original code seems from https://bugzilla.mozilla.org/show_bug.cgi?id=491063#c32
for a performance reason, however I test the http://mozilla.pettay.fi/moztests/1x1image.html
again on recent codebase, I don't see difference with/without applying this patch.

--HG--
extra : rebase_source : 2de29cced4ad0a18a5a6908641305203cc88a5f4
2018-12-20 13:59:34 +01:00