<?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>238846</bug_id>
          
          <creation_ts>2022-04-05 15:59:10 -0700</creation_ts>
          <short_desc>ImageBitmapRenderingContext::setOutputBitmap() can trigger accelerated drawing in the webcontent process</short_desc>
          <delta_ts>2022-04-11 15:15:27 -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>Canvas</component>
          <version>Safari Technology Preview</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=218482</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Matt Woodrow">mattwoodrow</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>heycam</cc>
    
    <cc>mattwoodrow</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1858633</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-04-05 15:59:10 -0700</bug_when>
    <thetext>ImageBitmapRenderingContext::setOutputBitmap() makes an accelerated buffer, but doesn&apos;t use the RenderingPurpose::Canvas option, so can trigger accelerated rendering in the web process. This will break when IOKit blocking is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858634</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-05 15:59:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/91321000&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858688</commentid>
    <comment_count>2</comment_count>
      <attachid>456780</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-04-05 21:17:12 -0700</bug_when>
    <thetext>Created attachment 456780
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859112</commentid>
    <comment_count>3</comment_count>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-04-06 18:47:53 -0700</bug_when>
    <thetext>I can&apos;t seem to reproduce any failures here, though we&apos;re definitely allocating an IOSurface from the WebContent process.

Since this only happens when we don&apos;t have an actual image bitmap (and are just allocated a blank backing store), can we just drop hardware acceleration?

Passing RenderingPurpose::Canvas seems like it wouldn&apos;t help, since that parameter is only taken into account if we also pass a window via the CreationContext param.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859415</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-04-07 13:27:29 -0700</bug_when>
    <thetext>I confirm your findings:

* thread #1, queue = &apos;com.apple.main-thread&apos;, stop reason = breakpoint 1.1
  * frame #0: 0x00000001e00ff320 IOSurface`IOSurfaceCreate
    frame #1: 0x00000001165d0f04 WebCore`WebCore::IOSurface::create(WebCore::IOSurfacePool*, WebCore::IntSize, WebCore::IntSize, WebCore::DestinationColorSpace const&amp;, WebCore::IOSurface::Format) + 372
    frame #2: 0x0000000117651e64 WebCore`WebCore::ImageBufferIOSurfaceBackend::create(WebCore::ImageBufferBackend::Parameters const&amp;, WebCore::ImageBuffer::CreationContext const&amp;) + 328
    frame #3: 0x00000001165ddf44 WebCore`WTF::RefPtr&lt;WebCore::IOSurfaceImageBuffer, WTF::RawPtrTraits&lt;WebCore::IOSurfaceImageBuffer&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::IOSurfaceImageBuffer&gt; &gt; WebCore::ConcreteImageBuffer&lt;WebCore::ImageBufferIOSurfaceBackend&gt;::create&lt;WebCore::IOSurfaceImageBuffer&gt;(WebCore::FloatSize const&amp;, float, WebCore::DestinationColorSpace const&amp;, WebCore::PixelFormat, WebCore::ImageBuffer::CreationContext const&amp;) + 84
    frame #4: 0x00000001170c2bb4 WebCore`WebCore::ImageBitmapRenderingContext::setOutputBitmap(WTF::RefPtr&lt;WebCore::ImageBitmap, WTF::RawPtrTraits&lt;WebCore::ImageBitmap&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::ImageBitmap&gt; &gt;) + 296
    frame #5: 0x00000001170c2918 WebCore`WebCore::ImageBitmapRenderingContext::create(WebCore::CanvasBase&amp;, WebCore::ImageBitmapRenderingContextSettings&amp;&amp;) + 232
    frame #6: 0x0000000116f87c5c WebCore`WebCore::HTMLCanvasElement::getContext(JSC::JSGlobalObject&amp;, WTF::String const&amp;, WTF::FixedVector&lt;JSC::Strong&lt;JSC::Unknown, (JSC::ShouldStrongDestructorGrabLock)0&gt; &gt;&amp;&amp;) + 980
    frame #7: 0x0000000115fc65ac WebCore`WebCore::jsHTMLCanvasElementPrototypeFunction_getContext(JSC::JSGlobalObject*, JSC::CallFrame*) + 328
    frame #8: 0x0000000bece6c204
    frame #9: 0x0000000bece64248
    frame #10: 0x0000000bece64248
    frame #11: 0x0000000bece64848
    frame #12: 0x000000010dcaba84 JavaScriptCore`JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 520
    frame #13: 0x000000010df438f0 JavaScriptCore`JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 104
    frame #14: 0x0000000116992974 WebCore`WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&amp;, WebCore::Event&amp;) + 936
    frame #15: 0x0000000116d17068 WebCore`WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&amp;, WTF::Vector&lt;WTF::RefPtr&lt;WebCore::RegisteredEventListener, WTF::RawPtrTraits&lt;WebCore::RegisteredEventListener&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::RegisteredEventListener&gt; &gt;, 1ul, WTF::CrashOnOverflow, 2ul, WTF::FastMalloc&gt;, WebCore::EventTarget::EventInvokePhase) + 556
    frame #16: 0x0000000116d16ad8 WebCore`WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase) + 520
    frame #17: 0x0000000116d0b820 WebCore`WebCore::dispatchEventInDOM(WebCore::Event&amp;, WebCore::EventPath const&amp;) + 240
    frame #18: 0x0000000116d0a94c WebCore`WebCore::EventDispatcher::dispatchEvent(WebCore::Node&amp;, WebCore::Event&amp;) + 824
    frame #19: 0x0000000116fbd964 WebCore`WebCore::HTMLImageLoader::dispatchLoadEvent() + 356
    frame #20: 0x000000011731e004 WebCore`WebCore::ImageLoader::dispatchPendingLoadEvent() + 112
    frame #21: 0x000000011731dcc0 WebCore`WebCore::ImageLoader::dispatchPendingEvent(WebCore::EventSender&lt;WebCore::ImageLoader&gt;*) + 100
    frame #22: 0x000000011731e208 WebCore`WebCore::EventSender&lt;WebCore::ImageLoader&gt;::dispatchPendingEvents(WebCore::Page*) + 284
    frame #23: 0x0000000116ca96dc WebCore`WebCore::Document::implicitClose() + 484</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859448</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-04-07 14:41:38 -0700</bug_when>
    <thetext>And the surface allocation does fail:

2022-04-07 14:40:37.611544-0700 0x1bd2     Error       0x0                  487    0    com.apple.WebKit.WebContent: (IOSurface) IOSurface creation failed. IOSurface open failed: e00002e2  (likely sandbox violation)
2022-04-07 14:40:37.611785-0700 0x1bd2     Error       0x0                  487    0    com.apple.WebKit.WebContent: (WebCore) [com.apple.WebKit:Layers] IOSurface creation failed for size: (200 300) and format: (0)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859546</commentid>
    <comment_count>6</comment_count>
      <attachid>456999</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-04-07 18:26:18 -0700</bug_when>
    <thetext>Created attachment 456999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859551</commentid>
    <comment_count>7</comment_count>
      <attachid>457001</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-04-07 18:36:44 -0700</bug_when>
    <thetext>Created attachment 457001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860431</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-11 15:15:21 -0700</bug_when>
    <thetext>Committed r292729 (249514@main): &lt;https://commits.webkit.org/249514@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457001.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>456780</attachid>
            <date>2022-04-05 21:17:12 -0700</date>
            <delta_ts>2022-04-05 21:17:12 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>image-bitmap.html</filename>
            <type>text/html</type>
            <size>848</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgc2hyaW5rLXRvLWZp
dD1ubyI+CiAgICA8dGl0bGU+PC90aXRsZT4KICAgIDxzdHlsZT4KICAgICAgICBjYW52YXMsIGlt
ZyB7CiAgICAgICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29s
aWQgYmxhY2s7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxzY3JpcHQ+CiAgICAgICAgZnVu
Y3Rpb24gaW1hZ2VMb2FkZWQoKQogICAgICAgIHsKICAgICAgICAgICAgbGV0IGh0bWxDYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaHRtbENhbnZhcyIpLmdldENvbnRleHQoImJpdG1h
cHJlbmRlcmVyIik7CgogICAgICAgICAgICBsZXQgaW1hZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnaW1nJylbMF07CiAgICAgICAgICAgIGNyZWF0ZUltYWdlQml0bWFwKGltYWdl
KS50aGVuKChiaXRtYXApID0+IHsKICAgICAgICAgICAgICAgIGh0bWxDYW52YXMudHJhbnNmZXJG
cm9tSW1hZ2VCaXRtYXAoYml0bWFwKTsgICAgICAgICAgICAKICAgICAgICAgICAgfSk7CiAgICAg
ICAgfQogICAgPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+CiAgICA8aW1nIHNyYz0iaHR0cHM6Ly9w
aWNzdW0ucGhvdG9zLzIwMC8zMDAiIHdpZHRoPSIyMDAiIGhlaWdodD0iMzAwIiBhbHQ9IlBhdHRl
cm4iIG9ubG9hZD0iaW1hZ2VMb2FkZWQoKSI+CiAgICA8Y2FudmFzIGlkPSJodG1sQ2FudmFzIiB3
aWR0aD0iMjAwIiBoZWlnaHQ9IjMwMCI+PC9jYW52YXM+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456999</attachid>
            <date>2022-04-07 18:26:18 -0700</date>
            <delta_ts>2022-04-07 18:36:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238846-20220408132616.patch</filename>
            <type>text/plain</type>
            <size>2995</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM2YzM3Mzk2ZWQ3NWE1
