[webkit-changes] [WebKit/WebKit] 5bd5f3: [Win] Add an alternative Skia backend support

Fujii Hironori noreply at github.com
Thu Nov 14 23:50:22 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5bd5f37115b2e0314de307f68629d2b1a92791f6
      https://github.com/WebKit/WebKit/commit/5bd5f37115b2e0314de307f68629d2b1a92791f6
  Author: Fujii Hironori <Hironori.Fujii at sony.com>
  Date:   2024-11-14 (Thu, 14 Nov 2024)

  Changed paths:
    M Source/ThirdParty/skia/CMakeLists.txt
    M Source/WebCore/PlatformWin.cmake
    M Source/WebCore/platform/graphics/Color.h
    M Source/WebCore/platform/graphics/FontCache.cpp
    M Source/WebCore/platform/graphics/FontCache.h
    M Source/WebCore/platform/graphics/FontCustomPlatformData.h
    M Source/WebCore/platform/graphics/FontPlatformData.h
    M Source/WebCore/platform/graphics/skia/FontCacheSkia.cpp
    M Source/WebCore/platform/graphics/skia/FontPlatformDataSkia.cpp
    M Source/WebCore/platform/graphics/skia/ImageBufferSkiaBackend.h
    M Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp
    M Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp
    M Source/WebCore/platform/graphics/win/GraphicsContextWin.cpp
    M Source/WebCore/platform/graphics/win/ImageAdapterWin.cpp
    M Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp
    M Source/WebCore/platform/graphics/win/cairo/FontPlatformDataWinCairo.cpp
    M Source/WebCore/platform/win/DragImageWin.cpp
    M Source/WebKit/Platform/Skia.cmake
    M Source/WebKit/PlatformWin.cmake
    M Source/WebKit/Shared/WebCoreArgumentCoders.h
    M Source/WebKit/Shared/WebCoreFont.serialization.in
    A Source/WebKit/Shared/skia/Skia.serialization.in
    M Source/WebKit/Shared/skia/WebCoreArgumentCodersSkia.cpp
    M Source/WebKit/Shared/win/WebCoreArgumentCodersWin.cpp
    M Source/WebKit/UIProcess/BackingStore.h
    M Source/WebKit/UIProcess/skia/BackingStoreSkia.cpp
    M Source/WebKit/UIProcess/win/WebPopupMenuProxyWin.cpp
    M Source/WebKit/UIProcess/win/WebPopupMenuProxyWin.h
    M Source/WebKit/UIProcess/win/WebView.cpp
    M Source/cmake/OptionsWin.cmake
    M Tools/ImageDiff/PlatformWin.cmake
    M Tools/TestWebKitAPI/Tests/WebCore/win/LinkedFonts.cpp
    M Tools/WebKitTestRunner/PlatformWin.cmake
    M Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp

  Log Message:
  -----------
  [Win] Add an alternative Skia backend support
https://bugs.webkit.org/show_bug.cgi?id=269117

Reviewed by Carlos Garcia Campos.

Build out the bundled Skia. Harfbuzz is required.

> build-webkit --cmakeargs="-DUSE_SKIA=1"

There are still some problems.
* custom fonts don't work.
* pixel formats of video isn't correct
* linked font doesn't work.
* Not implemented yet: GraphicsContext::releaseWindowsContext, DragImageWin.cpp and ImageAdapterWin.cpp

* Source/ThirdParty/skia/CMakeLists.txt:
* Source/WebCore/PlatformWin.cmake:
* Source/WebCore/platform/graphics/Color.h:
* Source/WebCore/platform/graphics/FontCache.cpp:
* Source/WebCore/platform/graphics/FontCache.h:
* Source/WebCore/platform/graphics/FontCustomPlatformData.h:
* Source/WebCore/platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformDataAttributes::FontPlatformDataAttributes):
(WebCore::FontPlatformData::hfont const):
* Source/WebCore/platform/graphics/skia/FontCacheSkia.cpp:
(WebCore::FontCache::platformInit):
(WebCore::FontCache::fontManager const):
* Source/WebCore/platform/graphics/skia/FontPlatformDataSkia.cpp:
(WebCore::FontPlatformData::create):
(WebCore::FontPlatformData::attributes const):
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaBackend.h:
* Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp:
(WebCore::BitmapTexture::updateContents):
* Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp:
(WebCore::FontPlatformData::FontPlatformData):
* Source/WebCore/platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContext::releaseWindowsContext):
* Source/WebCore/platform/graphics/win/ImageAdapterWin.cpp:
(WebCore::ImageAdapter::getHBITMAPOfSize):
(WebCore::ImageAdapter::nativeImageOfHBITMAP):
* Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame):
* Source/WebCore/platform/graphics/win/cairo/FontPlatformDataWinCairo.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::platformIsEqual const):
(WebCore::FontPlatformData::familyName const):
* Source/WebCore/platform/win/DragImageWin.cpp:
(WebCore::createDragImageForLink):
(WebCore::createDragImageFromImage):
(WebCore::scaleDragImage):
* Source/WebKit/PlatformWin.cmake:
* Source/WebKit/Platform/Skia.cmake:
* Source/WebKit/Shared/WebCoreArgumentCoders.h:
* Source/WebKit/Shared/WebCoreFont.serialization.in:
* Source/WebKit/Shared/skia/Skia.serialization.in: Added.
* Source/WebKit/Shared/skia/WebCoreArgumentCodersSkia.cpp:
(IPC::ArgumentCoder<SkString>::encode):
(IPC::ArgumentCoder<SkString>::decode):
(IPC::ArgumentCoder<SkFontStyle::Slant>::encode):
(IPC::ArgumentCoder<SkFontStyle::Slant>::decode):
* Source/WebKit/Shared/win/WebCoreArgumentCodersWin.cpp:
* Source/WebKit/UIProcess/BackingStore.h:
* Source/WebKit/UIProcess/skia/BackingStoreSkia.cpp:
(WebKit::BackingStore::paint):
* Source/WebKit/UIProcess/win/WebPopupMenuProxyWin.cpp:
(WebKit::WebPopupMenuProxyWin::paint):
* Source/WebKit/UIProcess/win/WebPopupMenuProxyWin.h:
* Source/WebKit/UIProcess/win/WebView.cpp:
(WebKit::WebView::paint):
* Source/cmake/OptionsWin.cmake:
* Tools/ImageDiff/PlatformWin.cmake:
* Tools/TestWebKitAPI/Tests/WebCore/win/LinkedFonts.cpp:
* Tools/WebKitTestRunner/PlatformWin.cmake:
* Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::generateCairoSurfaceFromBitmap):
(WTR::PlatformWebView::windowSnapshotImage):

Canonical link: https://commits.webkit.org/286632@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