| Index: webkit/glue/plugins/pepper_plugin_instance.cc
|
| ===================================================================
|
| --- webkit/glue/plugins/pepper_plugin_instance.cc (revision 51491)
|
| +++ webkit/glue/plugins/pepper_plugin_instance.cc (working copy)
|
| @@ -21,11 +21,14 @@
|
| #include "third_party/WebKit/WebKit/chromium/public/WebPluginContainer.h"
|
| #include "third_party/WebKit/WebKit/chromium/public/WebRect.h"
|
| #include "webkit/glue/plugins/pepper_device_context_2d.h"
|
| +#include "webkit/glue/plugins/pepper_event_conversion.h"
|
| #include "webkit/glue/plugins/pepper_plugin_delegate.h"
|
| #include "webkit/glue/plugins/pepper_plugin_module.h"
|
| #include "webkit/glue/plugins/pepper_url_loader.h"
|
| #include "webkit/glue/plugins/pepper_var.h"
|
|
|
| +using WebKit::WebCanvas;
|
| +using WebKit::WebCursorInfo;
|
| using WebKit::WebFrame;
|
| using WebKit::WebInputEvent;
|
| using WebKit::WebPluginContainer;
|
| @@ -39,76 +42,6 @@
|
| input.width(), input.height());
|
| }
|
|
|
| -PP_Event_Type ConvertEventTypes(WebInputEvent::Type wetype) {
|
| - switch (wetype) {
|
| - case WebInputEvent::MouseDown:
|
| - return PP_Event_Type_MouseDown;
|
| - case WebInputEvent::MouseUp:
|
| - return PP_Event_Type_MouseUp;
|
| - case WebInputEvent::MouseMove:
|
| - return PP_Event_Type_MouseMove;
|
| - case WebInputEvent::MouseEnter:
|
| - return PP_Event_Type_MouseEnter;
|
| - case WebInputEvent::MouseLeave:
|
| - return PP_Event_Type_MouseLeave;
|
| - case WebInputEvent::MouseWheel:
|
| - return PP_Event_Type_MouseWheel;
|
| - case WebInputEvent::RawKeyDown:
|
| - return PP_Event_Type_RawKeyDown;
|
| - case WebInputEvent::KeyDown:
|
| - return PP_Event_Type_KeyDown;
|
| - case WebInputEvent::KeyUp:
|
| - return PP_Event_Type_KeyUp;
|
| - case WebInputEvent::Char:
|
| - return PP_Event_Type_Char;
|
| - case WebInputEvent::Undefined:
|
| - default:
|
| - return PP_Event_Type_Undefined;
|
| - }
|
| -}
|
| -
|
| -void BuildKeyEvent(const WebInputEvent* event, PP_Event* pp_event) {
|
| - const WebKit::WebKeyboardEvent* key_event =
|
| - reinterpret_cast<const WebKit::WebKeyboardEvent*>(event);
|
| - pp_event->u.key.modifier = key_event->modifiers;
|
| - pp_event->u.key.normalizedKeyCode = key_event->windowsKeyCode;
|
| -}
|
| -
|
| -void BuildCharEvent(const WebInputEvent* event, PP_Event* pp_event) {
|
| - const WebKit::WebKeyboardEvent* key_event =
|
| - reinterpret_cast<const WebKit::WebKeyboardEvent*>(event);
|
| - pp_event->u.character.modifier = key_event->modifiers;
|
| - // For consistency, check that the sizes of the texts agree.
|
| - DCHECK(sizeof(pp_event->u.character.text) == sizeof(key_event->text));
|
| - DCHECK(sizeof(pp_event->u.character.unmodifiedText) ==
|
| - sizeof(key_event->unmodifiedText));
|
| - for (size_t i = 0; i < WebKit::WebKeyboardEvent::textLengthCap; ++i) {
|
| - pp_event->u.character.text[i] = key_event->text[i];
|
| - pp_event->u.character.unmodifiedText[i] = key_event->unmodifiedText[i];
|
| - }
|
| -}
|
| -
|
| -void BuildMouseEvent(const WebInputEvent* event, PP_Event* pp_event) {
|
| - const WebKit::WebMouseEvent* mouse_event =
|
| - reinterpret_cast<const WebKit::WebMouseEvent*>(event);
|
| - pp_event->u.mouse.modifier = mouse_event->modifiers;
|
| - pp_event->u.mouse.button = mouse_event->button;
|
| - pp_event->u.mouse.x = mouse_event->x;
|
| - pp_event->u.mouse.y = mouse_event->y;
|
| - pp_event->u.mouse.clickCount = mouse_event->clickCount;
|
| -}
|
| -
|
| -void BuildMouseWheelEvent(const WebInputEvent* event, PP_Event* pp_event) {
|
| - const WebKit::WebMouseWheelEvent* mouse_wheel_event =
|
| - reinterpret_cast<const WebKit::WebMouseWheelEvent*>(event);
|
| - pp_event->u.wheel.modifier = mouse_wheel_event->modifiers;
|
| - pp_event->u.wheel.deltaX = mouse_wheel_event->deltaX;
|
| - pp_event->u.wheel.deltaY = mouse_wheel_event->deltaY;
|
| - pp_event->u.wheel.wheelTicksX = mouse_wheel_event->wheelTicksX;
|
| - pp_event->u.wheel.wheelTicksY = mouse_wheel_event->wheelTicksY;
|
| - pp_event->u.wheel.scrollByPage = mouse_wheel_event->scrollByPage;
|
| -}
|
| -
|
| PP_Var GetWindowObject(PP_Instance instance_id) {
|
| PluginInstance* instance = PluginInstance::FromPPInstance(instance_id);
|
| if (!instance)
|
| @@ -178,7 +111,7 @@
|
| return reinterpret_cast<intptr_t>(this);
|
| }
|
|
|
| -void PluginInstance::Paint(WebKit::WebCanvas* canvas,
|
| +void PluginInstance::Paint(WebCanvas* canvas,
|
| const gfx::Rect& plugin_rect,
|
| const gfx::Rect& paint_rect) {
|
| if (device_context_2d_)
|
| @@ -271,35 +204,12 @@
|
| }
|
|
|
| bool PluginInstance::HandleInputEvent(const WebKit::WebInputEvent& event,
|
| - WebKit::WebCursorInfo* cursor_info) {
|
| - PP_Event pp_event;
|
| + WebCursorInfo* cursor_info) {
|
| + scoped_ptr<PP_Event> pp_event(CreatePP_Event(event));
|
| + if (!pp_event.get())
|
| + return false;
|
|
|
| - pp_event.type = ConvertEventTypes(event.type);
|
| - pp_event.size = sizeof(pp_event);
|
| - pp_event.time_stamp_seconds = event.timeStampSeconds;
|
| - switch (pp_event.type) {
|
| - case PP_Event_Type_Undefined:
|
| - return false;
|
| - case PP_Event_Type_MouseDown:
|
| - case PP_Event_Type_MouseUp:
|
| - case PP_Event_Type_MouseMove:
|
| - case PP_Event_Type_MouseEnter:
|
| - case PP_Event_Type_MouseLeave:
|
| - BuildMouseEvent(&event, &pp_event);
|
| - break;
|
| - case PP_Event_Type_MouseWheel:
|
| - BuildMouseWheelEvent(&event, &pp_event);
|
| - break;
|
| - case PP_Event_Type_RawKeyDown:
|
| - case PP_Event_Type_KeyDown:
|
| - case PP_Event_Type_KeyUp:
|
| - BuildKeyEvent(&event, &pp_event);
|
| - break;
|
| - case PP_Event_Type_Char:
|
| - BuildCharEvent(&event, &pp_event);
|
| - break;
|
| - }
|
| - return instance_interface_->HandleEvent(GetPPInstance(), &pp_event);
|
| + return instance_interface_->HandleEvent(GetPPInstance(), pp_event.get());
|
| }
|
|
|
| PP_Var PluginInstance::GetInstanceObject() {
|
|
|