diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-10-07 17:40:13 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-07 17:40:13 -0500 |
commit | dad3b4785a73aa6ddea5ed50ee4ef01bd4049c8d (patch) | |
tree | bd719f9d408f19bf6cabe5798506f7b0d59c1f5b /components/script_layout_interface | |
parent | a25e0670b39df0efcc4c6642775c0de414461a3d (diff) | |
parent | 1f0b9ab3b7a6f0c8949fa9a78138a72e66393014 (diff) | |
download | servo-dad3b4785a73aa6ddea5ed50ee4ef01bd4049c8d.tar.gz servo-dad3b4785a73aa6ddea5ed50ee4ef01bd4049c8d.zip |
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 -->
Diffstat (limited to 'components/script_layout_interface')
-rw-r--r-- | components/script_layout_interface/lib.rs | 6 | ||||
-rw-r--r-- | components/script_layout_interface/wrapper_traits.rs | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/components/script_layout_interface/lib.rs b/components/script_layout_interface/lib.rs index cad2e012c7c..18c4805a485 100644 --- a/components/script_layout_interface/lib.rs +++ b/components/script_layout_interface/lib.rs @@ -95,6 +95,7 @@ pub enum LayoutElementType { HTMLTableRowElement, HTMLTableSectionElement, HTMLTextAreaElement, + SVGSVGElement, } pub struct HTMLCanvasData { @@ -103,6 +104,11 @@ pub struct HTMLCanvasData { pub height: u32, } +pub struct SVGSVGData { + pub width: u32, + pub height: u32, +} + /// The address of a node known to be valid. These are sent from script to layout. #[derive(Clone, PartialEq, Eq, Copy)] pub struct TrustedNodeAddress(pub *const c_void); diff --git a/components/script_layout_interface/wrapper_traits.rs b/components/script_layout_interface/wrapper_traits.rs index c02d76a2f4e..c98afa3a72e 100644 --- a/components/script_layout_interface/wrapper_traits.rs +++ b/components/script_layout_interface/wrapper_traits.rs @@ -5,6 +5,7 @@ use HTMLCanvasData; use LayoutNodeType; use OpaqueStyleAndLayoutData; +use SVGSVGData; use gfx_traits::{ByteIndex, LayerId, LayerType}; use msg::constellation_msg::PipelineId; use range::Range; @@ -362,6 +363,8 @@ pub trait ThreadSafeLayoutNode: Clone + Copy + NodeInfo + PartialEq + Sized { fn canvas_data(&self) -> Option<HTMLCanvasData>; + fn svg_data(&self) -> Option<SVGSVGData>; + /// If this node is an iframe element, returns its pipeline ID. If this node is /// not an iframe element, fails. fn iframe_pipeline_id(&self) -> PipelineId; |