<?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>53648</bug_id>
          
          <creation_ts>2011-02-02 17:05:20 -0800</creation_ts>
          <short_desc>REGRESSION (r77355): Page cache layout tests crash</short_desc>
          <delta_ts>2011-02-04 08:50:25 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>53667</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihai Parparita">mihaip</reporter>
          <assigned_to name="Mihai Parparita">mihaip</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>beidson</cc>
    
    <cc>dimich</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>jorlow</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>344431</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-02 17:05:20 -0800</bug_when>
    <thetext>fast/events/pageshow-pagehide-on-back-cached.html and fast/history/timed-refresh-in-cached-frame.html crash after r77355 with this assert:

ASSERTION FAILED: !m_suspended
(/Volumes/Data/WebKit-BuildSlave/snowleopard-intel-leaks/build/Source/WebCore/page/SuspendableTimer.cpp:62 virtual void WebCore::SuspendableTimer::suspend(WebCore::ActiveDOMObject::ReasonForSuspension))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344485</commentid>
    <comment_count>1</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-02 19:03:37 -0800</bug_when>
    <thetext>+Alexey for ActiveDOMObject
+Brady for page cache
+Jeremy for IndexedDB since it&apos;s also looking to use ActiveDOMObject
+James since we just talked about this
+Dmitry since he asked about this bug in #webkit

