<?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>230648</bug_id>
          
          <creation_ts>2021-09-22 16:05:05 -0700</creation_ts>
          <short_desc>[GPU Process] support rendering Apple Pay buttons</short_desc>
          <delta_ts>2021-09-30 16:02:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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=230647</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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>aestes</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1796244</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-09-22 16:05:05 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796247</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-09-22 16:07:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/72061985&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796257</commentid>
    <comment_count>2</comment_count>
      <attachid>438987</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-09-22 16:19:44 -0700</bug_when>
    <thetext>Created attachment 438987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796995</commentid>
    <comment_count>3</comment_count>
      <attachid>438987</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-09-24 12:00:52 -0700</bug_when>
    <thetext>Comment on attachment 438987
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=438987&amp;action=review

&gt; Source/WebCore/ChangeLog:16
&gt; +        While it is possible to create a dedicated display list item for this, we don&apos;t want to do
&gt; +        that because `PKDrawApplePayButtonWithCornerRadius` involves dealing with PDFs, which are
&gt; +        not as secure as we&apos;d like for use in the GPUProcess.

What about doing something like we do for DrawGlyphsRecorder and use a CGContextDelegate to get the underlying draw calls and serialize those? (This is of course assuming CGContextDelegate doesn&apos;t have dedicate DrawPDFPage delegation, but I didn&apos;t think it did)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797108</commentid>
    <comment_count>4</comment_count>
      <attachid>438987</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-09-24 18:20:06 -0700</bug_when>
    <thetext>Comment on attachment 438987
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=438987&amp;action=review

&gt;&gt; Source/WebCore/ChangeLog:16
&gt;&gt; +        not as secure as we&apos;d like for use in the GPUProcess.
&gt; 
&gt; What about doing something like we do for DrawGlyphsRecorder and use a CGContextDelegate to get the underlying draw calls and serialize those? (This is of course assuming CGContextDelegate doesn&apos;t have dedicate DrawPDFPage delegation, but I didn&apos;t think it did)?

Interesting!  I had no idea that existed =D  And yeah I dont see anything related to PDF.

Frankly though I&apos;m not really sure I have the time to investigate this right now.  I&apos;m happy to file a followup to investigate this further if I get a chance in a few weeks.

The initial desire for this change is to just get this working in a GPUProcess world, which I think this achieves.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798969</commentid>
    <comment_count>5</comment_count>
      <attachid>438987</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-30 12:03:58 -0700</bug_when>
    <thetext>Comment on attachment 438987
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=438987&amp;action=review

&gt;&gt;&gt; Source/WebCore/ChangeLog:16
&gt;&gt;&gt; +        not as secure as we&apos;d like for use in the GPUProcess.
&gt;&gt; 
&gt;&gt; What about doing something like we do for DrawGlyphsRecorder and use a CGContextDelegate to get the underlying draw calls and serialize those? (This is of course assuming CGContextDelegate doesn&apos;t have dedicate DrawPDFPage delegation, but I didn&apos;t think it did)?
&gt; 
&gt; Interesting!  I had no idea that existed =D  And yeah I dont see anything related to PDF.
&gt; 
&gt; Frankly though I&apos;m not really sure I have the time to investigate this right now.  I&apos;m happy to file a followup to investigate this further if I get a chance in a few weeks.
&gt; 
&gt; The initial desire for this change is to just get this working in a GPUProcess world, which I think this achieves.

We don&apos;t have a general purpose recorder, only drawglyphs, so I think this is OK for now (you could imagine us having implemented the whole of GPUP that way instead, but we did not).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799007</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-30 13:21:53 -0700</bug_when>
    <thetext>Committed r283331 (242352@main): &lt;https://commits.webkit.org/242352@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438987.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799063</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-09-30 16:02:08 -0700</bug_when>
    <thetext>Please at least make sure there are tests for drawing and scaling these at different sizes to ensure we don&apos;t regress that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799064</commentid>
    <comment_count>8</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-09-30 16:02:17 -0700</bug_when>
    <thetext>Please at least make sure there are tests for drawing and scaling these at different sizes to ensure we don&apos;t regress that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438987</attachid>
            <date>2021-09-22 16:19:44 -0700</date>
            <delta_ts>2021-09-30 13:21:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230648-20210922161944.patch</filename>
            <type>text/plain</type>
            <size>4371</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlMWRhYmIzNDgwODllNzE0MzdkYTU0MzEyMGFjZWJkYmFiODk3Y2U0Li5m
