haikuwebkit/Source/WebCore/platform/graphics/win
Per Arne Vollan 33a80b622e [Win] Crash under FontCache::lastResortFallbackFont
https://bugs.webkit.org/show_bug.cgi?id=228186

Reviewed by Myles C. Maxfield.

Source/WebCore:

Add null check to resolve crash in FontCache::lastResortFallbackFont. Additionally, return early in BitmapImage::getHBITMAPOfSize
when the bits per pixel in the bitmap is of unexpected size, since that will cause a crash under this function. This can happen
if an event is being handled while already in the Windows paint handler.

* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::lastResortFallbackFont):
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::CGContextWithHDC):
* platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):

Source/WebKitLegacy/win:

Add null check for bitmapDC. Proceeding without a valid bitmapDC will cause a crash. When painting is being done while already in the Windows paint handler,
we can end up with a bitmapDC which is null.

* WebView.cpp:
(WebView::paintIntoBackingStore):


Canonical link: https://commits.webkit.org/240795@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-21 22:04:40 +00:00
..
BackingStoreBackendDirect2D.h
BackingStoreBackendDirect2DImpl.cpp
BackingStoreBackendDirect2DImpl.h
ColorDirect2D.cpp
ComplexTextControllerDirectWrite.cpp
ComplexTextControllerUniscribe.cpp
DIBPixelData.cpp
DIBPixelData.h
Direct2DOperations.cpp
Direct2DOperations.h [Cairo] Merge PlatformContextCairo into GraphicsContextCairo 2021-07-07 19:43:49 +00:00
Direct2DUtilities.cpp Use Checked aliases instead of Checked<T, RecordOverflow> 2021-06-02 15:42:27 +00:00
Direct2DUtilities.h
DirectWriteUtilities.cpp Use `const uint8_t*` type more consistently to store bytes in WebKit 2021-06-06 05:25:41 +00:00
DirectWriteUtilities.h Use `const uint8_t*` type more consistently to store bytes in WebKit 2021-06-06 05:25:41 +00:00
DisplayRefreshMonitorWin.cpp
DisplayRefreshMonitorWin.h
FloatPointDirect2D.cpp
FloatRectDirect2D.cpp
FloatSizeDirect2D.cpp
FontCGWin.cpp
FontCacheWin.cpp [Win] Crash under FontCache::lastResortFallbackFont 2021-08-21 22:04:40 +00:00
FontCascadeDirect2D.cpp
FontCustomPlatformData.cpp
FontCustomPlatformData.h
FontCustomPlatformDataCairo.cpp
FontDescriptionWin.cpp
FontPlatformDataCGWin.cpp
FontPlatformDataCairoWin.cpp
FontPlatformDataDirect2D.cpp
FontPlatformDataWin.cpp Use Vector<uint8_t> instead of Vector<char> to store bytes in SharedBuffer 2021-06-05 01:16:43 +00:00
FontWin.cpp
FullScreenController.cpp
FullScreenController.h
FullScreenControllerClient.h
GlyphPageTreeNodeCairoWin.cpp
GlyphPageTreeNodeDirect2D.cpp
GradientDirect2D.cpp
GraphicsContextCGWin.cpp [Win] Crash under FontCache::lastResortFallbackFont 2021-08-21 22:04:40 +00:00
GraphicsContextCairoWin.cpp [Cairo][Win] Remove unneeded GraphicsContextPlatformPrivate 2021-07-09 20:37:57 +00:00
GraphicsContextDirect2D.cpp GraphicsContext::apply{Fill,Stroke}Pattern needs to do nothing if there is no fill/stroke pattern set 2021-06-15 18:18:57 +00:00
GraphicsContextGLDirect2D.cpp
GraphicsContextPlatformPrivateDirect2D.h [Win] Remove unused GraphicsContext::shouldIncludeChildWindows() 2021-06-03 19:59:29 +00:00
GraphicsContextWin.cpp [Cairo][Win] Remove unneeded GraphicsContextPlatformPrivate 2021-07-09 20:37:57 +00:00
GraphicsContextWin.h
GraphicsLayerDirect2D.cpp
GraphicsLayerDirect2D.h
IconWin.cpp
ImageBufferDirect2DBackend.cpp Use Checked aliases instead of Checked<T, RecordOverflow> 2021-06-02 15:42:27 +00:00
ImageBufferDirect2DBackend.h Remove WTF::Optional synonym for std::optional, using that class template directly instead 2021-05-30 16:11:40 +00:00
ImageCGWin.cpp [Win] Crash under FontCache::lastResortFallbackFont 2021-08-21 22:04:40 +00:00
ImageCairoWin.cpp [Cairo] Simplify GraphicsContextCairo creation 2021-07-01 10:35:07 +00:00
ImageDecoderDirect2D.cpp Remove <wtf/Optional.h> 2021-06-02 06:45:51 +00:00
ImageDecoderDirect2D.h Remove WTF::Optional synonym for std::optional, using that class template directly instead 2021-05-30 16:11:40 +00:00
ImageDirect2D.cpp
ImageWin.cpp
IntPointWin.cpp
IntRectWin.cpp
IntSizeWin.cpp
LocalWindowsContext.h
MediaPlayerPrivateFullscreenWindow.cpp
MediaPlayerPrivateFullscreenWindow.h
MediaPlayerPrivateMediaFoundation.cpp Rename MediaPlayer::setVisible to MediaPlayer::setPageIsVisible 2021-08-19 08:40:05 +00:00
MediaPlayerPrivateMediaFoundation.h Rename MediaPlayer::setVisible to MediaPlayer::setPageIsVisible 2021-08-19 08:40:05 +00:00
NativeImageDirect2D.cpp
PathDirect2D.cpp
PatternDirect2D.cpp
PlatformContextDirect2D.cpp
PlatformContextDirect2D.h
PlatformDisplayWin.cpp
PlatformDisplayWin.h
SharedGDIObject.h
SimpleFontDataCGWin.cpp
SimpleFontDataCairoWin.cpp Remove WTF::Optional synonym for std::optional, using that class template directly instead 2021-05-30 16:11:40 +00:00
SimpleFontDataDirect2D.cpp
SimpleFontDataWin.cpp
TextAnalyzerHelper.cpp
TextAnalyzerHelper.h
TransformationMatrixDirect2D.cpp
TransformationMatrixWin.cpp
WKCAImageQueue.cpp
WKCAImageQueue.h