Bug 1372233 - Clean up handling of default branches in APZ switch statements. r=botond

Wherever possible, we exhaustively list all the possibilities instead of
having "default" branches. This way if new items are added to the enum
they won't silently end up in the "default" branch, but the compiler can
tell us that we skipped handling it.
Also wherever possible, the existing NS_WARNINGs were upgrade to
MOZ_ASSERTs or equivalent.

MozReview-Commit-ID: IVDiI0gjFtU

--HG--
extra : rebase_source : 93bac9678e44e2f42602e10d0c7eea26366bae37
This commit is contained in:
Kartikaya Gupta 2017-06-16 15:22:12 -04:00
Родитель a900289b51
Коммит d6cb0eba49
7 изменённых файлов: 39 добавлений и 26 удалений

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

@ -1203,9 +1203,10 @@ ConvertToTouchBehavior(HitTestResult result)
return AllowedTouchBehavior::HORIZONTAL_PAN
| AllowedTouchBehavior::VERTICAL_PAN;
case HitDispatchToContentRegion:
default:
return AllowedTouchBehavior::UNKNOWN;
}
MOZ_ASSERT_UNREACHABLE("Invalid value");
return AllowedTouchBehavior::UNKNOWN;
}
already_AddRefed<AsyncPanZoomController>

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

@ -131,7 +131,9 @@ AndroidDynamicToolbarAnimator::ReceiveInputEvent(InputData& aEvent, const Screen
case MultiTouchInput::MULTITOUCH_CANCEL:
mControllerTouchCount -= multiTouch.mTouches.Length();
break;
default:
case MultiTouchInput::MULTITOUCH_SENTINEL:
MOZ_FALLTHROUGH_ASSERT("Invalid value");
case MultiTouchInput::MULTITOUCH_MOVE:
break;
}
@ -201,7 +203,8 @@ AndroidDynamicToolbarAnimator::ReceiveInputEvent(InputData& aEvent, const Screen
HandleTouchEnd(currentToolbarState, currentTouch);
}
break;
default:
case MultiTouchInput::MULTITOUCH_SENTINEL:
MOZ_ASSERT_UNREACHABLE("Invalid value");
break;
}

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

