Bug 1308963 - Part 3. Set initial value of mask-position as (0, 0). r=xidorn

MozReview-Commit-ID: DN7q6FrGEMA

--HG--
extra : rebase_source : 294089f79d6925d4c47202b95e270b152054f1e7
This commit is contained in:
cku 2016-10-13 23:13:11 +08:00
Родитель 97f3d4a519
Коммит 705996b473
4 изменённых файлов: 7 добавлений и 22 удалений

Просмотреть файл

@ -12246,16 +12246,12 @@ CSSParserImpl::ParseImageLayersItem(
if (eCSSProperty_mask == aTable[nsStyleImageLayers::shorthand]) {
aState.mOrigin->mValue.SetIntValue(NS_STYLE_IMAGELAYER_ORIGIN_BORDER,
eCSSUnit_Enumerated);
positionXArr->Item(1).SetPercentValue(0.5f);
positionYArr->Item(1).SetPercentValue(0.5f);
} else {
aState.mOrigin->mValue.SetIntValue(NS_STYLE_IMAGELAYER_ORIGIN_PADDING,
eCSSUnit_Enumerated);
positionXArr->Item(1).SetPercentValue(0.0f);
positionYArr->Item(1).SetPercentValue(0.0f);
}
positionXArr->Item(1).SetPercentValue(0.0f);
positionYArr->Item(1).SetPercentValue(0.0f);
aState.mSize->mXValue.SetAutoValue();
aState.mSize->mYValue.SetAutoValue();

Просмотреть файл

@ -7308,9 +7308,7 @@ nsRuleNode::ComputeBackgroundData(void* aStartStruct,
// background-position-x/y: enum, length, percent (flags), inherit [list]
Position::Coord initialPositionCoord;
initialPositionCoord.mPercent =
nsStyleImageLayers::GetInitialPositionForLayerType(
nsStyleImageLayers::LayerType::Background);
initialPositionCoord.mPercent = 0.0f;
initialPositionCoord.mLength = 0;
initialPositionCoord.mHasPercent = true;
@ -9991,9 +9989,7 @@ nsRuleNode::ComputeSVGResetData(void* aStartStruct,
// mask-position-x/y: enum, length, percent (flags), inherit [list]
Position::Coord initialPositionCoord;
initialPositionCoord.mPercent =
nsStyleImageLayers::GetInitialPositionForLayerType(
nsStyleImageLayers::LayerType::Mask);
initialPositionCoord.mPercent = 0.0f;
initialPositionCoord.mLength = 0;
initialPositionCoord.mHasPercent = true;

Просмотреть файл

@ -2625,11 +2625,10 @@ nsStyleImageLayers::HasLayerWithImage() const
bool
nsStyleImageLayers::IsInitialPositionForLayerType(Position aPosition, LayerType aType)
{
float intialValue = nsStyleImageLayers::GetInitialPositionForLayerType(aType);
if (aPosition.mXPosition.mPercent == intialValue &&
if (aPosition.mXPosition.mPercent == 0.0f &&
aPosition.mXPosition.mLength == 0 &&
aPosition.mXPosition.mHasPercent &&
aPosition.mYPosition.mPercent == intialValue &&
aPosition.mYPosition.mPercent == 0.0f &&
aPosition.mYPosition.mLength == 0 &&
aPosition.mYPosition.mHasPercent) {
return true;
@ -2785,9 +2784,7 @@ nsStyleImageLayers::Layer::Initialize(nsStyleImageLayers::LayerType aType)
{
mRepeat.SetInitialValues();
float initialPositionValue =
nsStyleImageLayers::GetInitialPositionForLayerType(aType);
mPosition.SetInitialPercentValues(initialPositionValue);
mPosition.SetInitialPercentValues(0.0f);
if (aType == LayerType::Background) {
mOrigin = NS_STYLE_IMAGELAYER_ORIGIN_PADDING;

Просмотреть файл

@ -670,10 +670,6 @@ struct nsStyleImageLayers {
static bool IsInitialPositionForLayerType(mozilla::Position aPosition, LayerType aType);
static float GetInitialPositionForLayerType(LayerType aType) {
return (aType == LayerType::Background) ? 0.0f : 0.5f;
}
struct Size;
friend struct Size;
struct Size {