Bug 1372002 - Add bindings for servo-side setting of line name lists; r?xidorn
MozReview-Commit-ID: 9Gd4ijWK1z8
--- a/js/src/devtools/rootAnalysis/analyzeHeapWrites.js
+++ b/js/src/devtools/rootAnalysis/analyzeHeapWrites.js
@@ -177,16 +177,17 @@ function treatAsSafeArgument(entry, varN
["Gecko_ResetFilters", "effects", null],
["Gecko_CopyFiltersFrom", "aDest", null],
[/Gecko_CSSValue_Set/, "aCSSValue", null],
["Gecko_CSSValue_Drop", "aCSSValue", null],
["Gecko_CSSFontFaceRule_GetCssText", "aResult", null],
["Gecko_EnsureTArrayCapacity", "aArray", null],
["Gecko_ClearPODTArray", "aArray", null],
["Gecko_SetStyleGridTemplateArrayLengths", "aValue", null],
+ ["Gecko_SetGridTemplateLineNamesLength", "aValue", null],
["Gecko_ResizeTArrayForStrings", "aArray", null],
["Gecko_ClearAndResizeStyleContents", "aContent", null],
[/Gecko_ClearAndResizeCounter/, "aContent", null],
[/Gecko_CopyCounter.*?From/, "aContent", null],
[/Gecko_SetContentDataImageValue/, "aList", null],
[/Gecko_SetContentData/, "aContent", null],
["Gecko_SetCounterFunction", "aContent", null],
[/Gecko_EnsureStyle.*?ArrayLength/, "aArray", null],
--- a/layout/style/ServoBindings.cpp
+++ b/layout/style/ServoBindings.cpp
@@ -1512,16 +1512,22 @@ Gecko_ClearPODTArray(void* aArray, size_
void Gecko_SetStyleGridTemplateArrayLengths(nsStyleGridTemplate* aValue,
uint32_t aTrackSizes)
{
aValue->mMinTrackSizingFunctions.SetLength(aTrackSizes);
aValue->mMaxTrackSizingFunctions.SetLength(aTrackSizes);
aValue->mLineNameLists.SetLength(aTrackSizes + 1);
}
+void Gecko_SetGridTemplateLineNamesLength(nsStyleGridTemplate* aValue,
+ uint32_t aNames)
+{
+ aValue->mLineNameLists.SetLength(aNames);
+}
+
void Gecko_ResizeTArrayForStrings(nsTArray<nsString>* aArray, uint32_t aLength)
{
aArray->SetLength(aLength);
}
void
Gecko_CopyStyleGridTemplateValues(nsStyleGridTemplate* aGridTemplate,
const nsStyleGridTemplate* aOther)
--- a/layout/style/ServoBindings.h
+++ b/layout/style/ServoBindings.h
@@ -370,16 +370,19 @@ void Gecko_EnsureTArrayCapacity(void* ar
// otherwise. This is ensured with rust traits for the relevant structs.
void Gecko_ClearPODTArray(void* array, size_t elem_size, size_t elem_align);
void Gecko_ResizeTArrayForStrings(nsTArray<nsString>* array, uint32_t length);
void Gecko_SetStyleGridTemplateArrayLengths(nsStyleGridTemplate* grid_template,
uint32_t track_sizes);
+void Gecko_SetGridTemplateLineNamesLength(nsStyleGridTemplate* grid_template,
+ uint32_t track_sizes);
+
void Gecko_CopyStyleGridTemplateValues(nsStyleGridTemplate* grid_template,
const nsStyleGridTemplate* other);
mozilla::css::GridTemplateAreasValue* Gecko_NewGridTemplateAreasValue(uint32_t areas,
uint32_t templates,
uint32_t columns);
NS_DECL_THREADSAFE_FFI_REFCOUNTING(mozilla::css::GridTemplateAreasValue, GridTemplateAreasValue);