/* 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, uuid(f6190951-69d0-4ce5-b503-d2535d9de98c)]
interface nsIVisibleTab : nsISupports
{
  attribute AString contentTitle;
  attribute int64_t browserId;
};

[scriptable, uuid(846ff245-ccbf-4c7a-807e-060f02927651)]
interface nsIBrowserWindowTracker : nsISupports
{
  /**
   * Return array of browser tabs that are currently visible.
   */
  Array<nsIVisibleTab> getAllVisibleTabs();

  /**
   * Return browser having given browser id.
   */
  nsISupports getBrowserById(in uint64_t aBrowserId);
};
