Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  nsCopySupport.h   Sprache: C

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


#ifndef nsCopySupport_h__
#define nsCopySupport_h__

#include <cstdint>
#include "ErrorList.h"
#include "mozilla/AlreadyAddRefed.h"
#include "mozilla/Attributes.h"
#include "mozilla/BasicEvents.h"
#include "mozilla/Maybe.h"
#include "nsIClipboard.h"
#include "nsStringFwd.h"

class nsINode;
class nsIImageLoadingContent;
class nsITransferable;
class nsILoadContext;

namespace mozilla {
class PresShell;
namespace dom {
class DataTransfer;
class Document;
class Selection;
class WindowContext;
}  // namespace dom
}  // namespace mozilla

class nsCopySupport {
  // class of static helper functions for copy support
 public:
  static nsresult ClearSelectionCache();

  /**
   * @param aDoc Needs to be not nullptr.
   */

  static nsresult EncodeDocumentWithContextAndPutToClipboard(
      mozilla::dom::Selection* aSel, mozilla::dom::Document* aDoc,
      nsIClipboard::ClipboardType aClipboardID, bool aWithRubyAnnotation);

  // Get the selection, or entire document, in the format specified by the mime
  // type (text/html or text/plain). If aSel is non-null, use it, otherwise get
  // the entire doc.
  static nsresult GetContents(const nsACString& aMimeType, uint32_t aFlags,
                              mozilla::dom::Selection* aSel,
                              mozilla::dom::Document* aDoc, nsAString& outdata);

  static nsresult ImageCopy(nsIImageLoadingContent* aImageElement,
                            nsILoadContext* aLoadContext, int32_t aCopyFlags,
                            mozilla::dom::WindowContext* aSettingWindowContext);

  // Get the selection as a transferable.
  // @param aSelection Can be nullptr.
  // @param aDocument Needs to be not nullptr.
  // @param aTransferable Needs to be not nullptr.
  static nsresult GetTransferableForSelection(
      mozilla::dom::Selection* aSelection, mozilla::dom::Document* aDocument,
      nsITransferable** aTransferable);

  // Same as GetTransferableForSelection, but doesn't skip invisible content.
  // @param aNode Needs to be not nullptr.
  // @param aDoc Needs to be not nullptr.
  // @param aTransferable Needs to be not nullptr.
  MOZ_CAN_RUN_SCRIPT_BOUNDARY
  static nsresult GetTransferableForNode(nsINode* aNode,
                                         mozilla::dom::Document* aDoc,
                                         nsITransferable** aTransferable);
  /**
   * Retrieve the selection for the given document. If the current focus
   * within the document has its own selection, aSelection will be set to it
   * and this focused content node returned. Otherwise, aSelection will be
   * set to the document's selection and null will be returned.
   */

  static already_AddRefed<mozilla::dom::Selection> GetSelectionForCopy(
      mozilla::dom::Document* aDocument);

  /**
   * Returns true if a copy operation is currently permitted based on the
   * current focus and selection within the specified document.
   */

  static bool CanCopy(mozilla::dom::Document* aDocument);

  /**
   * Fires a cut, copy or paste event, on the given presshell, depending
   * on the value of aEventMessage, which should be either eCut, eCopy or
   * ePaste, and perform the default copy action if the event was not
   * cancelled.
   *
   * If aSelection is specified, then this selection is used as the target
   * of the operation. Otherwise, GetSelectionForCopy is used to retrieve
   * the current selection.
   *
   * This will fire a cut, copy or paste event at the node at the start
   * point of the selection. If a cut or copy event is not cancelled, the
   * selection is copied to the clipboard and true is returned. Paste events
   * have no default behaviour but true will be returned. It is expected
   * that the caller will execute any needed default paste behaviour. Also,
   * note that this method only copies text to the clipboard, the caller is
   * responsible for removing the content during a cut operation if true is
   * returned.
   *
   * aClipboardType specifies which clipboard to use, from nsIClipboard.
   *
   * If aDataTransfer is non-NULL, that data will be used to fire the clipboard
   * event, and the caller is responsible for calling Disconnect(). (and
   * possibly ClearAll())
   *
   * If aActionTaken is non-NULL, it will be set to true if an action was
   * taken, whether it be the default action or the default being prevented.
   *
   * If the event is cancelled or an error occurs, false will be returned.
   */

  MOZ_CAN_RUN_SCRIPT_BOUNDARY
  static bool FireClipboardEvent(
      mozilla::EventMessage aEventMessage,
      mozilla::Maybe<nsIClipboard::ClipboardType> aClipboardType,
      mozilla::PresShell* aPresShell, mozilla::dom::Selection* aSelection,
      mozilla::dom::DataTransfer* aDataTransfer, bool* aActionTaken = nullptr);
};

#endif

100%


¤ Dauer der Verarbeitung: 0.29 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge