aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/trace.rs
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2018-12-05 13:44:16 +0100
committerAnthony Ramine <n.oxyde@gmail.com>2018-12-05 16:39:07 +0100
commitb4448a9fe7cf1bfc031fbb1b1911406a22f8a6cf (patch)
tree5226771f297877ce7261c9b01c343e779e9a0ae6 /components/script/dom/bindings/trace.rs
parent08bbf4f93a7d6ad5fdf8049fd063db8c93e733a6 (diff)
downloadservo-b4448a9fe7cf1bfc031fbb1b1911406a22f8a6cf.tar.gz
servo-b4448a9fe7cf1bfc031fbb1b1911406a22f8a6cf.zip
Use Utf8LossyDecoder instead of IncompleteUtf8
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>,