diff options
author | sievers <sievers@chromium.org> | 2015-11-12 15:41:28 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-11-12 23:42:11 +0000 |
commit | f795b83d710d0df2250ed53ecaa69f40076e6697 (patch) | |
tree | 01bb4422dd39eee8bd0de5bbd3cbc5a65c5c3325 /content | |
parent | a53ad854c08de8319b55342229e8e90655b9aefc (diff) | |
download | chromium_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.java | 4 | ||||
-rw-r--r-- | content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java | 2 |
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); } |