<?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>219166</bug_id>
          
          <creation_ts>2020-11-19 09:53:59 -0800</creation_ts>
          <short_desc>Unable to fetch an audio worklet module using a data URL</short_desc>
          <delta_ts>2020-11-19 12:53:36 -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>Web Audio</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1709162</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-19 09:53:59 -0800</bug_when>
    <thetext>Unable to fetch an audio worklet module using a data URL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709164</commentid>
    <comment_count>1</comment_count>
      <attachid>414597</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-19 09:55:17 -0800</bug_when>
    <thetext>Created attachment 414597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709167</commentid>
    <comment_count>2</comment_count>
      <attachid>414597</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-11-19 10:06:12 -0800</bug_when>
    <thetext>Comment on attachment 414597
Patch

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

&gt; Source/WebCore/workers/WorkerScriptLoader.cpp:133
&gt; +    if (fetchOptions.destination != FetchOptions::Destination::Serviceworker &amp;&amp; fetchOptions.destination != FetchOptions::Destination::Worker)
&gt; +        options.sameOriginDataURLFlag = SameOriginDataURLFlag::Set;

I tried to think through why the same origin restriction is only required for ServiceWorker and Worker, but I couldn&apos;t figure it out. What&apos;s the distinction being made here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709169</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-19 10:11:03 -0800</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #2)
&gt; Comment on attachment 414597 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=414597&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/workers/WorkerScriptLoader.cpp:133
&gt; &gt; +    if (fetchOptions.destination != FetchOptions::Destination::Serviceworker &amp;&amp; fetchOptions.destination != FetchOptions::Destination::Worker)
&gt; &gt; +        options.sameOriginDataURLFlag = SameOriginDataURLFlag::Set;
&gt; 
&gt; I tried to think through why the same origin restriction is only required
&gt; for ServiceWorker and Worker, but I couldn&apos;t figure it out. What&apos;s the
&gt; distinction being made here?

I am not sure this is correct. I am not sure what&apos;s the best condition to use and I asked Youenn for feedback on Slack (He said he would look at it shortly).

The flag in question has been dropped from the spec:
https://github.com/whatwg/fetch/issues/381</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709185</commentid>
    <comment_count>4</comment_count>
      <attachid>414597</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-19 11:05:54 -0800</bug_when>
    <thetext>Comment on attachment 414597
Patch

r=me once we verify there is no issue with the origin of audio worklet for data URLs.

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

&gt;&gt;&gt; Source/WebCore/workers/WorkerScriptLoader.cpp:133
&gt;&gt;&gt; +        options.sameOriginDataURLFlag = SameOriginDataURLFlag::Set;
&gt;&gt; 
&gt;&gt; I tried to think through why the same origin restriction is only required for ServiceWorker and Worker, but I couldn&apos;t figure it out. What&apos;s the distinction being made here?
&gt; 
&gt; I am not sure this is correct. I am not sure what&apos;s the best condition to use and I asked Youenn for feedback on Slack (He said he would look at it shortly).
&gt; 
&gt; The flag in question has been dropped from the spec:
&gt; https://github.com/whatwg/fetch/issues/381

Ideally, we should remove this flag and have specific handling for navigation loads and for dedicated workers.
For dedicated workers, the current approach is to do the following as per spec: set worker global scope&apos;s cross-origin isolated capability to false.
I am not sure what is the rationale here. For audio worklet, how do we compute the origin of the audio worklet?

For service workers, there is no point in setting the same origin flag, we should fail any data: load whose destination is service worker.
In fact, we should not even hit that code path since the register method should reject on data: URL schemes.

For this specific patch, we could just keep the if (fetchOptions.destination != FetchOptions::Destination::Worker) for now with a FIXME stating to remove this flag and implement the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709186</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-19 11:09:16 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #4)
&gt; Comment on attachment 414597 [details]
&gt; Patch
&gt; 
&gt; r=me once we verify there is no issue with the origin of audio worklet for
&gt; data URLs.

Could you clarify what you mean here? Why does the origin of an audio worklet matter? Per the WPT test, we should be able to load an audio worklet over a data URL, which is what I was trying to achieve.

