1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file.
4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)var utils = require('utils');
6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)var SubtleCrypto = require('enterprise.platformKeys.SubtleCrypto').SubtleCrypto;
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Implementation of enterprise.platformKeys.Token.
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {string} id The id of the new Token.
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @constructor
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)var TokenImpl = function(id) {
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  this.id = id;
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  this.subtleCrypto = new SubtleCrypto(id);
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)};
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)exports.Token =
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    utils.expose('Token', TokenImpl, {readonly:['id', 'subtleCrypto']});
20