Backed out changeset 95e61ede373d (bug 1257269) because it caused merge conflicts with m-c/fx-team

MozReview-Commit-ID: 2Zt4WJqmlzu
This commit is contained in:
Wes Kocher 2016-04-01 16:05:07 -07:00
Родитель 4eeb180418
Коммит 81af293e82
12 изменённых файлов: 6 добавлений и 93 удалений

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

@ -144,8 +144,7 @@ public:
virtual void NotifyFlushComplete() = 0; virtual void NotifyFlushComplete() = 0;
virtual void UpdateOverscrollVelocity(const float aX, const float aY) {} virtual void UpdateOverscrollVelocity(const float aX, const float aY) {}
virtual void UpdateOverscrollOffset(const float aX, const float aY) {} virtual void UpdateOverscrollOffset(const float aX,const float aY) {}
virtual void SetScrollingRootContent(const bool isRootContent) {}
GeckoContentController() {} GeckoContentController() {}
virtual void ChildAdopted() {} virtual void ChildAdopted() {}

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

@ -1326,11 +1326,6 @@ nsEventStatus AsyncPanZoomController::OnTouchMove(const MultiTouchInput& aEvent)
nsEventStatus AsyncPanZoomController::OnTouchEnd(const MultiTouchInput& aEvent) { nsEventStatus AsyncPanZoomController::OnTouchEnd(const MultiTouchInput& aEvent) {
APZC_LOG("%p got a touch-end in state %d\n", this, mState); APZC_LOG("%p got a touch-end in state %d\n", this, mState);
RefPtr<GeckoContentController> controller = GetGeckoContentController();
if (controller) {
controller->SetScrollingRootContent(false);
}
OnTouchEndOrCancel(); OnTouchEndOrCancel();
// In case no touch behavior triggered previously we can avoid sending // In case no touch behavior triggered previously we can avoid sending
@ -2396,13 +2391,7 @@ bool AsyncPanZoomController::AttemptScroll(ParentLayerPoint& aStartPoint,
if (!IsZero(adjustedDisplacement)) { if (!IsZero(adjustedDisplacement)) {
ScrollBy(adjustedDisplacement / mFrameMetrics.GetZoom()); ScrollBy(adjustedDisplacement / mFrameMetrics.GetZoom());
if (CancelableBlockState* block = CurrentInputBlock()) { if (InputBlockState* block = CurrentInputBlock()) {
if (block->AsTouchBlock() && (block->GetScrolledApzc() != this)) {
RefPtr<GeckoContentController> controller = GetGeckoContentController();
if (controller) {
controller->SetScrollingRootContent(IsRootContent());
}
}
block->SetScrolledApzc(this); block->SetScrolledApzc(this);
} }
ScheduleCompositeAndMaybeRepaint(); ScheduleCompositeAndMaybeRepaint();

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

@ -5,7 +5,6 @@
package org.mozilla.gecko.gfx; package org.mozilla.gecko.gfx;
import org.mozilla.gecko.AppConstants;
import org.mozilla.gecko.PrefsHelper; import org.mozilla.gecko.PrefsHelper;
import org.mozilla.gecko.util.FloatUtils; import org.mozilla.gecko.util.FloatUtils;
import org.mozilla.gecko.util.ThreadUtils; import org.mozilla.gecko.util.ThreadUtils;
@ -95,9 +94,6 @@ public class DynamicToolbarAnimator {
private PointF mTouchStart; private PointF mTouchStart;
private float mLastTouch; private float mLastTouch;
/* Set to true when root content is being scrolled */
private boolean mScrollingRootContent;
public DynamicToolbarAnimator(GeckoLayerClient aTarget) { public DynamicToolbarAnimator(GeckoLayerClient aTarget) {
mTarget = aTarget; mTarget = aTarget;
mListeners = new ArrayList<LayerView.DynamicToolbarListener>(); mListeners = new ArrayList<LayerView.DynamicToolbarListener>();
@ -112,11 +108,6 @@ public class DynamicToolbarAnimator {
} }
}; };
PrefsHelper.addObserver(new String[] { PREF_SCROLL_TOOLBAR_THRESHOLD }, mPrefObserver); PrefsHelper.addObserver(new String[] { PREF_SCROLL_TOOLBAR_THRESHOLD }, mPrefObserver);
// JPZ doesn't notify when scrolling root content. This maintains existing behaviour.
if (!AppConstants.MOZ_ANDROID_APZ) {
mScrollingRootContent = true;
}
} }
public void destroy() { public void destroy() {
@ -194,10 +185,6 @@ public class DynamicToolbarAnimator {
animateToolbar(false, immediately); animateToolbar(false, immediately);
} }
public void setScrollingRootContent(boolean isRootContent) {
mScrollingRootContent = isRootContent;
}
private void animateToolbar(final boolean showToolbar, boolean immediately) { private void animateToolbar(final boolean showToolbar, boolean immediately) {
ThreadUtils.assertOnUiThread(); ThreadUtils.assertOnUiThread();
@ -352,12 +339,11 @@ public class DynamicToolbarAnimator {
// translation to take effect right away. Or if the user has moved // translation to take effect right away. Or if the user has moved
// their finger past the required threshold (and is not trying to // their finger past the required threshold (and is not trying to
// scroll past the bottom of the page) then also we want the touch // scroll past the bottom of the page) then also we want the touch
// to cause translation. If the toolbar is fully visible, we only // to cause translation.
// want the toolbar to hide if the user is scrolling the root content.
boolean inBetween = (mToolbarTranslation != 0 && mToolbarTranslation != mMaxTranslation); boolean inBetween = (mToolbarTranslation != 0 && mToolbarTranslation != mMaxTranslation);
boolean reachedThreshold = -aTouchTravelDistance >= exposeThreshold; boolean reachedThreshold = -aTouchTravelDistance >= exposeThreshold;
boolean atBottomOfPage = aMetrics.viewportRectBottom() >= aMetrics.pageRectBottom; boolean atBottomOfPage = aMetrics.viewportRectBottom() >= aMetrics.pageRectBottom;
if (inBetween || (mScrollingRootContent && reachedThreshold && !atBottomOfPage)) { if (inBetween || (reachedThreshold && !atBottomOfPage)) {
return translation; return translation;
} }
} else { // finger moving downwards } else { // finger moving downwards

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

@ -1086,11 +1086,6 @@ class GeckoLayerClient implements LayerView.Listener, PanZoomTarget
return layerPoint; return layerPoint;
} }
@Override
public void setScrollingRootContent(boolean isRootContent) {
mToolbarAnimator.setScrollingRootContent(isRootContent);
}
public void addDrawListener(DrawListener listener) { public void addDrawListener(DrawListener listener) {
mDrawListeners.add(listener); mDrawListeners.add(listener);
} }

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

@ -324,11 +324,6 @@ class NativePanZoomController extends JNIObject implements PanZoomController {
} }
} }
@WrapForJNI
private void setScrollingRootContent(final boolean isRootContent) {
mTarget.setScrollingRootContent(isRootContent);
}
/** /**
* Active SelectionCaretDrag requires DynamicToolbarAnimator to be pinned * Active SelectionCaretDrag requires DynamicToolbarAnimator to be pinned
* to avoid unwanted scroll interactions. * to avoid unwanted scroll interactions.

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

@ -28,5 +28,4 @@ public interface PanZoomTarget {
public void removeRenderTask(RenderTask task); public void removeRenderTask(RenderTask task);
public Object getLock(); public Object getLock();
public PointF convertViewPointToLayerPoint(PointF viewPoint); public PointF convertViewPointToLayerPoint(PointF viewPoint);
public void setScrollingRootContent(boolean isRootContent);
} }

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

@ -100,21 +100,13 @@ AndroidContentController::UpdateOverscrollVelocity(const float aX, const float a
} }
void void
AndroidContentController::UpdateOverscrollOffset(const float aX, const float aY) AndroidContentController::UpdateOverscrollOffset(const float aX,const float aY)
{ {
if (mAndroidWindow) { if (mAndroidWindow) {
mAndroidWindow->UpdateOverscrollOffset(aX, aY); mAndroidWindow->UpdateOverscrollOffset(aX, aY);
} }
} }
void
AndroidContentController::SetScrollingRootContent(const bool isRootContent)
{
if (mAndroidWindow) {
mAndroidWindow->SetScrollingRootContent(isRootContent);
}
}
void void
AndroidContentController::NotifyAPZStateChange(const ScrollableLayerGuid& aGuid, AndroidContentController::NotifyAPZStateChange(const ScrollableLayerGuid& aGuid,
APZStateChange aChange, APZStateChange aChange,

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

@ -39,8 +39,7 @@ public:
const ScrollableLayerGuid& aGuid) override; const ScrollableLayerGuid& aGuid) override;
void PostDelayedTask(Task* aTask, int aDelayMs) override; void PostDelayedTask(Task* aTask, int aDelayMs) override;
void UpdateOverscrollVelocity(const float aX, const float aY) override; void UpdateOverscrollVelocity(const float aX, const float aY) override;
void UpdateOverscrollOffset(const float aX, const float aY) override; void UpdateOverscrollOffset(const float aX,const float aY) override;
void SetScrollingRootContent(const bool isRootContent) override;
void NotifyAPZStateChange(const ScrollableLayerGuid& aGuid, void NotifyAPZStateChange(const ScrollableLayerGuid& aGuid,
APZStateChange aChange, APZStateChange aChange,
int aArg) override; int aArg) override;

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

@ -1575,14 +1575,6 @@ auto NativePanZoomController::RequestContentRepaintWrapper(float a0, float a1, f
return mozilla::jni::Method<RequestContentRepaintWrapper_t>::Call(NativePanZoomController::mCtx, nullptr, a0, a1, a2, a3, a4); return mozilla::jni::Method<RequestContentRepaintWrapper_t>::Call(NativePanZoomController::mCtx, nullptr, a0, a1, a2, a3, a4);
} }
constexpr char NativePanZoomController::SetScrollingRootContent_t::name[];
constexpr char NativePanZoomController::SetScrollingRootContent_t::signature[];
auto NativePanZoomController::SetScrollingRootContent(bool a0) const -> void
{
return mozilla::jni::Method<SetScrollingRootContent_t>::Call(NativePanZoomController::mCtx, nullptr, a0);
}
constexpr char NativePanZoomController::UpdateOverscrollOffset_t::name[]; constexpr char NativePanZoomController::UpdateOverscrollOffset_t::name[];
constexpr char NativePanZoomController::UpdateOverscrollOffset_t::signature[]; constexpr char NativePanZoomController::UpdateOverscrollOffset_t::signature[];

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

@ -3781,22 +3781,6 @@ public:
auto RequestContentRepaintWrapper(float, float, float, float, float) const -> void; auto RequestContentRepaintWrapper(float, float, float, float, float) const -> void;
struct SetScrollingRootContent_t {
typedef NativePanZoomController Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "setScrollingRootContent";
static constexpr char signature[] =
"(Z)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
};
auto SetScrollingRootContent(bool) const -> void;
struct UpdateOverscrollOffset_t { struct UpdateOverscrollOffset_t {
typedef NativePanZoomController Owner; typedef NativePanZoomController Owner;
typedef void ReturnType; typedef void ReturnType;

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

@ -817,11 +817,6 @@ public:
mNPZC->UpdateOverscrollOffset(x, y); mNPZC->UpdateOverscrollOffset(x, y);
} }
void SetScrollingRootContent(const bool isRootContent)
{
mNPZC->SetScrollingRootContent(isRootContent);
}
void SetSelectionDragState(const bool aState) void SetSelectionDragState(const bool aState)
{ {
mNPZC->OnSelectionDragState(aState); mNPZC->OnSelectionDragState(aState);
@ -1881,17 +1876,6 @@ nsWindow::UpdateOverscrollOffset(const float aX, const float aY)
} }
} }
void
nsWindow::SetScrollingRootContent(const bool isRootContent)
{
// On Android, the Controller thread and UI thread are the same.
MOZ_ASSERT(APZThreadUtils::IsControllerThread(), "nsWindow::SetScrollingRootContent must be called from the controller thread");
if (mNPZCSupport) {
mNPZCSupport->SetScrollingRootContent(isRootContent);
}
}
void void
nsWindow::SetSelectionDragState(bool aState) nsWindow::SetSelectionDragState(bool aState)
{ {

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

@ -79,7 +79,6 @@ public:
void UpdateOverscrollVelocity(const float aX, const float aY); void UpdateOverscrollVelocity(const float aX, const float aY);
void UpdateOverscrollOffset(const float aX, const float aY); void UpdateOverscrollOffset(const float aX, const float aY);
void SetScrollingRootContent(const bool isRootContent);
// //
// nsIWidget // nsIWidget