static async restore(name, savedDatabase, wipeDatabase) {
    wipeDatabase = (wipeDatabase == undefined) ? true : wipeDatabase;

    if (wipeDatabase) {
      // Wipe out any existing data.
      await this.deleteDatabase_(name);
    }

    // Create a new DB, or open an existing one, and add the stores we need.
    const db = await this.createDatabase_(name, savedDatabase);

    try {
      // Populate it with data.
      await this.populateDatabase_(db, savedDatabase);
    } finally {
      // Make sure the DB gets closed no matter what.
      db.close();
    }
  }
@param {string} name The name of the database to restore.
@param {shaka.test.CannedIDB.SavedDatabase} savedDatabase An object
  containing the database definition and the data to populate it with.
@param {boolean=} wipeDatabase If true, wipe the database before loading
  the saved data.  If false, add stores and data, but keep any existing
  stores and data.  Defaults to true.
@return {!Promise} Resolved when the operation is complete.