summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorwonsik@chromium.org <wonsik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-26 14:38:05 +0000
committerwonsik@chromium.org <wonsik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-26 14:38:05 +0000
commit357b54376339f4d6d5103644605ab83026cff391 (patch)
tree6cec7a47f81fca0b844f1e9fd7115f21a56332c0 /content
parentf8bcddc74bb654316ed83114b0f13ac459db5ffb (diff)
downloadchromium_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.java3
-rw-r--r--content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java16
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));
}
/**