168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// found in the LICENSE file. 468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)package org.chromium.content.browser; 668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)import org.chromium.base.CalledByNative; 868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)import org.chromium.base.JNINamespace; 968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 1068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)/** 1168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) * A wrapper of the android MediaDrmCredentialManager 1268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) */ 1368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)@JNINamespace("content") 1468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)public class MediaDrmCredentialManager { 1568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 1668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) /** 1768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) * Callback interface for getting notified from credential reset. 1868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) */ 1968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) public interface MediaDrmCredentialManagerCallback { 2068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) /** 2168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) * This method will be called when credential reset attempt is done. 2268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) * @param succeeded Whether or not it succeeded. 2368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) */ 2468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) @CalledByNative("MediaDrmCredentialManagerCallback") 2568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) public void onCredentialResetFinished(boolean succeeded); 2668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) } 2768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 2868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) /** 2968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) * Attempts to reset the DRM credentials. 3068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) * @param callback It notifies whether or not it succeeded. 3168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) */ 3268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) public static void resetCredentials(MediaDrmCredentialManagerCallback callback) { 3368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) nativeResetCredentials(callback); 3468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) } 3568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 3668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) private static native void nativeResetCredentials(MediaDrmCredentialManagerCallback callback); 3768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)} 38