[webkit-changes] [WebKit/WebKit] 3f0fee: Speedometer 3: Sync IPC in screenX / screenY

Ryosuke Niwa noreply at github.com
Thu Oct 26 22:48:11 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3f0feeb141ba0d307884265697023af8d4b3e0a9
      https://github.com/WebKit/WebKit/commit/3f0feeb141ba0d307884265697023af8d4b3e0a9
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2023-10-26 (Thu, 26 Oct 2023)

  Changed paths:
    M Source/WebKit/DerivedSources-input.xcfilelist
    M Source/WebKit/DerivedSources.make
    A Source/WebKit/Shared/ViewWindowCoordinates.h
    A Source/WebKit/Shared/ViewWindowCoordinates.serialization.in
    M Source/WebKit/Shared/WebPageCreationParameters.h
    M Source/WebKit/Shared/WebPageCreationParameters.serialization.in
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in

  Log Message:
  -----------
  Speedometer 3: Sync IPC in screenX / screenY
https://bugs.webkit.org/show_bug.cgi?id=263708

Reviewed by Wenson Hsieh.

The sync IPC was happening because WebPageProxy::windowAndViewFramesChanged was called in
viewDidMoveToWindow before WebProcess had started and exiting early.

This resulted in WebPage to never cache the window and view coordinates, thereby forcing
WebContent process to send a send IPC to UI process whenever screenX or screenY are requested.

Fixed the bug by passing this information in WebPageCreationParameters for macOS.

* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/Shared/ViewWindowCoordinates.h: Added.
* Source/WebKit/Shared/ViewWindowCoordinates.serialization.in: Added.
* Source/WebKit/Shared/WebPageCreationParameters.h:
* Source/WebKit/Shared/WebPageCreationParameters.serialization.in:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::windowAndViewFramesChanged):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_historyItemClient):
(WebKit::WebPage::windowAndViewFramesChanged):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:

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




More information about the webkit-changes mailing list