| Index: webkit/plugins/ppapi/ppb_flash_impl.cc
|
| diff --git a/webkit/plugins/ppapi/ppb_flash_impl.cc b/webkit/plugins/ppapi/ppb_flash_impl.cc
|
| index a9e244dbf2a5f7d7f52eb4b5812410181c77c870..0314a6b96e9900512b341c388ae418ce76321eb2 100644
|
| --- a/webkit/plugins/ppapi/ppb_flash_impl.cc
|
| +++ b/webkit/plugins/ppapi/ppb_flash_impl.cc
|
| @@ -55,9 +55,10 @@ PP_Bool DrawGlyphs(PP_Instance,
|
| PP_Resource pp_image_data,
|
| const PP_FontDescription_Dev* font_desc,
|
| uint32_t color,
|
| - PP_Point position,
|
| - PP_Rect clip,
|
| + 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[]) {
|
| @@ -91,9 +92,9 @@ PP_Bool DrawGlyphs(PP_Instance,
|
| canvas->save();
|
|
|
| // Clip is applied in pixels before the transform.
|
| - SkRect clip_rect = { clip.point.x, clip.point.y,
|
| - clip.point.x + clip.size.width,
|
| - clip.point.y + clip.size.height };
|
| + SkRect clip_rect = { clip->point.x, clip->point.y,
|
| + clip->point.x + clip->size.width,
|
| + clip->point.y + clip->size.height };
|
| canvas->clipRect(clip_rect);
|
|
|
| // -- Do not return early below this. The canvas needs restoring and the
|
| @@ -120,11 +121,13 @@ PP_Bool DrawGlyphs(PP_Instance,
|
| paint.setHinting(SkPaint::kFull_Hinting);
|
| paint.setTextSize(SkIntToScalar(font_desc->size));
|
| paint.setTypeface(typeface); // Takes a ref and manages lifetime.
|
| - paint.setSubpixelText(true);
|
| - paint.setLCDRenderText(true);
|
| + if (allow_subpixel_aa) {
|
| + paint.setSubpixelText(true);
|
| + paint.setLCDRenderText(true);
|
| + }
|
|
|
| - SkScalar x = SkIntToScalar(position.x);
|
| - SkScalar y = SkIntToScalar(position.y);
|
| + SkScalar x = SkIntToScalar(position->x);
|
| + SkScalar y = SkIntToScalar(position->y);
|
|
|
| // Build up the skia advances.
|
| if (glyph_count == 0)
|
| @@ -144,6 +147,21 @@ PP_Bool DrawGlyphs(PP_Instance,
|
| return PP_TRUE;
|
| }
|
|
|
| +PP_Bool DrawGlyphs11(PP_Instance instance,
|
| + PP_Resource pp_image_data,
|
| + const PP_FontDescription_Dev* font_desc,
|
| + uint32_t color,
|
| + PP_Point position,
|
| + PP_Rect clip,
|
| + const float transformation[3][3],
|
| + uint32_t glyph_count,
|
| + const uint16_t glyph_indices[],
|
| + const PP_Point glyph_advances[]) {
|
| + return DrawGlyphs(instance, pp_image_data, font_desc, color, &position,
|
| + &clip, transformation, PP_TRUE, glyph_count,
|
| + glyph_indices, glyph_advances);
|
| +}
|
| +
|
| PP_Var GetProxyForURL(PP_Instance pp_instance, const char* url) {
|
| PluginInstance* instance = HostGlobals::Get()->GetInstance(pp_instance);
|
| if (!instance)
|
| @@ -161,7 +179,7 @@ PP_Var GetProxyForURL(PP_Instance pp_instance, const char* url) {
|
|
|
| int32_t Navigate(PP_Resource request_id,
|
| const char* target,
|
| - bool from_user_action) {
|
| + PP_Bool from_user_action) {
|
| EnterResource<PPB_URLRequestInfo_API> enter(request_id, true);
|
| if (enter.failed())
|
| return PP_ERROR_BADRESOURCE;
|
| @@ -174,7 +192,14 @@ int32_t Navigate(PP_Resource request_id,
|
| PluginInstance* plugin_instance = ResourceHelper::GetPluginInstance(request);
|
| if (!plugin_instance)
|
| return PP_ERROR_FAILED;
|
| - return plugin_instance->Navigate(request, target, from_user_action);
|
| + return plugin_instance->Navigate(request, target,
|
| + PP_ToBool(from_user_action));
|
| +}
|
| +
|
| +int32_t Navigate11(PP_Resource request_id,
|
| + const char* target,
|
| + bool from_user_action) {
|
| + return Navigate(request_id, target, PP_FromBool(from_user_action));
|
| }
|
|
|
| void RunMessageLoop(PP_Instance instance) {
|
| @@ -219,7 +244,22 @@ PP_Var GetCommandLineArgs(PP_Module pp_module) {
|
| return StringVar::StringToPPVar(args);
|
| }
|
|
|
| -const PPB_Flash ppb_flash = {
|
| +void PreLoadFontInWindows(const void* logfontw) {
|
| + // TODO(brettw) implement this.
|
| +}
|
| +
|
| +const PPB_Flash_11 ppb_flash_11 = {
|
| + &SetInstanceAlwaysOnTop,
|
| + &DrawGlyphs11,
|
| + &GetProxyForURL,
|
| + &Navigate11,
|
| + &RunMessageLoop,
|
| + &QuitMessageLoop,
|
| + &GetLocalTimeZoneOffset,
|
| + &GetCommandLineArgs
|
| +};
|
| +
|
| +const PPB_Flash ppb_flash_12 = {
|
| &SetInstanceAlwaysOnTop,
|
| &DrawGlyphs,
|
| &GetProxyForURL,
|
| @@ -227,14 +267,20 @@ const PPB_Flash ppb_flash = {
|
| &RunMessageLoop,
|
| &QuitMessageLoop,
|
| &GetLocalTimeZoneOffset,
|
| - &GetCommandLineArgs
|
| + &GetCommandLineArgs,
|
| + &PreLoadFontInWindows
|
| };
|
|
|
| } // namespace
|
|
|
| // static
|
| -const PPB_Flash* PPB_Flash_Impl::GetInterface() {
|
| - return &ppb_flash;
|
| +const PPB_Flash_11* PPB_Flash_Impl::GetInterface11() {
|
| + return &ppb_flash_11;
|
| +}
|
| +
|
| +// static
|
| +const PPB_Flash* PPB_Flash_Impl::GetInterface12() {
|
| + return &ppb_flash_12;
|
| }
|
|
|
| } // namespace ppapi
|
|
|