/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:set ts=2 sw=2 sts=2 et cindent: */
/* 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 "domstubs.idl"

[scriptable, uuid(992c540c-4d81-42df-80a6-f71ede2b59d8)]
interface nsIDOMHTMLByteRanges : nsISupports
{
  /* The number of ranges represented by the object */
  readonly attribute unsigned long length;

  /* The start(index) method must return the position of the first
     byte of the indexth range represented by the object. */
  unsigned long start(in unsigned long index);

  /* The end(index) method must return the position of the byte
     immediately after the last byte of the indexth range represented
     by the object. (The byte position returned by this method is not
     in the range itself. If the first byte of the range is the byte
     at position 0, and the entire stream of bytes is in the range,
     then the value of the position of the byte returned by this
     method for that range will be the same as the number of bytes in
     the stream.) */
  unsigned long end(in unsigned long index);
};
