pub enum FindingKind {
DroppedDeclaration,
UnsupportedSelector,
MarginAsymmetryFlattened,
UnsupportedTag,
UnsupportedAttribute,
FlattenedContent,
SanitizedStyle,
}Expand description
What was dropped or coerced, in a single dimension. The transformer emits at most one finding per (node, kind) tuple, so a single element with three unsupported properties produces three findings.
Variants§
DroppedDeclaration
A CSS declaration was recognised but its target has no Damascene
equivalent — position: absolute, float: left, display: grid, vh/vw/fr units, etc. The author sees the
declaration was dropped, not silently honoured.
UnsupportedSelector
A <style>-block selector form is outside the supported subset
(descendant / child / sibling combinators, pseudo-classes,
attribute selectors, namespace prefixes) and the whole rule was
ignored. Reported by the selector parser at stylesheet-collect
time.
MarginAsymmetryFlattened
Author-set margin-top / margin-bottom on siblings disagreed
across pairs and was flattened to a single parent gap. The
detail string spells out the values that collided.
UnsupportedTag
A tag (or a whole foreign-namespace subtree like inline <svg>
/ MathML <math>) was dropped because it has no equivalent and
is not in the security-stripped set either — <video>,
<audio>, <canvas>, <dialog>, <colgroup>, etc. Where the
element can carry text (e.g. <video> fallback content), the
contents are still flattened into the output; <form> /
<fieldset> / <legend> are not in this set — they render
as generic containers.
UnsupportedAttribute
An attribute was recognised but can’t be honoured — colspan /
rowspan on table cells (cells render unmerged). The element
itself still renders.
FlattenedContent
Block-level content appeared somewhere Damascene only renders inline runs (table cells), so its block structure was flattened — text survives, paragraph breaks and nested lists don’t.
SanitizedStyle
A <style> block or inline style="..." attribute was dropped
because crate::HtmlOptions’s sanitize_styles is set. Lets
a sanitizing embedder see that the input tried to style itself.
Trait Implementations§
Source§impl Clone for FindingKind
impl Clone for FindingKind
Source§fn clone(&self) -> FindingKind
fn clone(&self) -> FindingKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FindingKind
impl Debug for FindingKind
impl Eq for FindingKind
Source§impl PartialEq for FindingKind
impl PartialEq for FindingKind
Source§fn eq(&self, other: &FindingKind) -> bool
fn eq(&self, other: &FindingKind) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for FindingKind
Auto Trait Implementations§
impl Freeze for FindingKind
impl RefUnwindSafe for FindingKind
impl Send for FindingKind
impl Sync for FindingKind
impl Unpin for FindingKind
impl UnsafeUnpin for FindingKind
impl UnwindSafe for FindingKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.