Bug 1180295 - Ensure that on rotation/resize the CSS viewport is resized to the right size. r=rbarker

--HG--
extra : commitid : F2yim0rSeSP
This commit is contained in:
Kartikaya Gupta 2015-08-18 14:27:19 -04:00
parent 5642873d53
commit c557d5abdd
2 changed files with 12 additions and 7 deletions

View File

@ -175,18 +175,22 @@ public class DynamicToolbarAnimator {
mTarget.getView().postRenderTask(mAnimationTask);
}
IntSize getViewportSize() {
int viewWidth = mTarget.getView().getWidth();
int viewHeight = mTarget.getView().getHeight();
int viewHeightVisible = viewHeight - Math.round(mMaxTranslation - mToolbarTranslation);
return new IntSize(viewWidth, viewHeightVisible);
}
private void resizeViewport() {
ThreadUtils.assertOnUiThread();
// The animation is done, now we need to tell gecko to resize to the
// proper steady-state layout.
synchronized (mTarget.getLock()) {
int viewWidth = mTarget.getView().getWidth();
int viewHeight = mTarget.getView().getHeight();
int viewHeightVisible = viewHeight - Math.round(mMaxTranslation - mToolbarTranslation);
Log.v(LOGTAG, "Resize viewport to dimensions " + viewWidth + "x" + viewHeightVisible);
mTarget.setViewportSize(viewWidth, viewHeightVisible);
IntSize viewportSize = getViewportSize();
Log.v(LOGTAG, "Resize viewport to dimensions " + viewportSize);
mTarget.setViewportSize(viewportSize.width, viewportSize.height);
}
}

View File

@ -725,7 +725,8 @@ class GeckoLayerClient implements LayerView.Listener, PanZoomTarget
/** Implementation of LayerView.Listener */
@Override
public void surfaceChanged(int width, int height) {
setViewportSize(width, height);
IntSize viewportSize = mToolbarAnimator.getViewportSize();
setViewportSize(viewportSize.width, viewportSize.height);
}
/** Implementation of PanZoomTarget */