mirror of
https://github.com/RGBCube/serenity
synced 2025-05-28 07:35:08 +00:00
LibWeb: Parse grid-template
property
This commit is contained in:
parent
bebf4363db
commit
22202715fc
13 changed files with 351 additions and 3 deletions
|
@ -23,6 +23,7 @@
|
|||
#include <LibWeb/CSS/StyleValues/GridAreaShorthandStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/GridTrackPlacementShorthandStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/GridTrackPlacementStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/GridTrackSizeListShorthandStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/GridTrackSizeListStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/IdentifierStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/InitialStyleValue.h>
|
||||
|
@ -484,6 +485,26 @@ RefPtr<StyleValue const> ResolvedCSSStyleDeclaration::style_value_for_property(L
|
|||
return GridTrackPlacementStyleValue::create(layout_node.computed_values().grid_row_end());
|
||||
case CSS::PropertyID::GridRowStart:
|
||||
return GridTrackPlacementStyleValue::create(layout_node.computed_values().grid_row_start());
|
||||
case CSS::PropertyID::GridTemplate: {
|
||||
auto maybe_grid_template_areas = property(CSS::PropertyID::GridTemplateAreas);
|
||||
auto maybe_grid_template_rows = property(CSS::PropertyID::GridTemplateRows);
|
||||
auto maybe_grid_template_columns = property(CSS::PropertyID::GridTemplateColumns);
|
||||
RefPtr<GridTemplateAreaStyleValue const> grid_template_areas;
|
||||
RefPtr<GridTrackSizeListStyleValue const> grid_template_rows, grid_template_columns;
|
||||
if (maybe_grid_template_areas.has_value()) {
|
||||
VERIFY(maybe_grid_template_areas.value().value->is_grid_template_area());
|
||||
grid_template_areas = maybe_grid_template_areas.value().value->as_grid_template_area();
|
||||
}
|
||||
if (maybe_grid_template_rows.has_value()) {
|
||||
VERIFY(maybe_grid_template_rows.value().value->is_grid_track_size_list());
|
||||
grid_template_rows = maybe_grid_template_rows.value().value->as_grid_track_size_list();
|
||||
}
|
||||
if (maybe_grid_template_columns.has_value()) {
|
||||
VERIFY(maybe_grid_template_columns.value().value->is_grid_track_size_list());
|
||||
grid_template_columns = maybe_grid_template_columns.value().value->as_grid_track_size_list();
|
||||
}
|
||||
return GridTrackSizeListShorthandStyleValue::create(grid_template_areas.release_nonnull(), grid_template_rows.release_nonnull(), grid_template_columns.release_nonnull());
|
||||
}
|
||||
case CSS::PropertyID::GridTemplateColumns:
|
||||
return GridTrackSizeListStyleValue::create(layout_node.computed_values().grid_template_columns());
|
||||
case CSS::PropertyID::GridTemplateRows:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue