Title: [158778] branches/safari-537.73-branch/Source/WebCore
Revision
158778
Author
[email protected]
Date
2013-11-06 12:49:39 -0800 (Wed, 06 Nov 2013)

Log Message

Merged r158629.  <rdar://problem/15391028>

Modified Paths

Diff

Modified: branches/safari-537.73-branch/Source/WebCore/ChangeLog (158777 => 158778)


--- branches/safari-537.73-branch/Source/WebCore/ChangeLog	2013-11-06 20:49:38 UTC (rev 158777)
+++ branches/safari-537.73-branch/Source/WebCore/ChangeLog	2013-11-06 20:49:39 UTC (rev 158778)
@@ -1,5 +1,26 @@
 2013-11-06  Lucas Forschler  <[email protected]>
 
+        Merge r158629
+
+    2013-11-04  Samuel White  <[email protected]>
+
+            AX: AXShowMenu doesn't always work.
+            https://bugs.webkit.org/show_bug.cgi?id=123649
+
+            Reviewed by Chris Fleizach.
+
+            No new tests, the change occurs in a code path that forces the context menu to show which
+            locks up DRT if we try to test it (platform menu is shown). The change itself gives the mouse
+            event handler a chance to handle our platform mouse event BEFORE the event ends up in the show
+            context menu machinery. This is necessary because without it, the element will not become
+            focused. Without focus, accessibility shows different/less menu items than a mouse click. The
+            end result is that context menus shown via accessibility are consistent with menus shown via click.
+
+            * page/ContextMenuController.cpp:
+            (WebCore::ContextMenuController::showContextMenuAt):
+
+2013-11-06  Lucas Forschler  <[email protected]>
+
         Merge r154391
 
     2013-08-21  Brent Fulgham  <[email protected]>

Modified: branches/safari-537.73-branch/Source/WebCore/page/ContextMenuController.cpp (158777 => 158778)


--- branches/safari-537.73-branch/Source/WebCore/page/ContextMenuController.cpp	2013-11-06 20:49:38 UTC (rev 158777)
+++ branches/safari-537.73-branch/Source/WebCore/page/ContextMenuController.cpp	2013-11-06 20:49:39 UTC (rev 158778)
@@ -1446,8 +1446,11 @@
 #if USE(ACCESSIBILITY_CONTEXT_MENUS)
 void ContextMenuController::showContextMenuAt(Frame* frame, const IntPoint& clickPoint)
 {
+    clearContextMenu();
+    
     // Simulate a click in the middle of the accessibility object.
     PlatformMouseEvent mouseEvent(clickPoint, clickPoint, RightButton, PlatformEvent::MousePressed, 1, false, false, false, false, currentTime());
+    frame->eventHandler()->handleMousePressEvent(mouseEvent); 
     bool handled = frame->eventHandler()->sendContextMenuEvent(mouseEvent);
     if (handled && client())
         client()->showContextMenu();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to