Bug 1338388 - Part 3: stylo: Support URL clip-paths ; r?heycam draft
authorManish Goregaokar <manishearth@gmail.com>
Thu, 09 Feb 2017 17:43:52 -0800
changeset 486538 186cc48c9c0414569b471094478272eb9e8b8fa7
parent 486537 4264af6ce0496796bca1fa12e7f2ca72ad6b564b
child 486539 0ff2cc32fdc3358e65aa10f2f35f61220e40b357
child 486543 8a8e3d413c758fc54fe4cb2e4c48bdff2a6cb453
push id46018
push userbmo:manishearth@gmail.com
push dateSat, 18 Feb 2017 10:19:07 +0000
reviewersheycam
bugs1338388
milestone54.0a1
Bug 1338388 - Part 3: stylo: Support URL clip-paths ; r?heycam MozReview-Commit-ID: 4QKKzJ1DVYP
layout/style/ServoBindings.cpp
layout/style/ServoBindings.h
--- a/layout/style/ServoBindings.cpp
+++ b/layout/style/ServoBindings.cpp
@@ -1036,16 +1036,23 @@ Gecko_CopyClipPathValueFrom(mozilla::Sty
 }
 
 void
 Gecko_DestroyClipPath(mozilla::StyleClipPath* aClip)
 {
   aClip->~StyleClipPath();
 }
 
+void
+Gecko_StyleClipPath_SetURLValue(mozilla::StyleClipPath* aClip, ServoBundledURI aURI)
+{
+  RefPtr<css::URLValue> url = aURI.IntoCssUrl();
+  aClip->SetURL(url.get());
+}
+
 mozilla::StyleBasicShape*
 Gecko_NewBasicShape(mozilla::StyleBasicShapeType aType)
 {
   RefPtr<StyleBasicShape> ptr = new mozilla::StyleBasicShape(aType);
   return ptr.forget().take();
 }
 
 void
--- a/layout/style/ServoBindings.h
+++ b/layout/style/ServoBindings.h
@@ -287,16 +287,17 @@ void Gecko_ResetStyleCoord(nsStyleUnit* 
 
 // Set an nsStyleCoord to a computed `calc()` value
 void Gecko_SetStyleCoordCalcValue(nsStyleUnit* unit, nsStyleUnion* value, nsStyleCoord::CalcValue calc);
 
 void Gecko_CopyClipPathValueFrom(mozilla::StyleClipPath* dst, const mozilla::StyleClipPath* src);
 
 void Gecko_DestroyClipPath(mozilla::StyleClipPath* clip);
 mozilla::StyleBasicShape* Gecko_NewBasicShape(mozilla::StyleBasicShapeType type);
+void Gecko_StyleClipPath_SetURLValue(mozilla::StyleClipPath* clip, ServoBundledURI uri);
 
 void Gecko_ResetFilters(nsStyleEffects* effects, size_t new_len);
 void Gecko_CopyFiltersFrom(nsStyleEffects* aSrc, nsStyleEffects* aDest);
 void Gecko_nsStyleFilter_SetURLValue(nsStyleFilter* effects, ServoBundledURI uri);
 
 void Gecko_FillAllBackgroundLists(nsStyleImageLayers* layers, uint32_t max_len);
 void Gecko_FillAllMaskLists(nsStyleImageLayers* layers, uint32_t max_len);
 NS_DECL_THREADSAFE_FFI_REFCOUNTING(nsStyleCoord::Calc, Calc);