diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-07-29 14:37:45 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-07-29 14:37:45 -0600 |
commit | 58fa3b69b76387958db45bc9831ac7c79caab2ea (patch) | |
tree | 9af5e455a3e7f189a555f12a1cd81fa158f50543 /components/script/dom/element.rs | |
parent | 7adc336aaacfb5e544a9c8c4e0387afa457e5d72 (diff) | |
parent | d3f92eb3398b9f8ea8f4571e1f653c1b7a9b3138 (diff) | |
download | servo-58fa3b69b76387958db45bc9831ac7c79caab2ea.tar.gz servo-58fa3b69b76387958db45bc9831ac7c79caab2ea.zip |
Auto merge of #5851 - evilpie:background, r=SimonSapin
Implement the HTML background attribute
Fixes #5835
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5851)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r-- | components/script/dom/element.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 1edc4947a8a..d8c0db97e60 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -67,7 +67,7 @@ use smallvec::VecLike; use style::legacy::{UnsignedIntegerAttribute, from_declaration}; use style::properties::{PropertyDeclarationBlock, PropertyDeclaration, parse_style_attribute}; use style::properties::DeclaredValue::SpecifiedValue; -use style::properties::longhands::{self, border_spacing, height}; +use style::properties::longhands::{self, background_image, border_spacing, height}; use style::values::CSSFloat; use style::values::specified::{self, CSSColor, CSSRGBA}; use util::geometry::Au; @@ -278,6 +278,19 @@ impl RawLayoutElementHelpers for Element { CSSColor { parsed: Color::RGBA(color), authored: None })))); } + let background = if self.is_htmlbodyelement() { + let this: &HTMLBodyElement = mem::transmute(self); + this.get_background() + } else { + None + }; + + if let Some(url) = background { + hints.push(from_declaration( + PropertyDeclaration::BackgroundImage(SpecifiedValue( + background_image::SpecifiedValue(Some(specified::Image::Url(url))))))); + } + let color = if self.is_htmlfontelement() { let this: &HTMLFontElement = mem::transmute(self); this.get_color() |