blob: 8e899d418c059af1d1e546c91159249d0193ec80 [file] [log] [blame]
// Copyright 2018 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.
// Simplified implementation of the <code>chrome.identity</code> for
// cast_shell.
namespace identity {
dictionary GetAuthTokenDetails {
// Ignored parameter. Exists only for compatibility.
boolean? interactive;
};
dictionary InvalidTokenDetails {
// Ignored parameter. Exists only for compatibility.
DOMString? token;
};
// Called with the OAuth2 access token on success or undefined on error.
callback GetAuthTokenCallback = void (optional DOMString token);
// Called by removeCachedAuthToken().
callback InvalidateAuthTokenCallback = void ();
interface Functions {
// Returns an OAuth2 access token for the current cast_shell user for scopes
// from the manifest. Does not prompt the user.
static void getAuthToken(GetAuthTokenDetails options,
GetAuthTokenCallback callback);
// Stub. Calls callback immediately because cast_shell does not cache access
// tokens the way Chrome does.
static void removeCachedAuthToken(InvalidTokenDetails details,
InvalidateAuthTokenCallback callback);
};
interface Events {
// Stub. Never fired because cast_shell only supports a single user account.
static void onSignInChanged(object account, boolean signedIn);
};
};