static ClipAutos getClipAutos(const ComputedStyle& style) { if (style.hasAutoClip()) return ClipAutos(); return ClipAutos( style.clipTop().isAuto(), style.clipRight().isAuto(), style.clipBottom().isAuto(), style.clipLeft().isAuto()); }
static InterpolationValue createClipValue(const LengthBox& clip, double zoom) { OwnPtr<InterpolableList> list = InterpolableList::create(ClipComponentIndexCount); list->set(ClipTop, convertClipComponent(clip.top(), zoom)); list->set(ClipRight, convertClipComponent(clip.right(), zoom)); list->set(ClipBottom, convertClipComponent(clip.bottom(), zoom)); list->set(ClipLeft, convertClipComponent(clip.left(), zoom)); return InterpolationValue(list.release(), CSSClipNonInterpolableValue::create(ClipAutos(clip))); }
static ClipAutos getUnderlyingAutos(const InterpolationValue& underlying) { if (!underlying) return ClipAutos(); return toCSSClipNonInterpolableValue(*underlying.nonInterpolableValue) .clipAutos(); }