diff options
author | Nipun Garg <nipung271@gmail.com> | 2020-01-27 23:46:37 +0530 |
---|---|---|
committer | Martin Robinson <mrobinson@igalia.com> | 2023-06-22 13:45:20 +0200 |
commit | 41fe94244a7b6442fe2e06f114a45f122dda36c4 (patch) | |
tree | b216506041010c0df93ec1b74164a97e6e098849 /components/script/dom/servoparser/mod.rs | |
parent | 7aaad0aa7eac2d0c98ff17091013fda77359397d (diff) | |
download | servo-41fe94244a7b6442fe2e06f114a45f122dda36c4.tar.gz servo-41fe94244a7b6442fe2e06f114a45f122dda36c4.zip |
Refactor ServoParser Tokenizer to return TokenizerResult
Diffstat (limited to 'components/script/dom/servoparser/mod.rs')
-rw-r--r-- | components/script/dom/servoparser/mod.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/components/script/dom/servoparser/mod.rs b/components/script/dom/servoparser/mod.rs index 6bfed4d8dea..ba114366aa2 100644 --- a/components/script/dom/servoparser/mod.rs +++ b/components/script/dom/servoparser/mod.rs @@ -43,6 +43,7 @@ use encoding_rs::Encoding; use html5ever::buffer_queue::BufferQueue; use html5ever::tendril::fmt::UTF8; use html5ever::tendril::{ByteTendril, StrTendril, TendrilSink}; +use html5ever::tokenizer::TokenizerResult; use html5ever::tree_builder::{ElementFlags, NextParserState, NodeOrText, QuirksMode, TreeSink}; use html5ever::{Attribute, ExpandedName, LocalName, QualName}; use hyper_serde::Serde; @@ -589,7 +590,7 @@ impl ServoParser { fn tokenize<F>(&self, mut feed: F) where - F: FnMut(&mut Tokenizer) -> Result<(), DomRoot<HTMLScriptElement>>, + F: FnMut(&mut Tokenizer) -> TokenizerResult<DomRoot<HTMLScriptElement>>, { loop { assert!(!self.suspended.get()); @@ -597,8 +598,8 @@ impl ServoParser { self.document.reflow_if_reflow_timer_expired(); let script = match feed(&mut *self.tokenizer.borrow_mut()) { - Ok(()) => return, - Err(script) => script, + TokenizerResult::Done => return, + TokenizerResult::Script(script) => script, }; // https://html.spec.whatwg.org/multipage/#parsing-main-incdata @@ -691,7 +692,8 @@ enum Tokenizer { } impl Tokenizer { - fn feed(&mut self, input: &mut BufferQueue) -> Result<(), DomRoot<HTMLScriptElement>> { + #[must_use] + fn feed(&mut self, input: &mut BufferQueue) -> TokenizerResult<DomRoot<HTMLScriptElement>> { match *self { Tokenizer::Html(ref mut tokenizer) => tokenizer.feed(input), Tokenizer::AsyncHtml(ref mut tokenizer) => tokenizer.feed(input), |