editor/nsIHTMLObjectResizer.idl
author Masayuki Nakano <masayuki@d-toybox.com>
Thu, 09 May 2019 07:37:51 +0000
changeset 531999 182cddeb1d5c3da2ad98d614dca215acc362eed5
parent 491390 bd66e63ffd37f43803e35f7188e1cb79a93d1141
permissions -rw-r--r--
Bug 1549925 - Mark all methods of nsIDocumentStateListener as can_run_script r=m_kato `nsIDocumentStateListener` is a scriptable interface and each method may run any script. So, we should mark them as `can_run_script`. Then, we need to mark a lot of editing methods because we need to mark `EditorBase::EndTransactionInternal()` and `EditorBase::DoTransactionInternal()` as `MOZ_CAN_RUN_SCRIPT`. Differential Revision: https://phabricator.services.mozilla.com/D30360

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

webidl Element;

[scriptable, builtinclass, 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;

  /**
   * a boolean indicating if object resizing is enabled in the editor
   */
  [can_run_script]  // Setter only.
  attribute boolean objectResizingEnabled;

  /**
   * Hide resizers if they are visible.  If this is called while there is no
   * visible resizers, this does not throw exception, just does nothing.
   */
  void hideResizers();

  /**
   * Refresh positions of resizers.  If you change size of target of resizers,
   * you need to refresh position of resizers with calling this.
   * FYI: Current user in script is only BlueGriffon.
   */
  [can_run_script]
  void refreshResizers();
};