mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Pre-set length to desired value in image setter
This commit is contained in:
parent
154bfb0b0f
commit
5be15e55db
3 changed files with 13 additions and 2 deletions
|
@ -113,6 +113,10 @@ use structs::nsStyleGradientStop;
|
|||
unsafe impl Send for nsStyleGradientStop {}
|
||||
unsafe impl Sync for nsStyleGradientStop {}
|
||||
impl HeapSizeOf for nsStyleGradientStop { fn heap_size_of_children(&self) -> usize { 0 } }
|
||||
use structs::nsStyleImageLayers;
|
||||
unsafe impl Send for nsStyleImageLayers {}
|
||||
unsafe impl Sync for nsStyleImageLayers {}
|
||||
impl HeapSizeOf for nsStyleImageLayers { fn heap_size_of_children(&self) -> usize { 0 } }
|
||||
use structs::SheetParsingMode;
|
||||
use structs::nsMainThreadPtrHandle;
|
||||
use structs::nsMainThreadPtrHolder;
|
||||
|
@ -245,6 +249,8 @@ extern "C" {
|
|||
pub fn Gecko_UnsetNodeFlags(node: *mut RawGeckoNode, flags: u32);
|
||||
pub fn Gecko_ArrayEnsureCapacity(array: *mut ::std::os::raw::c_void,
|
||||
capacity: usize, size: usize);
|
||||
pub fn Gecko_ImageLayers_EnsureLength(layers: *mut nsStyleImageLayers,
|
||||
len: usize);
|
||||
pub fn Servo_StylesheetFromUTF8Bytes(bytes: *const u8, length: u32,
|
||||
parsing_mode: SheetParsingMode,
|
||||
base: *mut ThreadSafeURIHolder,
|
||||
|
|
|
@ -118,7 +118,7 @@ COMPILATION_TARGETS = {
|
|||
"nsStyleMargin", "nsStylePadding", "nsStyleBorder",
|
||||
"nsStyleOutline", "nsStyleXUL", "nsStyleSVGReset", "nsStyleColumn",
|
||||
"nsStyleEffects", "nsStyleImage", "nsStyleGradient",
|
||||
"nsStyleCoord", "nsStyleGradientStop",
|
||||
"nsStyleCoord", "nsStyleGradientStop", "nsStyleImageLayers",
|
||||
|
||||
"SheetParsingMode", "nsMainThreadPtrHandle",
|
||||
"nsMainThreadPtrHolder", "nscolor", "nsFont", "FontFamilyList",
|
||||
|
|
|
@ -19,7 +19,7 @@ use gecko_bindings::bindings::Gecko_Destroy_${style_struct.gecko_ffi_name};
|
|||
use gecko_bindings::bindings::{Gecko_CopyMozBindingFrom, Gecko_CopyListStyleTypeFrom};
|
||||
use gecko_bindings::bindings::{Gecko_SetMozBinding, Gecko_SetListStyleType};
|
||||
use gecko_bindings::bindings::{Gecko_SetNullImageValue, Gecko_SetGradientImageValue};
|
||||
use gecko_bindings::bindings::{Gecko_CreateGradient};
|
||||
use gecko_bindings::bindings::{Gecko_ImageLayers_EnsureLength, Gecko_CreateGradient};
|
||||
use gecko_bindings::bindings::{Gecko_CopyImageValueFrom, Gecko_CopyFontFamilyFrom};
|
||||
use gecko_bindings::bindings::{Gecko_FontFamilyList_AppendGeneric, Gecko_FontFamilyList_AppendNamed};
|
||||
use gecko_bindings::bindings::{Gecko_FontFamilyList_Clear};
|
||||
|
@ -960,6 +960,11 @@ fn static_assert() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
unsafe {
|
||||
Gecko_ImageLayers_EnsureLength(&mut self.gecko.mImage, images.0.len());
|
||||
}
|
||||
|
||||
self.gecko.mImage.mImageCount = cmp::max(self.gecko.mImage.mLayers.len() as u32,
|
||||
self.gecko.mImage.mImageCount);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue