<?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>225344</bug_id>
          
          <creation_ts>2021-05-04 01:05:29 -0700</creation_ts>
          <short_desc>localStorage changes aren&apos;t reflected between WKWebViews using WKWebViewConfiguration._groupIdentifier</short_desc>
          <delta_ts>2021-07-29 19:37:21 -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>DOM</component>
          <version>Safari 14</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>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jake Archibald">jaffathecake</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>bugmail</cc>
    
    <cc>cabanier</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>emilio</cc>
    
    <cc>eoconnor</cc>
    
    <cc>graouts</cc>
    
    <cc>gsnedders</cc>
    
    <cc>koddsson</cc>
    
    <cc>lwarlow</cc>
    
    <cc>m</cc>
    
    <cc>m.kurz+webkitbugs</cc>
    
    <cc>rik</cc>
    
    <cc>shantmarouti</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tomac</cc>
    
    <cc>twilco.o</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1756468</commentid>
    <comment_count>0</comment_count>
    <who name="Jake Archibald">jaffathecake</who>
    <bug_when>2021-05-04 01:05:29 -0700</bug_when>
    <thetext>Using Safari 14.1 or later:

1. Tab A: Open https://static-misc-3.glitch.me/localstorage-bug/ in new tab
2. Tab A: Hit &apos;increment&apos;
3. Tab B: Open https://static-misc-3.glitch.me/localstorage-bug/ in new tab - it displays &apos;1&apos; as expected
4. Tab B: Hit &apos;increment&apos;

Tab A does not get a &apos;storage&apos; event, clicking &quot;Re-get value&quot; returns the same value.

It seems like localStorage state is copied at some point, but it doesn&apos;t receive any updates after that. However, it&apos;s still writing to the underlying data store.

Refreshing the page still returns stale data.

This will result in data loss on websites, as two tabs will be writing to storage, unaware of each others&apos; changes.

Additionally, the &apos;storage&apos; event is used for cross-tab communication in Safari, since it doesn&apos;t support BroadcastChannel, and this bug breaks that. In fact, BroadcastChannel polyfills use the &apos;storage&apos; event https://github.com/JSmith01/broadcastchannel-polyfill.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756480</commentid>
    <comment_count>1</comment_count>
    <who name="Jake Archibald">jaffathecake</who>
    <bug_when>2021-05-04 02:36:52 -0700</bug_when>
    <thetext>In case anyone needs a workaround, you can switch to indexeddb for storage, and use service workers to communicate the changes between tabs https://static-misc-3.glitch.me/safari-storage-workaround/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756481</commentid>
    <comment_count>2</comment_count>
    <who name="Thomas Steiner">tomac</who>
    <bug_when>2021-05-04 02:52:37 -0700</bug_when>
    <thetext>(Somewhat related: people have been asking for `BroadcastChannel` support in https://bugs.webkit.org/show_bug.cgi?id=161472.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756487</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-04 03:11:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/77496721&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756491</commentid>
    <comment_count>4</comment_count>
    <who name="Jake Archibald">jaffathecake</who>
    <bug_when>2021-05-04 03:37:44 -0700</bug_when>
    <thetext>Here&apos;s a failing wpt http://wpt.live/webstorage/storage_local_window_open.window.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756503</commentid>
    <comment_count>5</comment_count>
    <who name="Luke Warlow">lwarlow</who>
    <bug_when>2021-05-04 05:45:50 -0700</bug_when>
    <thetext>It&apos;s worth noting this appears to only be the case on macOS. iOS seems to behave as expected. Tested with iPad OS 14.5.1 and macOS Big Sur 11.3.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756538</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-04 08:25:46 -0700</bug_when>
    <thetext>Investigating. Thanks for the bug report.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756545</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-04 08:52:59 -0700</bug_when>
    <thetext>Looks like this was caused by a Safari change, not a WebKit change. Keeping this WebKit bug report open for now in case we need a WebKit-side fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756641</commentid>
    <comment_count>8</comment_count>
      <attachid>427693</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-04 13:04:25 -0700</bug_when>
    <thetext>Created attachment 427693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756665</commentid>
    <comment_count>9</comment_count>
      <attachid>427693</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-05-04 14:03:36 -0700</bug_when>
    <thetext>Comment on attachment 427693
Patch

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

&gt; Source/WebKit/UIProcess/WebPageGroup.cpp:86
&gt; +        data.pageGroupID = generatePageGroupID();

Why don&apos;t we use ObjectIdentifier&lt;&gt; for the page group?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756668</commentid>
    <comment_count>10</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-04 14:06:58 -0700</bug_when>
    <thetext>We should.  This is old code that hasn&apos;t been updated to our newer idioms, but I certainly don&apos;t want to do that in this patch for the reason stated in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756676</commentid>
    <comment_count>11</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-04 14:32:16 -0700</bug_when>
    <thetext>http://trac.webkit.org/r276983</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756759</commentid>
    <comment_count>12</comment_count>
      <attachid>427693</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-04 18:36:49 -0700</bug_when>
    <thetext>Comment on attachment 427693
Patch

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

&gt; Source/WebKit/UIProcess/WebPageGroup.cpp:81
&gt; +    if (HashMap&lt;String, uint64_t&gt;::isValidKey(identifier)) {

Seems like overkill to use isValidKey here. If null is a special value, meaning we don’t have one, we should check for null. The fact that null also can’t be used as a hash table key is a separate thing that doesn’t seem the same to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756970</commentid>
    <comment_count>13</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-05 10:05:24 -0700</bug_when>
    <thetext>It is probably overkill, but I wanted this to be as low risk as possible to merge onto a branch.  I intend to remove all this code soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756978</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-05 10:17:26 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #13)
&gt; It is probably overkill, but I wanted this to be as low risk as possible to
&gt; merge onto a branch.  I intend to remove all this code soon.

I understand what you are saying.

I don’t think that using isValidKey makes this lower risk than an isNull() check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757029</commentid>
    <comment_count>15</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-05 12:19:45 -0700</bug_when>
    <thetext>I think you&apos;re right.  It seems impossible to pass a hash-table-deleted string through our API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767881</commentid>
    <comment_count>16</comment_count>
    <who name="Thomas Steiner">tomac</who>
    <bug_when>2021-06-08 13:24:16 -0700</bug_when>
    <thetext>This fix seems to have rolled out with iOS/iPadOS 15 beta 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775696</commentid>
    <comment_count>17</comment_count>
    <who name="Guido Bouman">m</who>
    <bug_when>2021-07-08 09:56:22 -0700</bug_when>
    <thetext>Will this also land in 14.2, if/when that comes? Seems like a big regression that&apos;s worth patching before 15. Even worth a 14.1.1 if you ask me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775697</commentid>
    <comment_count>18</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-08 09:57:35 -0700</bug_when>
    <thetext>We are aware of how important this bug is.  We have no comment on future releases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780196</commentid>
    <comment_count>19</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-07-28 14:01:18 -0700</bug_when>
    <thetext>(In reply to Thomas Steiner from comment #16)
&gt; This fix seems to have rolled out with iOS/iPadOS 15 beta 1.

As mentioned above, this never affected iOS/iPadOS, as it was macOS only.

To note, this was fixed in macOS 11.5.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427693</attachid>
            <date>2021-05-04 13:04:25 -0700</date>
            <delta_ts>2021-05-04 13:23:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225344-20210504130424.patch</filename>
            <type>text/plain</type>
            <size>5450</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMzZDE2ZTFkMjkxZjkwYWNk
MjVkYTE4M2Q2NGVjOGQ2MmMwZjJlYmIuLmEyNmU5YTE1NjJjMmM1Y2U0NDg4M2FlYzFiODUyNGNm
MjUxNTQ2NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMDUtMDQgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBsb2NhbFN0b3Jh
Z2UgY2hhbmdlcyBhcmVuJ3QgcmVmbGVjdGVkIGJldHdlZW4gV0tXZWJWaWV3cyB1c2luZyBXS1dl
YlZpZXdDb25maWd1cmF0aW9uLl9ncm91cElkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTM0NAorICAgICAgICA8cmRhcjovLzc3NDk2
NzIxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdo
ZW4gd2Ugc3dpdGNoZWQgZnJvbSB1c2luZyBfcGFnZUdyb3VwIHRvIF9ncm91cElkZW50aWZpZXIs
IHdlIGFsc28gYnJva2UgbG9jYWxTdG9yYWdlIGJ5IG1ha2luZyBhIG5ldyBwYWdlR3JvdXBJRCBm
b3IgZWFjaCBXS1dlYlZpZXcuCisgICAgICAgIFRoaXMgaXMgdGhlIGxvdy1yaXNrIHNvbHV0aW9u
IHRvIHRoaXMgcHJvYmxlbSB0aGF0IHJlbWVtYmVycyB3aGF0IHBhZ2VHcm91cElEIHdlIHVzZWQg
Zm9yIHRoaXMgc2FtZSBpZGVudGlmaWVyLCBjcmVhdGluZyB0aGUgZWZmZWN0IG9mCisgICAgICAg
IHVzaW5nIHRoZSBzYW1lIFN0b3JhZ2VOYW1lc3BhY2VJZGVudGlmaWVyIGZvciBlYWNoIF9ncm91
cElkZW50aWZpZXIgbGlrZSB3ZSBkaWQgd2hlbiB3ZSB1c2VkIF9wYWdlR3JvdXAuCisgICAgICAg
IFNlZSB0aGUgY29tbWVudCBpbiBTdG9yYWdlQXJlYU1hcDo6ZGlzcGF0Y2hMb2NhbFN0b3JhZ2VF
dmVudC4KKworICAgICAgICBUaGUgaGlnaGVyLXJpc2sgc29sdXRpb24gdGhhdCBuZWVkcyB0byBi
ZSBkb25lIGJ1dCBwcm9iYWJseSBzaG91bGRuJ3QgYmUgbWVyZ2VkIHRvIGEgYnJhbmNoIGF0IHRo
aXMgcG9pbnQgaXMgdG8gcmVtb3ZlIFN0b3JhZ2VOYW1lc3BhY2VJZGVudGlmaWVyLgorICAgICAg
ICBJIHBsYW4gdG8gZG8gdGhhdCBpbiBhIGZvbGxvdy11cCBwYXRjaC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlR3JvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpwYWdlR3JvdXBEYXRh
KToKKwogMjAyMS0wNC0zMCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbQ29jb2FdIEFsd2F5cyBleHRlbmQgYWNjZXNzIHRvIGxvY2FsIHByb2Nlc3MgSFRU
UC8zIGNhY2hlIGRpcmVjdG9yeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VHcm91cC5j
cHAKaW5kZXggMjdjZTU4NWVmODk5ODg5MzUxYjA1NWQwZjdiODU1NTk1MjYzYWE0ZS4uMTJiOTg0
YjM5NWNkMDM1OWUwZjNhOWRlNzliNTBjZDc3OTE0ZjE3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZUdyb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlR3JvdXAuY3BwCkBAIC03Nyw3ICs3NywxMyBAQCBzdGF0aWMgV2ViUGFnZUdy
b3VwRGF0YSBwYWdlR3JvdXBEYXRhKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKIHsKICAgICBX
ZWJQYWdlR3JvdXBEYXRhIGRhdGE7CiAKLSAgICBkYXRhLnBhZ2VHcm91cElEID0gZ2VuZXJhdGVQ
YWdlR3JvdXBJRCgpOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFN0cmluZywg
dWludDY0X3Q+PiBtYXA7CisgICAgaWYgKEhhc2hNYXA8U3RyaW5nLCB1aW50NjRfdD46OmlzVmFs
aWRLZXkoaWRlbnRpZmllcikpIHsKKyAgICAgICAgZGF0YS5wYWdlR3JvdXBJRCA9IG1hcC5nZXQo
KS5lbnN1cmUoaWRlbnRpZmllciwgW10geworICAgICAgICAgICAgcmV0dXJuIGdlbmVyYXRlUGFn
ZUdyb3VwSUQoKTsKKyAgICAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOworICAgIH0gZWxzZQorICAg
ICAgICBkYXRhLnBhZ2VHcm91cElEID0gZ2VuZXJhdGVQYWdlR3JvdXBJRCgpOwogCiAgICAgaWYg
KCFpZGVudGlmaWVyLmlzRW1wdHkoKSkKICAgICAgICAgZGF0YS5pZGVudGlmaWVyID0gaWRlbnRp
ZmllcjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCBkOGEzOTIyOTM1MmFjY2ViM2VkNDFjODg0MjViMzA3YzNiMGE2ZDI0Li5iZWNmYWY3ZTcyMzM5
MTQ3YmU5MzM1MWEzMTM3ZjZjOGY2YzM0YTM0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDUtMDQgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBsb2NhbFN0
b3JhZ2UgY2hhbmdlcyBhcmVuJ3QgcmVmbGVjdGVkIGJldHdlZW4gV0tXZWJWaWV3cyB1c2luZyBX
S1dlYlZpZXdDb25maWd1cmF0aW9uLl9ncm91cElkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTM0NAorICAgICAgICA8cmRhcjovLzc3
NDk2NzIxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Mb2NhbFN0b3JhZ2VQZXJzaXN0ZW5j
ZS5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTA0LTMwICBKb25hdGhhbiBCZWRhcmQgIDxq
YmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbd2Via2l0c2NweV0gU3VwcG9ydCBhcmd1bWVu
dHMgdG8gVGFza1Bvb2wgc2V0dXAgYW5kIHRlYXJkb3duCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0xvY2FsU3RvcmFnZVBlcnNpc3RlbmNlLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Mb2NhbFN0b3JhZ2VQZXJzaXN0
ZW5jZS5tbQppbmRleCA1Zjc5MTkwOTQzYzc3MWU5ZDllNDQyYTBkYTI2NmZmOWEwM2JhMmYyLi43
YTNkMmM1YmM3ZDExOWI3OWQyNWFhNWM0NTQ0OGYxZGM0YTUyYmI3IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0xvY2FsU3RvcmFnZVBlcnNpc3RlbmNl
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTG9jYWxTdG9y
YWdlUGVyc2lzdGVuY2UubW0KQEAgLTI3LDYgKzI3LDggQEAKIAogI2ltcG9ydCAiUGxhdGZvcm1V
dGlsaXRpZXMuaCIKICNpbXBvcnQgIlRlc3QuaCIKKyNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9uRGVs
ZWdhdGUuaCIKKyNpbXBvcnQgIlRlc3RVSURlbGVnYXRlLmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tQ
cm9jZXNzUG9vbFByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1VzZXJDb250ZW50Q29udHJv
bGxlclByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJp
dmF0ZS5oPgpAQCAtNDE1LDMgKzQxNywzNCBAQCBURVNUKFdLV2ViVmlldywgQXV4aWxpYXJ5V2lu
ZG93c1NoYXJlTG9jYWxTdG9yYWdlKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZmlu
aXNoZWRSdW5uaW5nU2NyaXB0KTsKICAgICBmaW5pc2hlZFJ1bm5pbmdTY3JpcHQgPSBmYWxzZTsK
IH0KKworVEVTVChXS1dlYlZpZXcsIExvY2FsU3RvcmFnZUdyb3VwKQoreworICAgIGF1dG8gcnVu
VGVzdCA9IFtdIChib29sIHNldEdyb3VwSWRlbnRpZmllcikgeworICAgICAgICBhdXRvIGNvbmZp
Z3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0p
OworICAgICAgICBbY29uZmlndXJhdGlvbiBzZXRXZWJzaXRlRGF0YVN0b3JlOltXS1dlYnNpdGVE
YXRhU3RvcmUgbm9uUGVyc2lzdGVudERhdGFTdG9yZV1dOworICAgICAgICBpZiAoc2V0R3JvdXBJ
ZGVudGlmaWVyKQorICAgICAgICAgICAgW2NvbmZpZ3VyYXRpb24gX3NldEdyb3VwSWRlbnRpZmll
cjpAInRlc3Rncm91cGlkZW50aWZpZXIiXTsKKyAgICAgICAgYXV0byB3ZWJWaWV3MSA9IGFkb3B0
TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAs
IDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgICAgIE5TU3Ry
aW5nICpodG1sMSA9IEAiIgorICAgICAgICAiPHNjcmlwdD4iCisgICAgICAgICJsb2NhbFN0b3Jh
Z2Uuc2V0SXRlbSgndGVzdGtleScsICd0ZXN0dmFsdWUxJyk7IgorICAgICAgICAid2luZG93Lm9u
c3RvcmFnZSA9IGZ1bmN0aW9uKGUpIHsgYWxlcnQoJ3N0b3JhZ2UgY2hhbmdlZCBrZXkgJyArIGUu
a2V5ICsgJyB2YWx1ZSBmcm9tICcgKyBlLm9sZFZhbHVlICsgJyB0byAnICsgZS5uZXdWYWx1ZSkg
fTsiCisgICAgICAgICI8L3NjcmlwdD4iOworICAgICAgICBbd2ViVmlldzEgbG9hZEhUTUxTdHJp
bmc6aHRtbDEgYmFzZVVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vd2Via2l0Lm9y
Zy8iXV07CisgICAgICAgIFt3ZWJWaWV3MSBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlv
bl07CisKKyAgICAgICAgYXV0byB3ZWJWaWV3MiA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2Nd
IGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpj
b25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgICAgIE5TU3RyaW5nICpodG1sMiA9IEAiIgorICAg
ICAgICAiPHNjcmlwdD4iCisgICAgICAgICJhbGVydCgnc2Vjb25kIHdlYiB2aWV3IGdvdCB2YWx1
ZSAnICsgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rlc3RrZXknKSk7IgorICAgICAgICAibG9jYWxT
dG9yYWdlLnNldEl0ZW0oJ3Rlc3RrZXknLCAndGVzdHZhbHVlMicpOyIKKyAgICAgICAgIjwvc2Ny
aXB0PiI7CisgICAgICAgIFt3ZWJWaWV3MiBsb2FkSFRNTFN0cmluZzpodG1sMiBiYXNlVVJMOltO
U1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cHM6Ly93ZWJraXQub3JnLyJdXTsKKyAgICAgICAgRVhQ
RUNUX1dLX1NUUkVRKFt3ZWJWaWV3MiBfdGVzdF93YWl0Rm9yQWxlcnRdLCAic2Vjb25kIHdlYiB2
aWV3IGdvdCB2YWx1ZSB0ZXN0dmFsdWUxIik7CisKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKFt3
ZWJWaWV3MSBfdGVzdF93YWl0Rm9yQWxlcnRdLCAic3RvcmFnZSBjaGFuZ2VkIGtleSB0ZXN0a2V5
IHZhbHVlIGZyb20gdGVzdHZhbHVlMSB0byB0ZXN0dmFsdWUyIik7CisgICAgfTsKKyAgICBydW5U
ZXN0KHRydWUpOworICAgIHJ1blRlc3QoZmFsc2UpOworfQo=
</data>
<flag name="review"
          id="448383"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>