| Index: ppapi/proxy/ppb_flash_proxy.cc
|
| diff --git a/ppapi/proxy/ppb_flash_proxy.cc b/ppapi/proxy/ppb_flash_proxy.cc
|
| index 2dcd68b386ccf324d16e3dd7dcb7fbafa61ab762..ae12cd0d4cec4a9b8de6b22105bd08add782dbf8 100644
|
| --- a/ppapi/proxy/ppb_flash_proxy.cc
|
| +++ b/ppapi/proxy/ppb_flash_proxy.cc
|
| @@ -43,9 +43,10 @@ PP_Bool DrawGlyphs(PP_Instance 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[]) {
|
| @@ -67,12 +68,13 @@ PP_Bool DrawGlyphs(PP_Instance instance,
|
| params.image_data = image_data->host_resource();
|
| params.font_desc.SetFromPPFontDescription(dispatcher, *font_desc, true);
|
| params.color = color;
|
| - params.position = position;
|
| - params.clip = clip;
|
| + params.position = *position;
|
| + params.clip = *clip;
|
| for (int i = 0; i < 3; i++) {
|
| for (int j = 0; j < 3; j++)
|
| params.transformation[i][j] = transformation[i][j];
|
| }
|
| + params.allow_subpixel_aa = allow_subpixel_aa;
|
|
|
| params.glyph_indices.insert(params.glyph_indices.begin(),
|
| &glyph_indices[0],
|
| @@ -87,6 +89,22 @@ PP_Bool DrawGlyphs(PP_Instance instance,
|
| return result;
|
| }
|
|
|
| +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[]) {
|
| + // Backwards-compatible version.
|
| + 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 instance, const char* url) {
|
| PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance);
|
| if (!dispatcher)
|
| @@ -100,7 +118,7 @@ PP_Var GetProxyForURL(PP_Instance instance, const char* url) {
|
|
|
| int32_t Navigate(PP_Resource request_id,
|
| const char* target,
|
| - bool from_user_action) {
|
| + PP_Bool from_user_action) {
|
| thunk::EnterResource<thunk::PPB_URLRequestInfo_API> enter(request_id, true);
|
| if (enter.failed())
|
| return PP_ERROR_BADRESOURCE;
|
| @@ -118,6 +136,13 @@ int32_t Navigate(PP_Resource request_id,
|
| return result;
|
| }
|
|
|
| +int32_t Navigate11(PP_Resource request_id,
|
| + const char* target,
|
| + bool from_user_action) {
|
| + // Backwards-compatible version.
|
| + return Navigate(request_id, target, PP_FromBool(from_user_action));
|
| +}
|
| +
|
| void RunMessageLoop(PP_Instance instance) {
|
| PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance);
|
| if (!dispatcher)
|
| @@ -158,20 +183,32 @@ PP_Var GetCommandLineArgs(PP_Module /*pp_module*/) {
|
| return StringVar::StringToPPVar(args);
|
| }
|
|
|
| -const PPB_Flash flash_interface = {
|
| +void PreLoadFontInWindows(const void* logfontw) {
|
| + // TODO(brettw) implement this.
|
| +}
|
| +
|
| +const PPB_Flash_11 flash_interface_11 = {
|
| &SetInstanceAlwaysOnTop,
|
| - &DrawGlyphs,
|
| + &DrawGlyphs11,
|
| &GetProxyForURL,
|
| - &Navigate,
|
| + &Navigate11,
|
| &RunMessageLoop,
|
| &QuitMessageLoop,
|
| &GetLocalTimeZoneOffset,
|
| &GetCommandLineArgs
|
| };
|
|
|
| -InterfaceProxy* CreateFlashProxy(Dispatcher* dispatcher) {
|
| - return new PPB_Flash_Proxy(dispatcher);
|
| -}
|
| +const PPB_Flash flash_interface_12 = {
|
| + &SetInstanceAlwaysOnTop,
|
| + &DrawGlyphs,
|
| + &GetProxyForURL,
|
| + &Navigate,
|
| + &RunMessageLoop,
|
| + &QuitMessageLoop,
|
| + &GetLocalTimeZoneOffset,
|
| + &GetCommandLineArgs,
|
| + &PreLoadFontInWindows
|
| +};
|
|
|
| } // namespace
|
|
|
| @@ -187,8 +224,13 @@ PPB_Flash_Proxy::~PPB_Flash_Proxy() {
|
| }
|
|
|
| // static
|
| -const PPB_Flash* PPB_Flash_Proxy::GetInterface() {
|
| - return &flash_interface;
|
| +const PPB_Flash_11* PPB_Flash_Proxy::GetInterface11() {
|
| + return &flash_interface_11;
|
| +}
|
| +
|
| +// static
|
| +const PPB_Flash* PPB_Flash_Proxy::GetInterface12() {
|
| + return &flash_interface_12;
|
| }
|
|
|
| bool PPB_Flash_Proxy::OnMessageReceived(const IPC::Message& msg) {
|
| @@ -238,8 +280,9 @@ void PPB_Flash_Proxy::OnMsgDrawGlyphs(const PPBFlash_DrawGlyphs_Params& params,
|
| *result = ppb_flash_impl_->DrawGlyphs(
|
| 0, // Unused instance param.
|
| params.image_data.host_resource(), &font_desc,
|
| - params.color, params.position, params.clip,
|
| + params.color, ¶ms.position, ¶ms.clip,
|
| const_cast<float(*)[3]>(params.transformation),
|
| + params.allow_subpixel_aa,
|
| static_cast<uint32_t>(params.glyph_indices.size()),
|
| const_cast<uint16_t*>(¶ms.glyph_indices[0]),
|
| const_cast<PP_Point*>(¶ms.glyph_advances[0]));
|
| @@ -255,7 +298,7 @@ void PPB_Flash_Proxy::OnMsgGetProxyForURL(PP_Instance instance,
|
| void PPB_Flash_Proxy::OnMsgNavigate(PP_Instance instance,
|
| const PPB_URLRequestInfo_Data& data,
|
| const std::string& target,
|
| - bool from_user_action,
|
| + PP_Bool from_user_action,
|
| int32_t* result) {
|
| DCHECK(!dispatcher()->IsPlugin());
|
|
|
|
|