Bug 1519958 - Improve stack size of grid templates and re-enable style struct size assertions disabled in the previous patch. r=boris

This re-enables the assertion which was disabled on the previous patch by doing
a bit of boxing around.

Differential Revision: https://phabricator.services.mozilla.com/D36599
This commit is contained in:
Emilio Cobos Álvarez 2019-07-02 01:35:50 +02:00
parent 3e39998068
commit 708ce04896
No known key found for this signature in database
GPG key ID: E1152D0994E4BF8A
3 changed files with 10 additions and 6 deletions

View file

@ -353,8 +353,11 @@
GenericGridTemplateComponent::None GenericGridTemplateComponent::None
}; };
Ok((GenericGridTemplateComponent::TrackList(template_rows), Ok((
template_cols, GridTemplateAreas::Areas(TemplateAreasArc(Arc::new(template_areas))))) GenericGridTemplateComponent::TrackList(Box::new(template_rows)),
template_cols,
GridTemplateAreas::Areas(TemplateAreasArc(Arc::new(template_areas)))
))
} else { } else {
let mut template_rows = GridTemplateComponent::parse(context, input)?; let mut template_rows = GridTemplateComponent::parse(context, input)?;
if let GenericGridTemplateComponent::TrackList(ref mut list) = template_rows { if let GenericGridTemplateComponent::TrackList(ref mut list) = template_rows {

View file

@ -710,12 +710,12 @@ pub enum GenericGridTemplateComponent<L, I> {
#[compute(field_bound)] #[compute(field_bound)]
#[resolve(field_bound)] #[resolve(field_bound)]
#[shmem(field_bound)] #[shmem(field_bound)]
GenericTrackList<L, I>, Box<GenericTrackList<L, I>>,
), ),
/// A `subgrid <line-name-list>?` /// A `subgrid <line-name-list>?`
/// TODO: Support animations for this after subgrid is addressed in [grid-2] spec. /// TODO: Support animations for this after subgrid is addressed in [grid-2] spec.
#[animation(error)] #[animation(error)]
Subgrid(LineNameList), Subgrid(Box<LineNameList>),
} }
pub use self::GenericGridTemplateComponent as GridTemplateComponent; pub use self::GenericGridTemplateComponent as GridTemplateComponent;

View file

@ -321,10 +321,11 @@ impl GridTemplateComponent<LengthPercentage, Integer> {
) -> Result<Self, ParseError<'i>> { ) -> Result<Self, ParseError<'i>> {
if allow_grid_template_subgrids() { if allow_grid_template_subgrids() {
if let Ok(t) = input.try(|i| LineNameList::parse(context, i)) { if let Ok(t) = input.try(|i| LineNameList::parse(context, i)) {
return Ok(GridTemplateComponent::Subgrid(t)); return Ok(GridTemplateComponent::Subgrid(Box::new(t)));
} }
} }
TrackList::parse(context, input).map(GridTemplateComponent::TrackList) let track_list = TrackList::parse(context, input)?;
Ok(GridTemplateComponent::TrackList(Box::new(track_list)))
} }
} }