[webkit-changes] [WebKit/WebKit] f3147a: Add function to copy the state of a GraphicsContex...

Said Abou-Hallawa noreply at github.com
Wed Oct 19 10:12:15 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f3147a40773741a9debdbe180b6a02c196dc7e74
      https://github.com/WebKit/WebKit/commit/f3147a40773741a9debdbe180b6a02c196dc7e74
  Author: Said Abou-Hallawa <said at apple.com>
  Date:   2022-10-19 (Wed, 19 Oct 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.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/displaylists/DisplayListItems.cpp
    M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp

  Log Message:
  -----------
  Add function to copy the state of a GraphicsContext to another GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=246681

Reviewed by Tim Horton.

For the canvas filter API, we need to copy the current GraphicsContextState of a
canvas context to a newly created ImageBuffer. This should compare the two context
states and not rely on the flags which track which changes have not been committed
to the platform context.

* Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::didUpdateState):
* Source/WebCore/platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::mergeLastChanges):
(WebCore::GraphicsContext::mergeAllChanges):
(WebCore::GraphicsContext::updateState): Deleted.
* Source/WebCore/platform/graphics/GraphicsContext.h:
* Source/WebCore/platform/graphics/GraphicsContextState.cpp:
(WebCore::GraphicsContextState::mergeLastChanges):
(WebCore::GraphicsContextState::mergeAllChanges):
(WebCore::GraphicsContextState::mergeChanges): Deleted.
* Source/WebCore/platform/graphics/GraphicsContextState.h:
* Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::SetState::apply):
* Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::didUpdateState):

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




More information about the webkit-changes mailing list