storage/mozIStorageCompletionCallback.idl
author Ralph Giles <giles@mozilla.com>
Tue, 31 Jan 2017 17:24:17 -0800
changeset 360930 931cbdebf471a80bddf8d834093c5ea6601e87c5
parent 264219 ad01543457e739b4eee7a245e16734a3ecfd10ad
permissions -rw-r--r--
Bug 1333931 - Handle nullptr TextTrack objects in sorting. r=kinetik Check for nullptr arguments passed to CompareTextTracks. Based on Ben Kelly's analysis this can happen if the cycle collector has cleared a TextTrack pointer while comparision is still happening, perhaps in a queued event task. This change makes nullptr sort to the end, and adds a MOZ_DIAGNOSTIC_ASSERT for trying to get the position of a nullptr track should someone add another call at a later date.

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  vim: sw=2 ts=2 et lcs=trail\:.,tab\:>~ :
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

[scriptable, function, uuid(8cbf2dc2-91e0-44bc-984f-553638412071)]
interface mozIStorageCompletionCallback : nsISupports {
  /**
   * Indicates that the event this callback was passed in for has completed.
   *
   * @param status
   *        The status of the call. Generally NS_OK if the operation
   *        completed successfully.
   * @param value
   *        If the operation produces a result, the result. Otherwise,
   *        |null|.
   *
   * @see The calling method for expected values.
   */
  void complete(in nsresult status, [optional] in nsISupports value);
};