[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Thu Apr 8 02:12:40 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit ebde99582aa0748bdefbe1e257654582ff37f0d5
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Mar 6 13:20:56 2010 +0000

    2010-03-06  Hironori Bono  <hbono at chromium.org>
    
            Reviewed by Eric Seidel.
    
            [Chromium] Typing into Flash with wmode = opaque|transparent and
            non-latin language active outputs as if US keyboard layout active
    
            https://bugs.webkit.org/show_bug.cgi?id=34936
    
            Added a layout test that verifies a plugin can receive keyboard events.
            Unfortunately, this test works only on Mac.
    
            * platform/gtk/Skipped: Skipped the new test because of the lack of eventSender.
            * platform/qt/Skipped: ditto.
            * platform/win/Skipped: Skipped the new test because NPP_HandleEvent() is not implemented.
            * plugins/keyboard-events-expected.txt: Added.
            * plugins/keyboard-events.html: Added.
    2010-03-06  Hironori Bono  <hbono at chromium.org>
    
            Reviewed by Eric Seidel.
    
            [Chromium] Typing into Flash with wmode = opaque|transparent and
            non-latin language active outputs as if US keyboard layout active
    
            https://bugs.webkit.org/show_bug.cgi?id=34936
    
            This change is a WebKit-side change for this issue. It dispatches
            Char events to plug-ins so plug-ins can receive non-ASCII characters
            as well as ASCII characters.
    
            * src/WebViewImpl.cpp:
            (WebKit::WebViewImpl::keyEvent):
    2010-03-06  Hironori Bono  <hbono at chromium.org>
    
            Reviewed by Eric Seidel.
    
            [Chromium] Typing into Flash with wmode = opaque|transparent and
            non-latin language active outputs as if US keyboard layout active
    
            https://bugs.webkit.org/show_bug.cgi?id=34936
    
            To test keyboard events on the test plugin, this change implements
            NPCocoaEventKeyDown and NPCocoaEventKeyUp handlers so the plugin
            can write log messages.
    
            * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
            (handleEventCocoa): Implemented the event handlers for NPCocoaKeyDown
            and NPCocoaEventKeyUp.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55620 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 04fd08b..d8a32dc 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,21 @@
+2010-03-06  Hironori Bono  <hbono at chromium.org>
+
+        Reviewed by Eric Seidel.
+
+        [Chromium] Typing into Flash with wmode = opaque|transparent and
+        non-latin language active outputs as if US keyboard layout active
+
+        https://bugs.webkit.org/show_bug.cgi?id=34936
+
+        Added a layout test that verifies a plugin can receive keyboard events.
+        Unfortunately, this test works only on Mac.
+
+        * platform/gtk/Skipped: Skipped the new test because of the lack of eventSender.
+        * platform/qt/Skipped: ditto.
+        * platform/win/Skipped: Skipped the new test because NPP_HandleEvent() is not implemented.
+        * plugins/keyboard-events-expected.txt: Added.
+        * plugins/keyboard-events.html: Added.
+
 2010-03-06  MORITA Hajime  <morrita at google.com>
         
         Reviewed by Darin Adler.
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index 81d98a0..f481fae 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -3579,6 +3579,7 @@ plugins/embed-attributes-setting.html
 plugins/get-url-with-blank-target.html
 plugins/mouse-events.html
 plugins/mouse-events-fixedpos.html
+plugins/keyboard-events.html
 
 # https://bugs.webkit.org/show_bug.cgi?id=30561
 plugins/private-browsing-mode.html
diff --git a/LayoutTests/platform/qt/Skipped b/LayoutTests/platform/qt/Skipped
index 03ea134..0348339 100644
--- a/LayoutTests/platform/qt/Skipped
+++ b/LayoutTests/platform/qt/Skipped
@@ -531,6 +531,7 @@ plugins/get-url-with-blank-target.html
 plugins/mouse-events.html
 plugins/mouse-events-fixedpos.html
 plugins/open-and-close-window-with-plugin.html
+plugins/keyboard-events.html
 
 security/block-test.html
 svg/W3C-SVG-1.1/animate-elem-02-t.svg
diff --git a/LayoutTests/platform/win/Skipped b/LayoutTests/platform/win/Skipped
index e7b6174..4047618 100644
--- a/LayoutTests/platform/win/Skipped
+++ b/LayoutTests/platform/win/Skipped
@@ -772,6 +772,9 @@ websocket/tests/simple-stress.html
 # Needs platform specific API implemented in DRT, maybe not relevant for non-Mac and non-Windows ports
 fast/loader/api-test-new-window-data-load-base-url.html
 
+# Needs to implement NPP_HandleEvent() in TestNetscapePlugin
+plugins/keyboard-events.html
+
 # DumpRenderTree code to enable Java is currently a no-op. Windows doesn't come with Java by default.
 java
 
diff --git a/LayoutTests/plugins/keyboard-events-expected.txt b/LayoutTests/plugins/keyboard-events-expected.txt
new file mode 100644
index 0000000..c629dad
--- /dev/null
+++ b/LayoutTests/plugins/keyboard-events-expected.txt
@@ -0,0 +1,11 @@
+CONSOLE MESSAGE: line 0: PLUGIN: getFocusEvent
+CONSOLE MESSAGE: line 0: PLUGIN: mouseDown at (12, 12)
+CONSOLE MESSAGE: line 0: PLUGIN: mouseUp at (12, 12)
+CONSOLE MESSAGE: line 0: PLUGIN: keyDown 'a'
+CONSOLE MESSAGE: line 0: PLUGIN: keyUp 'a'
+CONSOLE MESSAGE: line 0: PLUGIN: keyDown 'b'
+CONSOLE MESSAGE: line 0: PLUGIN: keyUp 'b'
+CONSOLE MESSAGE: line 0: PLUGIN: keyDown 'c'
+CONSOLE MESSAGE: line 0: PLUGIN: keyUp 'c'
+
+This test checks if a plug-in can receive keyboard events sent from eventSender. This is a test for Bug 34936.
diff --git a/LayoutTests/plugins/keyboard-events.html b/LayoutTests/plugins/keyboard-events.html
new file mode 100644
index 0000000..30b93c9
--- /dev/null
+++ b/LayoutTests/plugins/keyboard-events.html
@@ -0,0 +1,30 @@
+<html>
+<body>
+<embed name="plg" type="application/x-webkit-test-netscape" width=100 height=100></embed>
+<p>This test checks if a plug-in can receive keyboard events sent from eventSender. This is a test for <a href="https://bugs.webkit.org/show_bug.cgi?id=34936">Bug 34936</a>.</p>
+<script>
+
+    plg.eventLoggingEnabled = true;
+
+    if (!window.layoutTestController) {
+        document.write("This test does not work in manual mode.");
+    } else {
+        layoutTestController.dumpAsText();
+
+        // Send a mouse-click event to set the input focus to the test plug-in.
+        eventSender.mouseMoveTo(0,0);
+        eventSender.mouseMoveTo(20,20);
+        eventSender.mouseDown();
+        eventSender.mouseUp();
+
+        // Send keyboard events to the plug-in.
+        eventSender.keyDown('a');
+        eventSender.keyDown('b');
+        eventSender.keyDown('c');
+    }
+
+    plg.eventLoggingEnabled = false; // stop logging so our output doesn't bleed into the next test
+
+</script>
+</body>
+</html>
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 8336cb3..27a8d79 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,19 @@
+2010-03-06  Hironori Bono  <hbono at chromium.org>
+
+        Reviewed by Eric Seidel.
+
+        [Chromium] Typing into Flash with wmode = opaque|transparent and
+        non-latin language active outputs as if US keyboard layout active
+
+        https://bugs.webkit.org/show_bug.cgi?id=34936
+
+        This change is a WebKit-side change for this issue. It dispatches
+        Char events to plug-ins so plug-ins can receive non-ASCII characters
+        as well as ASCII characters.
+
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::keyEvent):
+
 2010-03-06  Kavita Kanetkar  <kkanetkar at chromium.org>
 
         Reviewed by Darin Fisher.
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index 6d2db7b..6345cd1 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -507,8 +507,13 @@ bool WebViewImpl::keyEvent(const WebKeyboardEvent& event)
     PlatformKeyboardEventBuilder evt(event);
 
     if (handler->keyEvent(evt)) {
-        if (WebInputEvent::RawKeyDown == event.type)
-            m_suppressNextKeypressEvent = true;
+        if (WebInputEvent::RawKeyDown == event.type) {
+            // Suppress the next keypress event unless the focused node is a plug-in node.
+            // (Flash needs these keypress events to handle non-US keyboards.)
+            Node* node = frame->document()->focusedNode();
+            if (!node || !node->renderer() || !node->renderer()->isEmbeddedObject())
+                m_suppressNextKeypressEvent = true;
+        }
         return true;
     }
 
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index bb018ae..df6f16e 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,20 @@
+2010-03-06  Hironori Bono  <hbono at chromium.org>
+
+        Reviewed by Eric Seidel.
+
+        [Chromium] Typing into Flash with wmode = opaque|transparent and
+        non-latin language active outputs as if US keyboard layout active
+
+        https://bugs.webkit.org/show_bug.cgi?id=34936
+
+        To test keyboard events on the test plugin, this change implements
+        NPCocoaEventKeyDown and NPCocoaEventKeyUp handlers so the plugin
+        can write log messages.
+
+        * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+        (handleEventCocoa): Implemented the event handlers for NPCocoaKeyDown
+        and NPCocoaEventKeyUp.
+
 2010-03-05  Jesus Sanchez-Palencia  <jesus.palencia at openbossa.org>
 
         Reviewed by Eric Seidel.
diff --git a/WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp b/WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp
index 8ef228a..39be467 100644
--- a/WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp
+++ b/WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp
@@ -338,7 +338,15 @@ static int16_t handleEventCocoa(NPP instance, PluginObject* obj, NPCocoaEvent* e
             return 1;
 
         case NPCocoaEventKeyDown:
+            if (event->data.key.characters)
+                pluginLog(instance, "keyDown '%c'", CFStringGetCharacterAtIndex(reinterpret_cast<CFStringRef>(event->data.key.characters), 0));
+            return 1;
+
         case NPCocoaEventKeyUp:
+            if (event->data.key.characters)
+                pluginLog(instance, "keyUp '%c'", CFStringGetCharacterAtIndex(reinterpret_cast<CFStringRef>(event->data.key.characters), 0));
+            return 1;
+
         case NPCocoaEventFlagsChanged:
             return 1;
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list