[webkit-changes] [WebKit/WebKit] b6d7f3: [Win] The view size shouldn't be affected by the c...

Fujii Hironori noreply at github.com
Wed Jan 22 11:45:29 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b6d7f33139c733c82f439375d4fe2fb39736f2f3
      https://github.com/WebKit/WebKit/commit/b6d7f33139c733c82f439375d4fe2fb39736f2f3
  Author: Fujii Hironori <Hironori.Fujii at sony.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M Source/WebCore/PlatformWin.cmake
    M Source/WebCore/platform/graphics/FloatPoint.h
    M Source/WebCore/platform/graphics/IntRect.h
    A Source/WebCore/platform/graphics/win/FloatPointWin.cpp
    M Source/WebKit/Shared/WebPageCreationParameters.h
    M Source/WebKit/Shared/WebPageCreationParameters.serialization.in
    M Source/WebKit/Shared/win/WebEventFactory.cpp
    M Source/WebKit/UIProcess/BackingStore.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/skia/BackingStoreSkia.cpp
    M Source/WebKit/UIProcess/wc/DrawingAreaProxyWC.cpp
    M Source/WebKit/UIProcess/win/WebPopupMenuProxyWin.cpp
    M Source/WebKit/UIProcess/win/WebView.cpp
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp
    M Source/WebKit/WebProcess/WebPage/DrawingArea.h
    M Source/WebKit/WebProcess/WebPage/DrawingArea.messages.in
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.cpp
    M Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.h
    M Tools/MiniBrowser/win/WebKitBrowserWindow.cpp
    M Tools/MiniBrowser/win/WebKitBrowserWindow.h

  Log Message:
  -----------
  [Win] The view size shouldn't be affected by the custom device scale factor
https://bugs.webkit.org/show_bug.cgi?id=285007

Reviewed by Don Olmstead.

<https://commits.webkit.org/279794@main> added the device scale factor
support for Windows port.

Unlike other modern platforms, in the legacy win32 platfrom, a native
window size is scaled in high DPI. For example, 100x100 window (in
normal DPI) becomes 150x150 in a 150% DPI display. Thus, all
dimensions and positions have to be converted between the inside
WebKit and a native win32 window. The win32 coordinate system can be
converted to the WebKit coordinate system by division by the scale
factor. The WebKit coordinate system can be converted to the win32
coordinate system by multiplication by the scale factor.

However, a custom device scale factor is specified, the custom device
scale factor shouldn't be used for the conversion. The conversion
should be done by the intrinsic device scale factor.

* Source/WebCore/PlatformWin.cmake:
* Source/WebCore/platform/graphics/FloatPoint.h:
* Source/WebCore/platform/graphics/IntRect.h:
* Source/WebCore/platform/graphics/win/FloatPointWin.cpp: Added.
(WebCore::FloatPoint::FloatPoint):
* Source/WebKit/Shared/WebPageCreationParameters.h:
* Source/WebKit/Shared/WebPageCreationParameters.serialization.in:
* Source/WebKit/Shared/win/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
* Source/WebKit/UIProcess/BackingStore.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/skia/BackingStoreSkia.cpp:
(WebKit::BackingStore::paint):
* Source/WebKit/UIProcess/wc/DrawingAreaProxyWC.cpp:
(WebKit::DrawingAreaProxyWC::sizeDidChange):
* Source/WebKit/UIProcess/win/WebPopupMenuProxyWin.cpp:
(WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
(WebKit::WebPopupMenuProxyWin::invalidateItem):
(WebKit::WebPopupMenuProxyWin::contentsSize const):
(WebKit::WebPopupMenuProxyWin::scrollTo):
(WebKit::WebPopupMenuProxyWin::invalidateScrollbarRect):
(WebKit::WebPopupMenuProxyWin::onSize):
(WebKit::WebPopupMenuProxyWin::onMouseMove):
(WebKit::WebPopupMenuProxyWin::onLButtonDown):
(WebKit::WebPopupMenuProxyWin::onLButtonUp):
(WebKit::WebPopupMenuProxyWin::paint):
(WebKit::WebPopupMenuProxyWin::visibleItems const):
* Source/WebKit/UIProcess/win/WebView.cpp:
(WebKit::WebView::onMouseEvent):
(WebKit::WebView::onWheelEvent):
(WebKit::drawPageBackground):
(WebKit::WebView::paint):
(WebKit::WebView::onPaintEvent):
(WebKit::WebView::onSizeEvent):
(WebKit::WebView::setScrollOffsetOnNextResize):
(WebKit::WebView::setViewNeedsDisplay):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp:
(WebKit::LayerTreeHost::compositeLayersToContext):
(WebKit::LayerTreeHost::applyDeviceScaleFactor):
* Source/WebKit/WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::setIntrinsicDeviceScaleFactor):
(WebKit::DrawingArea::updateGeometryWC):
* Source/WebKit/WebProcess/WebPage/DrawingArea.messages.in:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_textAnimationController):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.cpp:
(WebKit::DrawingAreaWC::updateGeometryWC):
(WebKit::DrawingAreaWC::sendUpdateAC):
(WebKit::DrawingAreaWC::updateRootLayerDeviceScaleFactor):
* Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.h:
* Tools/MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::create):
(WebKitBrowserWindow::adjustScaleFactors):
(WebKitBrowserWindow::resetZoom):
* Tools/MiniBrowser/win/WebKitBrowserWindow.h:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list