Type Alias style::servo::url::SpecifiedUrl
source · pub type SpecifiedUrl = CssUrl;
Expand description
A specified url() value for servo.
Aliased Type§
struct SpecifiedUrl {
original: Option<Arc<String>>,
resolved: Option<Arc<Url>>,
}
Fields§
§original: Option<Arc<String>>
The original URI. This might be optional since we may insert computed values of images into the cascade directly, and we don’t bother to convert their serialization.
Refcounted since cloning this should be cheap and data: uris can be really large.
resolved: Option<Arc<Url>>
The resolved value for the url, if valid.
Implementations§
source§impl CssUrl
impl CssUrl
sourcepub fn parse_from_string(
url: String,
context: &ParserContext<'_>,
_: CorsMode
) -> Self
pub fn parse_from_string( url: String, context: &ParserContext<'_>, _: CorsMode ) -> Self
Try to parse a URL from a string value that is a valid CSS token for a URL.
FIXME(emilio): Should honor CorsMode.
sourcepub fn is_invalid(&self) -> bool
pub fn is_invalid(&self) -> bool
Returns true if the URL is definitely invalid. For Servo URLs, we can use its |resolved| status.
sourcepub fn is_fragment(&self) -> bool
pub fn is_fragment(&self) -> bool
Returns true if this URL looks like a fragment. See https://drafts.csswg.org/css-values/#local-urls
Since Servo currently stores resolved URLs, this is hard to implement. We either need to change servo to lazily resolve (like Gecko), or note this information in the tokenizer.
sourcepub fn as_str(&self) -> &str
pub fn as_str(&self) -> &str
Return the resolved url as string, or the empty string if it’s invalid.
TODO(emilio): Should we return the original one if needed?
sourcepub fn for_cascade(url: Arc<Url>) -> Self
pub fn for_cascade(url: Arc<Url>) -> Self
Creates an already specified url value from an already resolved URL for insertion in the cascade.
sourcepub fn new_for_testing(url: &str) -> Self
pub fn new_for_testing(url: &str) -> Self
Gets a new url from a string for unit tests.
sourcepub fn parse_with_cors_mode<'i, 't>(
context: &ParserContext<'_>,
input: &mut Parser<'i, 't>,
cors_mode: CorsMode
) -> Result<Self, ParseError<'i>>
pub fn parse_with_cors_mode<'i, 't>( context: &ParserContext<'_>, input: &mut Parser<'i, 't>, cors_mode: CorsMode ) -> Result<Self, ParseError<'i>>
Parses a URL request and records that the corresponding request needs to be CORS-enabled.
This is only for shape images and masks in Gecko, thus unimplemented for now so somebody notices when trying to do so.
Trait Implementations§
source§impl<'de> Deserialize<'de> for CssUrl
impl<'de> Deserialize<'de> for CssUrl
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl MallocSizeOf for CssUrl
impl MallocSizeOf for CssUrl
source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
source§impl Parse for CssUrl
impl Parse for CssUrl
source§fn parse<'i, 't>(
context: &ParserContext<'_>,
input: &mut Parser<'i, 't>
) -> Result<Self, ParseError<'i>>
fn parse<'i, 't>( context: &ParserContext<'_>, input: &mut Parser<'i, 't> ) -> Result<Self, ParseError<'i>>
source§impl PartialEq<CssUrl> for CssUrl
impl PartialEq<CssUrl> for CssUrl
source§impl SpecifiedValueInfo for CssUrl
impl SpecifiedValueInfo for CssUrl
source§const SUPPORTED_TYPES: u8 = 0u8
const SUPPORTED_TYPES: u8 = 0u8
source§impl ToComputedValue for SpecifiedUrl
impl ToComputedValue for SpecifiedUrl
§type ComputedValue = ComputedUrl
type ComputedValue = ComputedUrl
source§fn to_computed_value(&self, _: &Context<'_>) -> Self::ComputedValue
fn to_computed_value(&self, _: &Context<'_>) -> Self::ComputedValue
Context
.