summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorbenm@chromium.org <benm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-05 14:21:40 +0000
committerbenm@chromium.org <benm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-05 14:21:40 +0000
commitdd4757a4db84f38a8d33aee1db14f7d46a87d98f (patch)
tree5cb4a980f96e94043c2f7008dc65f9fa20461a54 /content
parenta6d281e49c9c761432832c72fdbd42685f2dded8 (diff)
downloadchromium_src-dd4757a4db84f38a8d33aee1db14f7d46a87d98f.zip
chromium_src-dd4757a4db84f38a8d33aee1db14f7d46a87d98f.tar.gz
chromium_src-dd4757a4db84f38a8d33aee1db14f7d46a87d98f.tar.bz2
[Android] Fallback to a default drawable for the PopupZoomer.
At the moment, tests must invoke PopupZoomer.injectOverlayDrawable to ensure there is a default drawable resource set. WebView also needs to do something similar, so rather than using a testing specific function allow the popupzoomer to gracefully fallback to a default drawable for all users. Android only change, android bots are happy NOTRY=true Review URL: https://chromiumcodereview.appspot.com/11360060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165935 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r--content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java25
-rw-r--r--content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java2
2 files changed, 12 insertions, 15 deletions
diff --git a/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java b/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java
index 2e90c36..f8835c3 100644
--- a/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java
+++ b/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java
@@ -5,6 +5,7 @@
package org.chromium.content.browser;
import android.content.Context;
+import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
@@ -17,8 +18,10 @@ import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Region.Op;
+import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.SystemClock;
+import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
@@ -32,6 +35,8 @@ import org.chromium.content.app.AppResource;
* canvas and touch events to display the on-demand zoom magnifier.
*/
class PopupZoomer extends View {
+ private static String LOGTAG = "PopupZoomer";
+
// The padding between the edges of the view and the popup. Note that there is a mirror
// constant in content/renderer/render_view_impl.cc which should be kept in sync if
// this is changed.
@@ -120,25 +125,19 @@ class PopupZoomer extends View {
*/
private static Drawable getOverlayDrawable(Context context) {
if (sOverlayDrawable == null) {
- sOverlayDrawable = context.getResources().getDrawable(
- AppResource.DRAWABLE_LINK_PREVIEW_POPUP_OVERLAY);
+ try {
+ sOverlayDrawable = context.getResources().getDrawable(
+ AppResource.DRAWABLE_LINK_PREVIEW_POPUP_OVERLAY);
+ } catch (Resources.NotFoundException e) {
+ Log.w(LOGTAG, "No drawable resource for PopupZoomer overlay found.");
+ sOverlayDrawable = new ColorDrawable();
+ }
sOverlayPadding = new Rect();
sOverlayDrawable.getPadding(sOverlayPadding);
}
return sOverlayDrawable;
}
- /**
- * Injects the overlay drawable for tests. Needs to be called before any instance
- * of this class tries to draw.
- *
- * @VisibleForTesting
- */
- static void injectOverlayDrawable(Drawable drawable) {
- sOverlayDrawable = drawable;
- sOverlayPadding = new Rect();
- }
-
private static float constrain(float amount, float low, float high) {
return amount < low ? low : (amount > high ? high : amount);
}
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java b/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java
index 12d93bb..49950f0 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java
@@ -8,7 +8,6 @@ import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Rect;
-import android.graphics.drawable.ColorDrawable;
import android.os.SystemClock;
import android.test.InstrumentationTestCase;
import android.test.suitebuilder.annotation.SmallTest;
@@ -67,7 +66,6 @@ public class PopupZoomerTest extends InstrumentationTestCase {
@Override
public void setUp() {
- PopupZoomer.injectOverlayDrawable(new ColorDrawable());
mPopupZoomer = createPopupZoomerForTest(getInstrumentation().getTargetContext());
}