aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/servoparser/xml.rs
diff options
context:
space:
mode:
authorNipun Garg <nipung271@gmail.com>2020-01-27 23:46:37 +0530
committerMartin Robinson <mrobinson@igalia.com>2023-06-22 13:45:20 +0200
commit41fe94244a7b6442fe2e06f114a45f122dda36c4 (patch)
treeb216506041010c0df93ec1b74164a97e6e098849 /components/script/dom/servoparser/xml.rs
parent7aaad0aa7eac2d0c98ff17091013fda77359397d (diff)
downloadservo-41fe94244a7b6442fe2e06f114a45f122dda36c4.tar.gz
servo-41fe94244a7b6442fe2e06f114a45f122dda36c4.zip
Refactor ServoParser Tokenizer to return TokenizerResult
Diffstat (limited to 'components/script/dom/servoparser/xml.rs')
-rw-r--r--components/script/dom/servoparser/xml.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/components/script/dom/servoparser/xml.rs b/components/script/dom/servoparser/xml.rs
index ac900d61ce0..9b609cd7ea4 100644
--- a/components/script/dom/servoparser/xml.rs
+++ b/components/script/dom/servoparser/xml.rs
@@ -10,6 +10,7 @@ use crate::dom::document::Document;
use crate::dom::htmlscriptelement::HTMLScriptElement;
use crate::dom::node::Node;
use crate::dom::servoparser::{ParsingAlgorithm, Sink};
+use html5ever::tokenizer::TokenizerResult;
use js::jsapi::JSTracer;
use servo_url::ServoUrl;
use xml5ever::buffer_queue::BufferQueue;
@@ -39,12 +40,13 @@ impl Tokenizer {
Tokenizer { inner: tok }
}
- pub fn feed(&mut self, input: &mut BufferQueue) -> Result<(), DomRoot<HTMLScriptElement>> {
+ #[must_use]
+ pub fn feed(&mut self, input: &mut BufferQueue) -> TokenizerResult<DomRoot<HTMLScriptElement>> {
self.inner.run(input);
- if let Some(script) = self.inner.sink.sink.script.take() {
- return Err(script);
+ match self.inner.sink.sink.script.take() {
+ Some(script) => TokenizerResult::Script(script),
+ None => TokenizerResult::Done,
}
- Ok(())
}
pub fn end(&mut self) {