Bug 1349750 - Have AsyncDragMetrics use ScrollDirection instead of rolling its own direction enum. r=kats
MozReview-Commit-ID: FKK4OBx12oa
This commit is contained in:
@@ -1286,14 +1286,6 @@ struct ParamTraits<mozilla::layers::EventRegionsOverride>
|
||||
mozilla::layers::EventRegionsOverride::ALL_BITS>
|
||||
{};
|
||||
|
||||
template<>
|
||||
struct ParamTraits<mozilla::layers::AsyncDragMetrics::DragDirection>
|
||||
: public ContiguousEnumSerializer<
|
||||
mozilla::layers::AsyncDragMetrics::DragDirection,
|
||||
mozilla::layers::AsyncDragMetrics::DragDirection::NONE,
|
||||
mozilla::layers::AsyncDragMetrics::DragDirection::SENTINEL>
|
||||
{};
|
||||
|
||||
template<>
|
||||
struct ParamTraits<mozilla::layers::AsyncDragMetrics>
|
||||
{
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#define mozilla_layers_DragMetrics_h
|
||||
|
||||
#include "FrameMetrics.h"
|
||||
#include "LayersTypes.h"
|
||||
|
||||
namespace IPC {
|
||||
template <typename T> struct ParamTraits;
|
||||
@@ -21,27 +22,20 @@ class AsyncDragMetrics {
|
||||
friend struct IPC::ParamTraits<mozilla::layers::AsyncDragMetrics>;
|
||||
|
||||
public:
|
||||
enum DragDirection {
|
||||
NONE,
|
||||
VERTICAL,
|
||||
HORIZONTAL,
|
||||
SENTINEL,
|
||||
};
|
||||
|
||||
// IPC constructor
|
||||
AsyncDragMetrics()
|
||||
: mViewId(0)
|
||||
, mPresShellId(0)
|
||||
, mDragStartSequenceNumber(0)
|
||||
, mScrollbarDragOffset(0)
|
||||
, mDirection(NONE)
|
||||
, mDirection(ScrollDirection::NONE)
|
||||
{}
|
||||
|
||||
AsyncDragMetrics(const FrameMetrics::ViewID& aViewId,
|
||||
uint32_t aPresShellId,
|
||||
uint64_t aDragStartSequenceNumber,
|
||||
CSSCoord aScrollbarDragOffset,
|
||||
DragDirection aDirection)
|
||||
ScrollDirection aDirection)
|
||||
: mViewId(aViewId)
|
||||
, mPresShellId(aPresShellId)
|
||||
, mDragStartSequenceNumber(aDragStartSequenceNumber)
|
||||
@@ -53,7 +47,7 @@ public:
|
||||
uint32_t mPresShellId;
|
||||
uint64_t mDragStartSequenceNumber;
|
||||
CSSCoord mScrollbarDragOffset;
|
||||
DragDirection mDirection;
|
||||
ScrollDirection mDirection;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -833,8 +833,8 @@ AsyncPanZoomController::ArePointerEventsConsumable(TouchBlockState* aBlock, uint
|
||||
}
|
||||
|
||||
template <typename Units>
|
||||
static CoordTyped<Units> GetAxisStart(AsyncDragMetrics::DragDirection aDir, const PointTyped<Units>& aValue) {
|
||||
if (aDir == AsyncDragMetrics::HORIZONTAL) {
|
||||
static CoordTyped<Units> GetAxisStart(ScrollDirection aDir, const PointTyped<Units>& aValue) {
|
||||
if (aDir == ScrollDirection::HORIZONTAL) {
|
||||
return aValue.x;
|
||||
} else {
|
||||
return aValue.y;
|
||||
@@ -842,8 +842,8 @@ static CoordTyped<Units> GetAxisStart(AsyncDragMetrics::DragDirection aDir, cons
|
||||
}
|
||||
|
||||
template <typename Units>
|
||||
static CoordTyped<Units> GetAxisStart(AsyncDragMetrics::DragDirection aDir, const RectTyped<Units>& aValue) {
|
||||
if (aDir == AsyncDragMetrics::HORIZONTAL) {
|
||||
static CoordTyped<Units> GetAxisStart(ScrollDirection aDir, const RectTyped<Units>& aValue) {
|
||||
if (aDir == ScrollDirection::HORIZONTAL) {
|
||||
return aValue.x;
|
||||
} else {
|
||||
return aValue.y;
|
||||
@@ -851,8 +851,8 @@ static CoordTyped<Units> GetAxisStart(AsyncDragMetrics::DragDirection aDir, cons
|
||||
}
|
||||
|
||||
template <typename Units>
|
||||
static IntCoordTyped<Units> GetAxisStart(AsyncDragMetrics::DragDirection aDir, const IntRectTyped<Units>& aValue) {
|
||||
if (aDir == AsyncDragMetrics::HORIZONTAL) {
|
||||
static IntCoordTyped<Units> GetAxisStart(ScrollDirection aDir, const IntRectTyped<Units>& aValue) {
|
||||
if (aDir == ScrollDirection::HORIZONTAL) {
|
||||
return aValue.x;
|
||||
} else {
|
||||
return aValue.y;
|
||||
@@ -860,8 +860,8 @@ static IntCoordTyped<Units> GetAxisStart(AsyncDragMetrics::DragDirection aDir, c
|
||||
}
|
||||
|
||||
template <typename Units>
|
||||
static CoordTyped<Units> GetAxisEnd(AsyncDragMetrics::DragDirection aDir, const RectTyped<Units>& aValue) {
|
||||
if (aDir == AsyncDragMetrics::HORIZONTAL) {
|
||||
static CoordTyped<Units> GetAxisEnd(ScrollDirection aDir, const RectTyped<Units>& aValue) {
|
||||
if (aDir == ScrollDirection::HORIZONTAL) {
|
||||
return aValue.x + aValue.width;
|
||||
} else {
|
||||
return aValue.y + aValue.height;
|
||||
@@ -869,8 +869,8 @@ static CoordTyped<Units> GetAxisEnd(AsyncDragMetrics::DragDirection aDir, const
|
||||
}
|
||||
|
||||
template <typename Units>
|
||||
static CoordTyped<Units> GetAxisLength(AsyncDragMetrics::DragDirection aDir, const RectTyped<Units>& aValue) {
|
||||
if (aDir == AsyncDragMetrics::HORIZONTAL) {
|
||||
static CoordTyped<Units> GetAxisLength(ScrollDirection aDir, const RectTyped<Units>& aValue) {
|
||||
if (aDir == ScrollDirection::HORIZONTAL) {
|
||||
return aValue.width;
|
||||
} else {
|
||||
return aValue.height;
|
||||
@@ -878,8 +878,8 @@ static CoordTyped<Units> GetAxisLength(AsyncDragMetrics::DragDirection aDir, con
|
||||
}
|
||||
|
||||
template <typename FromUnits, typename ToUnits>
|
||||
static float GetAxisScale(AsyncDragMetrics::DragDirection aDir, const ScaleFactors2D<FromUnits, ToUnits>& aValue) {
|
||||
if (aDir == AsyncDragMetrics::HORIZONTAL) {
|
||||
static float GetAxisScale(ScrollDirection aDir, const ScaleFactors2D<FromUnits, ToUnits>& aValue) {
|
||||
if (aDir == ScrollDirection::HORIZONTAL) {
|
||||
return aValue.xScale;
|
||||
} else {
|
||||
return aValue.yScale;
|
||||
@@ -936,7 +936,7 @@ nsEventStatus AsyncPanZoomController::HandleDragEvent(const MouseInput& aEvent,
|
||||
scrollPosition = std::min(scrollPosition, maxScrollPosition);
|
||||
|
||||
CSSPoint scrollOffset = mFrameMetrics.GetScrollOffset();
|
||||
if (aDragMetrics.mDirection == AsyncDragMetrics::HORIZONTAL) {
|
||||
if (aDragMetrics.mDirection == ScrollDirection::HORIZONTAL) {
|
||||
scrollOffset.x = scrollPosition;
|
||||
} else {
|
||||
scrollOffset.y = scrollPosition;
|
||||
|
||||
@@ -105,10 +105,8 @@ HitTestingTreeNode::SetScrollbarData(FrameMetrics::ViewID aScrollViewId,
|
||||
bool
|
||||
HitTestingTreeNode::MatchesScrollDragMetrics(const AsyncDragMetrics& aDragMetrics) const
|
||||
{
|
||||
return ((mScrollThumbData.mDirection == ScrollDirection::HORIZONTAL &&
|
||||
aDragMetrics.mDirection == AsyncDragMetrics::HORIZONTAL) ||
|
||||
(mScrollThumbData.mDirection == ScrollDirection::VERTICAL &&
|
||||
aDragMetrics.mDirection == AsyncDragMetrics::VERTICAL)) &&
|
||||
return IsScrollThumbNode() &&
|
||||
mScrollThumbData.mDirection == aDragMetrics.mDirection &&
|
||||
mScrollViewId == aDragMetrics.mViewId;
|
||||
}
|
||||
|
||||
|
||||
@@ -1090,8 +1090,8 @@ nsSliderFrame::StartAPZDrag(WidgetGUIEvent* aEvent)
|
||||
AsyncDragMetrics dragMetrics(scrollTargetId, presShellId, inputblockId,
|
||||
NSAppUnitsToFloatPixels(mDragStart,
|
||||
float(AppUnitsPerCSSPixel())),
|
||||
isHorizontal ? AsyncDragMetrics::HORIZONTAL :
|
||||
AsyncDragMetrics::VERTICAL);
|
||||
isHorizontal ? ScrollDirection::HORIZONTAL :
|
||||
ScrollDirection::VERTICAL);
|
||||
|
||||
if (!nsLayoutUtils::HasDisplayPort(scrollableContent)) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user