mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Updated content_type of Document and XMLDocument from DOCString to Mime
This commit is contained in:
parent
1662fd7357
commit
d02422408e
6 changed files with 23 additions and 21 deletions
|
@ -98,6 +98,7 @@ use ipc_channel::ipc::{self, IpcSender};
|
|||
use js::jsapi::{JSContext, JSObject, JSRuntime};
|
||||
use js::jsapi::JS_GetRuntime;
|
||||
use metrics::{InteractiveFlag, InteractiveMetrics, InteractiveWindow, ProfilerMetadataFactory, ProgressiveWebMetric};
|
||||
use mime::{Mime, TopLevel, SubLevel};
|
||||
use msg::constellation_msg::{BrowsingContextId, Key, KeyModifiers, KeyState, TopLevelBrowsingContextId};
|
||||
use net_traits::{FetchResponseMsg, IpcSend, ReferrerPolicy};
|
||||
use net_traits::CookieSource::NonHTTP;
|
||||
|
@ -236,7 +237,8 @@ pub struct Document {
|
|||
node: Node,
|
||||
window: Dom<Window>,
|
||||
implementation: MutNullableDom<DOMImplementation>,
|
||||
content_type: DOMString,
|
||||
#[ignore_malloc_size_of = "type from external crate"]
|
||||
content_type: Mime,
|
||||
last_modified: Option<String>,
|
||||
encoding: Cell<&'static Encoding>,
|
||||
has_browsing_context: bool,
|
||||
|
@ -2197,7 +2199,7 @@ impl Document {
|
|||
url: Option<ServoUrl>,
|
||||
origin: MutableOrigin,
|
||||
is_html_document: IsHTMLDocument,
|
||||
content_type: Option<DOMString>,
|
||||
content_type: Option<Mime>,
|
||||
last_modified: Option<String>,
|
||||
activity: DocumentActivity,
|
||||
source: DocumentSource,
|
||||
|
@ -2222,12 +2224,12 @@ impl Document {
|
|||
has_browsing_context: has_browsing_context == HasBrowsingContext::Yes,
|
||||
implementation: Default::default(),
|
||||
content_type: match content_type {
|
||||
Some(string) => string,
|
||||
None => DOMString::from(match is_html_document {
|
||||
Some(mime_data) => mime_data,
|
||||
None => Mime::from(match is_html_document {
|
||||
// https://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument
|
||||
IsHTMLDocument::HTMLDocument => "text/html",
|
||||
IsHTMLDocument::HTMLDocument => Mime(TopLevel::Text, SubLevel::Html, vec![]),
|
||||
// https://dom.spec.whatwg.org/#concept-document-content-type
|
||||
IsHTMLDocument::NonHTMLDocument => "application/xml",
|
||||
IsHTMLDocument::NonHTMLDocument => Mime(TopLevel::Application, SubLevel::Xml, vec![]),
|
||||
}),
|
||||
},
|
||||
last_modified: last_modified,
|
||||
|
@ -2339,7 +2341,7 @@ impl Document {
|
|||
url: Option<ServoUrl>,
|
||||
origin: MutableOrigin,
|
||||
doctype: IsHTMLDocument,
|
||||
content_type: Option<DOMString>,
|
||||
content_type: Option<Mime>,
|
||||
last_modified: Option<String>,
|
||||
activity: DocumentActivity,
|
||||
source: DocumentSource,
|
||||
|
@ -2889,7 +2891,7 @@ impl DocumentMethods for Document {
|
|||
|
||||
// https://dom.spec.whatwg.org/#dom-document-content_type
|
||||
fn ContentType(&self) -> DOMString {
|
||||
self.content_type.clone()
|
||||
DOMString::from(self.content_type.to_string())
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-document-doctype
|
||||
|
@ -2969,7 +2971,8 @@ impl DocumentMethods for Document {
|
|||
local_name.make_ascii_lowercase();
|
||||
}
|
||||
|
||||
let ns = if self.is_html_document || self.content_type == "application/xhtml+xml" {
|
||||
let is_xhtml = self.content_type.0 == TopLevel::Application && self.content_type.1.as_str() == "xhtml+xml";
|
||||
let ns = if self.is_html_document || is_xhtml {
|
||||
ns!(html)
|
||||
} else {
|
||||
ns!()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue