<?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>211775</bug_id>
          
          <creation_ts>2020-05-12 02:45:41 -0700</creation_ts>
          <short_desc>ITP: 7-Day Cap on All Script-Writable Storage does not seem to be working</short_desc>
          <delta_ts>2022-02-12 21:01:34 -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>New Bugs</component>
          <version>Safari 13</version>
          <rep_platform>All</rep_platform>
          <op_sys>iOS 13</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>212034</dup_id>
          
          <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="Rowan Beentje">rowan</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1651671</commentid>
    <comment_count>0</comment_count>
      <attachid>399113</attachid>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2020-05-12 02:45:41 -0700</bug_when>
    <thetext>Created attachment 399113
A text file containing the HTML, manifest, and third-party script used during testing

After the release of iOS 13.4 and Safari 13.1, and the accompanying blog post at https://webkit.org/blog/10218/full-third-party-cookie-blocking-and-more/ , I ran some tests just to verify how much the website and web app I work on would be affected. After reading that blogpost, my expectations were:

1) In Safari [Mobile/Desktop], first and third party script-set cookies should be deleted after 7 days.
2) In Safari [Mobile/Desktop], first and third party script-set localStorage should be deleted after 7 days of Safari use without using those pages.
3) In Web Apps added to the iOS home screen, first and third-party script-set cookies should not be deleted after 7 days if the web app is not launched during that time.
4) In Web Apps added to the iOS home screen, first and third-party script-set localStorage should not be deleted after 7 days if the web app is not launched during that time.
5) In a WKWebView in an app, first and third party cookies and localStorage should persist regardless of usage.

I set up some tests on 25th March on my personal iPhone, using domains I was not actively using; visiting a page in Safari, saving it to the homescreen, and navigating a WKWebView to it. (See attached files - very basic implementation of one static HTML page and a manifest on one domain, and a js file on another domain.) I then closed those tabs and did not visit those domains again, but used Safari daily for other tasks.

On April 3rd, 9 days later, I navigated to the web page again, launched the web app, and navigated the WKWebView to check the results, which were:

1) In Safari [Mobile/Desktop], first and third party cookies were deleted. This matches expectations.
2) In Safari [Mobile/Desktop], first and third party localStorage still had stored values. I was expecting the localStorage values to have been deleted.
3) In the home screen Web App, first and third party cookies were deleted. This does not match what I was expecting, as https://webkit.org/blog/10218/full-third-party-cookie-blocking-and-more/ says &quot;If your web application does experience website data deletion, please let us know since we would consider it a serious bug.&quot;
4) In the home screen Web App, first and third party localStorage still had stored values. This matches expectations but because of (2) and (3) I&apos;m not sure which it&apos;s following.
5) In the WKWebView, first and third part cookies and localStorage all still exist. This matches expectations.

Because I doubted my results, I then left the installations as they were to re-run the tests. Other things happened, and I only got around to retesting the installations on May 11th, over a month later. The same behaviour was observed - cookies deleted in Safari and home screen, localStorage persisting despite daily (or near-daily) Safari usage.

So I think I&apos;m seeing two strange bits of behaviour:
a) In the browser, I would have expected localStorage to have been deleted once the 7-day usage counter was reached. This has not happened and localStorage seems to be persisting. Could anything else be causing this?
b) In a home screen web app, I would have expected cookies to persist if I was not opening the web app, particularly for the first party domain the web app was for. I would consider this website data deletion. @johnwilander has clarified that cookies use a wall time expiry mechanism rather than a usage counter (https://mobile.twitter.com/johnwilander/status/1259854477047316484) so I wonder if this is the cause of this - and is this intended? It doesn&apos;t seem to match what the blog post suggests.

Are there other contributing factors that could be affecting this behaviour?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651672</commentid>
    <comment_count>1</comment_count>
      <attachid>399114</attachid>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2020-05-12 03:09:32 -0700</bug_when>
    <thetext>Created attachment 399114
A HTML file to be placed on a domain considered first party and visited as part of the test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651673</commentid>
    <comment_count>2</comment_count>
      <attachid>399115</attachid>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2020-05-12 03:10:54 -0700</bug_when>
    <thetext>Created attachment 399115
A manifest.json file to be placed on the domain considered first party, to allow homescreen installation during testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651674</commentid>
    <comment_count>3</comment_count>
      <attachid>399116</attachid>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2020-05-12 03:12:01 -0700</bug_when>
    <thetext>Created attachment 399116
A script file to be placed on a different domain considered third-party for testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651706</commentid>
    <comment_count>4</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2020-05-12 06:03:22 -0700</bug_when>
    <thetext>Thanks! Client-side cookies expire based on wall time since they have an explicit expiry function. So that behavior is expected. I will look at what’s going on with other script-writeable storage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654662</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-20 15:08:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/63465352&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840887</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-02-12 21:01:34 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 212034 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>399113</attachid>
            <date>2020-05-12 02:45:41 -0700</date>
            <delta_ts>2020-05-12 02:45:41 -0700</delta_ts>
            <desc>A text file containing the HTML, manifest, and third-party script used during testing</desc>
            <filename>file_211775.txt</filename>
            <type>text/plain</type>
            <size>3354</size>
            <attacher name="Rowan Beentje">rowan</attacher>
            
              <data encoding="base64">SVRQVGVzdC5odG1sLCBhIGZpbGUgdG8gYmUgcGxhY2VkIG9uIGEgZG9tYWluIGNvbnNpZGVyZWQg
Zmlyc3QgcGFydHk6DQoNCjxodG1sPg0KCTxoZWFkPg0KCQk8dGl0bGU+U3RvcmFnZSBUZXN0PC90
aXRsZT4NCgkJPGxpbmsgcmVsPSJtYW5pZmVzdCIgaHJlZj0ibWFuaWZlc3QuanNvbiI+DQoJCTxt
ZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyI+DQoJ
PC9oZWFkPg0KCTxib2R5Pg0KCQk8aDM+SGVsbG8hIFRoaXMgaXMgYSBsaXR0bGUgc3RvcmFnZSB0
ZXN0LjwvaDM+DQoNCgkJPGhyIC8+DQoNCgkJPHA+VGhlIGZpcnN0LXBhcnR5IGNvb2tpZSBleGlz
dHM6IDxzdHJvbmcgaWQ9ImNvb2tpZTEiPi4uLjwvc3Ryb25nPi4NCgkJVGhlIGZpcnN0LXBhcnR5
IGNvb2tpZWFnZSBpczogPHN0cm9uZyBpZD0iY29va2llMWFnZSI+Li4uPC9zdHJvbmc+LjwvcD4N
Cg0KCQk8cD5UaGUgZmlyc3QtcGFydHkgbG9jYWxTdG9yYWdlIGV4aXN0czogPHN0cm9uZyBpZD0i
c3RvcmFnZTEiPi4uLjwvc3Ryb25nPi4NCgkJVGhlIGZpcnN0LXBhcnR5IGxvY2FsU3RvcmFnZSBh
Z2UgaXM6IDxzdHJvbmcgaWQ9InN0b3JhZ2UxYWdlIj4uLi48L3N0cm9uZz4uPC9wPg0KDQoJCTxo
ciAvPg0KDQoJCTxwPlRoZSB0aGlyZC1wYXJ0eSBjb29raWUgZXhpc3RzOiA8c3Ryb25nIGlkPSJj
b29raWUzIj4uLi48L3N0cm9uZz4uDQoJCVRoZSB0aGlyZC1wYXJ0eSBhZ2UgaXM6IDxzdHJvbmcg
aWQ9ImNvb2tpZTNhZ2UiPi4uLjwvc3Ryb25nPi48L3A+DQoJCTxwPlRoZSB0aGlyZC1wYXJ0eSBs
b2NhbFN0b3JhZ2UgZXhpc3RzOiA8c3Ryb25nIGlkPSJzdG9yYWdlMyI+Li4uPC9zdHJvbmc+Lg0K
CQlUaGUgdGhpcmQtcGFydHkgbG9jYWxTdG9yYWdlIGFnZSBpczogPHN0cm9uZyBpZD0ic3RvcmFn
ZTNhZ2UiPi4uLjwvc3Ryb25nPi48L3A+DQoNCgkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPg0KCQkJdmFyIGZpcnN0UGFydHlDb29raWVWYWx1ZSA9IGRvY3VtZW50LmNvb2tpZS5yZXBs
YWNlKC8oPzooPzpefC4qO1xzKiljb29raWVmaXJzdFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8s
ICIkMSIpOw0KDQoJCQlpZiAoZmlyc3RQYXJ0eUNvb2tpZVZhbHVlKSB7DQoJCQkJZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignI2Nvb2tpZTEnKS5pbm5lclRleHQgPSAnWWVzJzsNCgkJCQlkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCcjY29va2llMWFnZScpLmlubmVyVGV4dCA9IG5ldyBEYXRlKHBhcnNl
SW50KGZpcnN0UGFydHlDb29raWVWYWx1ZSkpOw0KCQkJfSBlbHNlIHsNCgkJCQlkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCcjY29va2llMScpLmlubmVyVGV4dCA9ICdOb3QgdW50aWwgbm93JzsNCgkJ
CQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjY29va2llMWFnZScpLmlubmVyVGV4dCA9ICdicmFu
ZCBuZXcnOw0KCQkJCWRvY3VtZW50LmNvb2tpZSA9IGBjb29raWVmaXJzdD0ke0RhdGUubm93KCl9
OyBtYXgtYWdlPTMxNTM2MDAwYDsNCgkJCX0NCg0KCQkJaWYgKGxvY2FsU3RvcmFnZS5maXJzdFBh
cnR5KSB7DQoJCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N0b3JhZ2UxJykuaW5uZXJUZXh0
ID0gJ1llcyc7DQoJCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N0b3JhZ2UxYWdlJykuaW5u
ZXJUZXh0ID0gbmV3IERhdGUocGFyc2VJbnQobG9jYWxTdG9yYWdlLmZpcnN0UGFydHkpKTsNCgkJ
CX0gZWxzZSB7DQoJCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N0b3JhZ2UxJykuaW5uZXJU
ZXh0ID0gJ05vdCB1bnRpbCBub3cnOw0KCQkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzdG9y
YWdlMWFnZScpLmlubmVyVGV4dCA9ICdicmFuZCBuZXcnOw0KCQkJCWxvY2FsU3RvcmFnZS5maXJz
dFBhcnR5ID0gRGF0ZS5ub3coKTsNCgkJCX0NCgkJPC9zY3JpcHQ+DQoJCTxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vPGFub3RoZXIgZG9tYWluPi90aGlyZHBhcnR5
LmpzIj48L3NjcmlwdD4NCgk8L2JvZHk+DQo8L2h0bWw+DQoNCg0KDQoNCg0KDQoNCg0KbWFuaWZl
c3QuanNvbiwgdG8gYmUgcGxhY2VkIG9uIHRoZSBzYW1lIGRvbWFpbiBjb25zaWRlcmVkIGZpcnN0
LXBhcnR5IHRvIGFsbG93IGhvbWUgc2NyZWVuIGluc3RhbGxhdGlvbjoNCg0Kew0KCSJuYW1lIjog
IlN0b3JhZ2UgdGVzdCIsDQoJInNob3J0X25hbWUiOiAiU3RvcmFnZVRlc3QiLA0KCSJkZXNjcmlw
dGlvbiI6ICJBIFN0b3JhZ2UgVGVzdCIsDQoJImxhbmciOiAiZW4tR0IiLA0KCSJzdGFydF91cmwi
OiAiL0lUUFRlc3QuaHRtbCIsDQoJInNjb3BlIjogIi8iLA0KCSJkaXNwbGF5IjogInN0YW5kYWxv
bmUiLA0KCSJ0aGVtZV9jb2xvciI6ICIjMDAwMDAwIg0KfQ0KDQoNCg0KDQoNCg0KDQp0aGlyZHBh
cnR5LmpzLCBhIGZpbGUgdG8gYmUgcGxhY2VkIG9uIGEgZGlmZmVyZW50IGRvbWFpbiBjb25zaWRl
cmVkIHRoaXJkIHBhcnR5Og0KDQp2YXIgdGhpcmRQYXJ0eUNvb2tpZVZhbHVlID0gZG9jdW1lbnQu
Y29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKWNvb2tpZXRoaXJkXHMqXD1ccyooW147XSop
LiokKXxeLiokLywgIiQxIik7DQoNCmlmICh0aGlyZFBhcnR5Q29va2llVmFsdWUpIHsNCglkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCcjY29va2llMycpLmlubmVyVGV4dCA9ICdZZXMnOw0KCWRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb29raWUzYWdlJykuaW5uZXJUZXh0ID0gbmV3IERhdGUocGFy
c2VJbnQodGhpcmRQYXJ0eUNvb2tpZVZhbHVlKSk7DQp9IGVsc2Ugew0KCWRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJyNjb29raWUzJykuaW5uZXJUZXh0ID0gJ05vdCB1bnRpbCBub3cnOw0KCWRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb29raWUzYWdlJykuaW5uZXJUZXh0ID0gJ2JyYW5kIG5ldyc7
DQoJZG9jdW1lbnQuY29va2llID0gYGNvb2tpZXRoaXJkPSR7RGF0ZS5ub3coKX07IG1heC1hZ2U9
MzE1MzYwMDBgOw0KfQ0KDQppZiAobG9jYWxTdG9yYWdlLnRoaXJkUGFydHkpIHsNCglkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCcjc3RvcmFnZTMnKS5pbm5lclRleHQgPSAnWWVzJzsNCglkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCcjc3RvcmFnZTNhZ2UnKS5pbm5lclRleHQgPSBuZXcgRGF0ZShwYXJz
ZUludChsb2NhbFN0b3JhZ2UudGhpcmRQYXJ0eSkpOw0KfSBlbHNlIHsNCglkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCcjc3RvcmFnZTMnKS5pbm5lclRleHQgPSAnTm90IHVudGlsIG5vdyc7DQoJZG9j
dW1lbnQucXVlcnlTZWxlY3RvcignI3N0b3JhZ2UzYWdlJykuaW5uZXJUZXh0ID0gJ2JyYW5kIG5l
dyc7DQoJbG9jYWxTdG9yYWdlLnRoaXJkUGFydHkgPSBEYXRlLm5vdygpOw0KfQ0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>399114</attachid>
            <date>2020-05-12 03:09:32 -0700</date>
            <delta_ts>2020-05-12 03:09:32 -0700</delta_ts>
            <desc>A HTML file to be placed on a domain considered first party and visited as part of the test</desc>
            <filename>ITPTest.html</filename>
            <type>text/html</type>
            <size>1909</size>
            <attacher name="Rowan Beentje">rowan</attacher>
            
              <data encoding="base64">PGh0bWw+Cgk8aGVhZD4KCQk8dGl0bGU+U3RvcmFnZSBUZXN0PC90aXRsZT4KCQk8bGluayByZWw9
Im1hbmlmZXN0IiBocmVmPSJtYW5pZmVzdC5qc29uIj4KCQk8bWV0YSBuYW1lPSJhcHBsZS1tb2Jp
bGUtd2ViLWFwcC1jYXBhYmxlIiBjb250ZW50PSJ5ZXMiPgoJPC9oZWFkPgoJPGJvZHk+CgkJPGgz
PkhlbGxvISBUaGlzIGlzIGEgbGl0dGxlIHN0b3JhZ2UgdGVzdC48L2gzPgoKCQk8aHIgLz4KCgkJ
PHA+VGhlIGZpcnN0LXBhcnR5IGNvb2tpZSBleGlzdHM6IDxzdHJvbmcgaWQ9ImNvb2tpZTEiPi4u
Ljwvc3Ryb25nPi4KCQlUaGUgZmlyc3QtcGFydHkgY29va2llYWdlIGlzOiA8c3Ryb25nIGlkPSJj
b29raWUxYWdlIj4uLi48L3N0cm9uZz4uPC9wPgoKCQk8cD5UaGUgZmlyc3QtcGFydHkgbG9jYWxT
dG9yYWdlIGV4aXN0czogPHN0cm9uZyBpZD0ic3RvcmFnZTEiPi4uLjwvc3Ryb25nPi4KCQlUaGUg
Zmlyc3QtcGFydHkgbG9jYWxTdG9yYWdlIGFnZSBpczogPHN0cm9uZyBpZD0ic3RvcmFnZTFhZ2Ui
Pi4uLjwvc3Ryb25nPi48L3A+CgoJCTxociAvPgoKCQk8cD5UaGUgdGhpcmQtcGFydHkgY29va2ll
IGV4aXN0czogPHN0cm9uZyBpZD0iY29va2llMyI+Li4uPC9zdHJvbmc+LgoJCVRoZSB0aGlyZC1w
YXJ0eSBhZ2UgaXM6IDxzdHJvbmcgaWQ9ImNvb2tpZTNhZ2UiPi4uLjwvc3Ryb25nPi48L3A+CgkJ
PHA+VGhlIHRoaXJkLXBhcnR5IGxvY2FsU3RvcmFnZSBleGlzdHM6IDxzdHJvbmcgaWQ9InN0b3Jh
Z2UzIj4uLi48L3N0cm9uZz4uCgkJVGhlIHRoaXJkLXBhcnR5IGxvY2FsU3RvcmFnZSBhZ2UgaXM6
IDxzdHJvbmcgaWQ9InN0b3JhZ2UzYWdlIj4uLi48L3N0cm9uZz4uPC9wPgoKCQk8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+CgkJCXZhciBmaXJzdFBhcnR5Q29va2llVmFsdWUgPSBkb2N1
bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopY29va2llZmlyc3RccypcPVxzKihb
XjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKCgkJCWlmIChmaXJzdFBhcnR5Q29va2llVmFsdWUpIHsK
CQkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb29raWUxJykuaW5uZXJUZXh0ID0gJ1llcyc7
CgkJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjY29va2llMWFnZScpLmlubmVyVGV4dCA9IG5l
dyBEYXRlKHBhcnNlSW50KGZpcnN0UGFydHlDb29raWVWYWx1ZSkpOwoJCQl9IGVsc2UgewoJCQkJ
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Nvb2tpZTEnKS5pbm5lclRleHQgPSAnTm90IHVudGls
IG5vdyc7CgkJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjY29va2llMWFnZScpLmlubmVyVGV4
dCA9ICdicmFuZCBuZXcnOwoJCQkJZG9jdW1lbnQuY29va2llID0gYGNvb2tpZWZpcnN0PSR7RGF0
ZS5ub3coKX07IG1heC1hZ2U9MzE1MzYwMDBgOwoJCQl9CgoJCQlpZiAobG9jYWxTdG9yYWdlLmZp
cnN0UGFydHkpIHsKCQkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzdG9yYWdlMScpLmlubmVy
VGV4dCA9ICdZZXMnOwoJCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N0b3JhZ2UxYWdlJyku
aW5uZXJUZXh0ID0gbmV3IERhdGUocGFyc2VJbnQobG9jYWxTdG9yYWdlLmZpcnN0UGFydHkpKTsK
CQkJfSBlbHNlIHsKCQkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzdG9yYWdlMScpLmlubmVy
VGV4dCA9ICdOb3QgdW50aWwgbm93JzsKCQkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzdG9y
YWdlMWFnZScpLmlubmVyVGV4dCA9ICdicmFuZCBuZXcnOwoJCQkJbG9jYWxTdG9yYWdlLmZpcnN0
UGFydHkgPSBEYXRlLm5vdygpOwoJCQl9CgkJPC9zY3JpcHQ+CgkJPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly88YW5vdGhlciBkb21haW4+L3RoaXJkcGFydHkuanMi
Pjwvc2NyaXB0PgoJPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>399115</attachid>
            <date>2020-05-12 03:10:54 -0700</date>
            <delta_ts>2020-05-12 03:10:54 -0700</delta_ts>
            <desc>A manifest.json file to be placed on the domain considered first party, to allow homescreen installation during testing</desc>
            <filename>manifest.json</filename>
            <type>application/manifest+json</type>
            <size>209</size>
            <attacher name="Rowan Beentje">rowan</attacher>
            
              <data encoding="base64">ewoJIm5hbWUiOiAiU3RvcmFnZSB0ZXN0IiwKCSJzaG9ydF9uYW1lIjogIlN0b3JhZ2VUZXN0IiwK
CSJkZXNjcmlwdGlvbiI6ICJBIFN0b3JhZ2UgVGVzdCIsCgkibGFuZyI6ICJlbi1HQiIsCgkic3Rh
cnRfdXJsIjogIi9JVFBUZXN0Lmh0bWwiLAoJInNjb3BlIjogIi8iLAoJImRpc3BsYXkiOiAic3Rh
bmRhbG9uZSIsCgkidGhlbWVfY29sb3IiOiAiIzAwMDAwMCIKfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>399116</attachid>
            <date>2020-05-12 03:12:01 -0700</date>
            <delta_ts>2020-05-12 03:12:01 -0700</delta_ts>
            <desc>A script file to be placed on a different domain considered third-party for testing.</desc>
            <filename>thirdparty.js</filename>
            <type>text/javascript</type>
            <size>864</size>
            <attacher name="Rowan Beentje">rowan</attacher>
            
              <data encoding="base64">dmFyIHRoaXJkUGFydHlDb29raWVWYWx1ZSA9IGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzoo
PzpefC4qO1xzKiljb29raWV0aGlyZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpOwoK
aWYgKHRoaXJkUGFydHlDb29raWVWYWx1ZSkgewoJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Nv
b2tpZTMnKS5pbm5lclRleHQgPSAnWWVzJzsKCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb29r
aWUzYWdlJykuaW5uZXJUZXh0ID0gbmV3IERhdGUocGFyc2VJbnQodGhpcmRQYXJ0eUNvb2tpZVZh
bHVlKSk7Cn0gZWxzZSB7Cglkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjY29va2llMycpLmlubmVy
VGV4dCA9ICdOb3QgdW50aWwgbm93JzsKCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb29raWUz
YWdlJykuaW5uZXJUZXh0ID0gJ2JyYW5kIG5ldyc7Cglkb2N1bWVudC5jb29raWUgPSBgY29va2ll
dGhpcmQ9JHtEYXRlLm5vdygpfTsgbWF4LWFnZT0zMTUzNjAwMGA7Cn0KCmlmIChsb2NhbFN0b3Jh
Z2UudGhpcmRQYXJ0eSkgewoJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N0b3JhZ2UzJykuaW5u
ZXJUZXh0ID0gJ1llcyc7Cglkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc3RvcmFnZTNhZ2UnKS5p
bm5lclRleHQgPSBuZXcgRGF0ZShwYXJzZUludChsb2NhbFN0b3JhZ2UudGhpcmRQYXJ0eSkpOwp9
IGVsc2UgewoJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N0b3JhZ2UzJykuaW5uZXJUZXh0ID0g
J05vdCB1bnRpbCBub3cnOwoJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N0b3JhZ2UzYWdlJyku
aW5uZXJUZXh0ID0gJ2JyYW5kIG5ldyc7Cglsb2NhbFN0b3JhZ2UudGhpcmRQYXJ0eSA9IERhdGUu
bm93KCk7Cn0K
</data>

          </attachment>
      

    </bug>

</bugzilla>