widget/nsIMacSharingService.idl
author Doug Thayer <dothayer@mozilla.com>
Fri, 01 Mar 2019 18:29:09 +0000
changeset 520116 8b3fe0426ffc1b3a2ad044ef6cdde6c4f736f8e2
parent 482177 2df15ca705ecf44482833b2cfc1696fbc42fb19f
permissions -rw-r--r--
Bug 1442694 - Fix failures due to removing selected tab r=Gijs This adds test which reproduce the failure as well as the fix. Essentially, if we hit the edited case in SessionStore with `tab` equal to `tabbrowser.tabs[t]`, we remove the tab and then try to pin it, which obviously blows up. Note: the additional method in SessionStore.jsm was largely to get around complexity requirements inside restoreWindow. Cleaner solutions welcome. Differential Revision: https://phabricator.services.mozilla.com/D21383

/* 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"

/**
 * Allow applications to interface with the Mac OS X Sharing APIs.
 */

[scriptable, uuid(de59fe1a-46c8-490f-b04d-34545acb06c9)]
interface nsIMacSharingService : nsISupports
{
  /**
   * Get list of sharing providers
   */
  [implicit_jscontext] jsval getSharingProviders(in AString pageUrl);

  /**
   * Launch service with shareTitle with given url
   */
  void shareUrl(in AString serviceName,
                in AString pageUrl,
                in AString pageTitle);

  /**
   * Open the MacOS preferences window to the sharing panel
   */
  void openSharingPreferences();
};