diff options
author | hush <hush@chromium.org> | 2015-10-21 13:39:09 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-10-21 20:41:27 +0000 |
commit | a58f351e3e6cc0aceac9f46802c7693c6a562557 (patch) | |
tree | e28a35d669b809e80912f254f151e4793ec1b597 /android_webview/java | |
parent | dbaa2f075b3813bdd185132120b24aec20b23a62 (diff) | |
download | chromium_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.java | 23 | ||||
-rw-r--r-- | android_webview/java/src/org/chromium/android_webview/FullScreenView.java | 8 |
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); } |