Title: [129802] trunk/Tools
Revision
129802
Author
commit-qu...@webkit.org
Date
2012-09-27 14:44:01 -0700 (Thu, 27 Sep 2012)

Log Message

[Mac][DRT] Add support to allow non-array modifier arguments in keyDown()
https://bugs.webkit.org/show_bug.cgi?id=97805

Patch by Sudarsana Nagineni <sudarsana.nagin...@intel.com> on 2012-09-27
Reviewed by Alexey Proskuryakov.

Add support for handling a string as modifier argument to keyDown().
This support has already been added to other ports, so implementing
this on Mac too, to be consistent with the other ports.

* DumpRenderTree/mac/EventSendingController.mm:
(modifierFlags):
(buildModifierFlags):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (129801 => 129802)


--- trunk/Tools/ChangeLog	2012-09-27 21:36:36 UTC (rev 129801)
+++ trunk/Tools/ChangeLog	2012-09-27 21:44:01 UTC (rev 129802)
@@ -1,3 +1,18 @@
+2012-09-27  Sudarsana Nagineni  <sudarsana.nagin...@intel.com>
+
+        [Mac][DRT] Add support to allow non-array modifier arguments in keyDown()
+        https://bugs.webkit.org/show_bug.cgi?id=97805
+
+        Reviewed by Alexey Proskuryakov.
+
+        Add support for handling a string as modifier argument to keyDown().
+        This support has already been added to other ports, so implementing
+        this on Mac too, to be consistent with the other ports.
+
+        * DumpRenderTree/mac/EventSendingController.mm:
+        (modifierFlags):
+        (buildModifierFlags):
+
 2012-09-27  Dirk Pranke  <dpra...@chromium.org>
 
         efl wk2 bots weren't looking at platform/wk2/TestExpectations

Modified: trunk/Tools/DumpRenderTree/mac/EventSendingController.mm (129801 => 129802)


--- trunk/Tools/DumpRenderTree/mac/EventSendingController.mm	2012-09-27 21:36:36 UTC (rev 129801)
+++ trunk/Tools/DumpRenderTree/mac/EventSendingController.mm	2012-09-27 21:44:01 UTC (rev 129802)
@@ -299,21 +299,31 @@
         clickCount++;
 }
 
+static int modifierFlags(const NSString* modifierName)
+{
+    int flags = 0;
+    if ([modifierName isEqual:@"ctrlKey"])
+        flags |= NSControlKeyMask;
+    else if ([modifierName isEqual:@"shiftKey"] || [modifierName isEqual:@"rangeSelectionKey"])
+        flags |= NSShiftKeyMask;
+    else if ([modifierName isEqual:@"altKey"])
+        flags |= NSAlternateKeyMask;
+    else if ([modifierName isEqual:@"metaKey"] || [modifierName isEqual:@"addSelectionKey"])
+        flags |= NSCommandKeyMask;
+
+    return flags;
+}
+
 static int buildModifierFlags(const WebScriptObject* modifiers)
 {
     int flags = 0;
-    if (![modifiers isKindOfClass:[WebScriptObject class]])
+    if ([modifiers isKindOfClass:[NSString class]])
+        return modifierFlags((NSString*)modifiers);
+    else if (![modifiers isKindOfClass:[WebScriptObject class]])
         return flags;
     for (unsigned i = 0; [[modifiers webScriptValueAtIndex:i] isKindOfClass:[NSString class]]; i++) {
         NSString* modifierName = (NSString*)[modifiers webScriptValueAtIndex:i];
-        if ([modifierName isEqual:@"ctrlKey"])
-            flags |= NSControlKeyMask;
-        else if ([modifierName isEqual:@"shiftKey"] || [modifierName isEqual:@"rangeSelectionKey"])
-            flags |= NSShiftKeyMask;
-        else if ([modifierName isEqual:@"altKey"])
-            flags |= NSAlternateKeyMask;
-        else if ([modifierName isEqual:@"metaKey"] || [modifierName isEqual:@"addSelectionKey"])
-            flags |= NSCommandKeyMask;
+        flags |= modifierFlags(modifierName);
     }
     return flags;
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to