| Index: ui/android/java/src/org/chromium/ui/gl/SurfaceTexturePlatformWrapper.java
 | 
| diff --git a/ui/android/java/src/org/chromium/ui/gl/SurfaceTexturePlatformWrapper.java b/ui/android/java/src/org/chromium/ui/gl/SurfaceTexturePlatformWrapper.java
 | 
| index c6197861feeda88b20cc5629536ae3bca98bd430..7dafbb49a217ae5f7193b9f2a9187e77c3cef2e9 100644
 | 
| --- a/ui/android/java/src/org/chromium/ui/gl/SurfaceTexturePlatformWrapper.java
 | 
| +++ b/ui/android/java/src/org/chromium/ui/gl/SurfaceTexturePlatformWrapper.java
 | 
| @@ -4,7 +4,9 @@
 | 
|  
 | 
|  package org.chromium.ui.gl;
 | 
|  
 | 
| +import android.annotation.TargetApi;
 | 
|  import android.graphics.SurfaceTexture;
 | 
| +import android.os.Build;
 | 
|  import android.util.Log;
 | 
|  
 | 
|  import org.chromium.base.annotations.CalledByNative;
 | 
| @@ -24,6 +26,13 @@ class SurfaceTexturePlatformWrapper {
 | 
|          return new SurfaceTexture(textureId);
 | 
|      }
 | 
|  
 | 
| +    @TargetApi(Build.VERSION_CODES.KITKAT)
 | 
| +    @CalledByNative
 | 
| +    private static SurfaceTexture createSingleBuffered(int textureId) {
 | 
| +        assert Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
 | 
| +        return new SurfaceTexture(textureId, true);
 | 
| +    }
 | 
| +
 | 
|      @CalledByNative
 | 
|      private static void destroy(SurfaceTexture surfaceTexture) {
 | 
|          surfaceTexture.setOnFrameAvailableListener(null);
 | 
| @@ -46,6 +55,13 @@ class SurfaceTexturePlatformWrapper {
 | 
|          }
 | 
|      }
 | 
|  
 | 
| +    @TargetApi(Build.VERSION_CODES.KITKAT)
 | 
| +    @CalledByNative
 | 
| +    private static void releaseTexImage(SurfaceTexture surfaceTexture) {
 | 
| +        assert Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
 | 
| +        surfaceTexture.releaseTexImage();
 | 
| +    }
 | 
| +
 | 
|      @CalledByNative
 | 
|      private static void getTransformMatrix(SurfaceTexture surfaceTexture, float[] matrix) {
 | 
|          surfaceTexture.getTransformMatrix(matrix);
 | 
| 
 |