/* Copyright (c) 2011 The Chromium Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /** * This file defines the private PPB_Flash_Clipboard API used by * Pepper Flash for reading and writing to the clipboard. */ label Chrome { M17 = 3.0 }; #inline c /** * The old version string for this interface, equivalent to version 3.0. * TODO(viettrungluu): Remove this when enough time has passed. crbug.com/104184 */ #define PPB_FLASH_CLIPBOARD_INTERFACE_3_LEGACY "PPB_Flash_Clipboard;3" #endinl /** * This enumeration contains the types of clipboards that can be accessed. * These types correspond to clipboard types in WebKit. */ [assert_size(4)] enum PP_Flash_Clipboard_Type { /** The standard clipboard. */ PP_FLASH_CLIPBOARD_TYPE_STANDARD = 0, /** The selection clipboard (e.g., on Linux). */ PP_FLASH_CLIPBOARD_TYPE_SELECTION = 1 }; /** * This enumeration contains the supported clipboard data formats. */ [assert_size(4)] enum PP_Flash_Clipboard_Format { /** Indicates an invalid or unsupported clipboard data format. */ PP_FLASH_CLIPBOARD_FORMAT_INVALID = 0, /** Indicates plain text clipboard data. */ PP_FLASH_CLIPBOARD_FORMAT_PLAINTEXT = 1, /** Indicates HTML clipboard data. */ PP_FLASH_CLIPBOARD_FORMAT_HTML = 2 }; /** * The PPB_Flash_Clipboard interface contains pointers to functions * used by Pepper Flash to access the clipboard. * * TODO(viettrungluu): Support more formats (e.g., HTML).... */ [version=3.0] interface PPB_Flash_Clipboard { /** * Checks whether a given data format is available from the given clipboard. * Returns true if the given format is available from the given clipboard. */ PP_Bool IsFormatAvailable( [in] PP_Instance instance_id, [in] PP_Flash_Clipboard_Type clipboard_type, [in] PP_Flash_Clipboard_Format format); /** * Reads plain text data from the clipboard. */ PP_Var ReadPlainText( [in] PP_Instance instance_id, [in] PP_Flash_Clipboard_Type clipboard_type); /** * Writes plain text data to the clipboard. If text is too large, * it will return PP_ERROR_NOSPACE and not write to the * clipboard. */ int32_t WritePlainText( [in] PP_Instance instance_id, [in] PP_Flash_Clipboard_Type clipboard_type, [in] PP_Var text); };