NzA1NWEzODFkODA1YzRmNGQxOGQxZDM3OS4uNDE0N2E3YzhiYzQ1NTZmNjQxZjFlYWM0OTUzMWUz
NzJjNDEyMTI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTA0LTA3ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHVuYWNjZWxl
cmF0ZWQgcmVuZGVyaW5nIGZvciBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQncyBwbGFjZWhv
bGRlciBpbWFnZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzODg0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaXMgYSBibGFuayBpbW11dGFibGUgaW1hZ2UgdXNlZCBhIHBsYWNlaG9sZGVyIHVu
dGlsIGEgcmVhbCBJbWFnZUJpdG1hcCBpcyBwcm92aWRlZCwgc28gdGhlcmUncworICAgICAgICBu
byBuZWVkIHRvIGFsbG9jYXRlIHRvIGFsbG9jYXRlIGFuIGFjY2VsZXJhdGVkIElPU3VyZmFjZS4K
KworICAgICAgICAqIGh0bWwvY2FudmFzL0ltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQ6OmlzQWNjZWxl
cmF0ZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250
ZXh0OjpzZXRPdXRwdXRCaXRtYXApOgorCiAyMDIyLTAzLTA5ICBNYXR0IFdvb2Ryb3cgIDxtYXR0
d29vZHJvd0BhcHBsZS5jb20+CiAKICAgICAgICAgR3JpZCBpdGVtcyB0aGF0IGVzdGFibGlzaCBh
biBpbmRlcGVuZGVudCBmb3JtYXR0aW5nIGNvbnRleHQgc2hvdWxkIG5vdCBiZSBzdWJncmlkcy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ltYWdlQml0bWFwUmVuZGVy
aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJl
bmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IGU0NmRkY2FmNmFmMzVjMDQyYmZmZDQ4ZmJmM2JlZmFi
ZjBlYmU5ZDUuLjE2NTM4ZjkzNmExMzI5MmY3YzYzMDA0N2JlNWM1YzhjNTAyODQ5YWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ltYWdlQml0bWFwUmVuZGVyaW5nQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW1hZ2VCaXRtYXBSZW5k
ZXJpbmdDb250ZXh0LmNwcApAQCAtMzYsMTIgKzM2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0
KTsKIAotI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdfU1RPUkUpCi1zdGF0aWMgUmVu
ZGVyaW5nTW9kZSBidWZmZXJSZW5kZXJpbmdNb2RlID0gUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0
ZWQ7Ci0jZWxzZQotc3RhdGljIFJlbmRlcmluZ01vZGUgYnVmZmVyUmVuZGVyaW5nTW9kZSA9IFJl
bmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQ7Ci0jZW5kaWYKLQogc3RkOjp1bmlxdWVfcHRyPElt
YWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dD4gSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0Ojpj
cmVhdGUoQ2FudmFzQmFzZSYgY2FudmFzLCBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0
aW5ncyYmIHNldHRpbmdzKQogewogICAgIGF1dG8gcmVuZGVyaW5nQ29udGV4dCA9IHN0ZDo6dW5p
cXVlX3B0cjxJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQ+KG5ldyBJbWFnZUJpdG1hcFJlbmRl
cmluZ0NvbnRleHQoY2FudmFzLCBXVEZNb3ZlKHNldHRpbmdzKSkpOwpAQCAtNzAsNyArNjQsNyBA
QCBIVE1MQ2FudmFzRWxlbWVudCogSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0OjpjYW52YXMo
KSBjb25zdAogCiBib29sIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dDo6aXNBY2NlbGVyYXRl
ZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGJ1ZmZlclJlbmRlcmluZ01vZGUgPT0gUmVuZGVyaW5n
TW9kZTo6QWNjZWxlcmF0ZWQ7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiB2b2lkIEltYWdlQml0
bWFwUmVuZGVyaW5nQ29udGV4dDo6c2V0T3V0cHV0Qml0bWFwKFJlZlB0cjxJbWFnZUJpdG1hcD4g
aW1hZ2VCaXRtYXApCkBAIC05NSw3ICs4OSw3IEBAIHZvaWQgSW1hZ2VCaXRtYXBSZW5kZXJpbmdD
b250ZXh0OjpzZXRPdXRwdXRCaXRtYXAoUmVmUHRyPEltYWdlQml0bWFwPiBpbWFnZUJpdG1hCiAg
ICAgICAgIC8vIG9ubHkgcmVhc29uIEkgY2FuIHRoaW5rIG9mIGlzIHRvRGF0YVVSTCgpLCBidXQg
dGhhdCBkb2Vzbid0IHNlZW0gbGlrZQogICAgICAgICAvLyBhIGdvb2QgZW5vdWdoIGFyZ3VtZW50
IHRvIHdhc3RlIG1lbW9yeS4KIAotICAgICAgICBjYW52YXMoKS0+c2V0SW1hZ2VCdWZmZXJBbmRN
YXJrRGlydHkoSW1hZ2VCdWZmZXI6OmNyZWF0ZShGbG9hdFNpemUoY2FudmFzKCktPndpZHRoKCks
IGNhbnZhcygpLT5oZWlnaHQoKSksIGJ1ZmZlclJlbmRlcmluZ01vZGUsIDEsIERlc3RpbmF0aW9u
Q29sb3JTcGFjZTo6U1JHQigpLCBQaXhlbEZvcm1hdDo6QkdSQTgpKTsKKyAgICAgICAgY2FudmFz
KCktPnNldEltYWdlQnVmZmVyQW5kTWFya0RpcnR5KEltYWdlQnVmZmVyOjpjcmVhdGUoRmxvYXRT
aXplKGNhbnZhcygpLT53aWR0aCgpLCBjYW52YXMoKS0+aGVpZ2h0KCkpLCBSZW5kZXJpbmdNb2Rl
OjpVbmFjY2VsZXJhdGVkLCAxLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgUGl4ZWxG
b3JtYXQ6OkJHUkE4KSk7CiAKICAgICAgICAgLy8gMS40LiBTZXQgdGhlIG91dHB1dCBiaXRtYXAn
cyBvcmlnaW4tY2xlYW4gZmxhZyB0byB0cnVlLgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457001</attachid>
            <date>2022-04-07 18:36:44 -0700</date>
            <delta_ts>2022-04-11 15:15:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238846-20220408133642.patch</filename>
            <type>text/plain</type>
            <size>3271</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjRkY2YyOTk0NDdlM2E3
