editor/nsIHTMLObjectResizer.idl
author Mike Hommey <mh+mozilla@glandium.org>
Wed, 01 Jun 2016 07:22:49 +0900
changeset 340685 1d2c46c8c7c764daf8638663524033dfe330cf0a
parent 215305 faecfa9d0bb6c46e32934182e6154758190262ed
child 398304 7238d6cfd63fa9b56e3984022f27011f11dda832
permissions -rw-r--r--
Bug 1244446 - Run automation build steps before postflight_all. r=gps,r=ted Killing the sccache background daemon is part of postflight_all, but in the current setup, postflight_all happens at the end of a "normal" build, but we run automation build steps after that. What happens then is that more compilations happen (gtests), which start sccache again, but there's nothing to kill sccache again once this is all done. Now that the OSX universal builds postflight is gone, it is not necessary for postflight_all to happen before the automation build steps. So ensure postflight_all scripts happen last. The downside of this change is that this now prevents sccache.log from being uploaded, but we should probably send processed data to the graph server instead.

/* -*- 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 "domstubs.idl"

interface nsIHTMLObjectResizeListener;

[scriptable, uuid(8b396020-69d3-451f-80c1-1a96a7da25a9)]

interface nsIHTMLObjectResizer : nsISupports
{
%{C++
  typedef short EResizerLocation;
%}
  const short eTopLeft = 0;
  const short eTop = 1;
  const short eTopRight = 2;
  const short eLeft = 3;
  const short eRight = 4;
  const short eBottomLeft = 5;
  const short eBottom = 6;
  const short eBottomRight = 7;

  /**
   * the element currently displaying resizers
   */
  readonly attribute nsIDOMElement resizedObject;

  /**
   * a boolean indicating if object resizing is enabled in the editor
   */
  attribute boolean objectResizingEnabled;

  /**
   * Shows active resizers around an element's frame
   * @param aResizedElement [IN] a DOM Element
   */
  void showResizers(in nsIDOMElement aResizedElement);

  /**
   * Hide resizers if they are visible
   */
  void hideResizers();

  /**
   * Refresh visible resizers
   */
  void refreshResizers();

  /**
   * event callback when a mouse button is pressed
   * @param aX      [IN] horizontal position of the pointer
   * @param aY      [IN] vertical position of the pointer
   * @param aTarget [IN] the element triggering the event
   * @param aMouseEvent [IN] the event
   */
  void mouseDown(in long aX, in long aY,
                 in nsIDOMElement aTarget, in nsIDOMEvent aMouseEvent);

  /**
   * event callback when a mouse button is released
   * @param aX      [IN] horizontal position of the pointer
   * @param aY      [IN] vertical position of the pointer
   * @param aTarget [IN] the element triggering the event
   */
  void mouseUp(in long aX, in long aY,
               in nsIDOMElement aTarget);

  /**
   * event callback when the mouse pointer is moved
   * @param aMouseEvent [IN] the event
   */
  void mouseMove(in nsIDOMEvent aMouseEvent);

  /* Event Listeners */

  /**
   * Creates a resize listener that can be used to get notifications
   * that the user started to resize an object or finalized such an operation
   * @param aListener [IN] an instance of nsIHTMLObjectResizeListener
   */
  void addObjectResizeEventListener(in nsIHTMLObjectResizeListener aListener);

  /**
   * Deletes a resize listener
   * @param aListener [IN] an instance of nsIHTMLObjectResizeListener
   */
  void removeObjectResizeEventListener(in nsIHTMLObjectResizeListener aListener);
};