| Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
|
| 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 7147b93cd8a7c16359adb74bbc041835f21d149a..b7bbcf4a397e658a310bdee6820141c556d4b7cd 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
|
| @@ -12,6 +12,7 @@
|
| import android.content.ClipboardManager;
|
| import android.content.ContentResolver;
|
| import android.content.Context;
|
| +import android.content.ContextWrapper;
|
| import android.content.Intent;
|
| import android.content.pm.PackageManager;
|
| import android.content.res.Configuration;
|
| @@ -430,6 +431,22 @@
|
| */
|
| public interface SmartClipDataListener {
|
| public void onSmartClipDataExtracted(String text, String html, Rect clipRect);
|
| + }
|
| +
|
| + /**
|
| + * Cast from Context to Activity taking ContextWrapper into account.
|
| + */
|
| + public static Activity activityFromContext(Context context) {
|
| + // Only retrieve the base context if the supplied context is a ContextWrapper but not
|
| + // an Activity, given that Activity is already a subclass of ContextWrapper.
|
| + if (context instanceof Activity) {
|
| + return ((Activity) context);
|
| + } else if (context instanceof ContextWrapper) {
|
| + context = ((ContextWrapper) context).getBaseContext();
|
| + return activityFromContext(context);
|
| + } else {
|
| + return null;
|
| + }
|
| }
|
|
|
| private final Context mContext;
|
|
|