@ -947,7 +947,7 @@ nsEventStatus AsyncPanZoomController::HandleInputEvent(const InputData& aEvent,
case MultiTouchInput::MULTITOUCH_MOVE: rv = OnTouchMove(multiTouchInput); break;
case MultiTouchInput::MULTITOUCH_END: rv = OnTouchEnd(multiTouchInput); break;
case MultiTouchInput::MULTITOUCH_CANCEL: rv = OnTouchCancel(multiTouchInput); break;
default: NS_WARNING("Unhandled multitouch"); break;
case MultiTouchInput::MULTITOUCH_SENTINEL: MOZ_ASSERT_UNREACHABLE("Invalid value"); break;
}
break;
}
@ -966,7 +966,7 @@ nsEventStatus AsyncPanZoomController::HandleInputEvent(const InputData& aEvent,
case PanGestureInput::PANGESTURE_MOMENTUMSTART: rv = OnPanMomentumStart(panGestureInput); break;
case PanGestureInput::PANGESTURE_MOMENTUMPAN: rv = OnPan(panGestureInput, false); break;
case PanGestureInput::PANGESTURE_MOMENTUMEND: rv = OnPanMomentumEnd(panGestureInput); break;
default: NS_WARNING("Unhandled pan gesture"); break;
case PanGestureInput::PANGESTURE_SENTINEL: MOZ_ASSERT_UNREACHABLE("Invalid value"); break;
}
break;
}
@ -975,9 +975,6 @@ nsEventStatus AsyncPanZoomController::HandleInputEvent(const InputData& aEvent,
if (!mouseInput.TransformToLocal(aTransformToApzc)) {
return rv;
}
// TODO Need to implement blocks to properly handle this.
//rv = HandleDragEvent(mouseInput, dragMetrics);
break;
}
case SCROLLWHEEL_INPUT: {
@ -1007,7 +1004,10 @@ nsEventStatus AsyncPanZoomController::HandleInputEvent(const InputData& aEvent,
rv = HandleGestureEvent(tapInput);
break;
}
default: NS_WARNING("Unhandled input event type"); break;
case SENTINEL_INPUT: {
MOZ_ASSERT_UNREACHABLE("Invalid value");
break;
}
}
return rv;
@ -1026,7 +1026,7 @@ nsEventStatus AsyncPanZoomController::HandleGestureEvent(const InputData& aEvent
case PinchGestureInput::PINCHGESTURE_START: rv = OnScaleBegin(pinchGestureInput); break;
case PinchGestureInput::PINCHGESTURE_SCALE: rv = OnScale(pinchGestureInput); break;
case PinchGestureInput::PINCHGESTURE_END: rv = OnScaleEnd(pinchGestureInput); break;
default: NS_WARNING("Unhandled pinch gesture"); break;
case PinchGestureInput::PINCHGESTURE_SENTINEL: MOZ_ASSERT_UNREACHABLE("Invalid value"); break;
}
break;
}
@ -1040,11 +1040,11 @@ nsEventStatus AsyncPanZoomController::HandleGestureEvent(const InputData& aEvent
case TapGestureInput::TAPGESTURE_DOUBLE: rv = OnDoubleTap(tapGestureInput); break;
case TapGestureInput::TAPGESTURE_SECOND: rv = OnSecondTap(tapGestureInput); break;
case TapGestureInput::TAPGESTURE_CANCEL: rv = OnCancelTap(tapGestureInput); break;
default: NS_WARNING("Unhandled tap gesture"); break;
case TapGestureInput::TAPGESTURE_SENTINEL: MOZ_ASSERT_UNREACHABLE("Invalid value"); break;
}
break;
}
default: NS_WARNING("Unhandled input event"); break;
default: MOZ_ASSERT_UNREACHABLE("Unhandled input event"); break;
}
return rv;
@ -1089,9 +1089,6 @@ nsEventStatus AsyncPanZoomController::OnTouchStart(const MultiTouchInput& aEvent
case PINCHING:
NS_WARNING("Received impossible touch in OnTouchStart");
break;
default:
NS_WARNING("Unhandled case in OnTouchStart");
break;
}
return nsEventStatus_eConsumeNoDefault;
@ -1600,8 +1597,10 @@ AsyncPanZoomController::GetScrollWheelDelta(const ScrollWheelInput& aEvent) cons
delta = ToParentLayerCoordinates(ScreenPoint(aEvent.mDeltaX, aEvent.mDeltaY), aEvent.mOrigin);
break;
}
default:
MOZ_ASSERT_UNREACHABLE("unexpected scroll delta type");
case ScrollWheelInput::SCROLLDELTA_SENTINEL: {
MOZ_ASSERT_UNREACHABLE("Invalid value");
break;
}
}
// Apply user-set multipliers.
@ -1691,8 +1690,13 @@ AsyncPanZoomController::CanScroll(ScrollDirection aDirection) const
switch (aDirection) {
case ScrollDirection::HORIZONTAL: return mX.CanScroll();
case ScrollDirection::VERTICAL: return mY.CanScroll();
default: MOZ_ASSERT(false); return false;
case ScrollDirection::NONE:
case ScrollDirection::SENTINEL:
MOZ_ASSERT_UNREACHABLE("Invalid value");
break;
}
return false;
}
bool
@ -1732,10 +1736,11 @@ ScrollInputMethodForWheelDeltaType(ScrollWheelInput::ScrollDeltaType aDeltaType)
case ScrollWheelInput::SCROLLDELTA_PIXEL: {
return ScrollInputMethod::ApzWheelPixel;
}
default:
MOZ_ASSERT_UNREACHABLE("unexpected scroll delta type");
return ScrollInputMethod::ApzWheelLine;
case ScrollWheelInput::SCROLLDELTA_SENTINEL:
break;
}
MOZ_ASSERT_UNREACHABLE("Invalid value");
return ScrollInputMethod::ApzWheelLine;
}
nsEventStatus AsyncPanZoomController::OnScrollWheel(const ScrollWheelInput& aEvent)

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

@ -35,7 +35,10 @@ TouchCounter::Update(const MultiTouchInput& aInput)
case MultiTouchInput::MULTITOUCH_CANCEL:
mActiveTouchCount = 0;
break;
default:
case MultiTouchInput::MULTITOUCH_MOVE:
break;
case MultiTouchInput::MULTITOUCH_SENTINEL:
MOZ_ASSERT_UNREACHABLE("Invalid input");
break;
}
}

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

@ -101,8 +101,9 @@ WheelScrollAnimation::InitPreferences(TimeStamp aTime)
mOriginMaxMS = clamped(gfxPrefs::PixelSmoothScrollMaxDurationMs(), 0, 10000);
mOriginMinMS = clamped(gfxPrefs::PixelSmoothScrollMinDurationMs(), 0, mOriginMaxMS);
break;
case ScrollWheelInput::SCROLLDELTA_SENTINEL:
MOZ_FALLTHROUGH_ASSERT("Invalid value");
case ScrollWheelInput::SCROLLDELTA_LINE:
default:
mOriginMaxMS = clamped(gfxPrefs::WheelSmoothScrollMaxDurationMs(), 0, 10000);
mOriginMinMS = clamped(gfxPrefs::WheelSmoothScrollMinDurationMs(), 0, mOriginMaxMS);
break;

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

@ -976,8 +976,7 @@ APZCCallbackHelper::NotifyPinchGesture(PinchGestureInput::PinchGestureType aType
msg = eMagnifyGesture;
break;
case PinchGestureInput::PINCHGESTURE_SENTINEL:
default:
MOZ_ASSERT_UNREACHABLE("Invalid gesture type");
MOZ_ASSERT_UNREACHABLE("Invalid value");
return;
}

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

@ -381,7 +381,8 @@ APZEventState::ProcessTouchEvent(const WidgetTouchEvent& aEvent,
}
default:
NS_WARNING("Unknown touch event type");
MOZ_ASSERT_UNREACHABLE("Unknown touch event type");
break;
}
if (sentContentResponse &&