[Webkit-unassigned] [Bug 201534] New: PathDirect2D Cleanups

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Sep 5 21:13:49 PDT 2019


https://bugs.webkit.org/show_bug.cgi?id=201534

            Bug ID: 201534
           Summary: PathDirect2D Cleanups
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit API
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: bfulgham at webkit.org

The initial PathDirect2D implementation had a few shortcomings:

1. COMPtr<> had no move operator, therefore the Path implementation couldn't move content.
2. Paths (ID2D1GeometryGroups) are frequently built up of ID2D1Geometry elements. But the append operation required retrieving the existing geometries, adding the new item, then loading back into an overall path object. By keeping track of the elements ourselves, we can avoid copying the elements into a temporary vector before building the appended ID2D1GeometryGroup.
3. There are rules about using ID2D1GeometrySink and ID2D1PathGeometry. After calling 'Close' on an ID2D1GeometrySink supplied by a ID2D1PathGeometry, neither should be reused. Nothing prevented this mistake in the PathDirect2D implementation.

This patch cleans up these issues.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190906/1408f954/attachment.html>


More information about the webkit-unassigned mailing list