Commit Graph

89 Commits

Author SHA1 Message Date
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
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
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
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
ade1b15610 Bug 1517108 - Move nsSMILTimeContainer, nsSMILMilestone and nsSMILTargetIdentifier to the mozilla namespace r=bbirtles
--HG--
rename : dom/smil/nsSMILMilestone.h => dom/smil/SMILMilestone.h
rename : dom/smil/nsSMILTargetIdentifier.h => dom/smil/SMILTargetIdentifier.h
rename : dom/smil/nsSMILTimeContainer.cpp => dom/smil/SMILTimeContainer.cpp
rename : dom/smil/nsSMILTimeContainer.h => dom/smil/SMILTimeContainer.h
2019-01-02 07:21:13 +00:00
longsonr
5106b5cfcf Bug 1516727 - Part 2 rename SVGAngle to DOMSVGAngle r=jwatt
--HG--
rename : dom/svg/SVGAngle.cpp => dom/svg/DOMSVGAngle.cpp
rename : dom/svg/SVGAngle.h => dom/svg/DOMSVGAngle.h
2018-12-30 18:18:30 +00:00
longsonr
359ed8eddc Bug 1516727 - Part 1 simplify creation of SVGAngle objects r=jwatt 2018-12-29 22:19:55 +00:00
longsonr
2ea3c4dbf3 Bug 1516551 - Part 1 rename SVGTransform to DOMSVGTransform r=dholbert
--HG--
rename : dom/svg/SVGTransform.cpp => dom/svg/DOMSVGTransform.cpp
rename : dom/svg/SVGTransform.h => dom/svg/DOMSVGTransform.h
2018-12-28 17:20:15 +00:00
longsonr
028d7ef9fa Bug 1516411 - Move nsSMILAnimationController into the mozilla namespace and rename it as SMILAnimationController r=birtles
--HG--
rename : dom/smil/nsSMILAnimationController.cpp => dom/smil/SMILAnimationController.cpp
rename : dom/smil/nsSMILAnimationController.h => dom/smil/SMILAnimationController.h
2018-12-28 11:47:58 +00:00
Daniel Holbert
bb0c446650 Bug 1516576: Adjust dom/svg/*.cpp files to include their own header first. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D15443

--HG--
extra : moz-landing-system : lando
2018-12-28 02:47:10 +00:00
longsonr
cb858a95bf Bug 1516076 - Part 4 - make include order more sensible for some files r=dholbert 2018-12-27 17:30:38 +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
Daniel Holbert
76a8cb61f7 Bug 1516025 part 2: Add needed #includes to some files in dom/svg to preemptively fix unified build bustage. r=longsonr
And while I'm here, I'm giving SVGDataParser.h a more specific/efficient string
include, to just provide the *forward-decl* of nsAString for this file's
"nsAString&" usage in a function prototype.

Depends on D15231

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

--HG--
extra : moz-landing-system : lando
2018-12-21 23:29:24 +00:00
longsonr
f68bd8c718 Bug 1515705 - Rename NS_IMPL_NS_NEW_NAMESPACED_SVG_ELEMENT as all SVG elements are now namespaced r=dholbert 2018-12-21 11:43:29 +00:00
Margareta Eliza Balazs
33d4594712 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-12-21 11:44:48 +02: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
Cameron McCormack
115eddc306 Bug 1515800 - Rename some more GetCurrentTime methods to avoid winbase.h bustage r=birtles,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D15167

--HG--
extra : moz-landing-system : lando
2018-12-21 05:37:58 +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
Nicholas Nethercote
0c3cf3ece2 Bug 1449883 - Use nsStaticAtom* const instead of nsStaticAtom** in nsSVGEnumMapping. r=jwatt
MozReview-Commit-ID: DRCUIaHY5SX

--HG--
extra : rebase_source : 3b10706466271f61c48f6a1c85867b047859895c
2018-03-29 20:45:28 +11:00
Nicholas Nethercote
28cd0d7a4a Bug 1449883 - Use nsStaticAtom* const instead of nsStaticAtom** in nsSVGElement.h. r=jwatt
The patch also const-ifies a bunch of nearby fields.

MozReview-Commit-ID: IId52fm3Y7j

--HG--
extra : rebase_source : 8b84842dbb105672cce3cd90eef20290f28feb0e
2018-03-29 20:45:24 +11:00
Nathan Froyd
846d8789ee Bug 1492894 - part 1 - make the node hierarchy consistently constructed with NodeInfo&&; r=mccr8
Various places in dom/ use the pattern:

  already_AddRefed<NodeInfo> ni = ...;

which is supposed to be disallowed by our static analysis code, but
isn't, for whatever reason.  To fix our static analysis code, we need to
eliminate instances of the above pattern.

Unfortunately, eliminating this pattern requires restructuring how Nodes
are created.  Most Node subclasses take `already_AddRefed<NodeInfo>&` in
their constructors, and a few accept `already_AddRefed<NodeInfo>&&`.  We
need to enforce the latter pattern consistently, which requires changing
dozens of source files.
2018-09-21 16:45:49 -04:00
Emilio Cobos Álvarez
8f34c12e14 Bug 1479860: Remove unused aCompileEventHandlers argument from BindToTree. r=bz
Mostly automatic via sed. Only parts which I touched manually (apart from a
couple ones where I fixed indentation or which had mispelled arguments) are the
callers. I may have removed a couple redundant `virtual` keywords as well when
I started to do it manually, I can revert those if wanted.

Most of them are just removing the argument, but in Element.cpp I also added an
assertion for GetBindingParent when binding the ShadowRoot's kids (the binding
parent is set from the ShadowRoot constructor, and I don't think we bind a
shadow tree during unlink or what not which could cause a behavior difference).

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

MozReview-Commit-ID: 2oIgatty2HU
2018-08-01 10:42:54 +02:00
Jeff Gilbert
5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Emilio Cobos Álvarez
711587f9ff Bug 1469176: Load svg.css upfront. r=jwatt
Test Plan: Covered by existing tests.

Reviewers: jwatt

Reviewed By: jwatt

Bug #: 1469176

Differential Revision: https://phabricator.services.mozilla.com/D1762
2018-06-22 12:48:40 +02:00
Emilio Cobos Álvarez
bd7c1e4e8c Bug 1468133: Remove the optimization to lazily load non-SVG styles since it's not relevant anymore. r=heycam
This was a memory-saving optimization introduced as part of dependencies for bug
686875, but a more general system landed in bug 77999 for Gecko and
https://github.com/servo/servo/pull/18509 for Servo.

So now it's probably even a bit of a pessimization (though probably not huge),
and given this causes bugs like bug 1462742, bug 1157592, and bug 1468145, and
fishiness like the one pointed out in this bug, we may as well remove it.

The performance impact of having to lookup through more rules should be minimal
given the bloom filter and the rule hash optimizations.

This makes me wonder whether we could remove the whole concept of on-demand UA
sheets, since they've caused pain, for example, when the frontend people try
loading <svg>s from NAC (since that triggers sheet loading from frame
construction, which is not good). I'm not concerned about loading mathml.css and
svg.css everywhere, though xul.css may not be as doable since it adds a bunch of
attribute-dependent selectors. Though on the other hand I asserted in the
xul.css code and we don't load it in content with <video> / <input
type="date/time/etc"> and such, afaict, so maybe now that legacy addons are gone
we can remove that sheet from content processes altogether.

MozReview-Commit-ID: 9JCWNZj6BkT
2018-06-22 03:42:46 +02:00
Boris Zbarsky
cb08b0de7d Bug 1455676 part 21. Remove nsIDOMNode. r=qdot 2018-05-29 22:58:51 -04:00
Boris Zbarsky
bea3100e53 Bug 1455676 part 14. Remove most use of nsIDOMNode in dom/. r=qdot 2018-05-29 22:58:49 -04:00
Boris Zbarsky
1cbc813260 Bug 1455674 part 20. Get rid of nsIDOMElement. r=qdot 2018-04-26 23:37:34 -04:00
Cameron McCormack
8e2992c3d7 Bug 1133172 - Remove SVGSVGElement.{pixel,screenPixel}UnitToMillimeter{X,Y}. r=longonsr,bz
MozReview-Commit-ID: KKy0J8oQYJj

--HG--
extra : rebase_source : 615b8b0b910344219490c0a5558c67777ecbe521
2018-04-19 17:21:00 +03:00
Boris Zbarsky
14f26fccf6 Bug 1449631 part 8. Remove nsIDOMEventTarget::GetEventTargetParent. r=smaug
MozReview-Commit-ID: 5wQ2LYrjUxf
2018-04-05 13:42:41 -04:00
Xidorn Quan
d81392eca1 Bug 1447828 part 6 - Have only a single nsLayoutStylesheetCache instance. r=emilio
MozReview-Commit-ID: BjCgc8MZjIq

--HG--
extra : rebase_source : 104140c2eed5987b5568aca89a72bc7d5e3ed839
extra : source : cd66e264953865b0604054fb9d0b741d0ae19ebf
2018-03-29 02:34:34 +11:00
Robert Longson
728a3f36fc Bug 1435477 - Make the SVG dom code use the WebIDL constants from the bindings r=jwatt 2018-02-18 15:53:13 +00:00
Cameron McCormack
a3eee241b4 Bug 1435666 - Part 1: Remove nsIDOMSVGElement. r=bz
MozReview-Commit-ID: Hlfnu3pXC0n

--HG--
extra : rebase_source : b50343bbebe2044442af4491f7c97209ad8d4fc0
2018-02-04 17:40:57 +08:00
Nicholas Nethercote
d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Andrew McCreight
7f7f149167 Bug 1395636 - Convert code to use NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED. r=peterv
MozReview-Commit-ID: DivJPerL5SF

--HG--
extra : rebase_source : 890df75914906a5d34e8af67f9fc3a4be239d2d6
2017-08-31 16:29:22 -07:00
Sebastian Hengst
2f7f455fa1 Backed out changeset 9306866e8df0 (bug 1395636) for build bustage. r=backout on a CLOSED TREE
--HG--
extra : amend_source : 20d028d6b971cf6a221dc2f1553687d6c074bdcb
2017-09-06 19:18:06 +02:00
Andrew McCreight
4d6e76dfcf Bug 1395636 - Convert code to use NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED. r=peterv
MozReview-Commit-ID: DivJPerL5SF

--HG--
extra : rebase_source : cb952cfc5600a163a5580438e5b0177595689dab
2017-08-31 16:29:22 -07:00
Daniel Holbert
1607723a71 Bug 1384561: Null-check pointer before deleting it (rather than after), in SVG ClearPreserveAspectRatioProperty() function. r=jwatt
In practice, this shouldn't make a difference -- but C++ allows compilers to
make pointer-usage-after-delete trigger a runtime fault.

MozReview-Commit-ID: J1tZ3TxXR80

--HG--
extra : rebase_source : 046407c3c034b85a5b5d41e4c1a87e4a79c6833e
2017-07-26 18:03:43 -07:00
Olli Pettay
21b0ca3bbf Bug 1378196, Make IsEventAttributeName non-virtual in common case, r=ehsan
--HG--
extra : rebase_source : 9daf46de13698348b7ab6b68f8da13ffb338c0a0
2017-07-04 23:54:30 +03:00
cku
37aeebd4f3 Bug 265894 - Part 10. Remove SVGSVGElement::HasPreserveAspectRatio. r=heycam
Since no callee of this funciton anymore.

MozReview-Commit-ID: 6tQdFA6e7U4

--HG--
extra : rebase_source : a39b65387c893adba7bde4161a1e2385ef5cd582
2017-06-16 14:09:09 +08:00
cku
f9701e84eb Bug 265894 - Part 2. Implement SVGViewportElementBase, and let SVGSVGElement inherit from it. r=heycam
MozReview-Commit-ID: I6BIgEMhN6Q

--HG--
extra : rebase_source : 8e0e18914fc061532e853d2d3347e924d244b212
2017-06-14 20:38:10 +08:00
cku
67b6f80c35 Bug 265894 - Part 1. Implement NS_IMPL_ELEMENT_CLONE_WITH_INIT_AND_PARSER. r=heycam
Implement this new macro to reuse clone code in SVGSymbolElement in the
following patch.

MozReview-Commit-ID: 4vobWVrcbn2

--HG--
extra : rebase_source : 11e7dd9fd11199689ed5dc2a532c6517cf2e21fe
2017-06-14 19:57:40 +08:00
Kirk Steuber
7fdb378650 Bug 1359556 - Optimize cloneNode by preinitializing attribute and child arrays r=bz
Currently, attribute and child arrays (implemented in dom/base/nsAttrAndChildArray.h) start out empty. When cloning, the array ends up being resized multiple times in order to add the attributes and children that are being cloned from the original node. This would be quicker if the array was initialized to the correct size in the first place so that resizes are not necessary.

However, preallocating space for children is only necessary when performing a deep clone. Therefore, an additional parameter is being added to the Clone, CopyInnerTo, and CloneDocHelper methods to indicate whether preallocation of children should happen. Attributes are copied either way, so that part of the array is preallocated in both cases.

MozReview-Commit-ID: 3iVezeAKXnI

--HG--
extra : rebase_source : 9c3deec6d7aafd6411044d623d4863637b45fd58
2017-04-20 12:57:48 -07:00
Jonathan Watt
80319e98e0 Bug 1358794, part 1 - If necessary, synthesize a viewBox for SVG embedded via SVG <image>. r=longsonr
MozReview-Commit-ID: DuKOqfxCUW8
2017-03-25 15:57:29 +00:00
Aryeh Gregor
b03daa975a Bug 1314388 - Remove SVGZoomEvent; r=longsonr,smaug
Some code in SVGSVGElement.cpp might be unnecessary now, but Robert said
to leave it for a followup.

MozReview-Commit-ID: 8PpRGeGrREJ
2017-04-04 15:36:22 +03:00
Jonathan Watt
d942383a79 Bug 1350493 - Speed up and clean up SVGTransformableElement::PrependLocalTransformsTo and its overrides. r=longsonr 2017-02-23 08:35:08 +00:00