mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
Refactor ServoParser Tokenizer to return TokenizerResult
This commit is contained in:
parent
7aaad0aa7e
commit
41fe94244a
4 changed files with 22 additions and 14 deletions
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue