<?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>198133</bug_id>
          
          <creation_ts>2019-05-22 10:56:26 -0700</creation_ts>
          <short_desc>Set default WebsiteDataStore storage quota based on StorageQuotaManager</short_desc>
          <delta_ts>2020-02-17 13:27:41 -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>Service Workers</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alexcheng1982</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>valgussev</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1538274</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-05-22 10:56:26 -0700</bug_when>
    <thetext>Set default WebsiteDataStore storage quota based on StorageQuotaManager</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538276</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-05-22 10:57:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/51031436&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538277</commentid>
    <comment_count>2</comment_count>
      <attachid>370422</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-05-22 10:59:27 -0700</bug_when>
    <thetext>Created attachment 370422
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538286</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-05-22 11:18:06 -0700</bug_when>
    <thetext>Can you add a test case? Seems like an API test could detect whether a permission delegate message was sent or not. Or you could use an html test case, with WebKitTestRunner configured to log or fail when sent the permission delegate message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538374</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-05-22 14:09:53 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #3)
&gt; Can you add a test case? Seems like an API test could detect whether a
&gt; permission delegate message was sent or not. Or you could use an html test
&gt; case, with WebKitTestRunner configured to log or fail when sent the
&gt; permission delegate message.

WebKitTestRunner is being used to test the WebsiteDataStore delegate.
The UIDelegate delegate is tested through API tests in StorageQuota.mm.
In both cases, we do not rely on the default quota value and set it to a lower value (400ko).

We can add another test in StorageQuota.mm which would use the default quota value.
This would require to write 1GB on disk to hit the limit and trigger the delegate.
This seems a bit expensive to me but can write the test. wdyt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538406</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-05-22 15:12:02 -0700</bug_when>
    <thetext>&gt; We can add another test in StorageQuota.mm which would use the default quota
&gt; value.

Sounds good.

&gt; This would require to write 1GB on disk to hit the limit and trigger the
&gt; delegate.
&gt; This seems a bit expensive to me but can write the test. wdyt?

Hmmm... As a regression test, it would be sufficient just to verify that 50MB + 1b did not trigger the delegate. Of course, 1GB is an even more valuable test. Here&apos;s a suggestion: Let&apos;s do a 1GB test (and make sure to delete afterwards!) if the test can run in less than 1s, and otherwise do a 50MB + 1b test. How does that sound?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538451</commentid>
    <comment_count>6</comment_count>
      <attachid>370464</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-05-22 16:23:20 -0700</bug_when>
    <thetext>Created attachment 370464
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538452</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-05-22 16:24:52 -0700</bug_when>
    <thetext>
&gt; Hmmm... As a regression test, it would be sufficient just to verify that
&gt; 50MB + 1b did not trigger the delegate. Of course, 1GB is an even more
&gt; valuable test. Here&apos;s a suggestion: Let&apos;s do a 1GB test (and make sure to
&gt; delete afterwards!) if the test can run in less than 1s, and otherwise do a
&gt; 50MB + 1b test. How does that sound?

I tried the 1GB and we are far from 1s, maybe we should try to optimize.
Anyway, I added a test that stores 100MB without hitting the delegate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538456</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-05-22 16:25:20 -0700</bug_when>
    <thetext>Attachment 370464 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:45:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:189:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:212:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
Total errors found: 3 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538681</commentid>
    <comment_count>9</comment_count>
      <attachid>370464</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-05-23 10:26:04 -0700</bug_when>
    <thetext>Comment on attachment 370464
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538713</commentid>
    <comment_count>10</comment_count>
      <attachid>370464</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-23 11:08:12 -0700</bug_when>
    <thetext>Comment on attachment 370464
Patch

Clearing flags on attachment: 370464

Committed r245698: &lt;https://trac.webkit.org/changeset/245698&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538714</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-23 11:08:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619787</commentid>
    <comment_count>12</comment_count>
    <who name="Valerii">valgussev</who>
    <bug_when>2020-02-17 12:23:38 -0800</bug_when>
    <thetext>Can anyone confirm that by applying this change the default 50Mb cacheStorage limit has been bumped to 1Gb?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619796</commentid>
    <comment_count>13</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-17 12:28:05 -0800</bug_when>
    <thetext>(In reply to Valerii from comment #12)
&gt; Can anyone confirm that by applying this change the default 50Mb
&gt; cacheStorage limit has been bumped to 1Gb?

This is the default now for WebKit.
Some WebKit applications can change this value, see for instance WKWebsiteDataStoreConfigurationSetPerOriginStorageQuota.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619826</commentid>
    <comment_count>14</comment_count>
    <who name="Valerii">valgussev</who>
    <bug_when>2020-02-17 13:08:14 -0800</bug_when>
    <thetext>Anyway I can figure out whether iOS Safari is one of those applications changing the value or does it rely on default?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619833</commentid>
    <comment_count>15</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-17 13:16:34 -0800</bug_when>
    <thetext>(In reply to Valerii from comment #14)
&gt; Anyway I can figure out whether iOS Safari is one of those applications
&gt; changing the value or does it rely on default?

Nowadays, there is a unified quota for IDB and Cache.
After a given threshold, user will be prompted to allow more storage or not.
I believe the current threshold is indeed 1GB for MobileSafari 13.

You can test this using something like https://demo.agektmr.com/storage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619838</commentid>
    <comment_count>16</comment_count>
    <who name="Valerii">valgussev</who>
    <bug_when>2020-02-17 13:27:41 -0800</bug_when>
    <thetext>Thanks a lot for the information provided!
I unfortunately was not able to find that information in any documentation I searched.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370422</attachid>
            <date>2019-05-22 10:59:27 -0700</date>
            <delta_ts>2019-05-22 16:23:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198133-20190522105926.patch</filename>
            <type>text/plain</type>
            <size>1874</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZmZTlkZDc2NWRlMzQxZmYy
YjdkMTAyOTVjYjMxODc1NGE1YmRjODAuLmRhM2MyNDM3YTdmMzUzYmQ0NTIyMGRmZGE1YWQ1OTdi
NGNhMjA5OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDUtMjIgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNldCBkZWZhdWx0IFdlYnNpdGVE
YXRhU3RvcmUgc3RvcmFnZSBxdW90YSBiYXNlZCBvbiBTdG9yYWdlUXVvdGFNYW5hZ2VyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxMzMKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzUxMDMxNDM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uLmg6CisKIDIwMTktMDUtMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBGZWF0dXJlIHBvbGljeSBzZWxmL25v
bmUvKiBwYXJzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAppbmRleCA5
Y2M4YTUwNzliYzBhZmVhNDI5MTk3MDZiMDYyMTI4YjU3ZmNiMjBiLi5kZjE3YWRjNWU0ZDMyZDAy
MTU1OGU2NDk0YTNlMzY5Nzg3ZjU5ZjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQVBJ
T2JqZWN0LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmg+CiAjaW5j
bHVkZSA8d3RmL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC05
NywxMyArOTgsMTEgQEAgcHVibGljOgogICAgIGNvbnN0IFVSTCYgaHR0cHNQcm94eSgpIGNvbnN0
IHsgcmV0dXJuIG1faHR0cHNQcm94eTsgfQogICAgIHZvaWQgc2V0SFRUUFNQcm94eShVUkwmJiBw
cm94eSkgeyBtX2h0dHBzUHJveHkgPSBXVEZNb3ZlKHByb3h5KTsgfQogCi0gICAgY29uc3RleHBy
IHN0YXRpYyB1aW50NjRfdCBkZWZhdWx0UGVyT3JpZ2luU3RvcmFnZVF1b3RhID0gNTAgKiAxMDI0
ICogMTAyNDsKLQogcHJpdmF0ZToKICAgICBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbigp
OwogCiAgICAgU3RyaW5nIG1fY2FjaGVTdG9yYWdlRGlyZWN0b3J5OwotICAgIHVpbnQ2NF90IG1f
cGVyT3JpZ2luU3RvcmFnZVF1b3RhIHsgZGVmYXVsdFBlck9yaWdpblN0b3JhZ2VRdW90YSB9Owor
ICAgIHVpbnQ2NF90IG1fcGVyT3JpZ2luU3RvcmFnZVF1b3RhIHsgV2ViQ29yZTo6U3RvcmFnZVF1
b3RhTWFuYWdlcjo6ZGVmYXVsdFF1b3RhKCkgfTsKICAgICBTdHJpbmcgbV9uZXR3b3JrQ2FjaGVE
aXJlY3Rvcnk7CiAgICAgU3RyaW5nIG1fYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeTsKICAgICBT
dHJpbmcgbV9hcHBsaWNhdGlvbkNhY2hlRmxhdEZpbGVTdWJkaXJlY3RvcnlOYW1lOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370464</attachid>
            <date>2019-05-22 16:23:20 -0700</date>
            <delta_ts>2019-05-23 11:08:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198133-20190522162320.patch</filename>
            <type>text/plain</type>
            <size>6354</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI0OGZlYmE5MDAyMWFkNDk0
YzNhMTc3ZmFlNzhiNzJiMmUxZmEzNDYuLjZmNGU2MDMxNTZhNTgxZDhmODI4ODQ3Yjg2MzA3MWVi
YjYwZDUxZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDUtMjIgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNldCBkZWZhdWx0IFdlYnNpdGVE
YXRhU3RvcmUgc3RvcmFnZSBxdW90YSBiYXNlZCBvbiBTdG9yYWdlUXVvdGFNYW5hZ2VyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxMzMKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzUxMDMxNDM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uLmg6CisKIDIwMTktMDUtMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gY2FsbGJhY2tz
IHNob3VsZCBiZSBjb21wbGV0ZWQgb24gbmV0d29yayBjb25uZWN0aW9uIGNsb3NlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
Q29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAppbmRleCA5Y2M4YTUwNzliYzBhZmVhNDI5MTk3
MDZiMDYyMTI4YjU3ZmNiMjBiLi5kZjE3YWRjNWU0ZDMyZDAyMTU1OGU2NDk0YTNlMzY5Nzg3ZjU5
ZjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgKQEAgLTI2LDYgKzI2
LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSA8
V2ViQ29yZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC05NywxMyArOTgsMTEgQEAgcHVibGlj
OgogICAgIGNvbnN0IFVSTCYgaHR0cHNQcm94eSgpIGNvbnN0IHsgcmV0dXJuIG1faHR0cHNQcm94
eTsgfQogICAgIHZvaWQgc2V0SFRUUFNQcm94eShVUkwmJiBwcm94eSkgeyBtX2h0dHBzUHJveHkg
PSBXVEZNb3ZlKHByb3h5KTsgfQogCi0gICAgY29uc3RleHByIHN0YXRpYyB1aW50NjRfdCBkZWZh
dWx0UGVyT3JpZ2luU3RvcmFnZVF1b3RhID0gNTAgKiAxMDI0ICogMTAyNDsKLQogcHJpdmF0ZToK
ICAgICBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbigpOwogCiAgICAgU3RyaW5nIG1fY2Fj
aGVTdG9yYWdlRGlyZWN0b3J5OwotICAgIHVpbnQ2NF90IG1fcGVyT3JpZ2luU3RvcmFnZVF1b3Rh
IHsgZGVmYXVsdFBlck9yaWdpblN0b3JhZ2VRdW90YSB9OworICAgIHVpbnQ2NF90IG1fcGVyT3Jp
Z2luU3RvcmFnZVF1b3RhIHsgV2ViQ29yZTo6U3RvcmFnZVF1b3RhTWFuYWdlcjo6ZGVmYXVsdFF1
b3RhKCkgfTsKICAgICBTdHJpbmcgbV9uZXR3b3JrQ2FjaGVEaXJlY3Rvcnk7CiAgICAgU3RyaW5n
IG1fYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeTsKICAgICBTdHJpbmcgbV9hcHBsaWNhdGlvbkNh
Y2hlRmxhdEZpbGVTdWJkaXJlY3RvcnlOYW1lOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDgxZWFiYzc1ZTI4MjcxNWRmZDhjNGVlOTM1MzM5MDMw
NjYyODNhN2YuLjBhZmQyNjFkYTdmOThmNGU4ZDRhY2M4NjZmNjc0MjMwZjE1MDczMmYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxOS0wNS0yMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgU2V0IGRlZmF1bHQgV2Vic2l0ZURhdGFTdG9yZSBzdG9yYWdlIHF1b3RhIGJhc2VkIG9u
IFN0b3JhZ2VRdW90YU1hbmFnZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5ODEzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTEwMzE0MzY+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1N0b3JhZ2VRdW90YS5tbToKKyAgICAgICAgKGRvVGVz
dCk6CisKIDIwMTktMDUtMjEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeCB0aGUgYnVpbGQgd2l0aCBIQVZFKEFDQ0VT
U0lCSUxJVFkpIGRpc2FibGVkCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1N0b3JhZ2VRdW90YS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvU3RvcmFnZVF1b3RhLm1tCmluZGV4IGVmMzE2MWIyMzViNDE3OWU3NzdhZDlh
ZTcwMmY4OTVkMmNjMjYzN2YuLjhjZTg1MGMzYTYzYjU4MzJiNzM3YWViZjFlM2FkMmIxNDBhYjJh
NDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU3Rv
cmFnZVF1b3RhLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
U3RvcmFnZVF1b3RhLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbXBvcnQgIlBsYXRmb3JtVXRp
bGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0LmgiCisjaW1wb3J0ICJUZXN0TmF2aWdhdGlvbkRlbGVn
YXRlLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tQcmVm
ZXJlbmNlc1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5o
PgpAQCAtNDEsMTEgKzQyLDE0IEBACiAjaW1wb3J0IDx3dGYvSGFzaE1hcC5oPgogI2ltcG9ydCA8
d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVtYmVycy5oPgogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5n
SGFzaC5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJOwogCitzdGF0aWMgYm9vbCBkaWRGaW5pc2hOYXZpZ2F0aW9uOworCiBA
aW50ZXJmYWNlIFF1b3RhRGVsZWdhdGUgOiBOU09iamVjdCA8V0tVSURlbGVnYXRlPgogLShib29s
KXF1b3RhRGVsZWdhdGVDYWxsZWQ7CiAtKHZvaWQpZ3JhbnRRdW90YTsKQEAgLTE4Miw2ICsxODYs
MzEgQEAgZnVuY3Rpb24gZG9UZXN0QWdhaW4oKQogPC9zY3JpcHQ+CiApU1dSRVNPVVJDRSI7CiAK
K3N0YXRpYyBjb25zdCBjaGFyKiBUZXN0VXJsQnl0ZXMgPSBSIlNXUkVTT1VSQ0UoCis8c2NyaXB0
PgorCit2YXIgaW5kZXggPSAwOworYXN5bmMgZnVuY3Rpb24gdGVzdChudW0pCit7CisgICAgaW5k
ZXgrKzsKKyAgICB1cmwgPSAiaHR0cDovL2V4YW1wbGUub3JnL3Rlc3QiICsgaW5kZXg7CisKKyAg
ICBjb25zdCBjYWNoZSA9IGF3YWl0IHdpbmRvdy5jYWNoZXMub3BlbigibXljYWNoZSIpOworICAg
IGNvbnN0IHByb21pc2UgPSBjYWNoZS5wdXQodXJsLCBuZXcgUmVzcG9uc2UobmV3IEFycmF5QnVm
ZmVyKG51bSAqIDEwMjQgKiAxMDI0KSkpOworICAgIHByb21pc2UudGhlbigoKSA9PiB7CisgICAg
ICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnF0LnBvc3RNZXNzYWdlKCJwYXNzIik7
CisgICAgfSwgKCkgPT4geworICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5x
dC5wb3N0TWVzc2FnZSgiZmFpbCIpOworICAgIH0pOworfQorCitmdW5jdGlvbiBkb1Rlc3QobnVt
KQoreworICAgIHRlc3QobnVtKTsKK30KKzwvc2NyaXB0PgorKVNXUkVTT1VSQ0UiOworCiBzdGF0
aWMgYm9vbCBkb25lOwogCiBzdGF0aWMgaW5saW5lIHZvaWQgc2V0VmlzaWJsZShUZXN0V0tXZWJW
aWV3ICp3ZWJWaWV3KQpAQCAtMzQ5LDMgKzM3OCw0OCBAQCBURVNUKFdlYktpdCwgUXVvdGFEZWxl
Z2F0ZU5hdmlnYXRlRnJhZ21lbnQpCiAKICAgICBFWFBFQ1RfRkFMU0UocmVjZWl2ZWRRdW90YURl
bGVnYXRlQ2FsbGVkKTsKIH0KKworVEVTVChXZWJLaXQsIERlZmF1bHRRdW90YSkKK3sKKyAgICBk
b25lID0gZmFsc2U7CisgICAgW1tXS1dlYnNpdGVEYXRhU3RvcmUgZGVmYXVsdERhdGFTdG9yZV0g
cmVtb3ZlRGF0YU9mVHlwZXM6W1dLV2Vic2l0ZURhdGFTdG9yZSBhbGxXZWJzaXRlRGF0YVR5cGVz
XSBtb2RpZmllZFNpbmNlOltOU0RhdGUgZGlzdGFudFBhc3RdIGNvbXBsZXRpb25IYW5kbGVyOl4o
KSB7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmZG9uZSk7CisKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworCisgICAgYXV0byBtZXNzYWdlSGFu
ZGxlciA9IGFkb3B0TlMoW1tRdW90YU1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAg
W1tjb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhh
bmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInF0Il07CisKKyAgICBhdXRvIGhhbmRs
ZXIgPSBhZG9wdE5TKFtbU3RvcmFnZVNjaGVtZXMgYWxsb2NdIGluaXRdKTsKKyAgICBoYW5kbGVy
LT5yZXNvdXJjZXMuc2V0KCJxdDovL3Rlc3QxLmh0bWwiLCBSZXNvdXJjZUluZm8geyBAInRleHQv
aHRtbCIsIFRlc3RVcmxCeXRlcyB9KTsKKyAgICBbY29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVI
YW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUVQiXTsKKyAgICBbY29uZmlndXJh
dGlvbi5nZXQoKS5wcm9jZXNzUG9vbCBfcmVnaXN0ZXJVUkxTY2hlbWVTZXJ2aWNlV29ya2Vyc0Nh
bkhhbmRsZTpAInF0Il07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25m
aWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisgICAgYXV0
byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tRdW90YURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAg
W3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgc2V0VmlzaWJsZSh3
ZWJWaWV3LmdldCgpKTsKKworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gYWRvcHROUyhb
W1Rlc3ROYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbbmF2aWdhdGlvbkRl
bGVnYXRlIHNldERpZEZpbmlzaE5hdmlnYXRpb246XihXS1dlYlZpZXcgKiwgV0tOYXZpZ2F0aW9u
ICopIHsKKyAgICAgICAgZGlkRmluaXNoTmF2aWdhdGlvbiA9IHRydWU7CisgICAgfV07CisgICAg
W3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOm5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKV07
CisKKyAgICBkaWRGaW5pc2hOYXZpZ2F0aW9uID0gZmFsc2U7CisgICAgW3dlYlZpZXcgbG9hZFJl
cXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpA
InF0Oi8vdGVzdDEuaHRtbCJdXV07CisgICAgVXRpbDo6cnVuKCZkaWRGaW5pc2hOYXZpZ2F0aW9u
KTsKKworICAgIHJlY2VpdmVkUXVvdGFEZWxlZ2F0ZUNhbGxlZCA9IGZhbHNlOworCisgICAgLy8g
U3RvcmluZyAxMCBlbnRyaWVzIG9mIDEwIE1CIHNob3VsZCBub3QgaGl0IHRoZSBkZWZhdWx0IHF1
b3RhIHdoaWNoIGlzIDFHQgorICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7ICsraSkgeworICAg
ICAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0Om1ha2VTdHJpbmcoImRv
VGVzdCgxMCkiKV07CisgICAgICAgIFttZXNzYWdlSGFuZGxlciBzZXRFeHBlY3RlZE1lc3NhZ2U6
IEAicGFzcyJdOworICAgICAgICByZWNlaXZlZE1lc3NhZ2UgPSBmYWxzZTsKKyAgICAgICAgVXRp
bDo6cnVuKCZyZWNlaXZlZE1lc3NhZ2UpOworICAgIH0KKyAgICBFWFBFQ1RfRkFMU0UocmVjZWl2
ZWRRdW90YURlbGVnYXRlQ2FsbGVkKTsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>