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/layout/construct.rs | |
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/layout/construct.rs')
-rw-r--r-- | components/layout/construct.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/components/layout/construct.rs b/components/layout/construct.rs index 8a463ded66a..ae77f4d7751 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -22,7 +22,7 @@ use floats::FloatKind; use flow::{self, AbsoluteDescendants, IS_ABSOLUTELY_POSITIONED, ImmutableFlowUtils}; use flow::{CAN_BE_FRAGMENTED, MutableFlowUtils, MutableOwnedFlowUtils}; use flow_ref::{self, FlowRef}; -use fragment::{CanvasFragmentInfo, ImageFragmentInfo, InlineAbsoluteFragmentInfo}; +use fragment::{CanvasFragmentInfo, ImageFragmentInfo, InlineAbsoluteFragmentInfo, SvgFragmentInfo}; use fragment::{Fragment, GeneratedContentInfo, IframeFragmentInfo}; use fragment::{InlineAbsoluteHypotheticalFragmentInfo, TableColumnFragmentInfo}; use fragment::{InlineBlockFragmentInfo, SpecificFragmentInfo, UnscannedTextFragmentInfo}; @@ -335,6 +335,10 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode> let data = node.canvas_data().unwrap(); SpecificFragmentInfo::Canvas(box CanvasFragmentInfo::new(node, data, self.style_context())) } + Some(LayoutNodeType::Element(LayoutElementType::SVGSVGElement)) => { + let data = node.svg_data().unwrap(); + SpecificFragmentInfo::Svg(box SvgFragmentInfo::new(node, data, self.style_context())) + } _ => { // This includes pseudo-elements. SpecificFragmentInfo::Generic @@ -1701,7 +1705,8 @@ impl<ConcreteThreadSafeLayoutNode> NodeUtils for ConcreteThreadSafeLayoutNode Some(LayoutNodeType::Document) | Some(LayoutNodeType::Element(LayoutElementType::HTMLImageElement)) | Some(LayoutNodeType::Element(LayoutElementType::HTMLIFrameElement)) | - Some(LayoutNodeType::Element(LayoutElementType::HTMLCanvasElement)) => true, + Some(LayoutNodeType::Element(LayoutElementType::HTMLCanvasElement)) | + Some(LayoutNodeType::Element(LayoutElementType::SVGSVGElement)) => true, Some(LayoutNodeType::Element(LayoutElementType::HTMLObjectElement)) => self.has_object_data(), Some(LayoutNodeType::Element(_)) => false, None => self.get_pseudo_element_type().is_replaced_content(), |