&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=414597&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/workers/WorkerScriptLoader.cpp:133
&gt; &gt;&gt;&gt; +        options.sameOriginDataURLFlag = SameOriginDataURLFlag::Set;
&gt; &gt;&gt; 
&gt; &gt;&gt; I tried to think through why the same origin restriction is only required for ServiceWorker and Worker, but I couldn&apos;t figure it out. What&apos;s the distinction being made here?
&gt; &gt; 
&gt; &gt; I am not sure this is correct. I am not sure what&apos;s the best condition to use and I asked Youenn for feedback on Slack (He said he would look at it shortly).
&gt; &gt; 
&gt; &gt; The flag in question has been dropped from the spec:
&gt; &gt; https://github.com/whatwg/fetch/issues/381
&gt; 
&gt; Ideally, we should remove this flag and have specific handling for
&gt; navigation loads and for dedicated workers.
&gt; For dedicated workers, the current approach is to do the following as per
&gt; spec: set worker global scope&apos;s cross-origin isolated capability to false.
&gt; I am not sure what is the rationale here. For audio worklet, how do we
&gt; compute the origin of the audio worklet?
&gt; 
&gt; For service workers, there is no point in setting the same origin flag, we
&gt; should fail any data: load whose destination is service worker.
&gt; In fact, we should not even hit that code path since the register method
&gt; should reject on data: URL schemes.
&gt; 
&gt; For this specific patch, we could just keep the if (fetchOptions.destination
&gt; != FetchOptions::Destination::Worker) for now with a FIXME stating to remove
&gt; this flag and implement the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709191</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-19 11:18:06 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #5)
&gt; (In reply to youenn fablet from comment #4)
&gt; &gt; Comment on attachment 414597 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; r=me once we verify there is no issue with the origin of audio worklet for
&gt; &gt; data URLs.
&gt; 
&gt; Could you clarify what you mean here? Why does the origin of an audio
&gt; worklet matter? Per the WPT test, we should be able to load an audio worklet
&gt; over a data URL, which is what I was trying to achieve.

If we consider data URL to be same origin, the audio worklet could be considered as having the origin of its frame. That will play if the worklet does a load (fetch, addModule).
It could also have an opaque origin, which will impact how the worklet is doing fetch.

For instance, is service worker intercepting audio worklet loads (HTTP audio worklet, data URL worklets).

It would be nice to validate this behavior and that this aligns with spec and other browsers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709203</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-19 11:32:30 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #6)
&gt; (In reply to Chris Dumez from comment #5)
&gt; &gt; (In reply to youenn fablet from comment #4)
&gt; &gt; &gt; Comment on attachment 414597 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; r=me once we verify there is no issue with the origin of audio worklet for
&gt; &gt; &gt; data URLs.
&gt; &gt; 
&gt; &gt; Could you clarify what you mean here? Why does the origin of an audio
&gt; &gt; worklet matter? Per the WPT test, we should be able to load an audio worklet
&gt; &gt; over a data URL, which is what I was trying to achieve.
&gt; 
&gt; If we consider data URL to be same origin, the audio worklet could be
&gt; considered as having the origin of its frame. That will play if the worklet
&gt; does a load (fetch, addModule).
&gt; It could also have an opaque origin, which will impact how the worklet is
&gt; doing fetch.
&gt; 
&gt; For instance, is service worker intercepting audio worklet loads (HTTP audio
&gt; worklet, data URL worklets).
&gt; 
&gt; It would be nice to validate this behavior and that this aligns with spec
&gt; and other browsers.

At the moment, this is not something we support. audio worklets cannot do any loads. In the future, we should support recursive addModule() but this is not something we currently support in workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709229</commentid>
    <comment_count>8</comment_count>
      <attachid>414611</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-19 12:42:13 -0800</bug_when>
    <thetext>Created attachment 414611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709236</commentid>
    <comment_count>9</comment_count>
      <attachid>414611</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-19 12:52:00 -0800</bug_when>
    <thetext>Comment on attachment 414611
Patch

Clearing flags on attachment: 414611

Committed r270046: &lt;https://trac.webkit.org/changeset/270046&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709237</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-19 12:52:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709239</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-19 12:53:36 -0800</bug_when>
    <thetext>&lt;rdar://problem/71598074&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414597</attachid>
            <date>2020-11-19 09:55:17 -0800</date>
            <delta_ts>2020-11-19 12:42:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219166-20201119095516.patch</filename>
            <type>text/plain</type>
            <size>4010</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QzYzFmNDI4NGY0ZmI3
ODRjOTEyZTIxNjUwMzA2NGNiNGZkYTExMy4uNWRiYjcyMjBhZjIzMGJlNzRkZTNlODZjZjYzZDlm
Yzg5MTc3YjM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTExLTE5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVW5hYmxlIHRvIGZldGNoIGFu
IGF1ZGlvIHdvcmtsZXQgbW9kdWxlIHVzaW5nIGEgZGF0YSBVUkwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTE2NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IGZldGNoaW5nIGFuIGF1ZGlvIHdv
cmtsZXQgbW9kdWxlIHVzaW5nIGEgZGF0YSBVUkwuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBy
ZWJhc2VsaW5lZCBleGlzdGluZyB0ZXN0LgorCisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3Jp
cHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpsb2Fk
QXN5bmNocm9ub3VzbHkpOgorCiAyMDIwLTExLTE5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgV29ya2xldC5hZGRNb2R1bGUoKSBzaG91bGQgcmVqZWN0IHByb21p
c2Ugd2l0aCBhbiBBYm9ydEVycm9yIHdoZW4gdGhlIG5ldHdvcmsgbG9hZCBmYWlscwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDQ3NjI1OWE4
NmY4MzE1NjBkMjUwNzgwZTkyYjdmMmI2ZTFkNWFkMTAuLmU2ZmYxZWQ5YjY5ZDAyY2E4ZDI3Njcw
N2Y4YTJjMzk4ZWY4M2M3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5jcHAKQEAgLTEyOSw2ICsxMjksOSBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRl
cjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1
dAogICAgIG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBjb250ZW50
U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDsKICAgICBpZiAoZmV0Y2hPcHRpb25zLmRlc3RpbmF0
aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNlcnZpY2V3b3JrZXIpCiAgICAgICAg
IG9wdGlvbnMuY2VydGlmaWNhdGVJbmZvUG9saWN5ID0gQ2VydGlmaWNhdGVJbmZvUG9saWN5OjpJ
bmNsdWRlQ2VydGlmaWNhdGVJbmZvOworICAgIGlmIChmZXRjaE9wdGlvbnMuZGVzdGluYXRpb24g
IT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2VydmljZXdvcmtlciAmJiBmZXRjaE9wdGlv
bnMuZGVzdGluYXRpb24gIT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKQorICAg
ICAgICBvcHRpb25zLnNhbWVPcmlnaW5EYXRhVVJMRmxhZyA9IFNhbWVPcmlnaW5EYXRhVVJMRmxh
Zzo6U2V0OworCiAgICAgLy8gQSBzZXJ2aWNlIHdvcmtlciBqb2IgY2FuIGJlIGV4ZWN1dGVkIGZy
b20gYSB3b3JrZXIgY29udGV4dCBvciBhIGRvY3VtZW50IGNvbnRleHQuCiAgICAgb3B0aW9ucy5z
ZXJ2aWNlV29ya2Vyc01vZGUgPSBzZXJ2aWNlV29ya2VyTW9kZTsKICNpZiBFTkFCTEUoU0VSVklD
RV9XT1JLRVIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwMjUzOWIzZTE1YTRm
NTAzY2ZmMjE5NTVhZDVmZGU2MzZkNmQyN2YwLi44OGUwNWU2YWI3NTVkMWZiNDQ1NzI4ZTE5YTdh
ZmY1MDcyMjM4MGU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAyMC0xMS0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAg
ICAgIFVuYWJsZSB0byBmZXRjaCBhbiBhdWRpbyB3b3JrbGV0IG1vZHVsZSB1c2luZyBhIGRhdGEg
VVJMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkx
NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWJh
c2VsaW5lIFdQVCB0ZXN0IG5vdyB0aGF0IG9uZSBtb3JlIGNoZWNrIGlzIHBhc3NpbmcuCisKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQu
aHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTExLTE5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgSW1wb3J0IHdlYi1wbGF0Zm9ybS10ZXN0cy91aWV2ZW50cyB0
ZXN0cyBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDA0
YTU4ODEzODRlMTBhYWUyMTU0NGY1ZmNkNmQxYmM1MWEyMDliNjAuLmZlODk2NWFlZjZjYWRhMjIx
OWVmOGUzMDg4OGJhOTFlMjQwMTdhYzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2xldHMvYXVkaW8td29ya2xldC1pbXBvcnQuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0xMCw3ICsxMCw3IEBAIFBBU1MgSW1wb3J0aW5nIGEgbm9uLWV4aXN0ZW50IHNjcmlwdCBy
ZWplY3RzIHRoZSBnaXZlbiBwcm9taXNlIHdpdGggYW4gQWJvcnRFcnJvCiBQQVNTIEltcG9ydGlu
ZyBhbiBpbnZhbGlkIFVSTCBzaG91bGQgcmVqZWN0IHRoZSBnaXZlbiBwcm9taXNlIHdpdGggYSBT
eW50YXhFcnJvci4KIFBBU1MgSW1wb3J0aW5nIGEgYmxvYiBVUkwgc2hvdWxkIHJlc29sdmUgdGhl
IGdpdmVuIHByb21pc2UuCiBQQVNTIEltcG9ydGluZyBhIGZpbGU6Ly8gVVJMIHNob3VsZCByZWpl
Y3QgdGhlIGdpdmVuIHByb21pc2UuCi1GQUlMIEltcG9ydGluZyBhIGRhdGEgVVJMIHNob3VsZCBy
ZXNvbHZlIHRoZSBnaXZlbiBwcm9taXNlLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJBYm9ydEVycm9yOiBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxl
LCBlcnJvcjogQ3Jvc3Mgb3JpZ2luIHJlcXVlc3RzIGFyZSBvbmx5IHN1cHBvcnRlZCBmb3IgSFRU
UC4iCitQQVNTIEltcG9ydGluZyBhIGRhdGEgVVJMIHNob3VsZCByZXNvbHZlIHRoZSBnaXZlbiBw
cm9taXNlLgogUEFTUyBJbXBvcnRpbmcgYWJvdXQ6Ymxhbmsgc2hvdWxkIHJlamVjdCB0aGUgZ2l2
ZW4gcHJvbWlzZS4KIFBBU1MgSW1wb3J0aW5nIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlIHdpdGgg
dGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBoZWFkZXIgc2hvdWxkIHJlc29sdmUgdGhl
IGdpdmVuIHByb21pc2UKIFBBU1MgSW1wb3J0aW5nIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlIHdp
dGhvdXQgdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBoZWFkZXIgc2hvdWxkIHJlamVj
dCB0aGUgZ2l2ZW4gcHJvbWlzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414611</attachid>
            <date>2020-11-19 12:42:13 -0800</date>
            <delta_ts>2020-11-19 12:52:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219166-20201119124213.patch</filename>
            <type>text/plain</type>
            <size>4005</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTFiNTI2MDRkMWZjN2Q0
ZGI2NjYxMDViMTFmYmM2Yzk2YTIwNWIxMy4uMzRlODg4ODU2Nzk0OTFjM2E4MmFiY2ZjZGFlMzgy
NGNmMGNjZmJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTExLTE5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVW5hYmxlIHRvIGZldGNoIGFu
IGF1ZGlvIHdvcmtsZXQgbW9kdWxlIHVzaW5nIGEgZGF0YSBVUkwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTE2NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgQWxsb3cgZmV0Y2hpbmcgYW4gYXVkaW8gd29y
a2xldCBtb2R1bGUgdXNpbmcgYSBkYXRhIFVSTC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJl
YmFzZWxpbmVkIGV4aXN0aW5nIHRlc3QuCisKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRB
c3luY2hyb25vdXNseSk6CisKIDIwMjAtMTEtMTkgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVh
ZEBzb255LmNvbT4KIAogICAgICAgICBVc2UgZmluYWwgaW4gZ2VuZXJhdGVkIHdyYXBwZXIgb3du
ZXIgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3Bw
CmluZGV4IDQ3NjI1OWE4NmY4MzE1NjBkMjUwNzgwZTkyYjdmMmI2ZTFkNWFkMTAuLjNhNGRhZWZj
MzkwMmJkYjJlYTg0ZmM1OGQ3ZTQyZjgzZTVmMDdlMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTEyOSw2ICsxMjksMTEgQEAgdm9pZCBX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBzY3JpcHRFeGVjdXQKICAgICBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50ID0gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ7CiAgICAgaWYgKGZldGNo
T3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTZXJ2aWNl
d29ya2VyKQogICAgICAgICBvcHRpb25zLmNlcnRpZmljYXRlSW5mb1BvbGljeSA9IENlcnRpZmlj
YXRlSW5mb1BvbGljeTo6SW5jbHVkZUNlcnRpZmljYXRlSW5mbzsKKworICAgIC8vIEZJWE1FOiBX
ZSBzaG91bGQgZHJvcCB0aGUgc2FtZU9yaWdpbkRhdGFVUkxGbGFnIGZsYWcgYW5kIGltcGxlbWVu
dCB0aGUgbGF0ZXN0IEZldGNoIHNwZWNpZmljYXRpb24uCisgICAgaWYgKGZldGNoT3B0aW9ucy5k
ZXN0aW5hdGlvbiAhPSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpCisgICAgICAg
IG9wdGlvbnMuc2FtZU9yaWdpbkRhdGFVUkxGbGFnID0gU2FtZU9yaWdpbkRhdGFVUkxGbGFnOjpT
ZXQ7CisKICAgICAvLyBBIHNlcnZpY2Ugd29ya2VyIGpvYiBjYW4gYmUgZXhlY3V0ZWQgZnJvbSBh
IHdvcmtlciBjb250ZXh0IG9yIGEgZG9jdW1lbnQgY29udGV4dC4KICAgICBvcHRpb25zLnNlcnZp
Y2VXb3JrZXJzTW9kZSA9IHNlcnZpY2VXb3JrZXJNb2RlOwogI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDAyNTM5YjNlMTVhNGY1MDNj
ZmYyMTk1NWFkNWZkZTYzNmQ2ZDI3ZjAuLjFhOTBhMWIzZmM2MmM2NTg2NTJiODBkMjIwMTc4Y2Nh
ZTVlOWVhOWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTExLTE5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
VW5hYmxlIHRvIGZldGNoIGFuIGF1ZGlvIHdvcmtsZXQgbW9kdWxlIHVzaW5nIGEgZGF0YSBVUkwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTE2Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgUmViYXNlbGlu
ZSBXUFQgdGVzdCBub3cgdGhhdCBvbmUgbW9yZSBjaGVjayBpcyBwYXNzaW5nLgorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBz
LWV4cGVjdGVkLnR4dDoKKwogMjAyMC0xMS0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIEltcG9ydCB3ZWItcGxhdGZvcm0tdGVzdHMvdWlldmVudHMgdGVzdHMg
ZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9hdWRpby13b3JrbGV0LWltcG9ydC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmts
ZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwNGE1ODgx
Mzg0ZTEwYWFlMjE1NDRmNWZjZDZkMWJjNTFhMjA5YjYwLi5mZTg5NjVhZWY2Y2FkYTIyMTllZjhl
MzA4ODhiYTkxZTI0MDE3YWMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtsZXRzL2F1ZGlvLXdvcmtsZXQtaW1wb3J0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MTAsNyArMTAsNyBAQCBQQVNTIEltcG9ydGluZyBhIG5vbi1leGlzdGVudCBzY3JpcHQgcmVqZWN0
cyB0aGUgZ2l2ZW4gcHJvbWlzZSB3aXRoIGFuIEFib3J0RXJybwogUEFTUyBJbXBvcnRpbmcgYW4g
aW52YWxpZCBVUkwgc2hvdWxkIHJlamVjdCB0aGUgZ2l2ZW4gcHJvbWlzZSB3aXRoIGEgU3ludGF4
RXJyb3IuCiBQQVNTIEltcG9ydGluZyBhIGJsb2IgVVJMIHNob3VsZCByZXNvbHZlIHRoZSBnaXZl
biBwcm9taXNlLgogUEFTUyBJbXBvcnRpbmcgYSBmaWxlOi8vIFVSTCBzaG91bGQgcmVqZWN0IHRo
ZSBnaXZlbiBwcm9taXNlLgotRkFJTCBJbXBvcnRpbmcgYSBkYXRhIFVSTCBzaG91bGQgcmVzb2x2
ZSB0aGUgZ2l2ZW4gcHJvbWlzZS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiQWJvcnRFcnJvcjogRmFpbGVkIHRvIGZldGNoIG1vZHVsZSwgZXJy
b3I6IENyb3NzIG9yaWdpbiByZXF1ZXN0cyBhcmUgb25seSBzdXBwb3J0ZWQgZm9yIEhUVFAuIgor
UEFTUyBJbXBvcnRpbmcgYSBkYXRhIFVSTCBzaG91bGQgcmVzb2x2ZSB0aGUgZ2l2ZW4gcHJvbWlz
ZS4KIFBBU1MgSW1wb3J0aW5nIGFib3V0OmJsYW5rIHNob3VsZCByZWplY3QgdGhlIGdpdmVuIHBy
b21pc2UuCiBQQVNTIEltcG9ydGluZyBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRoIHRoZSBB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCByZXNvbHZlIHRoZSBnaXZl
biBwcm9taXNlCiBQQVNTIEltcG9ydGluZyBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRob3V0
IHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVyIHNob3VsZCByZWplY3QgdGhl
IGdpdmVuIHByb21pc2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>