diff options
Diffstat (limited to 'components/script/dom/htmlimageelement.rs')
-rw-r--r-- | components/script/dom/htmlimageelement.rs | 94 |
1 files changed, 48 insertions, 46 deletions
diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index d02a850ccb8..65846d59ab4 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -2,6 +2,50 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +use std::cell::Cell; +use std::collections::HashSet; +use std::default::Default; +use std::sync::{Arc, Mutex}; +use std::{char, i32, mem}; + +use app_units::{Au, AU_PER_PX}; +use cssparser::{Parser, ParserInput}; +use dom_struct::dom_struct; +use euclid::Point2D; +use html5ever::{local_name, namespace_url, ns, LocalName, Prefix, QualName}; +use ipc_channel::ipc; +use ipc_channel::ipc::IpcSender; +use ipc_channel::router::ROUTER; +use js::jsapi::JSAutoRealm; +use js::rust::HandleObject; +use mime::{self, Mime}; +use msg::constellation_msg::PipelineId; +use net_traits::image::base::{Image, ImageMetadata}; +use net_traits::image_cache::{ + CorsStatus, ImageCache, ImageCacheResult, ImageOrMetadataAvailable, ImageResponse, + PendingImageId, PendingImageResponse, UsePlaceholder, +}; +use net_traits::request::{CorsSettings, Destination, Initiator, Referrer, RequestBuilder}; +use net_traits::{ + FetchMetadata, FetchResponseListener, FetchResponseMsg, NetworkError, ReferrerPolicy, + ResourceFetchTiming, ResourceTimingType, +}; +use num_traits::ToPrimitive; +use servo_url::origin::{ImmutableOrigin, MutableOrigin}; +use servo_url::ServoUrl; +use style::attr::{ + parse_double, parse_length, parse_unsigned_integer, AttrValue, LengthOrPercentageOrAuto, +}; +use style::context::QuirksMode; +use style::media_queries::MediaList; +use style::parser::ParserContext; +use style::str::is_ascii_digit; +use style::stylesheets::{CssRuleType, Origin}; +use style::values::specified::length::{Length, NoCalcLength}; +use style::values::specified::source_size_list::SourceSizeList; +use style::values::specified::AbsoluteLength; +use style_traits::ParsingMode; + use crate::document_loader::{LoadBlocker, LoadType}; use crate::dom::activation::Activatable; use crate::dom::attr::Attr; @@ -19,10 +63,10 @@ use crate::dom::bindings::reflector::DomObject; use crate::dom::bindings::root::{DomRoot, LayoutDom, MutNullableDom}; use crate::dom::bindings::str::{DOMString, USVString}; use crate::dom::document::{determine_policy_for_token, Document}; -use crate::dom::element::{cors_setting_for_element, referrer_policy_for_element}; -use crate::dom::element::{reflect_cross_origin_attribute, set_cross_origin_attribute}; use crate::dom::element::{ - AttributeMutation, CustomElementCreationMode, Element, ElementCreator, LayoutElementHelpers, + cors_setting_for_element, referrer_policy_for_element, reflect_cross_origin_attribute, + set_cross_origin_attribute, AttributeMutation, CustomElementCreationMode, Element, + ElementCreator, LayoutElementHelpers, }; use crate::dom::event::Event; use crate::dom::eventtarget::EventTarget; @@ -34,9 +78,9 @@ use crate::dom::htmlmapelement::HTMLMapElement; use crate::dom::htmlpictureelement::HTMLPictureElement; use crate::dom::htmlsourceelement::HTMLSourceElement; use crate::dom::mouseevent::MouseEvent; -use crate::dom::node::UnbindContext; use crate::dom::node::{ document_from_node, window_from_node, BindContext, Node, NodeDamage, ShadowIncluding, + UnbindContext, }; use crate::dom::performanceresourcetiming::InitiatorType; use crate::dom::values::UNSIGNED_LONG_MAX; @@ -49,48 +93,6 @@ use crate::network_listener::{self, NetworkListener, PreInvoke, ResourceTimingLi use crate::realms::enter_realm; use crate::script_thread::ScriptThread; use crate::task_source::TaskSource; -use app_units::{Au, AU_PER_PX}; -use cssparser::{Parser, ParserInput}; -use dom_struct::dom_struct; -use euclid::Point2D; -use html5ever::{local_name, namespace_url, ns, LocalName, Prefix, QualName}; -use ipc_channel::ipc; -use ipc_channel::ipc::IpcSender; -use ipc_channel::router::ROUTER; -use js::jsapi::JSAutoRealm; -use js::rust::HandleObject; -use mime::{self, Mime}; -use msg::constellation_msg::PipelineId; -use net_traits::image::base::{Image, ImageMetadata}; -use net_traits::image_cache::{ - CorsStatus, ImageCache, ImageCacheResult, ImageOrMetadataAvailable, ImageResponse, - PendingImageId, PendingImageResponse, UsePlaceholder, -}; -use net_traits::request::{CorsSettings, Destination, Initiator, Referrer, RequestBuilder}; -use net_traits::{FetchMetadata, FetchResponseListener, FetchResponseMsg, NetworkError}; -use net_traits::{ReferrerPolicy, ResourceFetchTiming, ResourceTimingType}; -use num_traits::ToPrimitive; -use servo_url::origin::ImmutableOrigin; -use servo_url::origin::MutableOrigin; -use servo_url::ServoUrl; -use std::cell::Cell; -use std::char; -use std::collections::HashSet; -use std::default::Default; -use std::i32; -use std::mem; -use std::sync::{Arc, Mutex}; -use style::attr::{ - parse_double, parse_length, parse_unsigned_integer, AttrValue, LengthOrPercentageOrAuto, -}; -use style::context::QuirksMode; -use style::media_queries::MediaList; -use style::parser::ParserContext; -use style::str::is_ascii_digit; -use style::stylesheets::{CssRuleType, Origin}; -use style::values::specified::length::{Length, NoCalcLength}; -use style::values::specified::{source_size_list::SourceSizeList, AbsoluteLength}; -use style_traits::ParsingMode; enum ParseState { InDescriptor, |