// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Use the <code>chrome.browser</code> API to interact with the Chrome browser
// associated with the current application and Chrome profile.
namespace browser {
  // Options for the $(ref:openTab) function.
  dictionary OpenTabOptions {
    // The URL to navigate to when the new tab is initially opened.
    DOMString url;
  };

  callback Callback = void();

  interface Functions {
    // Opens a new tab in a browser window associated with the current
    // application and Chrome profile. If no browser window for the Chrome
    // profile is opened, a new one is opened prior to creating the new tab.
    // |options|: Configures how the tab should be opened.
    // |callback|: Called when the tab was successfully created, or failed to
    // be created. If failed, $(ref:runtime.lastError) will be set.
    static void openTab(OpenTabOptions options,
                        optional Callback callback);
  };
};
