Chromium Code Reviews| Index: android_webview/java/src/org/chromium/android_webview/browser/SharedRendererState.java |
| diff --git a/android_webview/java/src/org/chromium/android_webview/browser/SharedRendererState.java b/android_webview/java/src/org/chromium/android_webview/browser/SharedRendererState.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..6c513324563c593d10aa1ca3e268bc4886249d9a |
| --- /dev/null |
| +++ b/android_webview/java/src/org/chromium/android_webview/browser/SharedRendererState.java |
| @@ -0,0 +1,43 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +package org.chromium.android_webview.browser; |
| + |
| +import org.chromium.base.annotations.JNINamespace; |
| +import org.chromium.content.common.CleanupReference; |
| + |
| +/** |
| + */ |
| +@JNINamespace("android_webview") |
| +public class SharedRendererState { |
| + private static final class DestroyRunnable implements Runnable { |
| + private final long mNativeSharedRendererState; |
| + |
| + private DestroyRunnable(long nativeSharedRendererState) { |
| + mNativeSharedRendererState = nativeSharedRendererState; |
| + } |
| + @Override |
| + public void run() { |
| + nativeDestroy(mNativeSharedRendererState); |
| + } |
| + } |
| + |
| + private long mNativeSharedRendererState; |
| + private CleanupReference mCleanupReference; |
| + |
| + public SharedRendererState(long nativeSharedRendererState) { |
| + mNativeSharedRendererState = nativeSharedRendererState; |
| + mCleanupReference = |
| + new CleanupReference(this, new DestroyRunnable(mNativeSharedRendererState)); |
| + } |
| + |
| + public void destroy() { |
| + if (mCleanupReference != null) { |
| + mCleanupReference.cleanupNow(); |
|
boliu
2016/04/01 03:13:39
There is no reason for a cleanupReference. This ob
|
| + mCleanupReference = null; |
| + } |
| + } |
| + |
| + private static native void nativeDestroy(long sharedRendererState); |
| +} |