diff options
author | wonsik@chromium.org <wonsik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-26 14:38:05 +0000 |
---|---|---|
committer | wonsik@chromium.org <wonsik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-26 14:38:05 +0000 |
commit | 357b54376339f4d6d5103644605ab83026cff391 (patch) | |
tree | 6cec7a47f81fca0b844f1e9fd7115f21a56332c0 /content | |
parent | f8bcddc74bb654316ed83114b0f13ac459db5ffb (diff) | |
download | chromium_src-357b54376339f4d6d5103644605ab83026cff391.zip chromium_src-357b54376339f4d6d5103644605ab83026cff391.tar.gz chromium_src-357b54376339f4d6d5103644605ab83026cff391.tar.bz2 |
Fix location/size changes
r211176 made scroll does not change position, and it broke scroll
behavior for external video surface rendering which depends on the
position change. Push CSS rect instead of device pixel so that apps
can normalize using ContentViewCore.RenderCoordinates themselves.
Also, push null rect to specify change in scroll / scale / etc.
BUG=264103
R=yfriedman@chromium.org
Review URL: https://chromiumcodereview.appspot.com/20217003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213911 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java | 3 | ||||
-rw-r--r-- | content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java | 16 |
2 files changed, 7 insertions, 12 deletions
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java index a6895fd..1215af4 100644 --- a/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java +++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java @@ -7,6 +7,7 @@ package org.chromium.content.browser; import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; +import android.graphics.RectF; import android.util.Log; import android.view.ActionMode; import android.view.KeyEvent; @@ -167,7 +168,7 @@ public class ContentViewClient { public void onExternalVideoSurfaceRequested(int playerId) { } - public void onGeometryChanged(int playerId, float x, float y, float width, float height) { + public void onGeometryChanged(int playerId, RectF rect) { } public ContentVideoViewClient getContentVideoViewClient() { diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java index 668904a..d9e0d77 100644 --- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java +++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java @@ -15,6 +15,7 @@ import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Rect; +import android.graphics.RectF; import android.net.Uri; import android.os.Build; import android.os.Bundle; @@ -2238,6 +2239,9 @@ import java.util.Map; if (mBrowserAccessibilityManager != null) { mBrowserAccessibilityManager.notifyFrameInfoInitialized(); } + + // Update geometry for external video surface. + getContentViewClient().onGeometryChanged(-1, null); } @SuppressWarnings("unused") @@ -2941,18 +2945,8 @@ import java.util.Map; @CalledByNative private void notifyExternalSurface( int playerId, boolean isRequest, float x, float y, float width, float height) { - RenderCoordinates.NormalizedPoint topLeft = mRenderCoordinates.createNormalizedPoint(); - RenderCoordinates.NormalizedPoint bottomRight = mRenderCoordinates.createNormalizedPoint(); - topLeft.setLocalDip(x * getScale(), y * getScale()); - bottomRight.setLocalDip((x + width) * getScale(), (y + height) * getScale()); - if (isRequest) getContentViewClient().onExternalVideoSurfaceRequested(playerId); - getContentViewClient().onGeometryChanged( - playerId, - topLeft.getXPix(), - topLeft.getYPix(), - bottomRight.getXPix() - topLeft.getXPix(), - bottomRight.getYPix() - topLeft.getYPix()); + getContentViewClient().onGeometryChanged(playerId, new RectF(x, y, x + width, y + height)); } /** |