diff options
author | benm@chromium.org <benm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-05 14:21:40 +0000 |
---|---|---|
committer | benm@chromium.org <benm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-05 14:21:40 +0000 |
commit | dd4757a4db84f38a8d33aee1db14f7d46a87d98f (patch) | |
tree | 5cb4a980f96e94043c2f7008dc65f9fa20461a54 /content | |
parent | a6d281e49c9c761432832c72fdbd42685f2dded8 (diff) | |
download | chromium_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.java | 25 | ||||
-rw-r--r-- | content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java | 2 |
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()); } |