diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-15 00:03:35 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-15 00:03:35 +0000 |
commit | 2e4361ae9dfaff3359914a89e2ff66771a10c955 (patch) | |
tree | 73567e3307c6cf2f64e7322ac4678278a1486fce /ppapi/api | |
parent | e5aea01b2a4bf4363be6b77995c388202038018c (diff) | |
download | chromium_src-2e4361ae9dfaff3359914a89e2ff66771a10c955.zip chromium_src-2e4361ae9dfaff3359914a89e2ff66771a10c955.tar.gz chromium_src-2e4361ae9dfaff3359914a89e2ff66771a10c955.tar.bz2 |
Rev the Flash interface to add new functionality.
This adds support for IDL in the private directory. Some of the interfaces there don't actually work, they were a work in progress and this breaks everything, so I moved the broken files to a new subdirectory. Everything left in the api/private directory can be autogenerated now.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8930023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114534 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/api')
-rw-r--r-- | ppapi/api/private/finish_writing_these/ppb_flash_file.idl (renamed from ppapi/api/private/ppb_flash_file.idl) | 0 | ||||
-rw-r--r-- | ppapi/api/private/finish_writing_these/ppb_flash_menu.idl (renamed from ppapi/api/private/ppb_flash_menu.idl) | 0 | ||||
-rw-r--r-- | ppapi/api/private/finish_writing_these/ppb_nacl_private.idl (renamed from ppapi/api/private/ppb_nacl_private.idl) | 0 | ||||
-rw-r--r-- | ppapi/api/private/finish_writing_these/ppb_pdf.idl (renamed from ppapi/api/private/ppb_pdf.idl) | 0 | ||||
-rw-r--r-- | ppapi/api/private/finish_writing_these/ppb_proxy_private.idl (renamed from ppapi/api/private/ppb_proxy_private.idl) | 0 | ||||
-rw-r--r-- | ppapi/api/private/ppb_file_ref_private.idl | 5 | ||||
-rw-r--r-- | ppapi/api/private/ppb_flash.idl | 102 |
7 files changed, 93 insertions, 14 deletions
diff --git a/ppapi/api/private/ppb_flash_file.idl b/ppapi/api/private/finish_writing_these/ppb_flash_file.idl index 6ad1a8a..6ad1a8a 100644 --- a/ppapi/api/private/ppb_flash_file.idl +++ b/ppapi/api/private/finish_writing_these/ppb_flash_file.idl diff --git a/ppapi/api/private/ppb_flash_menu.idl b/ppapi/api/private/finish_writing_these/ppb_flash_menu.idl index df6aa44..df6aa44 100644 --- a/ppapi/api/private/ppb_flash_menu.idl +++ b/ppapi/api/private/finish_writing_these/ppb_flash_menu.idl diff --git a/ppapi/api/private/ppb_nacl_private.idl b/ppapi/api/private/finish_writing_these/ppb_nacl_private.idl index 2642a8e..2642a8e 100644 --- a/ppapi/api/private/ppb_nacl_private.idl +++ b/ppapi/api/private/finish_writing_these/ppb_nacl_private.idl diff --git a/ppapi/api/private/ppb_pdf.idl b/ppapi/api/private/finish_writing_these/ppb_pdf.idl index 3a6094f..3a6094f 100644 --- a/ppapi/api/private/ppb_pdf.idl +++ b/ppapi/api/private/finish_writing_these/ppb_pdf.idl diff --git a/ppapi/api/private/ppb_proxy_private.idl b/ppapi/api/private/finish_writing_these/ppb_proxy_private.idl index b455636..b455636 100644 --- a/ppapi/api/private/ppb_proxy_private.idl +++ b/ppapi/api/private/finish_writing_these/ppb_proxy_private.idl diff --git a/ppapi/api/private/ppb_file_ref_private.idl b/ppapi/api/private/ppb_file_ref_private.idl index 7ce053a..0b0da72 100644 --- a/ppapi/api/private/ppb_file_ref_private.idl +++ b/ppapi/api/private/ppb_file_ref_private.idl @@ -3,7 +3,10 @@ * found in the LICENSE file. */ -/* This file contains PPB_FileRefPrivate interface. */ +/* This file contains the <code>PPB_FileRefPrivate</code> interface. */ +label Chrome { + M15 = 0.1 +}; /* PPB_FileRefPrivate interface */ interface PPB_FileRefPrivate { diff --git a/ppapi/api/private/ppb_flash.idl b/ppapi/api/private/ppb_flash.idl index 55a3862..81960a7 100644 --- a/ppapi/api/private/ppb_flash.idl +++ b/ppapi/api/private/ppb_flash.idl @@ -3,11 +3,21 @@ * found in the LICENSE file. */ -/* This file contains PPB_Flash interface. */ +/** + * This file contains the <code>PPB_Flash</code> interface. + */ + +label Chrome { + M17 = 12.0 +}; -/* PPB_Flash interface. */ -interface PPB_Flash_0_7 { - /* Sets or clears the rendering hint that the given plugin instance is always +/** + * The <code>PPB_Flash</code> interface contains pointers to various functions + * that are only needed to support Pepper Flash. + */ +interface PPB_Flash { + /** + * Sets or clears the rendering hint that the given plugin instance is always * on top of page content. Somewhat more optimized painting can be used in * this case. */ @@ -15,6 +25,14 @@ interface PPB_Flash_0_7 { [in] PP_Instance instance, [in] PP_Bool on_top); + /** + * Draws the given pre-laid-out text. It is almost equivalent to Windows' + * ExtTextOut with the addition of the transformation (a 3x3 matrix given the + * transform to apply before drawing). It also adds the allow_subpixel_aa + * flag which when true, will use subpixel antialiasing if enabled in the + * system settings. For this to work properly, the graphics layer that the + * text is being drawn into must be opaque. + */ PP_Bool DrawGlyphs( [in] PP_Instance instance, [in] PP_Resource pp_image_data, @@ -23,27 +41,30 @@ interface PPB_Flash_0_7 { [in] PP_Point position, [in] PP_Rect clip, [in] float_t[3][3] transformation, + [in] PP_Bool allow_subpixel_aa, [in] uint32_t glyph_count, [in, size_is(glyph_count)] uint16_t[] glyph_indices, [in, size_is(glyph_count)] PP_Point[] glyph_advances); - /* Retrieves the proxy that will be used for the given URL. The result will + /** + * Retrieves the proxy that will be used for the given URL. The result will * be a string in PAC format, or an undefined var on error. */ PP_Var GetProxyForURL( [in] PP_Instance instance, [in] str_t url); - /* Navigate to URL. May open a new tab if target is not "_self". Return true - * if success. This differs from javascript:window.open() in that it bypasses - * the popup blocker, even when this is not called from an event handler. + /** + * Navigate to the URL given by the given URLRequestInfo. (This supports GETs, + * POSTs, and javascript: URLs.) May open a new tab if target is not "_self". */ - PP_Bool NavigateToURL( - [in] PP_Instance instance, - [in] str_t url, - [in] str_t target); + int32_t Navigate( + [in] PP_Resource request_info, + [in] str_t target, + [in] PP_Bool from_user_action); - /* Runs a nested message loop. The plugin will be reentered from this call. + /** + * Runs a nested message loop. The plugin will be reentered from this call. * This function is used in places where Flash would normally enter a nested * message loop (e.g., when displaying context menus), but Pepper provides * only an asynchronous call. After performing that asynchronous call, call @@ -57,4 +78,59 @@ interface PPB_Flash_0_7 { */ void QuitMessageLoop( [in] PP_Instance instance); + + /** + * Retrieves the local time zone offset from GM time for the given UTC time. + */ + double_t GetLocalTimeZoneOffset( + [in] PP_Instance instance, + [in] PP_Time t); + + /** + * Gets a (string) with "command-line" options for Flash; used to pass + * run-time debugging parameters, etc. + */ + PP_Var GetCommandLineArgs( + [in] PP_Module module); + + /** + * Loads the given font in a more priviledged process on Windows. Call this if + * Windows is giving errors for font calls. See + * content/renderer/font_cache_dispatcher_win.cc + * + * The parameter is a pointer to a LOGFONTW structure. + * + * On non-Windows platforms, this function does nothing. + */ + void PreloadFontWin( + [in] mem_t logfontw); +}; + +#inline c +/** + * The old version of the interface, which cannot be generated from IDL. + * TODO(viettrungluu): Remove this when enough time has passed. crbug.com/104184 + */ +#define PPB_FLASH_INTERFACE_11_0 "PPB_Flash;11" +struct PPB_Flash_11 { + void (*SetInstanceAlwaysOnTop)(PP_Instance instance, PP_Bool on_top); + PP_Bool (*DrawGlyphs)(PP_Instance instance, + PP_Resource pp_image_data, + const struct PP_FontDescription_Dev* font_desc, + uint32_t color, + struct PP_Point position, + struct PP_Rect clip, + const float transformation[3][3], + uint32_t glyph_count, + const uint16_t glyph_indices[], + const struct PP_Point glyph_advances[]); + struct PP_Var (*GetProxyForURL)(PP_Instance instance, const char* url); + int32_t (*Navigate)(PP_Resource request_info, + const char* target, + bool from_user_action); + void (*RunMessageLoop)(PP_Instance instance); + void (*QuitMessageLoop)(PP_Instance instance); + double (*GetLocalTimeZoneOffset)(PP_Instance instance, PP_Time t); + struct PP_Var (*GetCommandLineArgs)(PP_Module module); }; +#endinl |