[webkit-changes] [WebKit/WebKit] 42d2cc: [Site Isolation] iframe processes do not handle mo...

Charlie Wolfe noreply at github.com
Thu Feb 15 14:59:20 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 42d2cca5146619049aac2d95603b272aa863fe55
      https://github.com/WebKit/WebKit/commit/42d2cca5146619049aac2d95603b272aa863fe55
  Author: Charlie Wolfe <charliew at apple.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    A LayoutTests/http/tests/site-isolation/mouse-events/context-menu-event-twice-expected.txt
    A LayoutTests/http/tests/site-isolation/mouse-events/context-menu-event-twice.html
    M Source/WebKit/UIProcess/WebContextMenuProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/WebProcess/WebPage/WebContextMenu.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in

  Log Message:
  -----------
  [Site Isolation] iframe processes do not handle mouse events after opening a context menu
https://bugs.webkit.org/show_bug.cgi?id=269446
rdar://122997776

Reviewed by Alex Christensen.

When the web process is waiting for the client to open a context menu, all mouse events are ignored. With
site isolation, iframe processes weren't being notified when a context menu had opened. So, the processes
would not handle mouse events after one context menu was opened. Instead of updating this value in each
web process, we should just not send the event from the UI process when waiting for a context menu to
open.

* LayoutTests/http/tests/site-isolation/mouse-events/context-menu-event-twice-expected.txt: Added.
* LayoutTests/http/tests/site-isolation/mouse-events/context-menu-event-twice.html: Added.
* Source/WebKit/UIProcess/WebContextMenuProxy.cpp:
(WebKit::WebContextMenuProxy::useContextMenuItems):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processNextQueuedMouseEvent):
(WebKit::WebPageProxy::showContextMenu):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::show):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::didShowContextMenu): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::startWaitingForContextMenuToShow): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:

Canonical link: https://commits.webkit.org/274771@main




More information about the webkit-changes mailing list