author | Iris Hsiao <ihsiao@mozilla.com> |
Tue, 25 Apr 2017 14:24:10 +0800 | |
changeset 354731 | 3b620c26083c9e6454a2fa85d518e7fb2680c932 |
parent 354730 | 378e200f70a3af9492a15d635b46bacf77f9a2bb |
child 354732 | 8aceb515532cd27447a212fdad5a36fe0dc781a4 |
push id | 31711 |
push user | cbook@mozilla.com |
push date | Tue, 25 Apr 2017 09:24:00 +0000 |
treeherder | mozilla-central@a30dc237c3a6 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
bugs | 1348173 |
milestone | 55.0a1 |
backs out | 9c7c061b959fd3d6dc8f468aedaac0736ca7480c |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/layout/reftests/forms/progress/reftest-stylo.list +++ b/layout/reftests/forms/progress/reftest-stylo.list @@ -1,34 +1,34 @@ # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing -== values.html values.html -== values-rtl.html values-rtl.html -== margin-padding.html margin-padding.html -== margin-padding-rtl.html margin-padding-rtl.html +fails == values.html values.html +fails == values-rtl.html values-rtl.html +fails == margin-padding.html margin-padding.html +fails == margin-padding-rtl.html margin-padding-rtl.html fails == bar-pseudo-element.html bar-pseudo-element.html -== bar-pseudo-element-rtl.html bar-pseudo-element-rtl.html -== indeterminate-style-width.html indeterminate-style-width.html +fails == bar-pseudo-element-rtl.html bar-pseudo-element-rtl.html +fails == indeterminate-style-width.html indeterminate-style-width.html # vertical tests -== values-vertical.html values-vertical.html -== values-vertical-rtl.html values-vertical-rtl.html -== margin-padding-vertical.html margin-padding-vertical.html -== margin-padding-vertical-rtl.html margin-padding-vertical-rtl.html -== bar-pseudo-element-vertical.html bar-pseudo-element-vertical.html -== bar-pseudo-element-vertical-rtl.html bar-pseudo-element-vertical-rtl.html -== indeterminate-style-height.html indeterminate-style-height.html +fails == values-vertical.html values-vertical.html +fails == values-vertical-rtl.html values-vertical-rtl.html +fails == margin-padding-vertical.html margin-padding-vertical.html +fails == margin-padding-vertical-rtl.html margin-padding-vertical-rtl.html +fails == bar-pseudo-element-vertical.html bar-pseudo-element-vertical.html +fails == bar-pseudo-element-vertical-rtl.html bar-pseudo-element-vertical-rtl.html +fails == indeterminate-style-height.html indeterminate-style-height.html # The following test is disabled but kept in the repository because the # transformations will not behave exactly the same for <progress> and two divs. # However, it would be possible to manually check those. -== transformations.html transformations.html +fails == transformations.html transformations.html # Tests for bugs: -== block-invalidate.html block-invalidate.html -== in-cells.html in-cells.html +fails == block-invalidate.html block-invalidate.html +fails == in-cells.html in-cells.html == max-height.html max-height.html # Tests for block and inline orientation in combination with writing-mode fails == progress-orient-horizontal.html progress-orient-horizontal.html fails-if(!cocoaWidget||OSX==1010) == progress-orient-vertical.html progress-orient-vertical.html fails == progress-orient-block.html progress-orient-block.html fails == progress-orient-inline.html progress-orient-inline.html fails == progress-vlr.html progress-vlr.html
--- a/layout/style/ServoBindings.cpp +++ b/layout/style/ServoBindings.cpp @@ -964,43 +964,16 @@ Gecko_AtomEqualsUTF8IgnoreCase(nsIAtom* // XXXbholley: We should be able to do this without converting, I just can't // find the right thing to call. nsDependentAtomString atomStr(aAtom); NS_ConvertUTF8toUTF16 inStr(nsDependentCSubstring(aString, aLength)); return nsContentUtils::EqualsIgnoreASCIICase(atomStr, inStr); } void -Gecko_EnsureMozBorderColors(nsStyleBorder* aBorder) -{ - aBorder->EnsureBorderColors(); -} - -void Gecko_ClearMozBorderColors(nsStyleBorder* aBorder, mozilla::Side aSide) -{ - aBorder->ClearBorderColors(aSide); -} - -void -Gecko_AppendMozBorderColors(nsStyleBorder* aBorder, mozilla::Side aSide, - nscolor aColor) -{ - aBorder->AppendBorderColor(aSide, aColor); -} - -void -Gecko_CopyMozBorderColors(nsStyleBorder* aDest, const nsStyleBorder* aSrc, - mozilla::Side aSide) -{ - if (aSrc->mBorderColors) { - aDest->CopyBorderColorsFrom(aSrc->mBorderColors[aSide], aSide); - } -} - -void Gecko_FontFamilyList_Clear(FontFamilyList* aList) { aList->Clear(); } void Gecko_FontFamilyList_AppendNamed(FontFamilyList* aList, nsIAtom* aName, bool aQuoted) { FontFamilyName family;
--- a/layout/style/ServoBindings.h +++ b/layout/style/ServoBindings.h @@ -31,17 +31,16 @@ class nsIAtom; class nsIPrincipal; class nsIURI; struct nsFont; namespace mozilla { class ServoStyleSheet; class FontFamilyList; enum FontFamilyType : uint32_t; struct Keyframe; - enum Side; namespace css { struct URLValue; }; enum class UpdateAnimationsTasks : uint8_t; struct LangGroupFontPrefs; } using mozilla::FontFamilyList; using mozilla::FontFamilyType; @@ -235,24 +234,16 @@ RawServoAnimationValueBorrowedOrNull Gec nsIAtom* Gecko_Atomize(const char* aString, uint32_t aLength); nsIAtom* Gecko_Atomize16(const nsAString* aString); void Gecko_AddRefAtom(nsIAtom* aAtom); void Gecko_ReleaseAtom(nsIAtom* aAtom); const uint16_t* Gecko_GetAtomAsUTF16(nsIAtom* aAtom, uint32_t* aLength); bool Gecko_AtomEqualsUTF8(nsIAtom* aAtom, const char* aString, uint32_t aLength); bool Gecko_AtomEqualsUTF8IgnoreCase(nsIAtom* aAtom, const char* aString, uint32_t aLength); -// Border style -void Gecko_EnsureMozBorderColors(nsStyleBorder* aBorder); -void Gecko_ClearMozBorderColors(nsStyleBorder* aBorder, mozilla::Side aSide); -void Gecko_AppendMozBorderColors(nsStyleBorder* aBorder, mozilla::Side aSide, - nscolor aColor); -void Gecko_CopyMozBorderColors(nsStyleBorder* aDest, const nsStyleBorder* aSrc, - mozilla::Side aSide); - // Font style void Gecko_FontFamilyList_Clear(FontFamilyList* aList); void Gecko_FontFamilyList_AppendNamed(FontFamilyList* aList, nsIAtom* aName, bool aQuoted); void Gecko_FontFamilyList_AppendGeneric(FontFamilyList* list, FontFamilyType familyType); void Gecko_CopyFontFamilyFrom(nsFont* dst, const nsFont* src); // will not run destructors on dst, give it uninitialized memory // font_id is LookAndFeel::FontID void Gecko_nsFont_InitSystem(nsFont* dst, int32_t font_id,
--- a/layout/style/nsStyleStruct.cpp +++ b/layout/style/nsStyleStruct.cpp @@ -361,18 +361,23 @@ nsStyleBorder::nsStyleBorder(const nsSty , mFloatEdge(aSrc.mFloatEdge) , mBoxDecorationBreak(aSrc.mBoxDecorationBreak) , mComputedBorder(aSrc.mComputedBorder) , mBorder(aSrc.mBorder) , mTwipsPerPixel(aSrc.mTwipsPerPixel) { MOZ_COUNT_CTOR(nsStyleBorder); if (aSrc.mBorderColors) { - NS_FOR_CSS_SIDES(side) { - CopyBorderColorsFrom(aSrc.mBorderColors[side], side); + EnsureBorderColors(); + for (int32_t i = 0; i < 4; i++) { + if (aSrc.mBorderColors[i]) { + mBorderColors[i] = aSrc.mBorderColors[i]->Clone(); + } else { + mBorderColors[i] = nullptr; + } } } NS_FOR_CSS_SIDES(side) { mBorderStyle[side] = aSrc.mBorderStyle[side]; mBorderColor[side] = aSrc.mBorderColor[side]; } }
--- a/layout/style/nsStyleStruct.h +++ b/layout/style/nsStyleStruct.h @@ -1157,24 +1157,16 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsSt void ClearBorderColors(mozilla::Side aSide) { if (mBorderColors && mBorderColors[aSide]) { delete mBorderColors[aSide]; mBorderColors[aSide] = nullptr; } } - void CopyBorderColorsFrom(const nsBorderColors* aSrcBorderColors, mozilla::Side aSide) { - if (aSrcBorderColors) { - EnsureBorderColors(); - ClearBorderColors(aSide); - mBorderColors[aSide] = aSrcBorderColors->Clone(); - } - } - // Return whether aStyle is a visible style. Invisible styles cause // the relevant computed border width to be 0. // Note that this does *not* consider the effects of 'border-image': // if border-style is none, but there is a loaded border image, // HasVisibleStyle will be false even though there *is* a border. bool HasVisibleStyle(mozilla::Side aSide) const { return IsVisibleBorderStyle(mBorderStyle[aSide]);
--- a/layout/style/test/stylo-failures.md +++ b/layout/style/test/stylo-failures.md @@ -126,16 +126,24 @@ to mochitest command. * test_initial_storage.html `grid` [*] * test_property_syntax_errors.html `grid`: actually there are issues with this [*] * test_value_storage.html `'grid` [*] * url value from decl setter bug 1330503 * test_compute_data_with_start_struct.html `border-image-source` [2] * test_inherit_computation.html `border-image` [2] * test_initial_computation.html `border-image` [4] * Unimplemented prefixed properties: + * -moz-border-*-colors bug 1348173 + * test_compute_data_with_start_struct.html `-colors` [8] + * test_inherit_computation.html `-colors` [8] + * test_inherit_storage.html `-colors` [12] + * test_initial_computation.html `-colors` [16] + * test_initial_storage.html `-colors` [24] + * test_value_storage.html `-colors` [96] + * test_shorthand_property_getters.html `-colors` [1] * -moz-force-broken-image-icon servo/servo#16001 * test_compute_data_with_start_struct.html `-moz-force-broken-image-icon` [2] * test_inherit_computation.html `-moz-force-broken-image-icon` [2] * test_inherit_storage.html `-moz-force-broken-image-icon` [2] * test_initial_computation.html `-moz-force-broken-image-icon` [4] * test_initial_storage.html `-moz-force-broken-image-icon` [4] * test_value_storage.html `-moz-force-broken-image-icon` [4] * -moz-transform: need different parsing rules servo/servo#16003
--- a/widget/reftests/reftest-stylo.list +++ b/widget/reftests/reftest-stylo.list @@ -1,7 +1,7 @@ # DO NOT EDIT! This is a auto-generated temporary list for Stylo testing skip-if(!cocoaWidget) == 507947.html 507947.html -== progressbar-fallback-default-style.html progressbar-fallback-default-style.html +fails == progressbar-fallback-default-style.html progressbar-fallback-default-style.html == meter-native-style.html meter-native-style.html fails == meter-vertical-native-style.html meter-vertical-native-style.html fails == meter-fallback-default-style.html meter-fallback-default-style.html load 664925.xhtml