aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_layout_interface
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-10-07 17:40:13 -0500
committerGitHub <noreply@github.com>2016-10-07 17:40:13 -0500
commitdad3b4785a73aa6ddea5ed50ee4ef01bd4049c8d (patch)
treebd719f9d408f19bf6cabe5798506f7b0d59c1f5b /components/script_layout_interface
parenta25e0670b39df0efcc4c6642775c0de414461a3d (diff)
parent1f0b9ab3b7a6f0c8949fa9a78138a72e66393014 (diff)
downloadservo-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.rs6
-rw-r--r--components/script_layout_interface/wrapper_traits.rs3
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;