summaryrefslogtreecommitdiffstats
path: root/android_webview/java
diff options
context:
space:
mode:
authorhush <hush@chromium.org>2015-10-21 13:39:09 -0700
committerCommit bot <commit-bot@chromium.org>2015-10-21 20:41:27 +0000
commita58f351e3e6cc0aceac9f46802c7693c6a562557 (patch)
treee28a35d669b809e80912f254f151e4793ec1b597 /android_webview/java
parentdbaa2f075b3813bdd185132120b24aec20b23a62 (diff)
downloadchromium_src-a58f351e3e6cc0aceac9f46802c7693c6a562557.zip
chromium_src-a58f351e3e6cc0aceac9f46802c7693c6a562557.tar.gz
chromium_src-a58f351e3e6cc0aceac9f46802c7693c6a562557.tar.bz2
Public glue layer plumbing for View#startActivityForResult
BUG=521027 Review URL: https://codereview.chromium.org/1399613002 Cr-Commit-Position: refs/heads/master@{#355390}
Diffstat (limited to 'android_webview/java')
-rw-r--r--android_webview/java/src/org/chromium/android_webview/AwContents.java23
-rw-r--r--android_webview/java/src/org/chromium/android_webview/FullScreenView.java8
2 files changed, 31 insertions, 0 deletions
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java
index 1a0acbf..ab356ff 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -8,6 +8,7 @@ import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.ComponentCallbacks2;
import android.content.Context;
+import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.Canvas;
@@ -153,6 +154,11 @@ public class AwContents implements SmartClipProvider,
* @see View#getScrollBarStyle()
*/
int super_getScrollBarStyle();
+
+ /**
+ * @see View#startActivityForResult(Intent, int)
+ */
+ void super_startActivityForResult(Intent intent, int requestCode);
}
/**
@@ -2199,6 +2205,23 @@ public class AwContents implements SmartClipProvider,
//--------------------------------------------------------------------------------------------
// View and ViewGroup method implementations
//--------------------------------------------------------------------------------------------
+ /**
+ * Calls android.view.View#startActivityForResult. A RuntimeException will
+ * be thrown by Android framework if startActivityForResult is called with
+ * a non-Activity context.
+ */
+ public void startActivityForResult(Intent intent, int requestCode) {
+ // Even in fullscreen mode, startActivityForResult will still use the
+ // initial internal access delegate because it has access to
+ // the hidden API View#startActivityForResult.
+ mFullScreenTransitionsState.getInitialInternalAccessDelegate()
+ .super_startActivityForResult(intent, requestCode);
+ }
+
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ // TODO(hush): Forward the activity result to content view core and
+ // replace the text with translated text.
+ }
/**
* @see android.webkit.View#onTouchEvent()
diff --git a/android_webview/java/src/org/chromium/android_webview/FullScreenView.java b/android_webview/java/src/org/chromium/android_webview/FullScreenView.java
index 1eb96a4..1e548cb 100644
--- a/android_webview/java/src/org/chromium/android_webview/FullScreenView.java
+++ b/android_webview/java/src/org/chromium/android_webview/FullScreenView.java
@@ -5,6 +5,7 @@
package org.chromium.android_webview;
import android.content.Context;
+import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Canvas;
import android.graphics.Paint;
@@ -230,6 +231,13 @@ public class FullScreenView extends FrameLayout {
}
@Override
+ public void super_startActivityForResult(Intent intent, int requestCode) {
+ throw new RuntimeException(
+ "FullScreenView InternalAccessAdapter shouldn't call startActivityForResult. "
+ + "See AwContents#startActivityForResult");
+ }
+
+ @Override
public boolean awakenScrollBars() {
return FullScreenView.this.awakenScrollBars(0);
}