summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorsievers <sievers@chromium.org>2015-11-12 15:41:28 -0800
committerCommit bot <commit-bot@chromium.org>2015-11-12 23:42:11 +0000
commitf795b83d710d0df2250ed53ecaa69f40076e6697 (patch)
tree01bb4422dd39eee8bd0de5bbd3cbc5a65c5c3325 /content
parenta53ad854c08de8319b55342229e8e90655b9aefc (diff)
downloadchromium_src-f795b83d710d0df2250ed53ecaa69f40076e6697.zip
chromium_src-f795b83d710d0df2250ed53ecaa69f40076e6697.tar.gz
chromium_src-f795b83d710d0df2250ed53ecaa69f40076e6697.tar.bz2
android: Throw exception for registering invalid Surfaces
We don't ever expect a Java Surface to return !isValid(), so report if this happens either when the Surface is created. BUG=529233 Review URL: https://codereview.chromium.org/1440903002 Cr-Commit-Position: refs/heads/master@{#359436}
Diffstat (limited to 'content')
-rw-r--r--content/public/android/java/src/org/chromium/content/app/ChildProcessService.java4
-rw-r--r--content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java2
2 files changed, 5 insertions, 1 deletions
diff --git a/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java b/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java
index a5bced2..98538e4 100644
--- a/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java
+++ b/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java
@@ -30,6 +30,7 @@ import org.chromium.content.browser.ChildProcessLauncher;
import org.chromium.content.browser.FileDescriptorInfo;
import org.chromium.content.common.IChildProcessCallback;
import org.chromium.content.common.IChildProcessService;
+import org.chromium.content.common.SurfaceWrapper;
import java.util.concurrent.Semaphore;
import java.util.concurrent.atomic.AtomicReference;
@@ -331,7 +332,8 @@ public class ChildProcessService extends Service {
}
try {
- return mCallback.getViewSurface(surfaceId).getSurface();
+ SurfaceWrapper wrapper = mCallback.getViewSurface(surfaceId);
+ return wrapper != null ? wrapper.getSurface() : null;
} catch (RemoteException e) {
Log.e(TAG, "Unable to call getViewSurface: %s", e);
return null;
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
index 146129b..0fa969b 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
@@ -411,6 +411,8 @@ public class ChildProcessLauncher {
@CalledByNative
private static void registerViewSurface(int surfaceId, Surface surface) {
+ if (!surface.isValid())
+ throw new RuntimeException("Attempting to register invalid Surface.");
sViewSurfaceMap.put(surfaceId, surface);
}