Use PP_BrowserFont_Trusted_Description
instead of PP_FontDescription_Dev for the FLash interface

This changes the old interface without revving the version. This is because the new struct is exactly the same as the old one with a different name, so it will not break binary compat.

BUG=

Review URL: https://codereview.chromium.org/11475006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171865 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/renderer/pepper/pepper_flash_font_file_host.cc b/chrome/renderer/pepper/pepper_flash_font_file_host.cc
index 416d426..a568618 100644
--- a/chrome/renderer/pepper/pepper_flash_font_file_host.cc
+++ b/chrome/renderer/pepper/pepper_flash_font_file_host.cc
@@ -30,7 +30,8 @@
       fd_(-1) {
 #if defined(OS_LINUX) || defined(OS_OPENBSD)
   fd_ = content::MatchFontWithFallback(
-      description.face.c_str(), description.weight >= PP_FONTWEIGHT_BOLD,
+      description.face.c_str(), description.weight >=
+          PP_BROWSERFONT_TRUSTED_WEIGHT_BOLD,
       description.italic, charset);
 #endif  // defined(OS_LINUX) || defined(OS_OPENBSD)
 }
diff --git a/ppapi/api/private/ppb_flash.idl b/ppapi/api/private/ppb_flash.idl
index c84268b2..692b864 100644
--- a/ppapi/api/private/ppb_flash.idl
+++ b/ppapi/api/private/ppb_flash.idl
@@ -123,7 +123,7 @@
   PP_Bool DrawGlyphs(
       [in] PP_Instance instance,
       [in] PP_Resource pp_image_data,
-      [in] PP_FontDescription_Dev font_desc,
+      [in] PP_BrowserFont_Trusted_Description font_desc,
       [in] uint32_t color,
       [in] PP_Point position,
       [in] PP_Rect clip,
diff --git a/ppapi/c/private/ppb_flash.h b/ppapi/c/private/ppb_flash.h
index 36645cc..8dc057b 100644
--- a/ppapi/c/private/ppb_flash.h
+++ b/ppapi/c/private/ppb_flash.h
@@ -3,12 +3,11 @@
  * found in the LICENSE file.
  */
 
-/* From private/ppb_flash.idl modified Tue Nov 20 10:12:16 2012. */
+/* From private/ppb_flash.idl modified Thu Dec 06 12:27:21 2012. */
 
 #ifndef PPAPI_C_PRIVATE_PPB_FLASH_H_
 #define PPAPI_C_PRIVATE_PPB_FLASH_H_
 
-#include "ppapi/c/dev/ppb_font_dev.h"
 #include "ppapi/c/pp_array_output.h"
 #include "ppapi/c/pp_bool.h"
 #include "ppapi/c/pp_instance.h"
@@ -21,6 +20,7 @@
 #include "ppapi/c/pp_stdint.h"
 #include "ppapi/c/pp_time.h"
 #include "ppapi/c/pp_var.h"
+#include "ppapi/c/trusted/ppb_browser_font_trusted.h"
 
 #define PPB_FLASH_INTERFACE_12_4 "PPB_Flash;12.4"
 #define PPB_FLASH_INTERFACE_12_5 "PPB_Flash;12.5"
@@ -141,17 +141,18 @@
    * system settings. For this to work properly, the graphics layer that the
    * text is being drawn into must be opaque.
    */
-  PP_Bool (*DrawGlyphs)(PP_Instance instance,
-                        PP_Resource pp_image_data,
-                        const struct PP_FontDescription_Dev* font_desc,
-                        uint32_t color,
-                        const struct PP_Point* position,
-                        const struct PP_Rect* clip,
-                        const float transformation[3][3],
-                        PP_Bool allow_subpixel_aa,
-                        uint32_t glyph_count,
-                        const uint16_t glyph_indices[],
-                        const struct PP_Point glyph_advances[]);
+  PP_Bool (*DrawGlyphs)(
+      PP_Instance instance,
+      PP_Resource pp_image_data,
+      const struct PP_BrowserFont_Trusted_Description* font_desc,
+      uint32_t color,
+      const struct PP_Point* position,
+      const struct PP_Rect* clip,
+      const float transformation[3][3],
+      PP_Bool allow_subpixel_aa,
+      uint32_t glyph_count,
+      const uint16_t glyph_indices[],
+      const struct PP_Point glyph_advances[]);
   /**
    * 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.
@@ -227,17 +228,18 @@
 
 struct PPB_Flash_12_4 {
   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,
-                        const struct PP_Point* position,
-                        const struct PP_Rect* clip,
-                        const float transformation[3][3],
-                        PP_Bool allow_subpixel_aa,
-                        uint32_t glyph_count,
-                        const uint16_t glyph_indices[],
-                        const struct PP_Point glyph_advances[]);
+  PP_Bool (*DrawGlyphs)(
+      PP_Instance instance,
+      PP_Resource pp_image_data,
+      const struct PP_BrowserFont_Trusted_Description* font_desc,
+      uint32_t color,
+      const struct PP_Point* position,
+      const struct PP_Rect* clip,
+      const float transformation[3][3],
+      PP_Bool allow_subpixel_aa,
+      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,
@@ -257,17 +259,18 @@
 
 struct PPB_Flash_12_5 {
   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,
-                        const struct PP_Point* position,
-                        const struct PP_Rect* clip,
-                        const float transformation[3][3],
-                        PP_Bool allow_subpixel_aa,
-                        uint32_t glyph_count,
-                        const uint16_t glyph_indices[],
-                        const struct PP_Point glyph_advances[]);
+  PP_Bool (*DrawGlyphs)(
+      PP_Instance instance,
+      PP_Resource pp_image_data,
+      const struct PP_BrowserFont_Trusted_Description* font_desc,
+      uint32_t color,
+      const struct PP_Point* position,
+      const struct PP_Rect* clip,
+      const float transformation[3][3],
+      PP_Bool allow_subpixel_aa,
+      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,
@@ -290,17 +293,18 @@
 
 struct PPB_Flash_12_6 {
   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,
-                        const struct PP_Point* position,
-                        const struct PP_Rect* clip,
-                        const float transformation[3][3],
-                        PP_Bool allow_subpixel_aa,
-                        uint32_t glyph_count,
-                        const uint16_t glyph_indices[],
-                        const struct PP_Point glyph_advances[]);
+  PP_Bool (*DrawGlyphs)(
+      PP_Instance instance,
+      PP_Resource pp_image_data,
+      const struct PP_BrowserFont_Trusted_Description* font_desc,
+      uint32_t color,
+      const struct PP_Point* position,
+      const struct PP_Rect* clip,
+      const float transformation[3][3],
+      PP_Bool allow_subpixel_aa,
+      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,
diff --git a/ppapi/cpp/private/DEPS b/ppapi/cpp/private/DEPS
index f11fdd6..18adee2a 100644
--- a/ppapi/cpp/private/DEPS
+++ b/ppapi/cpp/private/DEPS
@@ -1,3 +1,4 @@
 include_rules = [
   "+ppapi/c/private",
+  "+ppapi/cpp/trusted",
 ]
diff --git a/ppapi/cpp/private/flash.cc b/ppapi/cpp/private/flash.cc
index bdf86f5c..757dbecb 100644
--- a/ppapi/cpp/private/flash.cc
+++ b/ppapi/cpp/private/flash.cc
@@ -9,7 +9,6 @@
 #include "ppapi/c/pp_bool.h"
 #include "ppapi/c/pp_errors.h"
 #include "ppapi/cpp/dev/device_ref_dev.h"
-#include "ppapi/cpp/dev/font_dev.h"
 #include "ppapi/cpp/dev/video_capture_dev.h"
 #include "ppapi/cpp/image_data.h"
 #include "ppapi/cpp/instance_handle.h"
@@ -17,6 +16,7 @@
 #include "ppapi/cpp/module_impl.h"
 #include "ppapi/cpp/point.h"
 #include "ppapi/cpp/rect.h"
+#include "ppapi/cpp/trusted/browser_font_trusted.h"
 #include "ppapi/cpp/url_request_info.h"
 #include "ppapi/cpp/var.h"
 #include "ppapi/c/private/ppb_flash.h"
@@ -100,7 +100,7 @@
 // static
 bool Flash::DrawGlyphs(const InstanceHandle& instance,
                        ImageData* image,
-                       const FontDescription_Dev& font_desc,
+                       const BrowserFontDescription& font_desc,
                        uint32_t color,
                        const Point& position,
                        const Rect& clip,
diff --git a/ppapi/cpp/private/flash.h b/ppapi/cpp/private/flash.h
index 857c689..6a6b7c3 100644
--- a/ppapi/cpp/private/flash.h
+++ b/ppapi/cpp/private/flash.h
@@ -16,8 +16,8 @@
 
 namespace pp {
 
+class BrowserFontDescription;
 class DeviceRef_Dev;
-class FontDescription_Dev;
 class ImageData;
 class InstanceHandle;
 class Module;
@@ -38,7 +38,7 @@
                                      bool on_top);
   static bool DrawGlyphs(const InstanceHandle& instance,
                          ImageData* image,
-                         const FontDescription_Dev& font_desc,
+                         const BrowserFontDescription& font_desc,
                          uint32_t color,
                          const Point& position,
                          const Rect& clip,
diff --git a/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c b/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c
index a8ccce0..1209f47 100644
--- a/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c
+++ b/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c
@@ -2246,7 +2246,7 @@
 }
 
 static __attribute__((pnaclcall))
-PP_Bool Pnacl_M21_PPB_Flash_DrawGlyphs(PP_Instance instance, PP_Resource pp_image_data, const struct PP_FontDescription_Dev* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]) {
+PP_Bool Pnacl_M21_PPB_Flash_DrawGlyphs(PP_Instance instance, PP_Resource pp_image_data, const struct PP_BrowserFont_Trusted_Description* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]) {
   const struct PPB_Flash_12_4 *iface = Pnacl_WrapperInfo_PPB_Flash_12_4.real_iface;
   return iface->DrawGlyphs(instance, pp_image_data, font_desc, color, position, clip, transformation, allow_subpixel_aa, glyph_count, glyph_indices, glyph_advances);
 }
@@ -2340,7 +2340,7 @@
 }
 
 static __attribute__((pnaclcall))
-PP_Bool Pnacl_M22_PPB_Flash_DrawGlyphs(PP_Instance instance, PP_Resource pp_image_data, const struct PP_FontDescription_Dev* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]) {
+PP_Bool Pnacl_M22_PPB_Flash_DrawGlyphs(PP_Instance instance, PP_Resource pp_image_data, const struct PP_BrowserFont_Trusted_Description* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]) {
   const struct PPB_Flash_12_5 *iface = Pnacl_WrapperInfo_PPB_Flash_12_5.real_iface;
   return iface->DrawGlyphs(instance, pp_image_data, font_desc, color, position, clip, transformation, allow_subpixel_aa, glyph_count, glyph_indices, glyph_advances);
 }
@@ -2440,7 +2440,7 @@
 }
 
 static __attribute__((pnaclcall))
-PP_Bool Pnacl_M24_0_PPB_Flash_DrawGlyphs(PP_Instance instance, PP_Resource pp_image_data, const struct PP_FontDescription_Dev* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]) {
+PP_Bool Pnacl_M24_0_PPB_Flash_DrawGlyphs(PP_Instance instance, PP_Resource pp_image_data, const struct PP_BrowserFont_Trusted_Description* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]) {
   const struct PPB_Flash_12_6 *iface = Pnacl_WrapperInfo_PPB_Flash_12_6.real_iface;
   return iface->DrawGlyphs(instance, pp_image_data, font_desc, color, position, clip, transformation, allow_subpixel_aa, glyph_count, glyph_indices, glyph_advances);
 }
@@ -2546,7 +2546,7 @@
 }
 
 static __attribute__((pnaclcall))
-PP_Bool Pnacl_M24_1_PPB_Flash_DrawGlyphs(PP_Instance instance, PP_Resource pp_image_data, const struct PP_FontDescription_Dev* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]) {
+PP_Bool Pnacl_M24_1_PPB_Flash_DrawGlyphs(PP_Instance instance, PP_Resource pp_image_data, const struct PP_BrowserFont_Trusted_Description* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]) {
   const struct PPB_Flash_13_0 *iface = Pnacl_WrapperInfo_PPB_Flash_13_0.real_iface;
   return iface->DrawGlyphs(instance, pp_image_data, font_desc, color, position, clip, transformation, allow_subpixel_aa, glyph_count, glyph_indices, glyph_advances);
 }
@@ -3965,7 +3965,7 @@
 
 struct PPB_Flash_12_4 Pnacl_Wrappers_PPB_Flash_12_4 = {
     .SetInstanceAlwaysOnTop = (void (*)(PP_Instance instance, PP_Bool on_top))&Pnacl_M21_PPB_Flash_SetInstanceAlwaysOnTop,
-    .DrawGlyphs = (PP_Bool (*)(PP_Instance instance, PP_Resource pp_image_data, const struct PP_FontDescription_Dev* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]))&Pnacl_M21_PPB_Flash_DrawGlyphs,
+    .DrawGlyphs = (PP_Bool (*)(PP_Instance instance, PP_Resource pp_image_data, const struct PP_BrowserFont_Trusted_Description* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]))&Pnacl_M21_PPB_Flash_DrawGlyphs,
     .GetProxyForURL = (struct PP_Var (*)(PP_Instance instance, const char* url))&Pnacl_M21_PPB_Flash_GetProxyForURL,
     .Navigate = (int32_t (*)(PP_Resource request_info, const char* target, PP_Bool from_user_action))&Pnacl_M21_PPB_Flash_Navigate,
     .RunMessageLoop = (void (*)(PP_Instance instance))&Pnacl_M21_PPB_Flash_RunMessageLoop,
@@ -3983,7 +3983,7 @@
 
 struct PPB_Flash_12_5 Pnacl_Wrappers_PPB_Flash_12_5 = {
     .SetInstanceAlwaysOnTop = (void (*)(PP_Instance instance, PP_Bool on_top))&Pnacl_M22_PPB_Flash_SetInstanceAlwaysOnTop,
-    .DrawGlyphs = (PP_Bool (*)(PP_Instance instance, PP_Resource pp_image_data, const struct PP_FontDescription_Dev* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]))&Pnacl_M22_PPB_Flash_DrawGlyphs,
+    .DrawGlyphs = (PP_Bool (*)(PP_Instance instance, PP_Resource pp_image_data, const struct PP_BrowserFont_Trusted_Description* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]))&Pnacl_M22_PPB_Flash_DrawGlyphs,
     .GetProxyForURL = (struct PP_Var (*)(PP_Instance instance, const char* url))&Pnacl_M22_PPB_Flash_GetProxyForURL,
     .Navigate = (int32_t (*)(PP_Resource request_info, const char* target, PP_Bool from_user_action))&Pnacl_M22_PPB_Flash_Navigate,
     .RunMessageLoop = (void (*)(PP_Instance instance))&Pnacl_M22_PPB_Flash_RunMessageLoop,
@@ -4002,7 +4002,7 @@
 
 struct PPB_Flash_12_6 Pnacl_Wrappers_PPB_Flash_12_6 = {
     .SetInstanceAlwaysOnTop = (void (*)(PP_Instance instance, PP_Bool on_top))&Pnacl_M24_0_PPB_Flash_SetInstanceAlwaysOnTop,
-    .DrawGlyphs = (PP_Bool (*)(PP_Instance instance, PP_Resource pp_image_data, const struct PP_FontDescription_Dev* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]))&Pnacl_M24_0_PPB_Flash_DrawGlyphs,
+    .DrawGlyphs = (PP_Bool (*)(PP_Instance instance, PP_Resource pp_image_data, const struct PP_BrowserFont_Trusted_Description* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]))&Pnacl_M24_0_PPB_Flash_DrawGlyphs,
     .GetProxyForURL = (struct PP_Var (*)(PP_Instance instance, const char* url))&Pnacl_M24_0_PPB_Flash_GetProxyForURL,
     .Navigate = (int32_t (*)(PP_Resource request_info, const char* target, PP_Bool from_user_action))&Pnacl_M24_0_PPB_Flash_Navigate,
     .RunMessageLoop = (void (*)(PP_Instance instance))&Pnacl_M24_0_PPB_Flash_RunMessageLoop,
@@ -4022,7 +4022,7 @@
 
 struct PPB_Flash_13_0 Pnacl_Wrappers_PPB_Flash_13_0 = {
     .SetInstanceAlwaysOnTop = (void (*)(PP_Instance instance, PP_Bool on_top))&Pnacl_M24_1_PPB_Flash_SetInstanceAlwaysOnTop,
-    .DrawGlyphs = (PP_Bool (*)(PP_Instance instance, PP_Resource pp_image_data, const struct PP_FontDescription_Dev* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]))&Pnacl_M24_1_PPB_Flash_DrawGlyphs,
+    .DrawGlyphs = (PP_Bool (*)(PP_Instance instance, PP_Resource pp_image_data, const struct PP_BrowserFont_Trusted_Description* font_desc, uint32_t color, const struct PP_Point* position, const struct PP_Rect* clip, const float transformation[3][3], PP_Bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const struct PP_Point glyph_advances[]))&Pnacl_M24_1_PPB_Flash_DrawGlyphs,
     .GetProxyForURL = (struct PP_Var (*)(PP_Instance instance, const char* url))&Pnacl_M24_1_PPB_Flash_GetProxyForURL,
     .Navigate = (int32_t (*)(PP_Resource request_info, const char* target, PP_Bool from_user_action))&Pnacl_M24_1_PPB_Flash_Navigate,
     .GetLocalTimeZoneOffset = (double (*)(PP_Instance instance, PP_Time t))&Pnacl_M24_1_PPB_Flash_GetLocalTimeZoneOffset,
diff --git a/ppapi/proxy/browser_font_resource_trusted.h b/ppapi/proxy/browser_font_resource_trusted.h
index 1dc1fa58..a3b9a70 100644
--- a/ppapi/proxy/browser_font_resource_trusted.h
+++ b/ppapi/proxy/browser_font_resource_trusted.h
@@ -46,7 +46,7 @@
   virtual ::ppapi::thunk::PPB_BrowserFont_Trusted_API*
       AsPPB_BrowserFont_Trusted_API() OVERRIDE;
 
-  // PPB_Font implementation.
+  // PPB_BrowserFont_Trusted_API implementation.
   virtual PP_Bool Describe(PP_BrowserFont_Trusted_Description* description,
                            PP_BrowserFont_Trusted_Metrics* metrics) OVERRIDE;
   virtual PP_Bool DrawTextAt(PP_Resource image_data,
diff --git a/ppapi/proxy/ppb_flash_proxy.cc b/ppapi/proxy/ppb_flash_proxy.cc
index 845244ef..05079107 100644
--- a/ppapi/proxy/ppb_flash_proxy.cc
+++ b/ppapi/proxy/ppb_flash_proxy.cc
@@ -14,12 +14,12 @@
 #include "base/message_loop.h"
 #include "base/time.h"
 #include "build/build_config.h"
-#include "ppapi/c/dev/ppb_font_dev.h"
 #include "ppapi/c/dev/ppb_var_deprecated.h"
 #include "ppapi/c/pp_errors.h"
 #include "ppapi/c/pp_resource.h"
 #include "ppapi/c/private/ppb_flash.h"
 #include "ppapi/c/private/ppb_flash_print.h"
+#include "ppapi/c/trusted/ppb_browser_font_trusted.h"
 #include "ppapi/proxy/host_dispatcher.h"
 #include "ppapi/proxy/pepper_file_messages.h"
 #include "ppapi/proxy/plugin_dispatcher.h"
@@ -145,17 +145,18 @@
       API_ID_PPB_FLASH, instance, on_top));
 }
 
-PP_Bool PPB_Flash_Proxy::DrawGlyphs(PP_Instance instance,
-                                    PP_Resource pp_image_data,
-                                    const PP_FontDescription_Dev* font_desc,
-                                    uint32_t color,
-                                    const PP_Point* position,
-                                    const PP_Rect* clip,
-                                    const float transformation[3][3],
-                                    PP_Bool allow_subpixel_aa,
-                                    uint32_t glyph_count,
-                                    const uint16_t glyph_indices[],
-                                    const PP_Point glyph_advances[]) {
+PP_Bool PPB_Flash_Proxy::DrawGlyphs(
+    PP_Instance instance,
+    PP_Resource pp_image_data,
+    const PP_BrowserFont_Trusted_Description* font_desc,
+    uint32_t color,
+    const PP_Point* position,
+    const PP_Rect* clip,
+    const float transformation[3][3],
+    PP_Bool allow_subpixel_aa,
+    uint32_t glyph_count,
+    const uint16_t glyph_indices[],
+    const PP_Point glyph_advances[]) {
   Resource* image_data =
       PpapiGlobals::Get()->GetResourceTracker()->GetResource(pp_image_data);
   if (!image_data)
@@ -167,7 +168,7 @@
 
   PPBFlash_DrawGlyphs_Params params;
   params.image_data = image_data->host_resource();
-  params.font_desc.SetFromPPFontDescription(*font_desc);
+  params.font_desc.SetFromPPBrowserFontDescription(*font_desc);
   params.color = color;
   params.position = *position;
   params.clip = *clip;
@@ -500,8 +501,8 @@
       params.glyph_indices.empty())
     return;
 
-  PP_FontDescription_Dev font_desc;
-  params.font_desc.SetToPPFontDescription(&font_desc);
+  PP_BrowserFont_Trusted_Description font_desc;
+  params.font_desc.SetToPPBrowserFontDescription(&font_desc);
 
   *result = enter.functions()->GetFlashAPI()->DrawGlyphs(
       0,  // Unused instance param.
diff --git a/ppapi/proxy/ppb_flash_proxy.h b/ppapi/proxy/ppb_flash_proxy.h
index 6043d2c..d9bea31 100644
--- a/ppapi/proxy/ppb_flash_proxy.h
+++ b/ppapi/proxy/ppb_flash_proxy.h
@@ -53,17 +53,18 @@
   // PPB_Flash_API implementation.
   virtual void SetInstanceAlwaysOnTop(PP_Instance instance,
                                       PP_Bool on_top) OVERRIDE;
-  virtual PP_Bool DrawGlyphs(PP_Instance instance,
-                             PP_Resource pp_image_data,
-                             const PP_FontDescription_Dev* font_desc,
-                             uint32_t color,
-                             const PP_Point* position,
-                             const PP_Rect* clip,
-                             const float transformation[3][3],
-                             PP_Bool allow_subpixel_aa,
-                             uint32_t glyph_count,
-                             const uint16_t glyph_indices[],
-                             const PP_Point glyph_advances[]) OVERRIDE;
+  virtual PP_Bool DrawGlyphs(
+      PP_Instance instance,
+      PP_Resource pp_image_data,
+      const PP_BrowserFont_Trusted_Description* font_desc,
+      uint32_t color,
+      const PP_Point* position,
+      const PP_Rect* clip,
+      const float transformation[3][3],
+      PP_Bool allow_subpixel_aa,
+      uint32_t glyph_count,
+      const uint16_t glyph_indices[],
+      const PP_Point glyph_advances[]) OVERRIDE;
   virtual int32_t Navigate(PP_Instance instance,
                            PP_Resource request_info,
                            const char* target,
diff --git a/ppapi/proxy/serialized_structs.cc b/ppapi/proxy/serialized_structs.cc
index f83ae0b..2904f9b8 100644
--- a/ppapi/proxy/serialized_structs.cc
+++ b/ppapi/proxy/serialized_structs.cc
@@ -12,6 +12,7 @@
 #include "ppapi/c/dev/ppb_font_dev.h"
 #include "ppapi/c/pp_file_info.h"
 #include "ppapi/c/pp_rect.h"
+#include "ppapi/c/trusted/ppb_browser_font_trusted.h"
 #include "ppapi/shared_impl/var.h"
 
 #if defined(OS_NACL)
@@ -48,6 +49,20 @@
   word_spacing = desc.word_spacing;
 }
 
+void SerializedFontDescription::SetFromPPBrowserFontDescription(
+    const PP_BrowserFont_Trusted_Description& desc) {
+  StringVar* string_var = StringVar::FromPPVar(desc.face);
+  face = string_var ? string_var->value() : std::string();
+
+  family = desc.family;
+  size = desc.size;
+  weight = desc.weight;
+  italic = desc.italic;
+  small_caps = desc.small_caps;
+  letter_spacing = desc.letter_spacing;
+  word_spacing = desc.word_spacing;
+}
+
 void SerializedFontDescription::SetToPPFontDescription(
     PP_FontDescription_Dev* desc) const {
   desc->face = StringVar::StringToPPVar(face);
@@ -60,6 +75,18 @@
   desc->word_spacing = word_spacing;
 }
 
+void SerializedFontDescription::SetToPPBrowserFontDescription(
+    PP_BrowserFont_Trusted_Description* desc) const {
+  desc->face = StringVar::StringToPPVar(face);
+  desc->family = static_cast<PP_BrowserFont_Trusted_Family>(family);
+  desc->size = size;
+  desc->weight = static_cast<PP_BrowserFont_Trusted_Weight>(weight);
+  desc->italic = italic;
+  desc->small_caps = small_caps;
+  desc->letter_spacing = letter_spacing;
+  desc->word_spacing = word_spacing;
+}
+
 PPBFlash_DrawGlyphs_Params::PPBFlash_DrawGlyphs_Params()
     : instance(0),
       font_desc(),
diff --git a/ppapi/proxy/serialized_structs.h b/ppapi/proxy/serialized_structs.h
index d27b52cd..04d7f5d 100644
--- a/ppapi/proxy/serialized_structs.h
+++ b/ppapi/proxy/serialized_structs.h
@@ -21,12 +21,14 @@
 
 class Pickle;
 struct PP_FontDescription_Dev;
+struct PP_BrowserFont_Trusted_Description;
 
 namespace ppapi {
 namespace proxy {
 
-// PP_FontDescript_Dev has to be redefined with a string in place of the PP_Var
-// used for the face name.
+// PP_FontDescription_Dev/PP_BrowserFontDescription (same definition, different
+// names) has to be redefined with a string in place of the PP_Var used for the
+// face name.
 struct PPAPI_PROXY_EXPORT SerializedFontDescription {
   SerializedFontDescription();
   ~SerializedFontDescription();
@@ -36,10 +38,14 @@
   // The reference of |face| owned by the PP_FontDescription_Dev will be
   // unchanged and the caller is responsible for freeing it.
   void SetFromPPFontDescription(const PP_FontDescription_Dev& desc);
+  void SetFromPPBrowserFontDescription(
+      const PP_BrowserFont_Trusted_Description& desc);
 
   // Converts to a PP_FontDescription_Dev. The face name will have one ref
   // assigned to it. The caller is responsible for freeing it.
   void SetToPPFontDescription(PP_FontDescription_Dev* desc) const;
+  void SetToPPBrowserFontDescription(
+      PP_BrowserFont_Trusted_Description* desc) const;
 
   std::string face;
   int32_t family;
diff --git a/ppapi/thunk/ppb_flash_api.h b/ppapi/thunk/ppb_flash_api.h
index fad0600..50a039d 100644
--- a/ppapi/thunk/ppb_flash_api.h
+++ b/ppapi/thunk/ppb_flash_api.h
@@ -29,17 +29,18 @@
 
   // Flash.
   virtual void SetInstanceAlwaysOnTop(PP_Instance instance, PP_Bool on_top) = 0;
-  virtual PP_Bool DrawGlyphs(PP_Instance instance,
-                             PP_Resource pp_image_data,
-                             const PP_FontDescription_Dev* font_desc,
-                             uint32_t color,
-                             const PP_Point* position,
-                             const PP_Rect* clip,
-                             const float transformation[3][3],
-                             PP_Bool allow_subpixel_aa,
-                             uint32_t glyph_count,
-                             const uint16_t glyph_indices[],
-                             const PP_Point glyph_advances[]) = 0;
+  virtual PP_Bool DrawGlyphs(
+      PP_Instance instance,
+      PP_Resource pp_image_data,
+      const PP_BrowserFont_Trusted_Description* font_desc,
+      uint32_t color,
+      const PP_Point* position,
+      const PP_Rect* clip,
+      const float transformation[3][3],
+      PP_Bool allow_subpixel_aa,
+      uint32_t glyph_count,
+      const uint16_t glyph_indices[],
+      const PP_Point glyph_advances[]) = 0;
 
   // External function that takes a PPB_URLRequestInfo resource.
   virtual int32_t Navigate(PP_Instance instance,
diff --git a/ppapi/thunk/ppb_flash_thunk.cc b/ppapi/thunk/ppb_flash_thunk.cc
index 19e07839..9aac0ac 100644
--- a/ppapi/thunk/ppb_flash_thunk.cc
+++ b/ppapi/thunk/ppb_flash_thunk.cc
@@ -30,7 +30,7 @@
 
 PP_Bool DrawGlyphs(PP_Instance instance,
                    PP_Resource pp_image_data,
-                   const PP_FontDescription_Dev* font_desc,
+                   const PP_BrowserFont_Trusted_Description* font_desc,
                    uint32_t color,
                    const PP_Point* position,
                    const PP_Rect* clip,
diff --git a/webkit/plugins/ppapi/ppb_flash_impl.cc b/webkit/plugins/ppapi/ppb_flash_impl.cc
index 237caf3b..075292e 100644
--- a/webkit/plugins/ppapi/ppb_flash_impl.cc
+++ b/webkit/plugins/ppapi/ppb_flash_impl.cc
@@ -10,8 +10,8 @@
 #include "base/time.h"
 #include "base/utf_string_conversions.h"
 #include "googleurl/src/gurl.h"
-#include "ppapi/c/dev/ppb_font_dev.h"
 #include "ppapi/c/private/ppb_flash.h"
+#include "ppapi/c/trusted/ppb_browser_font_trusted.h"
 #include "ppapi/shared_impl/file_path.h"
 #include "ppapi/shared_impl/file_type_conversion.h"
 #include "ppapi/shared_impl/time_conversion.h"
@@ -64,17 +64,18 @@
   instance_->set_always_on_top(PP_ToBool(on_top));
 }
 
-PP_Bool PPB_Flash_Impl::DrawGlyphs(PP_Instance instance,
-                                   PP_Resource pp_image_data,
-                                   const PP_FontDescription_Dev* font_desc,
-                                   uint32_t color,
-                                   const PP_Point* position,
-                                   const PP_Rect* clip,
-                                   const float transformation[3][3],
-                                   PP_Bool allow_subpixel_aa,
-                                   uint32_t glyph_count,
-                                   const uint16_t glyph_indices[],
-                                   const PP_Point glyph_advances[]) {
+PP_Bool PPB_Flash_Impl::DrawGlyphs(
+    PP_Instance instance,
+    PP_Resource pp_image_data,
+    const PP_BrowserFont_Trusted_Description* font_desc,
+    uint32_t color,
+    const PP_Point* position,
+    const PP_Rect* clip,
+    const float transformation[3][3],
+    PP_Bool allow_subpixel_aa,
+    uint32_t glyph_count,
+    const uint16_t glyph_indices[],
+    const PP_Point glyph_advances[]) {
   EnterResourceNoLock<PPB_ImageData_API> enter(pp_image_data, true);
   if (enter.failed())
     return PP_FALSE;
@@ -90,7 +91,7 @@
   if (!face_name)
     return PP_FALSE;
   int style = SkTypeface::kNormal;
-  if (font_desc->weight >= PP_FONTWEIGHT_BOLD)
+  if (font_desc->weight >= PP_BROWSERFONT_TRUSTED_WEIGHT_BOLD)
     style |= SkTypeface::kBold;
   if (font_desc->italic)
     style |= SkTypeface::kItalic;
diff --git a/webkit/plugins/ppapi/ppb_flash_impl.h b/webkit/plugins/ppapi/ppb_flash_impl.h
index f13130c..7b264b0 100644
--- a/webkit/plugins/ppapi/ppb_flash_impl.h
+++ b/webkit/plugins/ppapi/ppb_flash_impl.h
@@ -24,17 +24,18 @@
   // PPB_Flash_API.
   virtual void SetInstanceAlwaysOnTop(PP_Instance instance,
                                       PP_Bool on_top) OVERRIDE;
-  virtual PP_Bool DrawGlyphs(PP_Instance instance,
-                             PP_Resource pp_image_data,
-                             const PP_FontDescription_Dev* font_desc,
-                             uint32_t color,
-                             const PP_Point* position,
-                             const PP_Rect* clip,
-                             const float transformation[3][3],
-                             PP_Bool allow_subpixel_aa,
-                             uint32_t glyph_count,
-                             const uint16_t glyph_indices[],
-                             const PP_Point glyph_advances[]) OVERRIDE;
+  virtual PP_Bool DrawGlyphs(
+      PP_Instance instance,
+      PP_Resource pp_image_data,
+      const PP_BrowserFont_Trusted_Description* font_desc,
+      uint32_t color,
+      const PP_Point* position,
+      const PP_Rect* clip,
+      const float transformation[3][3],
+      PP_Bool allow_subpixel_aa,
+      uint32_t glyph_count,
+      const uint16_t glyph_indices[],
+      const PP_Point glyph_advances[]) OVERRIDE;
   virtual int32_t Navigate(PP_Instance instance,
                            PP_Resource request_info,
                            const char* target,