2020-06-04 11:06:32 -03:00
/*
* Copyright ( c ) 2020 , Andreas Kling < kling @ serenityos . org >
*
2021-04-22 05:24:48 -03:00
* SPDX - License - Identifier : BSD - 2 - Clause
2020-06-04 11:06:32 -03:00
*/
# include <LibWeb/CSS/StyleSheetList.h>
2020-07-21 11:23:08 -03:00
namespace Web : : CSS {
2020-06-04 11:06:32 -03:00
2021-03-08 07:22:18 -03:00
void StyleSheetList : : add_sheet ( NonnullRefPtr < CSSStyleSheet > sheet )
2020-06-04 11:06:32 -03:00
{
2021-09-29 18:46:16 -03:00
VERIFY ( ! m_sheets . contains_slow ( sheet ) ) ;
2020-06-04 11:06:32 -03:00
m_sheets . append ( move ( sheet ) ) ;
}
2021-09-29 18:46:16 -03:00
void StyleSheetList : : remove_sheet ( CSSStyleSheet & sheet )
{
m_sheets . remove_first_matching ( [ & ] ( auto & entry ) { return & * entry = = & sheet ; } ) ;
}
2020-07-26 14:37:56 -03:00
StyleSheetList : : StyleSheetList ( DOM : : Document & document )
2020-06-04 11:06:32 -03:00
: m_document ( document )
{
}
2021-10-15 15:38:39 -03:00
// https://www.w3.org/TR/cssom/#ref-for-dfn-supported-property-indices%E2%91%A1
2021-09-29 09:03:09 -03:00
bool StyleSheetList : : is_supported_property_index ( u32 index ) const
{
// The object’ s supported property indices are the numbers in the range zero to one less than the number of CSS style sheets represented by the collection.
// If there are no such CSS style sheets, then there are no supported property indices.
if ( m_sheets . is_empty ( ) )
return false ;
return index < m_sheets . size ( ) ;
}
2020-06-04 11:06:32 -03:00
}