Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7d3126b3705a8d90653f9efad3c6d7246307bd09 https://github.com/WebKit/WebKit/commit/7d3126b3705a8d90653f9efad3c6d7246307bd09 Author: Said Abou-Hallawa <s...@apple.com> Date: 2023-09-08 (Fri, 08 Sep 2023)
Changed paths: M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h M Source/WebCore/platform/graphics/FontCascade.cpp M Source/WebCore/platform/graphics/GraphicsContext.cpp M Source/WebCore/platform/graphics/GraphicsContext.h M Source/WebCore/platform/graphics/GraphicsContextState.cpp M Source/WebCore/platform/graphics/GraphicsContextState.h M Source/WebCore/platform/graphics/NullGraphicsContext.h M Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp M Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h M Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp M Source/WebCore/platform/graphics/cg/GraphicsContextCG.h M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h M Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp M Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h Log Message: ----------- Associate a purpose for each GraphicsContextState in the context state stack https://bugs.webkit.org/show_bug.cgi?id=261296 rdar://115138846 Reviewed by Simon Fraser. We internally call GraphicsContext::save() when we begin a transparency layer and we call GraphicsContext::restore() when we end the transparency layer. Differentiating when this happens from normal save/restore will make it easy to unwind the stack of the GraphicsContextState and the transparency layers in the right order. * Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp: (WebCore::BifurcatedGraphicsContext::save): (WebCore::BifurcatedGraphicsContext::restore): (WebCore::BifurcatedGraphicsContext::beginTransparencyLayer): (WebCore::BifurcatedGraphicsContext::endTransparencyLayer): * Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h: * Source/WebCore/platform/graphics/FontCascade.cpp: (WebCore::FontCascade::displayListForTextRun const): * Source/WebCore/platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::save): (WebCore::GraphicsContext::restore): * Source/WebCore/platform/graphics/GraphicsContext.h: * Source/WebCore/platform/graphics/GraphicsContextState.cpp: (WebCore::GraphicsContextState::repurpose): (WebCore::GraphicsContextState::clone const): (WebCore::GraphicsContextState::cloneForRecording const): Deleted. (WebCore::GraphicsContextState::didBeginTransparencyLayer): Deleted. * Source/WebCore/platform/graphics/GraphicsContextState.h: (WebCore::GraphicsContextState::purpose const): * Source/WebCore/platform/graphics/NullGraphicsContext.h: * Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContextCairo::save): (WebCore::GraphicsContextCairo::restore): * Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h: * Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContextCG::save): (WebCore::GraphicsContextCG::restore): (WebCore::GraphicsContextCG::beginTransparencyLayer): (WebCore::GraphicsContextCG::endTransparencyLayer): * Source/WebCore/platform/graphics/cg/GraphicsContextCG.h: * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp: (WebCore::DisplayList::Recorder::save): (WebCore::DisplayList::Recorder::restore): (WebCore::DisplayList::Recorder::beginTransparencyLayer): (WebCore::DisplayList::Recorder::endTransparencyLayer): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h: (WebCore::DisplayList::Recorder::ContextState::cloneForTransparencyLayer const): (WebCore::DisplayList::Recorder::ContextState::ContextState): Deleted. * Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp: (Nicosia::CairoOperationRecorder::save): (Nicosia::CairoOperationRecorder::restore): * Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h: Canonical link: https://commits.webkit.org/267790@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes