widget/nsIApplicationChooser.idl
author Jan Henning <jh+bugzilla@buttercookie.de>
Fri, 11 Jan 2019 21:21:41 +0000
changeset 453568 0355f47af6ceab050018e9c27fc9d9c4bb944662
parent 282426 e22b3043887ed36bf2c634c2924a7c8d39d226b1
permissions -rw-r--r--
Bug 1517976 - Test that resetting WindowUtils.isFirstPaint doesn't clobber APZ scroll position. r=botond We need to setup a case where the visual viewport is smaller than the layout viewport. Faking a pinch zoom through touch events is imprecise, whereas calling windowUtils.setResolutionAndScaleTo(value > 1) to simulate the equivalent effect of a pinch-zoom on the page led to the subsequent scroll attempt failing quite often even after calling waitForApzFlushedRepaints(). So instead, we set up a very wide layout viewport through the meta viewport tag, which on Desktop means additionally enabling the dom.meta-viewport.enabled pref. Differential Revision: https://phabricator.services.mozilla.com/D15791

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * 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"
#include "nsIMIMEInfo.idl"

interface mozIDOMWindowProxy;

[scriptable, function, uuid(8144404d-e6c7-4861-bcca-47de912ee811)]
interface nsIApplicationChooserFinishedCallback : nsISupports
{
  void done(in nsIHandlerApp handlerApp);
};

[scriptable, uuid(f7a149da-612a-46ba-8a2f-54786fc28791)]
interface nsIApplicationChooser : nsISupports
{
 /**
  * Initialize the application chooser picker widget.  The application chooser
  * is not valid until this method is called.
  *
  * @param      parent   nsIDOMWindow parent.  This dialog will be dependent
  *                      on this parent. parent must be non-null.
  * @param      title    The title for the file widget
  *
  */
  void init(in mozIDOMWindowProxy parent, in ACString title);

  /**
   * Open application chooser dialog.
   *
   * @param    contentType   content type of file to open
   * @param    applicationChooserFinishedCallback  callback fuction to run when dialog is closed
   */
  void open(in ACString contentType, in nsIApplicationChooserFinishedCallback applicationChooserFinishedCallback);
};