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