<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>255898</bug_id>
          
          <creation_ts>2023-04-24 17:52:55 -0700</creation_ts>
          <short_desc>[GPU Process] Create a platform path only when it is needed</short_desc>
          <delta_ts>2024-11-14 13:10:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=258734</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=258673</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=258762</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=279105</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=283127</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1950914</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2023-04-24 17:52:55 -0700</bug_when>
    <thetext>When GPUProcess is enabled, a platform path is created in the WebProcess mainly to store the path segments. A path segment is a command added to the Path. When the Path is encoded, the platform path is flattened back to path segments and they are sent to GPUProcess. Upon received the path segments, the GPUProcess creates another platform path to store the decoded path segment.

We should avoid creating the platform path in the WebProcess. For this purpose a new class called PathStream is created. It is a superclass of PathImpl which is the base class of the platform path (PathCG and PathCairo). Path now owns a unique_ptr&lt;PathImpl&gt; which can be converted from PathStream to PathCG and vice versa. Path delegates all the calls to PathImpl. PathStream will implement most of the functions the Path needs. But for drawing and complicated queries, the PathStream will be connoted to PathCG.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1950915</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-04-24 17:53:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/108480395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1950919</commentid>
    <comment_count>2</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2023-04-24 18:15:13 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/13126</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1963918</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-06-27 17:16:56 -0700</bug_when>
    <thetext>Committed 265569@main (f90cae5f62c3): &lt;https://commits.webkit.org/265569@main&gt;

Reviewed commits have been landed. Closing PR #13126 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>