<?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>156033</bug_id>
          
          <creation_ts>2016-03-30 12:29:49 -0700</creation_ts>
          <short_desc>REGRESSION (r195605): ASSERTION FAILED: !NoEventDispatchAssertion::isEventDispatchForbidden() when pressing the back button on a page with a focused subframe</short_desc>
          <delta_ts>2016-03-31 15:43:45 -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>WebCore Misc.</component>
          <version>WebKit Local 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>InRadar, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>153449</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>kling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1179134</commentid>
    <comment_count>0</comment_count>
      <attachid>275210</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-03-30 12:29:49 -0700</bug_when>
    <thetext>Created attachment 275210
back-from-page-with-focused-frame.html

Using a debug build of WebKit, open the attached test, back-from-page-with-focused-iframe.html. Then WebKit will crash with an assertion failure:

ASSERTION FAILED: !NoEventDispatchAssertion::isEventDispatchForbidden()
/WebKitDev/OpenSource/Source/WebCore/dom/Document.cpp(4142) : void WebCore::Document::dispatchWindowEvent(WebCore::Event &amp;, WebCore::EventTarget *)
1   0x110e443f0 WTFCrash
2   0x110e44419 WTFCrashWithSecurityImplication
3   0x11365f892 WebCore::Document::dispatchWindowEvent(WebCore::Event&amp;, WebCore::EventTarget*)
4   0x113903dff WebCore::FocusController::setFocusedFrame(WTF::PassRefPtr&lt;WebCore::Frame&gt;)
5   0x113200b7c WebCore::CachedFrame::CachedFrame(WebCore::Frame&amp;)
6   0x11320138d WebCore::CachedFrame::CachedFrame(WebCore::Frame&amp;)
7   0x113202247 std::_Unique_if&lt;WebCore::CachedFrame&gt;::_Single_object std::make_unique&lt;WebCore::CachedFrame, WebCore::Frame&amp;&gt;(WebCore::Frame&amp;&amp;&amp;)
8   0x113200c40 WebCore::CachedFrame::CachedFrame(WebCore::Frame&amp;)
9   0x11320138d WebCore::CachedFrame::CachedFrame(WebCore::Frame&amp;)
10  0x11320c54a std::_Unique_if&lt;WebCore::CachedFrame&gt;::_Single_object std::make_unique&lt;WebCore::CachedFrame, WebCore::MainFrame&amp;&gt;(WebCore::MainFrame&amp;&amp;&amp;)
11  0x11320be73 WebCore::CachedPage::CachedPage(WebCore::Page&amp;)
12  0x11320bebd WebCore::CachedPage::CachedPage(WebCore::Page&amp;)
13  0x11498a927 std::_Unique_if&lt;WebCore::CachedPage&gt;::_Single_object std::make_unique&lt;WebCore::CachedPage, WebCore::Page&amp;&gt;(WebCore::Page&amp;&amp;&amp;)
14  0x114988353 WebCore::PageCache::addIfCacheable(WebCore::HistoryItem&amp;, WebCore::Page*)
15  0x113a247db WebCore::FrameLoader::commitProvisionalLoad()
16  0x113a29072 WebCore::FrameLoader::loadProvisionalItemFromCachedPage()
17  0x113a22c98 WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool, WebCore::AllowNavigationToInvalidURL)
18  0x113a3136e WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr&lt;WebCore::FormState&gt;, WebCore::AllowNavigationToInvalidURL)::$_4::operator()(WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool) const
19  0x113a312f0 void std::__1::__invoke_void_return_wrapper&lt;void&gt;::__call&lt;WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr&lt;WebCore::FormState&gt;, WebCore::AllowNavigationToInvalidURL)::$_4&amp;, WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool&gt;(WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr&lt;WebCore::FormState&gt;, WebCore::AllowNavigationToInvalidURL)::$_4&amp;&amp;&amp;, WebCore::ResourceRequest const&amp;&amp;&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;&amp;&amp;, bool&amp;&amp;)
20  0x113a311ec std::__1::__function::__func&lt;WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr&lt;WebCore::FormState&gt;, WebCore::AllowNavigationToInvalidURL)::$_4, std::__1::allocator&lt;WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr&lt;WebCore::FormState&gt;, WebCore::AllowNavigationToInvalidURL)::$_4&gt;, void (WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)&gt;::operator()(WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;&amp;&amp;, bool&amp;&amp;)
21  0x114a152d7 std::__1::function&lt;void (WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)&gt;::operator()(WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool) const
22  0x114a148c9 WebCore::PolicyCallback::call(bool)
23  0x114a15f25 WebCore::PolicyChecker::continueAfterNavigationPolicy(WebCore::PolicyAction)
24  0x114a1951e WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&amp;, WebCore::DocumentLoader*, WTF::PassRefPtr&lt;WebCore::FormState&gt;, std::__1::function&lt;void (WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)&gt;)::$_1::operator()(WebCore::PolicyAction) const
25  0x114a194ef void std::__1::__invoke_void_return_wrapper&lt;void&gt;::__call&lt;WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&amp;, WebCore::DocumentLoader*, WTF::PassRefPtr&lt;WebCore::FormState&gt;, std::__1::function&lt;void (WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)&gt;)::$_1&amp;, WebCore::PolicyAction&gt;(WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&amp;, WebCore::DocumentLoader*, WTF::PassRefPtr&lt;WebCore::FormState&gt;, std::__1::function&lt;void (WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)&gt;)::$_1&amp;&amp;&amp;, WebCore::PolicyAction&amp;&amp;)
26  0x114a1946c std::__1::__function::__func&lt;WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&amp;, WebCore::DocumentLoader*, WTF::PassRefPtr&lt;WebCore::FormState&gt;, std::__1::function&lt;void (WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)&gt;)::$_1, std::__1::allocator&lt;WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&amp;, WebCore::DocumentLoader*, WTF::PassRefPtr&lt;WebCore::FormState&gt;, std::__1::function&lt;void (WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)&gt;)::$_1&gt;, void (WebCore::PolicyAction)&gt;::operator()(WebCore::PolicyAction&amp;&amp;)
27  0x10d13da2c std::__1::function&lt;void (WebCore::PolicyAction)&gt;::operator()(WebCore::PolicyAction) const
28  0x10d144201 WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&amp;, WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, std::__1::function&lt;void (WebCore::PolicyAction)&gt;)
29  0x114a15bcd WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&amp;, WebCore::DocumentLoader*, WTF::PassRefPtr&lt;WebCore::FormState&gt;, std::__1::function&lt;void (WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)&gt;)
30  0x113a22377 WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr&lt;WebCore::FormState&gt;, WebCore::AllowNavigationToInvalidURL)
31  0x113a1e7f5 WebCore::FrameLoader::loadDifferentDocumentItem(WebCore::HistoryItem&amp;, WebCore::FrameLoadType, WebCore::FrameLoader::FormSubmissionCacheLoadPolicy)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179135</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-03-30 12:30:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/25446561&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179143</commentid>
    <comment_count>2</comment_count>
      <attachid>275211</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-03-30 12:38:03 -0700</bug_when>
    <thetext>Created attachment 275211
