aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/trace.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2018-12-05 10:56:14 -0500
committerGitHub <noreply@github.com>2018-12-05 10:56:14 -0500
commit16e4eb69644b74d120398cc2b3ac0d9a94075ae5 (patch)
tree5226771f297877ce7261c9b01c343e779e9a0ae6 /components/script/dom/bindings/trace.rs
parent08bbf4f93a7d6ad5fdf8049fd063db8c93e733a6 (diff)
parentb4448a9fe7cf1bfc031fbb1b1911406a22f8a6cf (diff)
downloadservo-16e4eb69644b74d120398cc2b3ac0d9a94075ae5.tar.gz
servo-16e4eb69644b74d120398cc2b3ac0d9a94075ae5.zip
Auto merge of #22362 - servo:servoparser, r=SimonSapin
Use Utf8LossyDecoder instead of IncompleteUtf8 <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22362) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/bindings/trace.rs')
-rw-r--r--components/script/dom/bindings/trace.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs
index 1b430cb12ff..7adae5be6c0 100644
--- a/components/script/dom/bindings/trace.rs
+++ b/components/script/dom/bindings/trace.rs
@@ -56,7 +56,9 @@ use encoding_rs::{Decoder, Encoding};
use euclid::Length as EuclidLength;
use euclid::{Point2D, Rect, Transform2D, Transform3D, TypedScale, TypedSize2D, Vector2D};
use html5ever::buffer_queue::BufferQueue;
-use html5ever::tendril::IncompleteUtf8;
+use html5ever::tendril::fmt::UTF8;
+use html5ever::tendril::stream::Utf8LossyDecoder;
+use html5ever::tendril::{StrTendril, TendrilSink};
use html5ever::{LocalName, Namespace, Prefix, QualName};
use http::header::HeaderMap;
use hyper::Method;
@@ -395,7 +397,7 @@ unsafe_no_jsmanaged_fields!(
unsafe_no_jsmanaged_fields!(TimerEventId, TimerSource);
unsafe_no_jsmanaged_fields!(TimelineMarkerType);
unsafe_no_jsmanaged_fields!(WorkerId);
-unsafe_no_jsmanaged_fields!(BufferQueue, QuirksMode, IncompleteUtf8);
+unsafe_no_jsmanaged_fields!(BufferQueue, QuirksMode, StrTendril);
unsafe_no_jsmanaged_fields!(Runtime);
unsafe_no_jsmanaged_fields!(HeaderMap, Method);
unsafe_no_jsmanaged_fields!(WindowProxyHandler);
@@ -734,6 +736,15 @@ where
}
}
+unsafe impl<Sink> JSTraceable for Utf8LossyDecoder<Sink>
+where
+ Sink: JSTraceable + TendrilSink<UTF8>,
+{
+ unsafe fn trace(&self, tracer: *mut JSTracer) {
+ self.inner_sink.trace(tracer);
+ }
+}
+
/// Holds a set of JSTraceables that need to be rooted
struct RootedTraceableSet {
set: Vec<*const dyn JSTraceable>,