This assert happens because those test show an alert in a pagehide handler. In CachedFrame::CachedFrame (http://trac.webkit.org/browser/trunk/Source/WebCore/history/CachedFrame.cpp#L125) we first suspend ActiveDOMObjects (line 139) and then invoke pagehide handlers (line 148). Therefore the SuspendableTimer that&apos;s associated with the EventQueue is suspended once by CachedFrame and then again when the modal dialog is shown.

This problem existed before r77355, it&apos;s just that it was harder to trigger before (now there&apos;s a SuspendableTimer associated with every Document). Here&apos;s another way in which it gets triggered: http://persistent.info/webkit/test-cases/webkit-53648/timeout-pagehide-alert.html (that creates a DOMTimer (which subclasses SuspendableTimer) via setTimeout, and then navigates away and shows an alert in the pagehide handler).

I also would have expected this to happen when nesting modal dialogs (by having showModalDialog call alert), but that doesn&apos;t seem to happen (tests in http://persistent.info/webkit/test-cases/webkit-53648/nested-dialogs.html and http://persistent.info/webkit/test-cases/webkit-53648/nested-dialogs-2.html).

There&apos;s a few ways of fixing this:

1. Re-order the suspendActiveDOMObjects and stopLoading calls in CachedFrame. Brady, is there a reason why we suspend active DOM objects before triggering more JS execution?

2. Handle this nesting at the SuspendableTimer level. However, other ActiveDOMObject subclasses may be suspendable to this problem too.

3. Handle this nesting at the ActiveDOMObject or ScriptExecutionContext level, so that all classes get sane default nesting behavior. However, some ActiveDOMObjects (e.g. HTMLMediaElement) don&apos;t actually suspend/resume in some cases (e.g. for modal dialogs) so they may not want this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344491</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-02 19:21:32 -0800</bug_when>
    <thetext>&gt; we first suspend ActiveDOMObjects (line 139) and then invoke pagehide handlers (line 148).

This sounds pretty terrible - it means that active objects added by pagehide handlers won&apos;t be suspended, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344492</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-02-02 19:23:28 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; we first suspend ActiveDOMObjects (line 139) and then invoke pagehide handlers (line 148).
&gt; 
&gt; This sounds pretty terrible - it means that active objects added by pagehide handlers won&apos;t be suspended, right?

Yeah that does sound bad - sounds like we should probably do the suspend-for-inactive call _after_ firing pagehide.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344832</commentid>
    <comment_count>4</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-03 10:42:04 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; we first suspend ActiveDOMObjects (line 139) and then invoke pagehide handlers (line 148).
&gt; 
&gt; This sounds pretty terrible - it means that active objects added by pagehide handlers won&apos;t be suspended, right?

Yes, see test case at http://persistent.info/webkit/test-cases/webkit-53648/timeout-pagehide.html (the alert that fires was created by the previous page by setting a timeout  in the pagehide handler).

I&apos;ll try re-ordering the calls in CachedFrame and see if anything breaks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344999</commentid>
    <comment_count>5</comment_count>
      <attachid>81113</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-03 14:13:32 -0800</bug_when>
    <thetext>Created attachment 81113
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345001</commentid>
    <comment_count>6</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-03 14:15:17 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; I&apos;ll try re-ordering the calls in CachedFrame and see if anything breaks.

Nothing broke, except for bug 53716 (which is a coincidence, since the patch adds a test that causes recorded-keydown-event.html and tabindex-focus-blur-all.html in fast/events to get run in the same DRT session).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345092</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-03 16:05:09 -0800</bug_when>
    <thetext>Unsurprisingly, this is also happening on Windows: http://build.webkit.org/results/Windows%20XP%20Debug%20(Tests)/r77534%20(24887)/CrashLog_0e24_2011-02-03_14-55-43-359.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345112</commentid>
    <comment_count>8</comment_count>
      <attachid>81113</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-03 16:22:13 -0800</bug_when>
    <thetext>Comment on attachment 81113
Patch

This seems fine, but doesn&apos;t fix a more general case with multiple frames calling into each other from pagehide.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345135</commentid>
    <comment_count>9</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-03 16:35:50 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 81113 [details])
&gt; This seems fine, but doesn&apos;t fix a more general case with multiple frames calling into each other from pagehide.

Filed bug 53733 about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345139</commentid>
    <comment_count>10</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-03 16:40:32 -0800</bug_when>
    <thetext>Committed r77559: &lt;http://trac.webkit.org/changeset/77559&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345420</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-04 02:40:39 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/77559 might have broken GTK Linux 32-bit Release, GTK Linux 32-bit Debug, and GTK Linux 64-bit Debug
The following tests are not passing:
fast/events/pagehide-timeout.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345509</commentid>
    <comment_count>12</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-04 08:50:25 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; http://trac.webkit.org/changeset/77559 might have broken GTK Linux 32-bit Release, GTK Linux 32-bit Debug, and GTK Linux 64-bit Debug
&gt; The following tests are not passing:
&gt; fast/events/pagehide-timeout.html

Filed bug 53771 about this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81113</attachid>
            <date>2011-02-03 14:13:32 -0800</date>
            <delta_ts>2011-02-03 16:22:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53648-20110203141331.patch</filename>
            <type>text/plain</type>
            <size>8195</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjOWE4OTA5MWJhMWZiNWY5YTUzMGI3OWNjNWU4NTcwMzdiN2ZkYTE2Li41NDhhZWU2
YjFjMGI0N2RmZjk3NGY0ZmUxY2E4NzM0ZDVkODA1YzM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTEtMDItMDMgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTiAo
cjc3MzU1KTogUGFnZSBjYWNoZSBsYXlvdXQgdGVzdHMgY3Jhc2gKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNjQ4CisgICAgICAgIAorICAgICAgICBB
ZGQgdGVzdCB0aGF0IGNhbGxzIHNldFRpbWVvdXQgZHVyaW5nIGEgcGFnZWhpZGUgZXZlbnQgaGFu
ZGxlciAodGhlCisgICAgICAgIHRpbWVvdXQgc2hvdWxkIG5vdCBmaXJlIHdoaWxlIHRoZSBkb2N1
bWVudCBpcyBpbiB0aGUgcGFnZSBjYWNoZSkuCisgICAgICAgIAorICAgICAgICBTa2lwcGVkIGZv
ciBDaHJvbWl1bSBzaW5jZSBpdCBkb2Vzbid0IHVzZSB0aGUgcGFnZSBjYWNoZS4KKworICAgICAg
ICAqIGZhc3QvZXZlbnRzL3BhZ2VoaWRlLXRpbWVvdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy9wYWdlaGlkZS10aW1lb3V0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy9wYWdlaGlkZS10aW1lb3V0LWdvLWJhY2suaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
OgorCiAyMDExLTAyLTAzICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVXBkYXRlIGV4cGVjdGF0aW9ucyBhZnRlciByNzc0OTUuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlaGlkZS10aW1lb3V0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXRpbWVvdXQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ0ZTdlYTE2NjgwOGEwN2MwYTU0NjdjYjliNmVhMTNiYWY0OWVjNjgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlaGlkZS10aW1lb3V0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6IENy
ZWF0aW5nIHRpbWVvdXQgaW4gcGFnZWhpZGUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1OiBMb2Fk
ZWQgcGFnZWhpZGUtdGltZW91dC1nby1iYWNrLmh0bWwsIGdvaW5nIGJhY2sKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAzMjogUmVzdG9yZWQgcGFnZSBmcm9tIHBhZ2UgY2FjaGUuCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMjM6IFRpbWVvdXQgY3JlYXRlZCBpbiBwYWdlaGlkZSBmaXJlZAorVGVzdHMg
dGhhdCBKUyBleGVjdXRpb24gaXMgc3VzcGVuZGVkIGFmdGVyIHRoZSBwYWdlaGlkZSBldmVudCBp
cyBmaXJlZCwgc28gdGhhdCB0aW1lcnMgY3JlYXRlZCB3aXRoaW4gaXQgd2lsbCBub3QgZmlyZSB3
aGlsZSB0aGUgZG9jdW1lbnQgaXMgaW4gdGhlIHBhZ2UgY2FjaGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZWhpZGUt
dGltZW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZWhpZGUtdGltZW91dC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjRiYWFjOTBhM2I3N2RmYmVkYTQ5YzAyZmM0Nzg5ZjUzMjM5MGU2MGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlaGlkZS10aW1l
b3V0Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPGh0bWw+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgSlMgZXhlY3V0
aW9uIGlzIHN1c3BlbmRlZCBhZnRlciB0aGUgcGFnZWhpZGUgZXZlbnQgaXMgZmlyZWQsIHNvIHRo
YXQgdGltZXJzIGNyZWF0ZWQgd2l0aGluIGl0IHdpbGwgbm90IGZpcmUgd2hpbGUgdGhlIGRvY3Vt
ZW50IGlzIGluIHRoZSBwYWdlIGNhY2hlLicpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2Vi
S2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXknLCAxKTsKKyAgICAKK29ucGFnZWhpZGUgPSBm
dW5jdGlvbigpCit7CisgICAgLy8gRG9uJ3QgdHJ5IHRvIGNyZWF0ZSB0aGUgdGltZW91dCBhZ2Fp
biBpZiB0aGUgdGVzdCBpcyBjb21wbGV0ZSBhbmQgd2UncmUKKyAgICAvLyBtb3ZpbmcgdG8gdGhl
IG5leHQgb25lLgorICAgIGlmICghd2luZG93Lndhc0ZpbmlzaEpTVGVzdENhbGxlZCkgeworICAg
ICAgICBjb25zb2xlLmxvZygnQ3JlYXRpbmcgdGltZW91dCBpbiBwYWdlaGlkZScpOworICAgICAg
ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgLy8gVGhpcyBsb2cgc3RhdGVt
ZW50IHNob3VsZCBoYXBwZW4gYWZ0ZXIgdGhlIG9uZSBkb25lIGluIHRoZSBwYWdlc2hvdworICAg
ICAgICAgICAgLy8gaGFuZGxlci4KKyAgICAgICAgICAgIGNvbnNvbGUubG9nKCdUaW1lb3V0IGNy
ZWF0ZWQgaW4gcGFnZWhpZGUgZmlyZWQnKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICB9LCAxMDApOworICAgIH0KK307CisKK29ucGFnZXNob3cgPSBmdW5jdGlvbihldmVu
dCkKK3sKKyAgICBpZiAoZXZlbnQucGVyc2lzdGVkKQorICAgICAgICBjb25zb2xlLmxvZygnUmVz
dG9yZWQgcGFnZSBmcm9tIHBhZ2UgY2FjaGUuJyk7Cit9CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkK
K3sKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICBsb2NhdGlvbi5ocmVmID0g
J3Jlc291cmNlcy9wYWdlaGlkZS10aW1lb3V0LWdvLWJhY2suaHRtbCc7CisgICAgfSwgMCk7Cit9
CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwordmFyIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvcGFnZWhpZGUtdGltZW91dC1nby1iYWNrLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvcGFnZWhpZGUtdGltZW91dC1nby1iYWNr
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjAzYmJmNjNiNjIwNDkzOWQ1OGE4NzgyNDMyNTM3N2Y5YTU5M2E0
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9w
YWdlaGlkZS10aW1lb3V0LWdvLWJhY2suaHRtbApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zb2xlLmxvZygnTG9hZGVkIHBhZ2Vo
aWRlLXRpbWVvdXQtZ28tYmFjay5odG1sLCBnb2luZyBiYWNrJyk7CitzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgeyBoaXN0b3J5LmJhY2soKTsgfSwgMjAwKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0CmluZGV4IDRjNzBjNTkzZTdiMDMyNzczMjU5MGNhZDJmZDM1ODJiNTkxNDE4ZmIu
LmI0YzFjY2Q4OTlhNDljMDg2MGVlNThiMmEzMjQ5YTE4ZmI5MjQzOTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTE1
MCw3ICsxNTAsNyBAQCBXT05URklYIFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93
b3JrZXJzLyA9IFBBU1MgVElNRU9VVCBGQUlMCiAvLyBvbiB3aGljaCByZW5kZXJlciBwcm9jZXNz
IHRvIHVzZSBmb3IgZWFjaCBvZiB0aGVtLgogV09OVEZJWCBTS0lQIEJVR0NSMTk2MzUgOiBmYXN0
L2hhcm5lc3MvdXNlLXBhZ2UtY2FjaGUuaHRtbCA9IFRJTUVPVVQgRkFJTAogV09OVEZJWCBTS0lQ
IEJVR0NSMTk2MzUgOiBmYXN0L2RvbS9XaW5kb3cvdGltZXItcmVzdW1lLW9uLW5hdmlnYXRpb24t
YmFjay5odG1sID0gVElNRU9VVCBGQUlMCi0vLyBEZXBlbmRzIG9uIHBhZ2UgY2FjaGUsIGFzIGZh
ciBhcyBJIGNhbiB0ZWxsLgorV09OVEZJWCBTS0lQIEJVR0NSMTk2MzUgOiBmYXN0L2V2ZW50cy9w
YWdlaGlkZS10aW1lb3V0Lmh0bWwgPSBUSU1FT1VUCiBXT05URklYIFNLSVAgQlVHQ1IxOTYzNSA6
IGZhc3QvZXZlbnRzL3BhZ2VzaG93LXBhZ2VoaWRlLW9uLWJhY2stY2FjaGVkLmh0bWwgPSBUSU1F
T1VUIEZBSUwKIFdPTlRGSVggU0tJUCBCVUdDUjE5NjM1IDogZmFzdC9ldmVudHMvcGFnZXNob3ct
cGFnZWhpZGUtb24tYmFjay1jYWNoZWQtd2l0aC1mcmFtZXMuaHRtbCA9IFRJTUVPVVQKIFdPTlRG
SVggU0tJUCBCVUdDUjE5NjM1IDogbWVkaWEvcmVzdG9yZS1mcm9tLXBhZ2UtY2FjaGUuaHRtbCA9
IFRJTUVPVVQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ODhlMWFlOTVhYTYyNTY0MzY2N2Q0ODcwM2MzMjJlNjk5
ZjNiNWI0Li40YWIyMzRiZjViMmQ5MDJlYjA0MWJjMzdkZmQ3Yjg2MzMyMWIyZjk0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDItMDMgIE1paGFpIFBhcnBhcml0YSAgPG1paGFp
cEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUkVHUkVTU0lPTiAocjc3MzU1KTogUGFnZSBjYWNoZSBsYXlvdXQgdGVzdHMgY3Jh
c2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNjQ4
CisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvcGFnZWhpZGUtdGltZW91dC5odG1sCisgICAg
ICAgIAorICAgICAgICBTdXNwZW5kIGFjdGl2ZSBET00gb2JqZWN0cyBhZnRlciBhbGwgcGFnZWhp
ZGUgZXZlbnQgaGFuZGxlcnMgaGF2ZSBydW4sCisgICAgICAgIG90aGVyd2lzZSBpdCdzIHBvc3Np
YmxlIGZvciB0aGVtIHRvIGNyZWF0ZSBtb3JlIG9iamVjdHMgdGhhdCB3ZXJlbid0CisgICAgICAg
IGdldHRpbmcgc3VzcGVuZGVkLgorCisgICAgICAgICogaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGcmFtZTo6Q2FjaGVkRnJhbWUpOgorCiAyMDExLTAy
LTAzICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
aXN0b3J5L0NhY2hlZEZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJh
bWUuY3BwCmluZGV4IDMxMDk4M2IyNjY3NDljMmRmNDU0Y2Q1YmFmZmQ4YzczY2Q5MWQ3NjcuLjQ0
YjFkMWQzMmFlM2VhM2MxNjc2MWQ1YjQzNDc1ZDI0YmVmYTA2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvQ2FjaGVkRnJhbWUuY3BwCkBAIC0xMzUsMTAgKzEzNSw2IEBAIENhY2hlZEZyYW1lOjpD
YWNoZWRGcmFtZShGcmFtZSogZnJhbWUpCiAgICAgaWYgKGZyYW1lLT5wYWdlKCktPmZvY3VzQ29u
dHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKSA9PSBmcmFtZSkKICAgICAgICAgZnJhbWUtPnBhZ2Uo
KS0+Zm9jdXNDb250cm9sbGVyKCktPnNldEZvY3VzZWRGcmFtZShmcmFtZS0+cGFnZSgpLT5tYWlu
RnJhbWUoKSk7CiAKLSAgICAvLyBBY3RpdmUgRE9NIG9iamVjdHMgbXVzdCBiZSBzdXNwZW5kZWQg
YmVmb3JlIHdlIGNhY2hlZCB0aGUgZnJhbWUgc2NyaXB0IGRhdGEKLSAgICBtX2RvY3VtZW50LT5z
dXNwZW5kQWN0aXZlRE9NT2JqZWN0cyhBY3RpdmVET01PYmplY3Q6OkRvY3VtZW50V2lsbEJlY29t
ZUluYWN0aXZlKTsKLSAgICBtX2NhY2hlZEZyYW1lU2NyaXB0RGF0YSA9IGFkb3B0UHRyKG5ldyBT
Y3JpcHRDYWNoZWRGcmFtZURhdGEoZnJhbWUpKTsKLSAgICAKICAgICAvLyBDdXN0b20gc2Nyb2xs
YmFyIHJlbmRlcmVycyB3aWxsIGdldCByZWF0dGFjaGVkIHdoZW4gdGhlIGRvY3VtZW50IGNvbWVz
IG91dCBvZiB0aGUgcGFnZSBjYWNoZQogICAgIG1fdmlldy0+ZGV0YWNoQ3VzdG9tU2Nyb2xsYmFy
cygpOwogCkBAIC0xNDYsMTMgKzE0MiwyMCBAQCBDYWNoZWRGcmFtZTo6Q2FjaGVkRnJhbWUoRnJh
bWUqIGZyYW1lKQogICAgIGZyYW1lLT5jbGVhclRpbWVycygpOwogICAgIG1fZG9jdW1lbnQtPnNl
dEluUGFnZUNhY2hlKHRydWUpOwogICAgIGZyYW1lLT5sb2FkZXIoKS0+c3RvcExvYWRpbmcoVW5s
b2FkRXZlbnRQb2xpY3lVbmxvYWRBbmRQYWdlSGlkZSk7Ci0gICAgCi0gICAgZnJhbWUtPmxvYWRl
cigpLT5jbGllbnQoKS0+c2F2ZVBsYXRmb3JtRGF0YVRvQ2FjaGVkRnJhbWUodGhpcyk7CiAKICAg
ICAvLyBDcmVhdGUgdGhlIENhY2hlZEZyYW1lcyBmb3IgYWxsIEZyYW1lcyBpbiB0aGUgRnJhbWVU
cmVlLgogICAgIGZvciAoRnJhbWUqIGNoaWxkID0gZnJhbWUtPnRyZWUoKS0+Zmlyc3RDaGlsZCgp
OyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+dHJlZSgpLT5uZXh0U2libGluZygpKQogICAgICAgICBt
X2NoaWxkRnJhbWVzLmFwcGVuZChDYWNoZWRGcmFtZTo6Y3JlYXRlKGNoaWxkKSk7CiAKKyAgICAv
LyBBY3RpdmUgRE9NIG9iamVjdHMgbXVzdCBiZSBzdXNwZW5kZWQgYmVmb3JlIHdlIGNhY2hlIHRo
ZSBmcmFtZSBzY3JpcHQgZGF0YSwKKyAgICAvLyBidXQgYWZ0ZXIgd2UndmUgZmlyZWQgdGhlIHBh
Z2VoaWRlIGV2ZW50LCBpbiBjYXNlIHRoYXQgY3JlYXRlcyBtb3JlIG9iamVjdHMuCisgICAgLy8g
U3VzcGVuZGluZyBtdXN0IGFsc28gaGFwcGVuIGFmdGVyIHdlJ3ZlIHJlY3Vyc2VkIG92ZXIgY2hp
bGQgZnJhbWVzLCBpbiBjYXNlCisgICAgLy8gdGhvc2UgY3JlYXRlIG1vcmUgb2JqZWN0cy4KKyAg
ICBtX2RvY3VtZW50LT5zdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyhBY3RpdmVET01PYmplY3Q6OkRv
Y3VtZW50V2lsbEJlY29tZUluYWN0aXZlKTsKKyAgICBtX2NhY2hlZEZyYW1lU2NyaXB0RGF0YSA9
IGFkb3B0UHRyKG5ldyBTY3JpcHRDYWNoZWRGcmFtZURhdGEoZnJhbWUpKTsKKworICAgIGZyYW1l
LT5sb2FkZXIoKS0+Y2xpZW50KCktPnNhdmVQbGF0Zm9ybURhdGFUb0NhY2hlZEZyYW1lKHRoaXMp
OworCiAgICAgLy8gRGVjb25zdHJ1Y3QgdGhlIEZyYW1lVHJlZSwgdG8gcmVzdG9yZSBpdCBsYXRl
ci4KICAgICAvLyBXZSBkbyB0aGlzIGZvciB0d28gcmVhc29uczoKICAgICAvLyAxIC0gV2UgcmV1
c2UgdGhlIG1haW4gZnJhbWUsIHNvIHdoZW4gaXQgbmF2aWdhdGVzIHRvIGEgbmV3IHBhZ2UgbG9h
ZCBpdCBuZWVkcyB0byBzdGFydCB3aXRoIGEgYmxhbmsgRnJhbWVUcmVlLgo=
</data>
<flag name="review"
          id="72662"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>