Patch and Layout Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179157</commentid>
    <comment_count>3</comment_count>
      <attachid>275211</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-30 12:55:28 -0700</bug_when>
    <thetext>Comment on attachment 275211
Patch and Layout Test

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

r=me, one less PageCache bug, Yay :)

&gt; Source/WebCore/history/PageCache.cpp:396
&gt; +    // Focus the main frame, defocusing a focused subframe.

May be a good idea to add a comment stating that this may fire JS &apos;focus&apos; / &apos;blur&apos; events. It may also be nice to explain why we need to remove focus from any subframe (i.e. The frame tree will be deconstructed upon entering PageCache and all Frame objects will be destroyed except for the MainFrame which will be re-used for the navigation).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179180</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-03-30 13:55:46 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Source/WebCore/history/PageCache.cpp:396
&gt; &gt; +    // Focus the main frame, defocusing a focused subframe.
&gt; 
&gt; May be a good idea to add a comment stating that this may fire JS &apos;focus&apos; /
&gt; &apos;blur&apos; events. It may also be nice to explain why we need to remove focus
&gt; from any subframe (i.e. The frame tree will be deconstructed upon entering
&gt; PageCache and all Frame objects will be destroyed except for the MainFrame
&gt; which will be re-used for the navigation).

Maybe something like:

