summaryrefslogtreecommitdiffstats
path: root/ppapi/api
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-15 00:03:35 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-15 00:03:35 +0000
commit2e4361ae9dfaff3359914a89e2ff66771a10c955 (patch)
tree73567e3307c6cf2f64e7322ac4678278a1486fce /ppapi/api
parente5aea01b2a4bf4363be6b77995c388202038018c (diff)
downloadchromium_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.idl5
-rw-r--r--ppapi/api/private/ppb_flash.idl102
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