summaryrefslogtreecommitdiffstats
path: root/webkit/tools/npapi_layout_test_plugin/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/tools/npapi_layout_test_plugin/main.cpp')
-rw-r--r--webkit/tools/npapi_layout_test_plugin/main.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/webkit/tools/npapi_layout_test_plugin/main.cpp b/webkit/tools/npapi_layout_test_plugin/main.cpp
index a644d03..9ff3ebb 100644
--- a/webkit/tools/npapi_layout_test_plugin/main.cpp
+++ b/webkit/tools/npapi_layout_test_plugin/main.cpp
@@ -140,7 +140,8 @@ NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, ch
obj->testDocumentOpenInDestroyStream = TRUE;
} else if (strcasecmp(argn[i], "testwindowopen") == 0) {
obj->testWindowOpen = TRUE;
- }
+ } else if (strcasecmp(argn[i], "src") == 0 && strstr(argv[i], "plugin-document-has-focus.pl"))
+ obj->testKeyboardFocusForPlugins = TRUE;
}
instance->pdata = obj;
@@ -182,13 +183,18 @@ NPError NPP_SetWindow(NPP instance, NPWindow *window)
if (obj->logSetWindow) {
log(instance, "NPP_SetWindow: %d %d", (int)window->width, (int)window->height);
fflush(stdout);
- obj->logSetWindow = false;
+ obj->logSetWindow = FALSE;
}
if (obj->testWindowOpen) {
testWindowOpen(instance);
obj->testWindowOpen = FALSE;
}
+
+ if (obj->testKeyboardFocusForPlugins) {
+ obj->eventLogging = true;
+ executeScript(obj, "eventSender.keyDown('A');");
+ }
}
return NPERR_NO_ERROR;
@@ -292,17 +298,17 @@ int16 NPP_HandleEvent(NPP instance, void *event)
case WM_RBUTTONDBLCLK:
break;
case WM_MOUSEMOVE:
- log(instance, "adjustCursorEvent");
break;
case WM_KEYUP:
- // TODO(tc): We need to convert evt->wParam from virtual-key code
- // to key code.
- log(instance, "NOTIMPLEMENTED: keyUp '%c'", ' ');
+ log(instance, "keyUp '%c'", MapVirtualKey(evt->wParam, MAPVK_VK_TO_CHAR));
+ if (obj->testKeyboardFocusForPlugins) {
+ obj->eventLogging = false;
+ obj->testKeyboardFocusForPlugins = FALSE;
+ executeScript(obj, "layoutTestController.notifyDone();");
+ }
break;
case WM_KEYDOWN:
- // TODO(tc): We need to convert evt->wParam from virtual-key code
- // to key code.
- log(instance, "NOTIMPLEMENTED: keyDown '%c'", ' ');
+ log(instance, "keyDown '%c'", MapVirtualKey(evt->wParam, MAPVK_VK_TO_CHAR));
break;
case WM_SETCURSOR:
break;