Bug 1552608 - Use SideBits rather than int32_t to represent fixed-position sides in the Layers API. r=tnikkel

Differential Revision: https://phabricator.services.mozilla.com/D48374

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Botond Ballo 2019-10-07 21:03:52 +00:00
Родитель 6dece52944
Коммит a3395bb518
4 изменённых файлов: 7 добавлений и 7 удалений

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

@ -238,7 +238,7 @@ class SimpleLayerAttributes final {
}
bool SetFixedPositionData(ScrollableLayerGuid::ViewID aTargetViewId,
const LayerPoint& aAnchor, int32_t aSides) {
const LayerPoint& aAnchor, SideBits aSides) {
if (mFixedPositionData && mFixedPositionData->mScrollId == aTargetViewId &&
mFixedPositionData->mAnchor == aAnchor &&
mFixedPositionData->mSides == aSides) {
@ -328,7 +328,7 @@ class SimpleLayerAttributes final {
return mFixedPositionData ? mFixedPositionData->mAnchor : LayerPoint();
}
int32_t GetFixedPositionSides() const {
SideBits GetFixedPositionSides() const {
return mFixedPositionData ? mFixedPositionData->mSides : eSideBitsNone;
}
@ -379,7 +379,7 @@ class SimpleLayerAttributes final {
struct FixedPositionData {
ScrollableLayerGuid::ViewID mScrollId;
LayerPoint mAnchor;
int32_t mSides;
SideBits mSides;
};
Maybe<FixedPositionData> mFixedPositionData;

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

@ -1278,7 +1278,7 @@ class Layer {
* combining appropriate values from mozilla::SideBits.
*/
void SetFixedPositionData(ScrollableLayerGuid::ViewID aScrollId,
const LayerPoint& aAnchor, int32_t aSides) {
const LayerPoint& aAnchor, SideBits aSides) {
if (mSimpleAttrs.SetFixedPositionData(aScrollId, aAnchor, aSides)) {
MOZ_LAYERS_LOG_IF_SHADOWABLE(
this, ("Layer::Mutated(%p) FixedPositionData", this));
@ -1389,7 +1389,7 @@ class Layer {
LayerPoint GetFixedPositionAnchor() {
return mSimpleAttrs.GetFixedPositionAnchor();
}
int32_t GetFixedPositionSides() {
SideBits GetFixedPositionSides() {
return mSimpleAttrs.GetFixedPositionSides();
}
ScrollableLayerGuid::ViewID GetStickyScrollContainerId() {

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

@ -288,7 +288,7 @@ static LayerPoint GetLayerFixedMarginsOffset(
// Because fixed layer margins are stored relative to the root scrollable
// layer, we can just take the difference between these values.
LayerPoint translation;
int32_t sides = aLayer->GetFixedPositionSides();
SideBits sides = aLayer->GetFixedPositionSides();
if ((sides & eSideBitsLeftRight) == eSideBitsLeftRight) {
translation.x += (aFixedLayerMargins.left - aFixedLayerMargins.right) / 2;

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

@ -1859,7 +1859,7 @@ void nsLayoutUtils::SetFixedPositionLayerData(
// defaulting to top-left.
LayerPoint anchor(anchorRect.x, anchorRect.y);
int32_t sides = eSideBitsNone;
SideBits sides = eSideBitsNone;
if (aFixedPosFrame != aViewportFrame) {
const nsStylePosition* position = aFixedPosFrame->StylePosition();
if (!position->mOffset.Get(eSideRight).IsAuto()) {