Auto merge of #16896 - mbrubeck:image-inherit, r=Manishearth

Bug 1365100 - stylo: Fix inheritance of multiple background images. r=Manishearth

https://bugzilla.mozilla.org/show_bug.cgi?id=1365100

<!-- 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/16896)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-05-16 16:13:43 -05:00 committed by GitHub
commit 15271f5961

View file

@ -2850,9 +2850,21 @@ fn static_assert() {
pub fn copy_${shorthand}_image_from(&mut self, other: &Self) {
use gecko_bindings::structs::nsStyleImageLayers_LayerType as LayerType;
unsafe {
Gecko_CopyImageValueFrom(&mut self.gecko.${image_layers_field}.mLayers.mFirstElement.mImage,
&other.gecko.${image_layers_field}.mLayers.mFirstElement.mImage);
let count = other.gecko.${image_layers_field}.mImageCount;
unsafe {
Gecko_EnsureImageLayersLength(&mut self.gecko.${image_layers_field},
count as usize,
LayerType::${shorthand.capitalize()});
}
for (layer, other) in self.gecko.${image_layers_field}.mLayers.iter_mut()
.zip(other.gecko.${image_layers_field}.mLayers.iter())
.take(count as usize) {
Gecko_CopyImageValueFrom(&mut layer.mImage, &other.mImage);
}
self.gecko.${image_layers_field}.mImageCount = count;
}
}