mirror of
https://github.com/servo/servo
synced 2026-04-27 18:07:52 +02:00
script: Clean up attribute access a little bit in Element (#43064)
- Use modern Rust conveniences such as `unwrap_or_default` - Unabbreviate `attr` - Unify the lowercase ASCII name assertion and make it a debug assertion - Use `unreachable!` instead of panic - Expose two attribute getters that follow the behavior of two specification concepts and what we expect internally in Servo: - One that takes a namespace, but does not require lowercase attribute names. ([specification concept](https://dom.spec.whatwg.org/#concept-element-attributes-get-by-namespace>)) - One that does not take a namespace, but does require lowercase attribute names. ([specification concept](https://dom.spec.whatwg.org/#concept-element-attributes-get-by-name)) Testing: This should not really change behavior so should be covered by existing tests. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
use std::default::Default;
|
||||
|
||||
use dom_struct::dom_struct;
|
||||
use html5ever::{LocalName, Prefix, local_name, ns};
|
||||
use html5ever::{LocalName, Prefix, local_name};
|
||||
use js::context::JSContext;
|
||||
use js::rust::HandleObject;
|
||||
use pixels::RasterImage;
|
||||
@@ -81,8 +81,8 @@ impl ProcessDataURL for &HTMLObjectElement {
|
||||
|
||||
// TODO: support other values
|
||||
if let (None, Some(_uri)) = (
|
||||
element.get_attribute(&ns!(), &local_name!("type")),
|
||||
element.get_attribute(&ns!(), &local_name!("data")),
|
||||
element.get_attribute(&local_name!("type")),
|
||||
element.get_attribute(&local_name!("data")),
|
||||
) {
|
||||
// TODO(gw): Prefetch the image here.
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user