Focus the main frame, defocusing a focused subframe (if we have one). We do this here, before the page enters the page cache, while we still can dispatch DOM blur/focus events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179337</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-30 22:57:36 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; &gt; Source/WebCore/history/PageCache.cpp:396
&gt; &gt; &gt; +    // Focus the main frame, defocusing a focused subframe.
&gt; &gt; 
&gt; &gt; May be a good idea to add a comment stating that this may fire JS &apos;focus&apos; /
&gt; &gt; &apos;blur&apos; events. It may also be nice to explain why we need to remove focus
&gt; &gt; from any subframe (i.e. The frame tree will be deconstructed upon entering
&gt; &gt; PageCache and all Frame objects will be destroyed except for the MainFrame
&gt; &gt; which will be re-used for the navigation).
&gt; 
&gt; Maybe something like:
&gt; 
&gt; Focus the main frame, defocusing a focused subframe (if we have one). We do
&gt; this here, before the page enters the page cache, while we still can
&gt; dispatch DOM blur/focus events.

Ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179338</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-30 23:01:21 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 275211 [details]
&gt; Patch and Layout Test
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=275211&amp;action=review
&gt; 
&gt; r=me, one less PageCache bug, Yay :)
&gt; 
&gt; &gt; Source/WebCore/history/PageCache.cpp:396
&gt; &gt; +    // Focus the main frame, defocusing a focused subframe.
&gt; 
&gt; May be a good idea to add a comment stating that this may fire JS &apos;focus&apos; /
&gt; &apos;blur&apos; events. It may also be nice to explain why we need to remove focus
&gt; from any subframe (i.e. The frame tree will be deconstructed upon entering
&gt; PageCache and all Frame objects will be destroyed except for the MainFrame
&gt; which will be re-used for the navigation).

Btw, my comment about the frame objects getting destroyed was likely inaccurate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179633</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-03-31 15:43:45 -0700</bug_when>
    <thetext>Committed r198924: &lt;http://trac.webkit.org/changeset/198924&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>275210</attachid>
            <date>2016-03-30 12:29:49 -0700</date>
            <delta_ts>2016-03-30 12:29:49 -0700</delta_ts>
            <desc>back-from-page-with-focused-frame.html</desc>
            <filename>back-from-page-with-focused-iframe.html</filename>
            <type>text/html</type>
            <size>1517</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPHNjcmlwdD4KZnVuY3Rpb24gcnVuVGVzdCgp