NDRkNTg1YzM3ZDIzN2JkNmJhOGNjYzc3Yi4uMWIwYzBjY2Y2ZTg4MTc2MGNiOTVmNzNmYjE1ODdk
OTM3Zjk2ZmFiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTA0LTA3ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHVuYWNjZWxl
cmF0ZWQgcmVuZGVyaW5nIGZvciBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQncyBwbGFjZWhv
bGRlciBpbWFnZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzODg0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaXMgYSBibGFuayBpbW11dGFibGUgaW1hZ2UgdXNlZCBhIHBsYWNlaG9sZGVyIHVu
dGlsIGEgcmVhbCBJbWFnZUJpdG1hcCBpcyBwcm92aWRlZCwgc28gdGhlcmUncworICAgICAgICBu
byBuZWVkIHRvIGFsbG9jYXRlIHRvIGFsbG9jYXRlIGFuIGFjY2VsZXJhdGVkIElPU3VyZmFjZS4K
KworICAgICAgICAqIGh0bWwvY2FudmFzL0ltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQ6OmlzQWNjZWxl
cmF0ZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250
ZXh0OjpzZXRPdXRwdXRCaXRtYXApOgorCiAyMDIyLTA0LTA3ICBHYWJyaWVsIE5hdmEgTWFyaW5v
ICA8Z25hdmFtYXJpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdoZW4gdXNpbmcgYSBUcmFja0Rp
c3BsYXlVcGRhdGVTY29wZSBxdWV1ZSB1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzIGFzIGEgdGFz
awpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW1hZ2VCaXRtYXBSZW5k
ZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ltYWdlQml0bWFw
UmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggYWVlNTJiYjgxODI4M2UyNmExM2YyNzhiZTZmZmFh
ODkyMmQ1YWMwMC4uZmRiZWY4NjAyYTgyMWFlZDg4MTQyM2M5ZTNmOGM0MmUxZmEzOGRiOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW1hZ2VCaXRtYXBSZW5kZXJpbmdD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJl
bmRlcmluZ0NvbnRleHQuY3BwCkBAIC0zNiwxMiArMzYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRl
eHQpOwogCi0jaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkKLXN0YXRpYyBS
ZW5kZXJpbmdNb2RlIGJ1ZmZlclJlbmRlcmluZ01vZGUgPSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVy
YXRlZDsKLSNlbHNlCi1zdGF0aWMgUmVuZGVyaW5nTW9kZSBidWZmZXJSZW5kZXJpbmdNb2RlID0g
UmVuZGVyaW5nTW9kZTo6VW5hY2NlbGVyYXRlZDsKLSNlbmRpZgotCiBzdGQ6OnVuaXF1ZV9wdHI8
SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0PiBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQ6
OmNyZWF0ZShDYW52YXNCYXNlJiBjYW52YXMsIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNl
dHRpbmdzJiYgc2V0dGluZ3MpCiB7CiAgICAgYXV0byByZW5kZXJpbmdDb250ZXh0ID0gc3RkOjp1
bmlxdWVfcHRyPEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dD4obmV3IEltYWdlQml0bWFwUmVu
ZGVyaW5nQ29udGV4dChjYW52YXMsIFdURk1vdmUoc2V0dGluZ3MpKSk7CkBAIC03MCw3ICs2NCw3
IEBAIEhUTUxDYW52YXNFbGVtZW50KiBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQ6OmNhbnZh
cygpIGNvbnN0CiAKIGJvb2wgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0Ojppc0FjY2VsZXJh
dGVkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gYnVmZmVyUmVuZGVyaW5nTW9kZSA9PSBSZW5kZXJp
bmdNb2RlOjpBY2NlbGVyYXRlZDsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHZvaWQgSW1hZ2VC
aXRtYXBSZW5kZXJpbmdDb250ZXh0OjpzZXRPdXRwdXRCaXRtYXAoUmVmUHRyPEltYWdlQml0bWFw
PiBpbWFnZUJpdG1hcCkKQEAgLTk1LDggKzg5LDcgQEAgdm9pZCBJbWFnZUJpdG1hcFJlbmRlcmlu
Z0NvbnRleHQ6OnNldE91dHB1dEJpdG1hcChSZWZQdHI8SW1hZ2VCaXRtYXA+IGltYWdlQml0bWEK
ICAgICAgICAgLy8gb25seSByZWFzb24gSSBjYW4gdGhpbmsgb2YgaXMgdG9EYXRhVVJMKCksIGJ1
dCB0aGF0IGRvZXNuJ3Qgc2VlbSBsaWtlCiAgICAgICAgIC8vIGEgZ29vZCBlbm91Z2ggYXJndW1l
bnQgdG8gd2FzdGUgbWVtb3J5LgogCi0gICAgICAgIC8vIEZJWE1FOiBUaGlzIG5lZWRzIHRvIHVz
ZSBSZW5kZXJpbmdQdXJwb3NlOjpDYW52YXMgdG8gYXZvaWQgYWNjZWxlcmF0ZWQgYnVmZmVycyBp
biB0aGUgV2ViQ29udGVudCBwcm9jZXNzICh3ZWJraXQub3JnL2IvMjM4ODQ2KS4KLSAgICAgICAg
YXV0byBidWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKEZsb2F0U2l6ZShjYW52YXMoKS0+d2lk
dGgoKSwgY2FudmFzKCktPmhlaWdodCgpKSwgUmVuZGVyaW5nUHVycG9zZTo6VW5zcGVjaWZpZWQs
IDEsIERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBQaXhlbEZvcm1hdDo6QkdSQTgsIGJ1
ZmZlck9wdGlvbnNGb3JSZW5kaW5nTW9kZShidWZmZXJSZW5kZXJpbmdNb2RlKSk7CisgICAgICAg
IGF1dG8gYnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShGbG9hdFNpemUoY2FudmFzKCktPndp
ZHRoKCksIGNhbnZhcygpLT5oZWlnaHQoKSksIFJlbmRlcmluZ1B1cnBvc2U6OlVuc3BlY2lmaWVk
LCAxLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgUGl4ZWxGb3JtYXQ6OkJHUkE4LCBi
dWZmZXJPcHRpb25zRm9yUmVuZGluZ01vZGUoUmVuZGVyaW5nTW9kZTo6VW5hY2NlbGVyYXRlZCkp
OwogICAgICAgICBjYW52YXMoKS0+c2V0SW1hZ2VCdWZmZXJBbmRNYXJrRGlydHkoV1RGTW92ZShi
dWZmZXIpKTsKIAogICAgICAgICAvLyAxLjQuIFNldCB0aGUgb3V0cHV0IGJpdG1hcCdzIG9yaWdp
bi1jbGVhbiBmbGFnIHRvIHRydWUuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>