Title: [160801] trunk/Source/WebKit2
Revision
160801
Author
timothy_hor...@apple.com
Date
2013-12-18 15:25:56 -0800 (Wed, 18 Dec 2013)

Log Message

PDFPlugin: Never make a NSEventType = 0
https://bugs.webkit.org/show_bug.cgi?id=125955

Reviewed by Dan Bernstein.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::getEventTypeFromWebEvent):
Make getEventTypeFromWebEvent return its NSEventType as an out arg, and
make the return value represent whether or not we set it.

(WebKit::PDFPlugin::nsEventForWebMouseEvent):
(WebKit::PDFPlugin::handleKeyboardEvent):
Make use of getEventTypeFromWebEvent.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (160800 => 160801)


--- trunk/Source/WebKit2/ChangeLog	2013-12-18 23:23:53 UTC (rev 160800)
+++ trunk/Source/WebKit2/ChangeLog	2013-12-18 23:25:56 UTC (rev 160801)
@@ -1,3 +1,19 @@
+2013-12-18  Tim Horton  <timothy_hor...@apple.com>
+
+        PDFPlugin: Never make a NSEventType = 0
+        https://bugs.webkit.org/show_bug.cgi?id=125955
+
+        Reviewed by Dan Bernstein.
+
+        * WebProcess/Plugins/PDF/PDFPlugin.mm:
+        (WebKit::getEventTypeFromWebEvent):
+        Make getEventTypeFromWebEvent return its NSEventType as an out arg, and
+        make the return value represent whether or not we set it.
+
+        (WebKit::PDFPlugin::nsEventForWebMouseEvent):
+        (WebKit::PDFPlugin::handleKeyboardEvent):
+        Make use of getEventTypeFromWebEvent.
+
 2013-12-18  Anders Carlsson  <ander...@apple.com>
 
         WKRemoteObjectRegistry should invoke invocations

Modified: trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm (160800 => 160801)


--- trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm	2013-12-18 23:23:53 UTC (rev 160800)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm	2013-12-18 23:25:56 UTC (rev 160801)
@@ -1249,49 +1249,53 @@
         | (event.metaKey() ? NSCommandKeyMask : 0);
 }
     
-static NSEventType eventTypeFromWebEvent(const WebEvent& event)
+static bool getEventTypeFromWebEvent(const WebEvent& event, NSEventType& eventType)
 {
     switch (event.type()) {
     case WebEvent::KeyDown:
-        return NSKeyDown;
+        eventType = NSKeyDown;
+        return true;
     case WebEvent::KeyUp:
-        return NSKeyUp;
-
+        eventType = NSKeyUp;
+        return true;
     case WebEvent::MouseDown:
         switch (static_cast<const WebMouseEvent&>(event).button()) {
         case WebMouseEvent::LeftButton:
-            return NSLeftMouseDown;
+            eventType = NSLeftMouseDown;
+            return true;
         case WebMouseEvent::RightButton:
-            return NSRightMouseDown;
+            eventType = NSRightMouseDown;
+            return true;
         default:
-            return 0;
+            return false;
         }
-        break;
     case WebEvent::MouseUp:
         switch (static_cast<const WebMouseEvent&>(event).button()) {
         case WebMouseEvent::LeftButton:
-            return NSLeftMouseUp;
+            eventType = NSLeftMouseUp;
+            return true;
         case WebMouseEvent::RightButton:
-            return NSRightMouseUp;
+            eventType = NSRightMouseUp;
+            return true;
         default:
-            return 0;
+            return false;
         }
-        break;
     case WebEvent::MouseMove:
         switch (static_cast<const WebMouseEvent&>(event).button()) {
         case WebMouseEvent::LeftButton:
-            return NSLeftMouseDragged;
+            eventType = NSLeftMouseDragged;
+            return true;
         case WebMouseEvent::RightButton:
-            return NSRightMouseDragged;
+            eventType = NSRightMouseDragged;
+            return true;
         case WebMouseEvent::NoButton:
-            return NSMouseMoved;
+            eventType = NSMouseMoved;
+            return true;
         default:
-            return 0;
+            return false;
         }
-        break;
-
     default:
-        return 0;
+        return false;
     }
 }
     
@@ -1301,9 +1305,9 @@
 
     IntPoint positionInPDFViewCoordinates(convertFromPluginToPDFView(m_lastMousePositionInPluginCoordinates));
 
-    NSEventType eventType = eventTypeFromWebEvent(event);
+    NSEventType eventType;
 
-    if (!eventType)
+    if (!getEventTypeFromWebEvent(event, eventType))
         return 0;
 
     NSUInteger modifierFlags = modifierFlagsFromWebEvent(event);
@@ -1462,7 +1466,11 @@
 
 bool PDFPlugin::handleKeyboardEvent(const WebKeyboardEvent& event)
 {
-    NSEventType eventType = eventTypeFromWebEvent(event);
+    NSEventType eventType;
+
+    if (!getEventTypeFromWebEvent(event, eventType))
+        return false;
+
     NSUInteger modifierFlags = modifierFlagsFromWebEvent(event);
     
     NSEvent *fakeEvent = [NSEvent keyEventWithType:eventType location:NSZeroPoint modifierFlags:modifierFlags timestamp:0 windowNumber:0 context:0 characters:event.text() charactersIgnoringModifiers:event.unmodifiedText() isARepeat:event.isAutoRepeat() keyCode:event.nativeVirtualKeyCode()];
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to