CnsKICAgIHZhciB0ZXN0ID0gWwogICAgICAgICc8IURPQ1RZUEUgaHRtbD4nLAogICAgICAgICc8
aHRtbD4nLAogICAgICAgICc8aWZyYW1lIHNyY2RvYz0iPHNjcmlwdD4nLAogICAgICAgICcgICAg
ICAgICAgICAgICAgd2luZG93Lm9uZm9jdXMgPSBmdW5jdGlvbigpIHsnLAogICAgICAgICcgICAg
ICAgICAgICAgICAgICAgIHdpbmRvdy5vbmJsdXIgPSBmdW5jdGlvbiAoKSB7IGFsZXJ0KC9pZnJh
bWUgYmx1cnJlZC8pOyB9OycsCiAgICAgICAgJyAgICAgICAgICAgICAgICAgICAgd2luZG93LnRv
cC5vbmZvY3VzID0gZnVuY3Rpb24gKCkgeyBhbGVydCgvbWFpbiBmcmFtZSBmb2N1c2VkLyk7IH07
JywKICAgICAgICAnICAgICAgICAgICAgICAgICAgICB3aW5kb3cudG9wLmhpc3RvcnkuYmFjaygp
OycsCiAgICAgICAgJyAgICAgICAgICAgICAgICB9OycsCiAgICAgICAgJyAgICAgICAgICAgICAg
ICB3aW5kb3cuZm9jdXMoKTsnLAogICAgICAgICcgICAgICAgICAgICAgICAgPCcgKyAnL3Njcmlw
dD4iPicsCiAgICAgICAgJzwvaWZyYW1lPicsCiAgICAgICAgJzwvaHRtbD4nLAogICAgXS5qb2lu
KCIiKTsKICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gImRhdGE6dGV4dC9odG1sLCIgKyB0ZXN0
Owp9Cgp3aW5kb3cub25wYWdlc2hvdyA9IGZ1bmN0aW9uIChwYWdlVHJhbnNpdGlvbkV2ZW50KQp7
CiAgICBpZiAocGFnZVRyYW5zaXRpb25FdmVudC5wZXJzaXN0ZWQpIHsKICAgICAgICAvLyBOYXZp
Z2F0ZWQgYmFjayB0byB0aGlzIHBhZ2UKICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgfSBlbHNlIHsKICAgICAgICAv
LyBOZXdseSBsb2FkZWQKICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAg
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAg
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBCYWNrRm9yd2FyZExpc3QoKTsKICAgICAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgfQogICAgICAgIHdpbmRvdy5zZXRUaW1l
b3V0KHJ1blRlc3QsIDApOyAvLyBOYXZpZ2F0ZSBvbiBhIHplcm8gdGltZXIgdG8gY3JlYXRlIGEg
aGlzdG9yeSBlbnRyeS4KICAgIH0KfQo8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHA+VGhpcyB0
ZXN0IFBBU1NFRCBpZiB0aGVyZSBpcyBubyBhc3NlcnRpb24gZmFpbHVyZSBhbmQgeW91IHNlZSB0
d28gSmF2YVNjcmlwdCBhbGVydHMgd2l0aCBtZXNzYWdlcyAmcXVvdDtpZnJhbWUgYmx1cnJlZCZx
dW90OyBhbmQgJnF1b3Q7bWFpbiBmcmFtZSBmb2N1c2VkJnF1b3Q7IGluIG9yZGVyLiBPdGhlcndp
c2UsIGl0IEZBSUxFRC48L3A+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275211</attachid>
            <date>2016-03-30 12:38:03 -0700</date>
            <delta_ts>2016-03-30 12:55:28 -0700</delta_ts>
            <desc>Patch and Layout Test</desc>
            <filename>bug-156033-20160330123807.patch</filename>
            <type>text/plain</type>
            <size>8381</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4NjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhlMjNjNzRmMGZiN2Q4
YzE0Y2UzMDc4NTNlNzhmMTFmNjEwYTdhMy4uMTc0Y2E5YTQ2NmE3NTA1ZTM4MWE4NjUwMTI4MWQ3
YmQ4NDUxODMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE2LTAzLTMwICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTk1
NjA1KTogQVNTRVJUSU9OIEZBSUxFRDogIU5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6aXNFdmVu
dERpc3BhdGNoRm9yYmlkZGVuKCkKKyAgICAgICAgd2hlbiBwcmVzc2luZyB0aGUgYmFjayBidXR0
b24gb24gYSBwYWdlIHdpdGggYSBmb2N1c2VkIHN1YmZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYwMzMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzI1NDQ2NTYxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZpeGVzIGFuIGFzc2VydGlvbiBmYWlsdXJlIHdoZW4gbmF2aWdhdGluZyBiYWNrLCBi
eSBwcmVzc2luZyB0aGUgYnJvd3NlciBiYWNrIGJ1dHRvbiwgdG8KKyAgICAgICAgdGhlIHByZXZp
b3VzIHBhZ2UgZnJvbSBhIHBhZ2Ugd2l0aCBhIGZvY3VzZWQgc3ViZnJhbWUuCisKKyAgICAgICAg
Rm9sbG93aW5nIHIxOTU2MDUgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTM0NDkpLCB0aGUgcmVzcG9uc2liaWxpdHkgZm9yCisgICAgICAgIGRpc3BhdGNoaW5nIGEg
RE9NIHBhZ2VoaWRlIGV2ZW50IG1vdmVkIGZyb20gQ2FjaGVkRnJhbWUgdG8gUGFnZUNhY2hlIGFu
ZCB3ZSBub3cgaW5zdGFudGlhdGUKKyAgICAgICAgYSBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24g
b2JqZWN0IHRvIGVuZm9yY2UgdGhlIGludmFyaWFudCB0aGF0IG5vIGFkZGl0aW9uYWwgRE9NIGV2
ZW50cyBhcmUKKyAgICAgICAgZGlzcGF0Y2hlZCBhcyBwYXJ0IG9mIGFkZGluZyBhIHBhZ2UgdG8g
dGhlIHBhZ2UgY2FjaGUuIFdoZW4gYWRkaW5nIGEgcGFnZSB3aXRoIGEgZm9jdXNlZAorICAgICAg
ICBzdWJmcmFtZSB0byB0aGUgcGFnZSBjYWNoZSB3ZSBmb2N1cyBpdHMgbWFpbiBmcmFtZSwgd2hp
Y2ggaW1wbGljaXRseSBkZWZvY3VzZXMgdGhlIHN1YmZyYW1lCisgICAgICAgIGFuZCBkaXNwYXRj
aGVzIGEgRE9NIGJsdXIgZXZlbnQgYXQgaXQuIFRoZXJlZm9yZSBhbiBhc3NlcnRpb24gZmFpbHVy
ZSBvY2N1cnMgd2hlbiBkaXNwYXRjaGluZworICAgICAgICB0aGlzIERPTSBibHVyIGV2ZW50IChi
ZWNhdXNlIGEgTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uIG9iamVjdCB3YXMgYWxsb2NhdGVkIG9u
IHRoZSBzdGFjaykuCisKKyAgICAgICAgVGVzdDogZmFzdC9oaXN0b3J5L2JhY2stZnJvbS1wYWdl
LXdpdGgtZm9jdXNlZC1pZnJhbWUuaHRtbAorCisgICAgICAgICogaGlzdG9yeS9DYWNoZWRGcmFt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGcmFtZTo6Q2FjaGVkRnJhbWUpOiBNb3Zl
IGxvZ2ljIHRvIGZvY3VzIHRoZSBtYWluIGZyYW1lIGZyb20gaGVyZS4uLgorICAgICAgICAqIGhp
c3RvcnkvUGFnZUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6YWRkSWZD
YWNoZWFibGUpOiB0byBoZXJlIHN1Y2ggdGhhdCBhbnkgRE9NIGJsdXIgYW5kIGZvY3VzIGV2ZW50
cworICAgICAgICBhcmUgZGlzcGF0Y2hlZCBiZWZvcmUgaW5zdGFudGlhdGUgdGhlIE5vRXZlbnRE
aXNwYXRjaEFzc2VydGlvbiBvYmplY3QgYW5kIGVudGVyIHRoZSBwYWdlCisgICAgICAgIGNhY2hl
LgorCiAyMDE2LTAzLTI0ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAg
ICAgICBDU1A6IE1vdmUgbG9naWMgZm9yIHJlcG9ydGluZyBhIHZpb2xhdGlvbiBmcm9tIENvbnRl
bnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QgdG8gQ29udGVudFNlY3VyaXR5UG9saWN5CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZEZyYW1lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwCmluZGV4IDJjZTUyYWY0ZDVmMWI5ZGI2
OTQ4YWRhZDQ0MmQ3NGE3ODhlODgzODQuLjI5ZGJlOWE1OTE4YzZiYmI2YmE0ZDQzNTVlY2U3NmZj
ZmZlOTViM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwCkBAIC0zMyw3
ICszMyw2IEBACiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgIkZvY3VzQ29udHJv
bGxlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJD
bGllbnQuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKQEAgLTE0Nyw5ICsxNDYsNiBAQCBDYWNo
ZWRGcmFtZTo6Q2FjaGVkRnJhbWUoRnJhbWUmIGZyYW1lKQogICAgIEFTU0VSVChtX2RvY3VtZW50
TG9hZGVyKTsKICAgICBBU1NFUlQobV92aWV3KTsKIAotICAgIGlmIChmcmFtZS5wYWdlKCktPmZv
Y3VzQ29udHJvbGxlcigpLmZvY3VzZWRGcmFtZSgpID09ICZmcmFtZSkKLSAgICAgICAgZnJhbWUu
cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRGb2N1c2VkRnJhbWUoJmZyYW1lLm1haW5GcmFt
ZSgpKTsKLQogICAgIC8vIEN1c3RvbSBzY3JvbGxiYXIgcmVuZGVyZXJzIHdpbGwgZ2V0IHJlYXR0
YWNoZWQgd2hlbiB0aGUgZG9jdW1lbnQgY29tZXMgb3V0IG9mIHRoZSBwYWdlIGNhY2hlCiAgICAg
bV92aWV3LT5kZXRhY2hDdXN0b21TY3JvbGxiYXJzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFn
ZUNhY2hlLmNwcAppbmRleCBiOWQ4YjhhZjk4NjllMjZiYTZlZGRjYWZiZWE1YWFiZTA3MzcwMGQ1
Li40MmYwNTA4ZDg1Mjg5MGNhY2VkZGI4YzU1YWRlODUzOWVlODZiMjAyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1
bWVudExvYWRlci5oIgorI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZy
YW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKQEAgLTM5Miw2ICszOTMsMTAgQEAgdm9pZCBQYWdlQ2FjaGU6OmFkZElmQ2Fj
aGVhYmxlKEhpc3RvcnlJdGVtJiBpdGVtLCBQYWdlKiBwYWdlKQogICAgIC8vIE1ha2Ugc3VyZSBh
bGwgdGhlIGRvY3VtZW50cyBrbm93IHRoZXkgYXJlIGJlaW5nIGFkZGVkIHRvIHRoZSBQYWdlQ2Fj
aGUuCiAgICAgc2V0SW5QYWdlQ2FjaGUoKnBhZ2UsIHRydWUpOwogCisgICAgLy8gRm9jdXMgdGhl
IG1haW4gZnJhbWUsIGRlZm9jdXNpbmcgYSBmb2N1c2VkIHN1YmZyYW1lLgorICAgIGlmIChwYWdl
LT5mb2N1c0NvbnRyb2xsZXIoKS5mb2N1c2VkRnJhbWUoKSkKKyAgICAgICAgcGFnZS0+Zm9jdXND
b250cm9sbGVyKCkuc2V0Rm9jdXNlZEZyYW1lKCZwYWdlLT5tYWluRnJhbWUoKSk7CisKICAgICAv
LyBGaXJlIHRoZSBwYWdlaGlkZSBldmVudCBpbiBhbGwgZnJhbWVzLgogICAgIGZpcmVQYWdlSGlk
ZUV2ZW50UmVjdXJzaXZlbHkocGFnZS0+bWFpbkZyYW1lKCkpOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmQ4Y2RlOGQ3
MGZlYTFlMGMzYjYyMDUwYmI1NmE5MWQxNjA4NDk1Ny4uOGM0M2I4OGY2ODNlNDk4ZjhjNTZlNGRk
YzY2YmFjZmRhNDdkNzNlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTAzLTMwICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTk1
NjA1KTogQVNTRVJUSU9OIEZBSUxFRDogIU5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6aXNFdmVu
dERpc3BhdGNoRm9yYmlkZGVuKCkKKyAgICAgICAgd2hlbiBwcmVzc2luZyB0aGUgYmFjayBidXR0
b24gb24gYSBwYWdlIHdpdGggYSBmb2N1c2VkIHN1YmZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYwMzMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzI1NDQ2NTYxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIHRlc3QgdG8gZW5zdXJlIHRoYXQgd2hlbiBuYXZpZ2F0aW5nIGJhY2sgZnJv
bSBhIHBhZ2Ugd2l0aCBhIGZvY3VzZWQgPGlmcmFtZT4gZiwgYSBET00KKyAgICAgICAgYmx1ciBl
dmVudCBpcyBkaXNwYXRjaGVkIHRvIGYsIGEgRE9NIGZvY3VzIGV2ZW50IGlzIGRpc3BhdGNoZWQg
YXQgdGhlIG1haW4gZnJhbWUgYW5kIHRoYXQKKyAgICAgICAgYW4gYXNzZXJ0aW9uIGZhaWx1cmUg
ZG9lcyBub3Qgb2NjdXIgKG9ubHkgYXBwbGljYWJsZSBpbiBhIGRlYnVnIGJ1aWxkKS4KKworICAg
ICAgICAqIGZhc3QvaGlzdG9yeS9iYWNrLWZyb20tcGFnZS13aXRoLWZvY3VzZWQtaWZyYW1lLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9oaXN0b3J5L2JhY2stZnJvbS1wYWdl
LXdpdGgtZm9jdXNlZC1pZnJhbWUuaHRtbDogQWRkZWQuCisKIDIwMTYtMDMtMjQgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENTUDogTW92ZSBsb2dpYyBmb3Ig
cmVwb3J0aW5nIGEgdmlvbGF0aW9uIGZyb20gQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
TGlzdCB0byBDb250ZW50U2VjdXJpdHlQb2xpY3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaGlzdG9yeS9iYWNrLWZyb20tcGFnZS13aXRoLWZvY3VzZWQtaWZyYW1lLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9iYWNrLWZyb20tcGFnZS13aXRoLWZvY3VzZWQt
aWZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOGZiMjVkZTYwMmE0YjcxNTY5MzBjZjA4
NDQxMWQ5YTU3ZDMwOGNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L2JhY2stZnJvbS1wYWdlLXdpdGgtZm9jdXNlZC1pZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsOSBAQAorQUxFUlQ6IC9pZnJhbWUgYmx1cnJlZC8KK0FMRVJUOiAvbWFpbiBmcmFtZSBm
b2N1c2VkLworVGhpcyB0ZXN0IFBBU1NFRCBpZiB0aGVyZSBpcyBubyBhc3NlcnRpb24gZmFpbHVy
ZSBhbmQgeW91IHNlZSB0d28gSmF2YVNjcmlwdCBhbGVydHMgd2l0aCBtZXNzYWdlcyAiaWZyYW1l
IGJsdXJyZWQiIGFuZCAibWFpbiBmcmFtZSBmb2N1c2VkIiBpbiBvcmRlci4gT3RoZXJ3aXNlLCBp
dCBGQUlMRUQuCisKKz09PT09PT09PT09PT09IEJhY2sgRm9yd2FyZCBMaXN0ID09PT09PT09PT09
PT09CitjdXJyLT4gIChmaWxlIHRlc3QpOmZhc3QvaGlzdG9yeS9iYWNrLWZyb20tcGFnZS13aXRo
LWZvY3VzZWQtaWZyYW1lLmh0bWwgICoqbmF2IHRhcmdldCoqCisgICAgICAgIGRhdGE6dGV4dC9o
dG1sLDwhRE9DVFlQRSBodG1sPjxodG1sPjxpZnJhbWUgc3JjZG9jPSI8c2NyaXB0PiAgICAgICAg
ICAgICAgICB3aW5kb3cub25mb2N1cyA9IGZ1bmN0aW9uKCkgeyAgICAgICAgICAgICAgICAgICAg
d2luZG93Lm9uYmx1ciA9IGZ1bmN0aW9uICgpIHsgYWxlcnQoL2lmcmFtZSBibHVycmVkLyk7IH07
ICAgICAgICAgICAgICAgICAgICB3aW5kb3cudG9wLm9uZm9jdXMgPSBmdW5jdGlvbiAoKSB7IGFs
ZXJ0KC9tYWluIGZyYW1lIGZvY3VzZWQvKTsgfTsgICAgICAgICAgICAgICAgICAgIHdpbmRvdy50
b3AuaGlzdG9yeS5iYWNrKCk7ICAgICAgICAgICAgICAgIH07ICAgICAgICAgICAgICAgIHdpbmRv
dy5mb2N1cygpOyAgICAgICAgICAgICAgICA8L3NjcmlwdD4iPjwvaWZyYW1lPjwvaHRtbD4gICoq
bmF2IHRhcmdldCoqCisgICAgICAgICAgICBhYm91dDpzcmNkb2MgKGluIGZyYW1lICI8IS0tZnJh
bWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPiIpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L2JhY2stZnJvbS1wYWdlLXdpdGgtZm9jdXNlZC1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvaGlzdG9yeS9iYWNrLWZyb20tcGFnZS13aXRoLWZvY3VzZWQtaWZyYW1lLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGQ0ZmNhOTc0OWRlMWU5MGY3YTI1ZTEyYjkxZTNlY2JhNjhmMWYwMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9iYWNrLWZyb20tcGFnZS13aXRoLWZv
Y3VzZWQtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciB0ZXN0
ID0gWworICAgICAgICAnPCFET0NUWVBFIGh0bWw+JywKKyAgICAgICAgJzxodG1sPicsCisgICAg
ICAgICc8aWZyYW1lIHNyY2RvYz0iPHNjcmlwdD4nLAorICAgICAgICAnICAgICAgICAgICAgICAg
IHdpbmRvdy5vbmZvY3VzID0gZnVuY3Rpb24oKSB7JywKKyAgICAgICAgJyAgICAgICAgICAgICAg
ICAgICAgd2luZG93Lm9uYmx1ciA9IGZ1bmN0aW9uICgpIHsgYWxlcnQoL2lmcmFtZSBibHVycmVk
Lyk7IH07JywKKyAgICAgICAgJyAgICAgICAgICAgICAgICAgICAgd2luZG93LnRvcC5vbmZvY3Vz
ID0gZnVuY3Rpb24gKCkgeyBhbGVydCgvbWFpbiBmcmFtZSBmb2N1c2VkLyk7IH07JywKKyAgICAg
ICAgJyAgICAgICAgICAgICAgICAgICAgd2luZG93LnRvcC5oaXN0b3J5LmJhY2soKTsnLAorICAg
ICAgICAnICAgICAgICAgICAgICAgIH07JywKKyAgICAgICAgJyAgICAgICAgICAgICAgICB3aW5k
b3cuZm9jdXMoKTsnLAorICAgICAgICAnICAgICAgICAgICAgICAgIDwnICsgJy9zY3JpcHQ+Ij4n
LAorICAgICAgICAnPC9pZnJhbWU+JywKKyAgICAgICAgJzwvaHRtbD4nLAorICAgIF0uam9pbigi
Iik7CisgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAiZGF0YTp0ZXh0L2h0bWwsIiArIHRlc3Q7
Cit9CisKK3dpbmRvdy5vbnBhZ2VzaG93ID0gZnVuY3Rpb24gKHBhZ2VUcmFuc2l0aW9uRXZlbnQp
Cit7CisgICAgaWYgKHBhZ2VUcmFuc2l0aW9uRXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIC8v
IE5hdmlnYXRlZCBiYWNrIHRvIHRoaXMgcGFnZQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICAvLyBOZXdseSBsb2FkZWQKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQmFja0ZvcndhcmRMaXN0KCk7Cisg
ICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorICAgICAg
ICB3aW5kb3cuc2V0VGltZW91dChydW5UZXN0LCAwKTsgLy8gTmF2aWdhdGUgb24gYSB6ZXJvIHRp
bWVyIHRvIGNyZWF0ZSBhIGhpc3RvcnkgZW50cnkuCisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBQQVNTRUQgaWYgdGhlcmUgaXMgbm8gYXNzZXJ0aW9u
IGZhaWx1cmUgYW5kIHlvdSBzZWUgdHdvIEphdmFTY3JpcHQgYWxlcnRzIHdpdGggbWVzc2FnZXMg
JnF1b3Q7aWZyYW1lIGJsdXJyZWQmcXVvdDsgYW5kICZxdW90O21haW4gZnJhbWUgZm9jdXNlZCZx
dW90OyBpbiBvcmRlci4gT3RoZXJ3aXNlLCBpdCBGQUlMRUQuPC9wPgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>
<flag name="review"
          id="299582"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>