mirror of
https://github.com/servo/servo.git
synced 2025-08-02 20:20:14 +01:00
Auto merge of #13589 - splav:SVGElement#12974, r=pcwalton,Ms2ger
Support SVG element <!-- Please describe your changes on the following line: --> minimal SVG element implementation --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #12974 (github issue number if applicable). <!-- Either: --> - [x] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13589) <!-- Reviewable:end -->
This commit is contained in:
commit
dad3b4785a
22 changed files with 533 additions and 19 deletions
22
components/script/dom/webidls/SVGElement.webidl
Normal file
22
components/script/dom/webidls/SVGElement.webidl
Normal file
|
@ -0,0 +1,22 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://svgwg.org/svg2-draft/types.html#InterfaceSVGElement
|
||||
[Pref="dom.svg.enabled"]
|
||||
interface SVGElement : Element {
|
||||
|
||||
//[SameObject] readonly attribute SVGAnimatedString className;
|
||||
|
||||
//[SameObject] readonly attribute DOMStringMap dataset;
|
||||
|
||||
//readonly attribute SVGSVGElement? ownerSVGElement;
|
||||
//readonly attribute SVGElement? viewportElement;
|
||||
|
||||
//attribute long tabIndex;
|
||||
//void focus();
|
||||
//void blur();
|
||||
};
|
||||
|
||||
//SVGElement implements GlobalEventHandlers;
|
||||
//SVGElement implements SVGElementInstance;
|
22
components/script/dom/webidls/SVGGraphicsElement.webidl
Normal file
22
components/script/dom/webidls/SVGGraphicsElement.webidl
Normal file
|
@ -0,0 +1,22 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://svgwg.org/svg2-draft/types.html#InterfaceSVGGraphicsElement
|
||||
[Pref="dom.svg.enabled"]
|
||||
//dictionary SVGBoundingBoxOptions {
|
||||
// boolean fill = true;
|
||||
// boolean stroke = false;
|
||||
// boolean markers = false;
|
||||
// boolean clipped = false;
|
||||
//};
|
||||
|
||||
interface SVGGraphicsElement : SVGElement {
|
||||
//[SameObject] readonly attribute SVGAnimatedTransformList transform;
|
||||
|
||||
//DOMRect getBBox(optional SVGBoundingBoxOptions options);
|
||||
//DOMMatrix? getCTM();
|
||||
//DOMMatrix? getScreenCTM();
|
||||
};
|
||||
|
||||
//SVGGraphicsElement implements SVGTests;
|
45
components/script/dom/webidls/SVGSVGElement.webidl
Normal file
45
components/script/dom/webidls/SVGSVGElement.webidl
Normal file
|
@ -0,0 +1,45 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://svgwg.org/svg2-draft/struct.html#InterfaceSVGSVGElement
|
||||
[Pref="dom.svg.enabled"]
|
||||
interface SVGSVGElement : SVGGraphicsElement {
|
||||
|
||||
//[SameObject] readonly attribute SVGAnimatedLength x;
|
||||
//[SameObject] readonly attribute SVGAnimatedLength y;
|
||||
//[SameObject] readonly attribute SVGAnimatedLength width;
|
||||
//[SameObject] readonly attribute SVGAnimatedLength height;
|
||||
|
||||
//attribute float currentScale;
|
||||
//[SameObject] readonly attribute DOMPointReadOnly currentTranslate;
|
||||
|
||||
//NodeList getIntersectionList(DOMRectReadOnly rect, SVGElement? referenceElement);
|
||||
//NodeList getEnclosureList(DOMRectReadOnly rect, SVGElement? referenceElement);
|
||||
//boolean checkIntersection(SVGElement element, DOMRectReadOnly rect);
|
||||
//boolean checkEnclosure(SVGElement element, DOMRectReadOnly rect);
|
||||
|
||||
//void deselectAll();
|
||||
|
||||
//SVGNumber createSVGNumber();
|
||||
//SVGLength createSVGLength();
|
||||
//SVGAngle createSVGAngle();
|
||||
//DOMPoint createSVGPoint();
|
||||
//DOMMatrix createSVGMatrix();
|
||||
//DOMRect createSVGRect();
|
||||
//SVGTransform createSVGTransform();
|
||||
//SVGTransform createSVGTransformFromMatrix(DOMMatrixReadOnly matrix);
|
||||
|
||||
//Element getElementById(DOMString elementId);
|
||||
|
||||
// Deprecated methods that have no effect when called,
|
||||
// but which are kept for compatibility reasons.
|
||||
//unsigned long suspendRedraw(unsigned long maxWaitMilliseconds);
|
||||
//void unsuspendRedraw(unsigned long suspendHandleID);
|
||||
//void unsuspendRedrawAll();
|
||||
//void forceRedraw();
|
||||
};
|
||||
|
||||
//SVGSVGElement implements SVGFitToViewBox;
|
||||
//SVGSVGElement implements SVGZoomAndPan;
|
||||
//SVGSVGElement implements WindowEventHandlers;
|
Loading…
Add table
Add a link
Reference in a new issue