NWQ3Mzg0YTkzYTU4NTZjZmFmZWNhZGJlNzA2MmQ5OTY3ZTQ5NzVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMjEtMDktMjIgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10gc3VwcG9ydCByZW5kZXJpbmcgQXBwbGUgUGF5IGJ1
dHRvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MDY0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzIwNjE5ODU+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVD
b2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ29jb2E6OnBhaW50QXBwbGVQ
YXlCdXR0b24pOgorICAgICAgICBJbnN0ZWFkIG9mIGRyYXdpbmcgZGlyZWN0bHkgaW50byB0aGUg
YEdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1Db250ZXh0YCAod2hpY2ggd2lsbCBub3QgYmUKKyAg
ICAgICAgdmFsaWQgaW4gdGhlIFdlYlByb2Nlc3Mgd2hlbiBET00gcmVuZGVyaW5nIGhhcHBlbnMg
aW4gdGhlIEdQVVByb2Nlc3MpLCBmaXJzdCBkcmF3IGludG8gYQorICAgICAgICB0ZW1wb3Jhcnkg
YEltYWdlQnVmZmVyYCBhbmQgdGhlbiBjb25zdW1lIGl0IHRvIGRyYXcgaW50byB0aGUgYWN0dWFs
L3VzZWQgYEdyYXBoaWNzQ29udGV4dGAuCisgICAgICAgIFdoaWxlIGl0IGlzIHBvc3NpYmxlIHRv
IGNyZWF0ZSBhIGRlZGljYXRlZCBkaXNwbGF5IGxpc3QgaXRlbSBmb3IgdGhpcywgd2UgZG9uJ3Qg
d2FudCB0byBkbworICAgICAgICB0aGF0IGJlY2F1c2UgYFBLRHJhd0FwcGxlUGF5QnV0dG9uV2l0
aENvcm5lclJhZGl1c2AgaW52b2x2ZXMgZGVhbGluZyB3aXRoIFBERnMsIHdoaWNoIGFyZQorICAg
ICAgICBub3QgYXMgc2VjdXJlIGFzIHdlJ2QgbGlrZSBmb3IgdXNlIGluIHRoZSBHUFVQcm9jZXNz
LgorCiAyMDIxLTA5LTIxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CiAKICAgICAgICAgUHVzaCBmb250LXBhbGV0dGUtdmFsdWVzIGRhdGEgaW50byBDU1NGb250U2Vs
ZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcAppbmRleCAxZTQ3
MjE3ZTA3NGNlNTg3YmNhZmZjZmVhYjRjMzEwMGJkYTE1Y2E0Li4wZTVmMjNkYjVlMzBhOTBiZGZk
YTMwMTA3YTIyNGVhYmFjZTkxMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVj
b3JkZXIuY3BwCkBAIC0yNzIsNyArMjcyLDcgQEAgdm9pZCBSZWNvcmRlcjo6c2V0Q1RNKGNvbnN0
IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQogCiBBZmZpbmVUcmFuc2Zvcm0gUmVjb3JkZXI6
OmdldENUTShHcmFwaGljc0NvbnRleHQ6OkluY2x1ZGVEZXZpY2VTY2FsZSkgY29uc3QKIHsKLSAg
ICAvLyBGSVhNRTogUmVzcGVjdCB0aGUgZ2l2ZW4gdmFsdWUgb2YgSW5jbHVkZURldmljZVNjYWxl
LgorICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjMwNjQ3PiAoW0dQVSBQcm9j
ZXNzXSBhZGQgc3VwcG9ydCBmb3IgYEluY2x1ZGVEZXZpY2VTY2FsZWAgaW5zaWRlIGBEaXNwbGF5
TGlzdDo6UmVjb3JkZXI6OmdldENUTWApCiAgICAgcmV0dXJuIGN1cnJlbnRTdGF0ZSgpLmN0bTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDb2NvYS5tbQppbmRl
eCA5M2EyODk0MTg3MjFlMWYwNzhhMmMzMzgyMDUyOTdiODYwMTE3YWMzLi4xZmZjYjZjNzBkNDY0
OGViOTk3NjFjZGQ2YjA4ZTBhOTQ5MjM3NTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVDb2NvYS5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW1wb3J0ICJHcmFw
aGljc0NvbnRleHRDRy5oIgogI2ltcG9ydCAiSFRNTElucHV0RWxlbWVudC5oIgorI2ltcG9ydCAi
SW1hZ2VCdWZmZXIuaCIKICNpbXBvcnQgIlJlbmRlclRleHQuaCIKICNpbXBvcnQgIlVzZXJBZ2Vu
dFNjcmlwdHMuaCIKICNpbXBvcnQgIlVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiCkBAIC0xNTEsMTAg
KzE1MiwxMSBAQCBzdGF0aWMgUEtQYXltZW50QnV0dG9uVHlwZSB0b1BLUGF5bWVudEJ1dHRvblR5
cGUoQXBwbGVQYXlCdXR0b25UeXBlIHR5cGUpCiAKIGJvb2wgUmVuZGVyVGhlbWVDb2NvYTo6cGFp
bnRBcHBsZVBheUJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBQYWlu
dEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcGFpbnRSZWN0KQogewotICAgIEdyYXBo
aWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihwYWludEluZm8uY29udGV4dCgpKTsKKyAg
ICBhdXRvJiBkZXN0aW5hdGlvbkNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwogCi0gICAg
cGFpbnRJbmZvLmNvbnRleHQoKS5zZXRTaG91bGRTbW9vdGhGb250cyh0cnVlKTsKLSAgICBwYWlu
dEluZm8uY29udGV4dCgpLnNjYWxlKEZsb2F0U2l6ZSgxLCAtMSkpOworICAgIGF1dG8gaW1hZ2VC
dWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlQ29tcGF0aWJsZUJ1ZmZlcihwYWludFJlY3Quc2l6
ZSgpLCBkZXN0aW5hdGlvbkNvbnRleHQpOworICAgIGlmICghaW1hZ2VCdWZmZXIpCisgICAgICAg
IHJldHVybiBmYWxzZTsKIAogICAgIGF1dG8mIHN0eWxlID0gcmVuZGVyZXIuc3R5bGUoKTsKICAg
ICBhdXRvIGxhcmdlc3RDb3JuZXJSYWRpdXMgPSBzdGQ6Om1heDxDR0Zsb2F0Pih7CkBAIC0xNjgs
NyArMTcwLDEzIEBAIGJvb2wgUmVuZGVyVGhlbWVDb2NvYTo6cGFpbnRBcHBsZVBheUJ1dHRvbihj
b25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBQCiAgICAgICAgIGZsb2F0VmFsdWVG
b3JMZW5ndGgoc3R5bGUuYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMoKS53aWR0aCwgcGFpbnRSZWN0
LndpZHRoKCkpCiAgICAgfSk7CiAKLSAgICBQS0RyYXdBcHBsZVBheUJ1dHRvbldpdGhDb3JuZXJS
YWRpdXMocGFpbnRJbmZvLmNvbnRleHQoKS5wbGF0Zm9ybUNvbnRleHQoKSwgQ0dSZWN0TWFrZShw
YWludFJlY3QueCgpLCAtcGFpbnRSZWN0Lm1heFkoKSwgcGFpbnRSZWN0LndpZHRoKCksIHBhaW50
UmVjdC5oZWlnaHQoKSksIDEuMCwgbGFyZ2VzdENvcm5lclJhZGl1cywgdG9QS1BheW1lbnRCdXR0
b25UeXBlKHN0eWxlLmFwcGxlUGF5QnV0dG9uVHlwZSgpKSwgdG9QS1BheW1lbnRCdXR0b25TdHls
ZShzdHlsZS5hcHBsZVBheUJ1dHRvblN0eWxlKCkpLCBzdHlsZS5jb21wdXRlZExvY2FsZSgpKTsK
KyAgICBhdXRvJiBpbWFnZUNvbnRleHQgPSBpbWFnZUJ1ZmZlci0+Y29udGV4dCgpOworICAgIGlt
YWdlQ29udGV4dC5zZXRTaG91bGRTbW9vdGhGb250cyh0cnVlKTsKKyAgICBpbWFnZUNvbnRleHQu
c2V0U2hvdWxkU3VicGl4ZWxRdWFudGl6ZUZvbnRzKGZhbHNlKTsKKyAgICBpbWFnZUNvbnRleHQu
c2NhbGUoRmxvYXRTaXplKDEsIC0xKSk7CisgICAgUEtEcmF3QXBwbGVQYXlCdXR0b25XaXRoQ29y
bmVyUmFkaXVzKGltYWdlQ29udGV4dC5wbGF0Zm9ybUNvbnRleHQoKSwgQ0dSZWN0TWFrZSgwLCAt
cGFpbnRSZWN0LmhlaWdodCgpLCBwYWludFJlY3Qud2lkdGgoKSwgcGFpbnRSZWN0LmhlaWdodCgp
KSwgMS4wLCBsYXJnZXN0Q29ybmVyUmFkaXVzLCB0b1BLUGF5bWVudEJ1dHRvblR5cGUoc3R5bGUu
YXBwbGVQYXlCdXR0b25UeXBlKCkpLCB0b1BLUGF5bWVudEJ1dHRvblN0eWxlKHN0eWxlLmFwcGxl
UGF5QnV0dG9uU3R5bGUoKSksIHN0eWxlLmNvbXB1dGVkTG9jYWxlKCkpOworCisgICAgZGVzdGlu
YXRpb25Db250ZXh0LmRyYXdDb25zdW1pbmdJbWFnZUJ1ZmZlcihXVEZNb3ZlKGltYWdlQnVmZmVy
KSwgcGFpbnRSZWN0KTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>