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