<?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>203105</bug_id>
          
          <creation_ts>2019-10-17 09:58:24 -0700</creation_ts>
          <short_desc>VRDisplay should not prevent entering the back/forward cache</short_desc>
          <delta_ts>2019-11-07 06:44:39 -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>WebCore Misc.</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>
          
          <blocked>202293</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Sergio Villar Senin">svillar</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1581018</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 09:58:24 -0700</bug_when>
    <thetext>VRDisplay should not prevent entering the back/forward cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583484</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-24 13:20:21 -0700</bug_when>
    <thetext>Would someone be able to work on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584855</commentid>
    <comment_count>2</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2019-10-29 01:30:06 -0700</bug_when>
    <thetext>Chris could you add a little bit more context?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584915</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-29 08:21:28 -0700</bug_when>
    <thetext>(In reply to Sergio Villar Senin from comment #2)
&gt; Chris could you add a little bit more context?

We are working on making the back/forward cache (formerly known as the page cache) 100% successful at caching pages. As a result of this, we no longer allow ActiveDOMObjects to prevent caching. ALL ActiveDOMObject (including VRDisplay) need to suspend correctly.

Currently, any page which uses a VRDisplay will not be able to enter the back/forward cache because of this code:
// FIXME: This should never prevent entering the back/forward cache.
bool VRDisplay::shouldPreventEnteringBackForwardCache_DEPRECATED() const
{
    return true;
}

This method needs to be removed to allow the page to enter the back/forward cache. Then you&apos;ll likely need to override ActiveDOMObject&apos;s suspend() and resume() to implement correct suspension. Looking at VRDisplay, it is likely the following needs to be done:
1. Instead of dispatching events synchronously, append tasks to the WindowEventLoop to dispatch them. The WindowEventLoop correctly suspends while in the cache.
2. Call suspend() / resume() on m_scriptedAnimationController to suspend animations while in the cache
3. Maybe call stopPresenting() on suspension? I don&apos;t know much about VRDisplay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1585303</commentid>
    <comment_count>4</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2019-10-30 01:43:21 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; (In reply to Sergio Villar Senin from comment #2)
&gt; &gt; Chris could you add a little bit more context?
&gt; 
&gt; We are working on making the back/forward cache (formerly known as the page
&gt; cache) 100% successful at caching pages. As a result of this, we no longer
&gt; allow ActiveDOMObjects to prevent caching. ALL ActiveDOMObject (including
&gt; VRDisplay) need to suspend correctly.
&gt; 
&gt; Currently, any page which uses a VRDisplay will not be able to enter the
&gt; back/forward cache because of this code:
&gt; // FIXME: This should never prevent entering the back/forward cache.
&gt; bool VRDisplay::shouldPreventEnteringBackForwardCache_DEPRECATED() const
&gt; {
&gt;     return true;
&gt; }

Ah I was not aware of such a thing, it was not there when I added the code.
 
&gt; This method needs to be removed to allow the page to enter the back/forward
&gt; cache. Then you&apos;ll likely need to override ActiveDOMObject&apos;s suspend() and
&gt; resume() to implement correct suspension. Looking at VRDisplay, it is likely
&gt; the following needs to be done:
&gt; 1. Instead of dispatching events synchronously, append tasks to the
&gt; WindowEventLoop to dispatch them. The WindowEventLoop correctly suspends
&gt; while in the cache.
&gt; 2. Call suspend() / resume() on m_scriptedAnimationController to suspend
&gt; animations while in the cache
&gt; 3. Maybe call stopPresenting() on suspension? I don&apos;t know much about
&gt; VRDisplay.

I understand the issue now, I&apos;ll come up with something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1585351</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-30 08:04:20 -0700</bug_when>
    <thetext>(In reply to Sergio Villar Senin from comment #4)
&gt; (In reply to Chris Dumez from comment #3)
&gt; &gt; (In reply to Sergio Villar Senin from comment #2)
&gt; &gt; &gt; Chris could you add a little bit more context?
&gt; &gt; 
&gt; &gt; We are working on making the back/forward cache (formerly known as the page
&gt; &gt; cache) 100% successful at caching pages. As a result of this, we no longer
&gt; &gt; allow ActiveDOMObjects to prevent caching. ALL ActiveDOMObject (including
&gt; &gt; VRDisplay) need to suspend correctly.
&gt; &gt; 
&gt; &gt; Currently, any page which uses a VRDisplay will not be able to enter the
&gt; &gt; back/forward cache because of this code:
&gt; &gt; // FIXME: This should never prevent entering the back/forward cache.
&gt; &gt; bool VRDisplay::shouldPreventEnteringBackForwardCache_DEPRECATED() const
&gt; &gt; {
&gt; &gt;     return true;
&gt; &gt; }
&gt; 
&gt; Ah I was not aware of such a thing, it was not there when I added the code.

It was there, it was just named differently. It used to be:
bool VRDisplay::canSuspendForPageCache() const
{
    return false;
}

I am pretty sure you added that code and the name is pretty clear about the implications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1585358</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-30 08:19:40 -0700</bug_when>
    <thetext> 
&gt; &gt; This method needs to be removed to allow the page to enter the back/forward
&gt; &gt; cache. Then you&apos;ll likely need to override ActiveDOMObject&apos;s suspend() and
&gt; &gt; resume() to implement correct suspension. Looking at VRDisplay, it is likely
&gt; &gt; the following needs to be done:
&gt; &gt; 1. Instead of dispatching events synchronously, append tasks to the
&gt; &gt; WindowEventLoop to dispatch them. The WindowEventLoop correctly suspends
&gt; &gt; while in the cache.
&gt; &gt; 2. Call suspend() / resume() on m_scriptedAnimationController to suspend
&gt; &gt; animations while in the cache
&gt; &gt; 3. Maybe call stopPresenting() on suspension? I don&apos;t know much about
&gt; &gt; VRDisplay.
&gt; 
&gt; I understand the issue now, I&apos;ll come up with something.

Thanks for you help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587045</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-11-04 10:24:47 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; 1. Instead of dispatching events synchronously, append tasks to the
&gt; WindowEventLoop to dispatch them. The WindowEventLoop correctly suspends
&gt; while in the cache.

Right now the events are only dispatched against the DOMWindow object. Should the dispatch be asynchronous regardless of the target?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587060</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-11-04 11:00:36 -0800</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #7)
&gt; (In reply to Chris Dumez from comment #3)
&gt; &gt; 1. Instead of dispatching events synchronously, append tasks to the
&gt; &gt; WindowEventLoop to dispatch them. The WindowEventLoop correctly suspends
&gt; &gt; while in the cache.
&gt; 
&gt; Right now the events are only dispatched against the DOMWindow object.
&gt; Should the dispatch be asynchronous regardless of the target?

Yes, I believe so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587388</commentid>
    <comment_count>9</comment_count>
      <attachid>382822</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-11-05 07:15:31 -0800</bug_when>
    <thetext>Created attachment 382822
WIP

Test pending.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587397</commentid>
    <comment_count>10</comment_count>
      <attachid>382824</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2019-11-05 08:10:41 -0800</bug_when>
    <thetext>Created attachment 382824
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587400</commentid>
    <comment_count>11</comment_count>
      <attachid>382824</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-11-05 08:14:45 -0800</bug_when>
    <thetext>Comment on attachment 382824
Patch

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

&gt; Source/WebCore/Modules/webvr/VRDisplay.cpp:216
&gt; +void VRDisplay::dispatchVRDisplayEventInWindowEventLoop(const WTF::AtomString&amp; eventName, Optional&lt;VRDisplayEventReason&gt;&amp;&amp; reason)

Ryosuke already added ActiveDOMObject::queueTaskToDispatchEvent() for this purpose.

&gt; Source/WebCore/Modules/webvr/VRDisplay.cpp:258
&gt; +    stopPresenting();

Note that you may want to do this only if the reason for suspension is BackForwardCache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587406</commentid>
    <comment_count>12</comment_count>
      <attachid>382827</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2019-11-05 08:52:03 -0800</bug_when>
    <thetext>Created attachment 382827
Dispatch events in DOMWindow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587416</commentid>
    <comment_count>13</comment_count>
      <attachid>382827</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-11-05 09:10:51 -0800</bug_when>
    <thetext>Comment on attachment 382827
Dispatch events in DOMWindow

Please see previous review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587423</commentid>
    <comment_count>14</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-11-05 09:17:51 -0800</bug_when>
    <thetext>We can use ActiveDOMObject::queueTaskKeepingObjectAlive(). The event-dispatch version doesn&apos;t properly handle the target for this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587426</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-11-05 09:25:28 -0800</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #14)
&gt; We can use ActiveDOMObject::queueTaskKeepingObjectAlive(). The
&gt; event-dispatch version doesn&apos;t properly handle the target for this case.

I did not understand this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587429</commentid>
    <comment_count>16</comment_count>
      <attachid>382827</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-11-05 09:28:04 -0800</bug_when>
    <thetext>Comment on attachment 382827
Dispatch events in DOMWindow

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

Inlining the comment into the patch ...

&gt; Source/WebCore/Modules/webvr/VRDisplay.cpp:224
&gt; +    auto event = VRDisplayEvent::create(eventName, makeRefPtr(this), WTFMove(reason));
&gt; +    document()-&gt;eventLoop().queueTask(TaskSource::UserInteraction, *document(), [this, event = WTFMove(event)]() mutable {
&gt; +        if (!document())
&gt; +            return;
&gt; +        if (auto* window = document()-&gt;domWindow())
&gt; +            window-&gt;dispatchEvent(event);
&gt; +    });

This should use the queueTaskKeepingObjectAlive() function. queueTaskToDispatchEvent() would be an option if the VRDisplay object was the target of these events, but it&apos;s not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587732</commentid>
    <comment_count>17</comment_count>
      <attachid>382909</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2019-11-06 03:57:41 -0800</bug_when>
    <thetext>Created attachment 382909
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587749</commentid>
    <comment_count>18</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2019-11-06 05:02:08 -0800</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #16)
&gt; Comment on attachment 382827 [details]
&gt; Dispatch events in DOMWindow
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=382827&amp;action=review
&gt; 
&gt; Inlining the comment into the patch ...
&gt; 
&gt; &gt; Source/WebCore/Modules/webvr/VRDisplay.cpp:224
&gt; &gt; +    auto event = VRDisplayEvent::create(eventName, makeRefPtr(this), WTFMove(reason));
&gt; &gt; +    document()-&gt;eventLoop().queueTask(TaskSource::UserInteraction, *document(), [this, event = WTFMove(event)]() mutable {
&gt; &gt; +        if (!document())
&gt; &gt; +            return;
&gt; &gt; +        if (auto* window = document()-&gt;domWindow())
&gt; &gt; +            window-&gt;dispatchEvent(event);
&gt; &gt; +    });
&gt; 
&gt; This should use the queueTaskKeepingObjectAlive() function.
&gt; queueTaskToDispatchEvent() would be an option if the VRDisplay object was
&gt; the target of these events, but it&apos;s not.

Right. I guess in the end it&apos;s a matter of taste as it does not change essentially anything wrt eventLoop()-&gt;queueTask(), but I replaced it in the new patch version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587781</commentid>
    <comment_count>19</comment_count>
      <attachid>382909</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-11-06 08:06:03 -0800</bug_when>
    <thetext>Comment on attachment 382909
Patch

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

&gt; Source/WebCore/ChangeLog:16
&gt; +        No new tests were added as there is no testing machinery for WebVR so far. It&apos;s unclear how

:(

&gt; Source/WebCore/Modules/webvr/VRDisplay.cpp:216
&gt; +void VRDisplay::dispatchVRDisplayEventInEventLoop(const WTF::AtomString&amp; eventName, Optional&lt;VRDisplayEventReason&gt;&amp;&amp; reason)

We likely don&apos;t need the WTF::

&gt; Source/WebCore/Modules/webvr/VRDisplay.cpp:261
&gt; +    stopPresenting();

As mentioned earlier, you likely want to stop presenting ONLY if ReasonForSuspension is ReasonForSuspension::BackForwardCache.

&gt; Source/WebCore/Modules/webvr/VRDisplay.h:119
&gt; +    void dispatchVRDisplayEventInEventLoop(const WTF::AtomString&amp; eventName, Optional&lt;VRDisplayEventReason&gt;&amp;&amp;);

WTF:: likely unnecessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588131</commentid>
    <comment_count>20</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2019-11-07 00:06:16 -0800</bug_when>
    <thetext>Committed r252178: &lt;https://trac.webkit.org/changeset/252178&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588132</commentid>
    <comment_count>21</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-07 00:07:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/56974306&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588193</commentid>
    <comment_count>22</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-11-07 06:44:39 -0800</bug_when>
    <thetext>Thanks for fixing!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382822</attachid>
            <date>2019-11-05 07:15:31 -0800</date>
            <delta_ts>2019-11-05 08:10:37 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-203105-20191105161530.patch</filename>
            <type>text/plain</type>
            <size>5663</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY4NjgzYjAxZDY3ZWM5
MTA2OGI3ZjVmMTIyYWY5YmQ2YjIxN2IwNi4uN2U4ODdmOTFhMjY2NDBjYWJhZjIwNWNmNTY1MmE2
MzJmOWY1NTkzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTExLTA1ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBWUkRpc3BsYXkgc2hv
dWxkIG5vdCBwcmV2ZW50IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzEwNQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09Q
UyEpLgorCisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VlJEaXNwbGF5OjpwbGF0Zm9ybURpc3BsYXlDb25uZWN0ZWQpOgorICAgICAgICAo
V2ViQ29yZTo6VlJEaXNwbGF5OjpwbGF0Zm9ybURpc3BsYXlEaXNjb25uZWN0ZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6VlJEaXNwbGF5OjpwbGF0Zm9ybURpc3BsYXlNb3VudGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlZSRGlzcGxheTo6cGxhdGZvcm1EaXNwbGF5VW5tb3VudGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlZSRGlzcGxheTo6ZW5xdWV1ZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlZS
RGlzcGxheTo6c3VzcGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpWUkRpc3BsYXk6OnJlc3VtZSk6
CisgICAgICAgIChXZWJDb3JlOjpWUkRpc3BsYXk6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6
VlJEaXNwbGF5OjpoYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6VlJEaXNwbGF5OjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hl
X0RFUFJFQ0FURUQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2VidnIvVlJE
aXNwbGF5Lmg6CisKIDIwMTktMTEtMDUgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIG1wNCB2aWRlbyBlbGVtZW50IGJyb2tlbiB3aXRoIHNlcnZpY2Ugd29ya2Vy
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKaW5kZXggY2Y1ODhl
ZGZlYmM3ODY0MGIwNmE0ZmE5YTg3NDIxMzgyMWViZjJiOS4uOTI4Zjk3NTk5NWRjMzQ5Njk0ZjVi
ZDBmYTZkNmVmNGNhODhhOThjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ2ci9WUkRpc3BsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJE
aXNwbGF5LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIlZSRGlzcGxheS5oIgogCisjaW5jbHVkZSAiQWJzdHJhY3RFdmVudExvb3AuaCIKICNpbmNs
dWRlICJDYW52YXNSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5j
bHVkZSAiRE9NRXhjZXB0aW9uLmgiCkBAIC0yMTEsMjcgKzIxMiw0MCBAQCB2b2lkIFZSRGlzcGxh
eTo6c3VibWl0RnJhbWUoKQogCiB2b2lkIFZSRGlzcGxheTo6cGxhdGZvcm1EaXNwbGF5Q29ubmVj
dGVkKCkKIHsKLSAgICBkb2N1bWVudCgpLT5kb21XaW5kb3coKS0+ZGlzcGF0Y2hFdmVudChWUkRp
c3BsYXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS52cmRpc3BsYXljb25uZWN0RXZlbnQsIG1h
a2VSZWZQdHIodGhpcyksIFdURjo6bnVsbG9wdCkpOworICAgIGVucXVldWVFdmVudChWUkRpc3Bs
YXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS52cmRpc3BsYXljb25uZWN0RXZlbnQsIG1ha2VS
ZWZQdHIodGhpcyksIFdURjo6bnVsbG9wdCkpOwogfQogCiB2b2lkIFZSRGlzcGxheTo6cGxhdGZv
cm1EaXNwbGF5RGlzY29ubmVjdGVkKCkKIHsKLSAgICBkb2N1bWVudCgpLT5kb21XaW5kb3coKS0+
ZGlzcGF0Y2hFdmVudChWUkRpc3BsYXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS52cmRpc3Bs
YXlkaXNjb25uZWN0RXZlbnQsIG1ha2VSZWZQdHIodGhpcyksIFdURjo6bnVsbG9wdCkpOworICAg
IGVucXVldWVFdmVudChWUkRpc3BsYXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS52cmRpc3Bs
YXlkaXNjb25uZWN0RXZlbnQsIG1ha2VSZWZQdHIodGhpcyksIFdURjo6bnVsbG9wdCkpOwogfQog
CiB2b2lkIFZSRGlzcGxheTo6cGxhdGZvcm1EaXNwbGF5TW91bnRlZCgpCiB7Ci0gICAgZG9jdW1l
bnQoKS0+ZG9tV2luZG93KCktPmRpc3BhdGNoRXZlbnQoVlJEaXNwbGF5RXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkudnJkaXNwbGF5YWN0aXZhdGVFdmVudCwgbWFrZVJlZlB0cih0aGlzKSwgVlJE
aXNwbGF5RXZlbnRSZWFzb246Ok1vdW50ZWQpKTsKKyAgICBlbnF1ZXVlRXZlbnQoVlJEaXNwbGF5
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkudnJkaXNwbGF5YWN0aXZhdGVFdmVudCwgbWFrZVJl
ZlB0cih0aGlzKSwgVlJEaXNwbGF5RXZlbnRSZWFzb246Ok1vdW50ZWQpKTsKIH0KIAogdm9pZCBW
UkRpc3BsYXk6OnBsYXRmb3JtRGlzcGxheVVubW91bnRlZCgpCiB7Ci0gICAgZG9jdW1lbnQoKS0+
ZG9tV2luZG93KCktPmRpc3BhdGNoRXZlbnQoVlJEaXNwbGF5RXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkudnJkaXNwbGF5ZGVhY3RpdmF0ZUV2ZW50LCBtYWtlUmVmUHRyKHRoaXMpLCBWUkRpc3Bs
YXlFdmVudFJlYXNvbjo6VW5tb3VudGVkKSk7CisgICAgZW5xdWV1ZUV2ZW50KFZSRGlzcGxheUV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnZyZGlzcGxheWRlYWN0aXZhdGVFdmVudCwgbWFrZVJl
ZlB0cih0aGlzKSwgVlJEaXNwbGF5RXZlbnRSZWFzb246OlVubW91bnRlZCkpOwogfQogCi1ib29s
IFZSRGlzcGxheTo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKK3ZvaWQgVlJEaXNwbGF5Ojpl
bnF1ZXVlRXZlbnQoUmVmPEV2ZW50PiYmIGV2ZW50KQogewotICAgIHJldHVybiBmYWxzZTsKKyAg
ICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGlmICghY29u
dGV4dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgY29udGV4dC0+ZXZlbnRMb29wKCkucXVldWVU
YXNrKFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsICpjb250ZXh0LAorICAgICAgICBbdGhpcywgcHJv
dGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBhY3Rpdml0eSA9IG1ha2VQZW5kaW5nQWN0aXZp
dHkoKnRoaXMpLCBldmVudCA9IFdURk1vdmUoZXZlbnQpXSB7CisgICAgICAgICAgICBhdXRvKiBk
b2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwor
ICAgICAgICAgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICBhdXRvKiB3aW5kb3cgPSBkb2N1bWVudC0+ZG9tV2luZG93KCk7CisgICAgICAgICAg
ICBpZiAoIXdpbmRvdykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB3aW5k
b3ctPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworICAgICAgICB9KTsKIH0KIAogY29uc3QgY2hhciog
VlJEaXNwbGF5OjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKQEAgLTIzOSwxNCArMjUzLDIz
IEBAIGNvbnN0IGNoYXIqIFZSRGlzcGxheTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAg
ICAgcmV0dXJuICJWUkRpc3BsYXkiOwogfQogCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgbmV2ZXIg
cHJldmVudCBlbnRlcmluZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlLgotYm9vbCBWUkRpc3BsYXk6
OnNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0
Cit2b2lkIFZSRGlzcGxheTo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKQogewotICAgIHJl
dHVybiB0cnVlOworICAgIGlmIChtX3NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcikKKyAgICAg
ICAgbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXItPnN1c3BlbmQoKTsKKyAgICBzdG9wUHJl
c2VudGluZygpOworfQorCit2b2lkIFZSRGlzcGxheTo6cmVzdW1lKCkKK3sKKyAgICBpZiAobV9z
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIpCisgICAgICAgIG1fc2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyLT5yZXN1bWUoKTsKIH0KIAogdm9pZCBWUkRpc3BsYXk6OnN0b3AoKQogeworICAg
IG1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyID0gbnVsbHB0cjsKKyAgICBzdG9wUHJlc2Vu
dGluZygpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ2ci9WUkRpc3BsYXkuaAppbmRleCBlMDg4Y2QxZTMyMjE1YzRlNzA5Y2EyODM2MzViNzRj
ZjEzMzkyMzI4Li5iNGFjMDU5Zjk1MDYyNzI1Mjg1MDA3YTkxMGY5ODg5MzUyNTAyYzk2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmgKQEAgLTkyLDEyICs5MiwxMSBA
QCBwdWJsaWM6CiAgICAgdm9pZCBwbGF0Zm9ybURpc3BsYXlNb3VudGVkKCkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBwbGF0Zm9ybURpc3BsYXlVbm1vdW50ZWQoKSBvdmVycmlkZTsKIAotICAgIC8vIEFj
dGl2ZURPTU9iamVjdAotICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Qgb3ZlcnJp
ZGU7Ci0KIHByaXZhdGU6CiAgICAgVlJEaXNwbGF5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBX
ZWFrUHRyPFZSUGxhdGZvcm1EaXNwbGF5PiYmKTsKIAorICAgIHZvaWQgZW5xdWV1ZUV2ZW50KFJl
ZjxFdmVudD4mJik7CisKICAgICAvLyBFdmVudFRhcmdldAogICAgIEV2ZW50VGFyZ2V0SW50ZXJm
YWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gVlJEaXNw
bGF5RXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFjdGl2
ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CkBAIC0xMDYsNyArMTA1LDgg
QEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdAogICAgIGNvbnN0IGNoYXIqIGFj
dGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIHNob3VsZFByZXZl
bnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKSBvdmVycmlkZTsKKyAgICB2b2lk
IHJlc3VtZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwogCiAgICAgdm9p
ZCBzdG9wUHJlc2VudGluZygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382824</attachid>
            <date>2019-11-05 08:10:41 -0800</date>
            <delta_ts>2019-11-05 08:51:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203105-20191105171040.patch</filename>
            <type>text/plain</type>
            <size>6231</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY4NjgzYjAxZDY3ZWM5
MTA2OGI3ZjVmMTIyYWY5YmQ2YjIxN2IwNi4uMDk5ZjhmNTYyM2MyMDAxZjUyZjNlZTczZThlMWQx
ODY2YzYyZWI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTExLTA1ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFZSRGlzcGxh
eSBzaG91bGQgbm90IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTA1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVlJEaXNwbGF5IHNj
aGVkdWxlcyBhc3luY2hyb25vdXMgZXhlY3V0aW9uIG9mIGV2ZW50cyB1c2luZyB0aGUgV2luZG93
RXZlbnRMb29wIGluc3RlYWQgb2YKKyAgICAgICAgc3luY2hyb25vdXNseSBmaXJpbmcgdGhlbS4g
V2luZG93RXZlbnRMb29wIGRvZXMgY29ycmVjdGx5IHN1c3BlbmQgd2hpbGUgaW4gY2FjaGUuCisK
KyAgICAgICAgQXBhcnQgZnJvbSB0aGF0IHN1c3BlbmQoKS9yZXN1bWUoKSB3ZXJlIGltcGxlbWVu
dGVkIGJ5IGZvcmNpbmcgbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIKKyAgICAgICAgdG8g
c3VzcGVuZCB0aGUgVlIgcmVxdWVzdCBhbmltYXRpb24gZnJhbWUgbWFjaGluZXJ5IHdoaWxlIGlu
IGNhY2hlLgorCisgICAgICAgIExhc3QgYnV0IG5vdCBsZWFzdCwgc3RvcFByZXNlbnRpbmcoKSBp
cyBub3cgYWxzbyBjYWxsZWQgb24gc3VzcGVuc2lvbi4KKworICAgICAgICBObyBuZXcgdGVzdHMg
d2VyZSBhZGRlZCBhcyB0aGVyZSBpcyBubyB0ZXN0aW5nIG1hY2hpbmVyeSBmb3IgV2ViVlIgc28g
ZmFyLiBJdCdzIHVuY2xlYXIgaG93CisgICAgICAgIHRoaXMgdW5yZWxlYXNlZCBmZWF0dXJlIHdp
bGwgZXZvbHZlIGFzIGl0J3MgYmVpbmcgcmVwbGFjZWQgYnkgV2ViWFIuCisKKyAgICAgICAgKiBN
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWUkRpc3BsYXk6
OmRpc3BhdGNoVlJEaXNwbGF5RXZlbnRJbldpbmRvd0V2ZW50TG9vcCk6CisgICAgICAgIChXZWJD
b3JlOjpWUkRpc3BsYXk6OnBsYXRmb3JtRGlzcGxheUNvbm5lY3RlZCk6IFVzZSBkaXNwYXRjaFZS
RGlzcGxheUV2ZW50SW5XaW5kb3dFdmVudExvb3AuCisgICAgICAgIChXZWJDb3JlOjpWUkRpc3Bs
YXk6OnBsYXRmb3JtRGlzcGxheURpc2Nvbm5lY3RlZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6VlJEaXNwbGF5OjpwbGF0Zm9ybURpc3BsYXlNb3VudGVkKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpWUkRpc3BsYXk6OnBsYXRmb3JtRGlzcGxheVVubW91bnRlZCk6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6VlJEaXNwbGF5OjpzdXNwZW5kKTogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpWUkRpc3BsYXk6OnJlc3VtZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VlJEaXNw
bGF5OjpzdG9wKTogQ2FsbCBzdG9wUHJlc2VudGluZygpLgorICAgICAgICAoV2ViQ29yZTo6VlJE
aXNwbGF5OjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2VidnIvVlJEaXNwbGF5Lmg6CisK
IDIwMTktMTEtMDUgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IG1wNCB2aWRlbyBlbGVtZW50IGJyb2tlbiB3aXRoIHNlcnZpY2Ugd29ya2VyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKaW5kZXggY2Y1ODhlZGZlYmM3ODY0MGIw
NmE0ZmE5YTg3NDIxMzgyMWViZjJiOS4uNDQ1NjZjM2M4NDg2MDAxYTFhNjhkNzA5ODgyYTFmNmE3
YjEzOTc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3Bs
YXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcApA
QCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlZSUGxhdGZvcm1EaXNwbGF5LmgiCiAjaW5jbHVk
ZSAiVlJQb3NlLmgiCiAjaW5jbHVkZSAiVlJTdGFnZVBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJX
aW5kb3dFdmVudExvb3AuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yMDksMjQgKzIxMCwzNSBAQCB2b2lkIFZSRGlzcGxheTo6
c3VibWl0RnJhbWUoKQogewogfQogCisvLyBVc2UgdGhlIFdpbmRvd0V2ZW50TG9vcCBpbnN0ZWFk
IG9mIGRpc3BhdGNoaW5nIGV2ZW50cyBzeW5jaHJvbm91c2x5IGJlY2F1c2UKKy8vIHRoZSBXaW5k
b3dFdmVudExvb3AgY29ycmVjdGx5IHN1c3BlbmRzIHdoZW4gaW4gdGhlIGNhY2hlLiBUaGlzIHdh
eSBWUkRpc3BsYXkKKy8vIGRvZXMgbm8gbG9uZ2VyIHByZXZlbnQgY2FjaGluZyBpbiB0aGUgYmFj
ay9mb3J3YXJkIGNhY2hlLgordm9pZCBWUkRpc3BsYXk6OmRpc3BhdGNoVlJEaXNwbGF5RXZlbnRJ
bldpbmRvd0V2ZW50TG9vcChjb25zdCBXVEY6OkF0b21TdHJpbmcmIGV2ZW50TmFtZSwgT3B0aW9u
YWw8VlJEaXNwbGF5RXZlbnRSZWFzb24+JiYgcmVhc29uKQoreworICAgIGF1dG8gZXZlbnQgPSBW
UkRpc3BsYXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgbWFrZVJlZlB0cih0aGlzKSwgV1RGTW92
ZShyZWFzb24pKTsKKyAgICBkb2N1bWVudCgpLT5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1Nv
dXJjZTo6VXNlckludGVyYWN0aW9uLCAqZG9jdW1lbnQoKSwgW3RoaXMsIGV2ZW50ID0gV1RGTW92
ZShldmVudCldKCkgbXV0YWJsZSB7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoZXZlbnQpOworICAg
IH0pOworfQorCiB2b2lkIFZSRGlzcGxheTo6cGxhdGZvcm1EaXNwbGF5Q29ubmVjdGVkKCkKIHsK
LSAgICBkb2N1bWVudCgpLT5kb21XaW5kb3coKS0+ZGlzcGF0Y2hFdmVudChWUkRpc3BsYXlFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS52cmRpc3BsYXljb25uZWN0RXZlbnQsIG1ha2VSZWZQdHIo
dGhpcyksIFdURjo6bnVsbG9wdCkpOworICAgIGRpc3BhdGNoVlJEaXNwbGF5RXZlbnRJbldpbmRv
d0V2ZW50TG9vcChldmVudE5hbWVzKCkudnJkaXNwbGF5Y29ubmVjdEV2ZW50LCBXVEY6Om51bGxv
cHQpOwogfQogCiB2b2lkIFZSRGlzcGxheTo6cGxhdGZvcm1EaXNwbGF5RGlzY29ubmVjdGVkKCkK
IHsKLSAgICBkb2N1bWVudCgpLT5kb21XaW5kb3coKS0+ZGlzcGF0Y2hFdmVudChWUkRpc3BsYXlF
dmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS52cmRpc3BsYXlkaXNjb25uZWN0RXZlbnQsIG1ha2VS
ZWZQdHIodGhpcyksIFdURjo6bnVsbG9wdCkpOworICAgIGRpc3BhdGNoVlJEaXNwbGF5RXZlbnRJ
bldpbmRvd0V2ZW50TG9vcChldmVudE5hbWVzKCkudnJkaXNwbGF5ZGlzY29ubmVjdEV2ZW50LCBX
VEY6Om51bGxvcHQpOwogfQogCiB2b2lkIFZSRGlzcGxheTo6cGxhdGZvcm1EaXNwbGF5TW91bnRl
ZCgpCiB7Ci0gICAgZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPmRpc3BhdGNoRXZlbnQoVlJEaXNw
bGF5RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkudnJkaXNwbGF5YWN0aXZhdGVFdmVudCwgbWFr
ZVJlZlB0cih0aGlzKSwgVlJEaXNwbGF5RXZlbnRSZWFzb246Ok1vdW50ZWQpKTsKKyAgICBkaXNw
YXRjaFZSRGlzcGxheUV2ZW50SW5XaW5kb3dFdmVudExvb3AoZXZlbnROYW1lcygpLnZyZGlzcGxh
eWFjdGl2YXRlRXZlbnQsIFZSRGlzcGxheUV2ZW50UmVhc29uOjpNb3VudGVkKTsKIH0KIAogdm9p
ZCBWUkRpc3BsYXk6OnBsYXRmb3JtRGlzcGxheVVubW91bnRlZCgpCiB7Ci0gICAgZG9jdW1lbnQo
KS0+ZG9tV2luZG93KCktPmRpc3BhdGNoRXZlbnQoVlJEaXNwbGF5RXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkudnJkaXNwbGF5ZGVhY3RpdmF0ZUV2ZW50LCBtYWtlUmVmUHRyKHRoaXMpLCBWUkRp
c3BsYXlFdmVudFJlYXNvbjo6VW5tb3VudGVkKSk7CisgICAgZGlzcGF0Y2hWUkRpc3BsYXlFdmVu
dEluV2luZG93RXZlbnRMb29wKGV2ZW50TmFtZXMoKS52cmRpc3BsYXlkZWFjdGl2YXRlRXZlbnQs
IFZSRGlzcGxheUV2ZW50UmVhc29uOjpVbm1vdW50ZWQpOwogfQogCiBib29sIFZSRGlzcGxheTo6
aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKQEAgLTIzOSwxNCArMjUxLDIzIEBAIGNvbnN0IGNo
YXIqIFZSRGlzcGxheTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJW
UkRpc3BsYXkiOwogfQogCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgbmV2ZXIgcHJldmVudCBlbnRl
cmluZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlLgotYm9vbCBWUkRpc3BsYXk6OnNob3VsZFByZXZl
bnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0Cit2b2lkIFZSRGlz
cGxheTo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKQogewotICAgIHJldHVybiB0cnVlOwor
ICAgIGlmIChtX3NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcikKKyAgICAgICAgbV9zY3JpcHRl
ZEFuaW1hdGlvbkNvbnRyb2xsZXItPnN1c3BlbmQoKTsKKyAgICBzdG9wUHJlc2VudGluZygpOwor
fQorCit2b2lkIFZSRGlzcGxheTo6cmVzdW1lKCkKK3sKKyAgICBpZiAobV9zY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXIpCisgICAgICAgIG1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLT5y
ZXN1bWUoKTsKIH0KIAogdm9pZCBWUkRpc3BsYXk6OnN0b3AoKQogeworICAgIG1fc2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyID0gbnVsbHB0cjsKKyAgICBzdG9wUHJlc2VudGluZygpOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnZyL1ZSRGlzcGxheS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRp
c3BsYXkuaAppbmRleCBlMDg4Y2QxZTMyMjE1YzRlNzA5Y2EyODM2MzViNzRjZjEzMzkyMzI4Li5i
YWY1Y2I0OTA2N2I4YTdmNjdhNmM4ODZlOTY5Yjc5ODRmYjA2YjVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmgKQEAgLTI3LDkgKzI3LDExIEBACiAKICNpbmNsdWRl
ICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUg
IlZSRGlzcGxheUV2ZW50UmVhc29uLmgiCiAjaW5jbHVkZSAiVlJFeWUuaCIKICNpbmNsdWRlICJW
UkxheWVySW5pdC5oIgogI2luY2x1ZGUgIlZSUGxhdGZvcm1EaXNwbGF5Q2xpZW50LmgiCisjaW5j
bHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtMTA2LDEzICsxMDgsMTYgQEAgcHJpdmF0ZToKIAogICAgIC8v
IEFjdGl2ZURPTU9iamVjdAogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBj
b25zdCBvdmVycmlkZTsKLSAgICBib29sIHNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJk
Q2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZvaWQgc3VzcGVuZChSZWFz
b25Gb3JTdXNwZW5zaW9uKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlc3VtZSgpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBzdG9wUHJlc2VudGluZygpOwog
CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgeyByZXR1cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7IH0KIAorICAgIHZvaWQgZGlzcGF0Y2hWUkRpc3BsYXlF
dmVudEluV2luZG93RXZlbnRMb29wKGNvbnN0IFdURjo6QXRvbVN0cmluZyYgZXZlbnROYW1lLCBP
cHRpb25hbDxWUkRpc3BsYXlFdmVudFJlYXNvbj4mJik7CisKICAgICBXZWFrUHRyPFZSUGxhdGZv
cm1EaXNwbGF5PiBtX2Rpc3BsYXk7CiAKICAgICBSZWZQdHI8VlJEaXNwbGF5Q2FwYWJpbGl0aWVz
PiBtX2NhcGFiaWxpdGllczsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382827</attachid>
            <date>2019-11-05 08:52:03 -0800</date>
            <delta_ts>2019-11-06 03:57:13 -0800</delta_ts>
            <desc>Dispatch events in DOMWindow</desc>
            <filename>bug-203105-20191105175202.patch</filename>
            <type>text/plain</type>
            <size>6343</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY4NjgzYjAxZDY3ZWM5
MTA2OGI3ZjVmMTIyYWY5YmQ2YjIxN2IwNi4uMDk5ZjhmNTYyM2MyMDAxZjUyZjNlZTczZThlMWQx
ODY2YzYyZWI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTExLTA1ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFZSRGlzcGxh
eSBzaG91bGQgbm90IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTA1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVlJEaXNwbGF5IHNj
aGVkdWxlcyBhc3luY2hyb25vdXMgZXhlY3V0aW9uIG9mIGV2ZW50cyB1c2luZyB0aGUgV2luZG93
RXZlbnRMb29wIGluc3RlYWQgb2YKKyAgICAgICAgc3luY2hyb25vdXNseSBmaXJpbmcgdGhlbS4g
V2luZG93RXZlbnRMb29wIGRvZXMgY29ycmVjdGx5IHN1c3BlbmQgd2hpbGUgaW4gY2FjaGUuCisK
KyAgICAgICAgQXBhcnQgZnJvbSB0aGF0IHN1c3BlbmQoKS9yZXN1bWUoKSB3ZXJlIGltcGxlbWVu
dGVkIGJ5IGZvcmNpbmcgbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIKKyAgICAgICAgdG8g
c3VzcGVuZCB0aGUgVlIgcmVxdWVzdCBhbmltYXRpb24gZnJhbWUgbWFjaGluZXJ5IHdoaWxlIGlu
IGNhY2hlLgorCisgICAgICAgIExhc3QgYnV0IG5vdCBsZWFzdCwgc3RvcFByZXNlbnRpbmcoKSBp
cyBub3cgYWxzbyBjYWxsZWQgb24gc3VzcGVuc2lvbi4KKworICAgICAgICBObyBuZXcgdGVzdHMg
d2VyZSBhZGRlZCBhcyB0aGVyZSBpcyBubyB0ZXN0aW5nIG1hY2hpbmVyeSBmb3IgV2ViVlIgc28g
ZmFyLiBJdCdzIHVuY2xlYXIgaG93CisgICAgICAgIHRoaXMgdW5yZWxlYXNlZCBmZWF0dXJlIHdp
bGwgZXZvbHZlIGFzIGl0J3MgYmVpbmcgcmVwbGFjZWQgYnkgV2ViWFIuCisKKyAgICAgICAgKiBN
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWUkRpc3BsYXk6
OmRpc3BhdGNoVlJEaXNwbGF5RXZlbnRJbldpbmRvd0V2ZW50TG9vcCk6CisgICAgICAgIChXZWJD
b3JlOjpWUkRpc3BsYXk6OnBsYXRmb3JtRGlzcGxheUNvbm5lY3RlZCk6IFVzZSBkaXNwYXRjaFZS
RGlzcGxheUV2ZW50SW5XaW5kb3dFdmVudExvb3AuCisgICAgICAgIChXZWJDb3JlOjpWUkRpc3Bs
YXk6OnBsYXRmb3JtRGlzcGxheURpc2Nvbm5lY3RlZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6VlJEaXNwbGF5OjpwbGF0Zm9ybURpc3BsYXlNb3VudGVkKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpWUkRpc3BsYXk6OnBsYXRmb3JtRGlzcGxheVVubW91bnRlZCk6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6VlJEaXNwbGF5OjpzdXNwZW5kKTogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpWUkRpc3BsYXk6OnJlc3VtZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VlJEaXNw
bGF5OjpzdG9wKTogQ2FsbCBzdG9wUHJlc2VudGluZygpLgorICAgICAgICAoV2ViQ29yZTo6VlJE
aXNwbGF5OjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2VidnIvVlJEaXNwbGF5Lmg6CisK
IDIwMTktMTEtMDUgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IG1wNCB2aWRlbyBlbGVtZW50IGJyb2tlbiB3aXRoIHNlcnZpY2Ugd29ya2VyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKaW5kZXggY2Y1ODhlZGZlYmM3ODY0MGIw
NmE0ZmE5YTg3NDIxMzgyMWViZjJiOS4uN2MyYTYzNThhM2U4NGZiOTBlZGE0YTM1NmVlMmIyODcy
YWExM2U2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3Bs
YXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcApA
QCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlZSUGxhdGZvcm1EaXNwbGF5LmgiCiAjaW5jbHVk
ZSAiVlJQb3NlLmgiCiAjaW5jbHVkZSAiVlJTdGFnZVBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJX
aW5kb3dFdmVudExvb3AuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yMDksMjQgKzIxMCwzOCBAQCB2b2lkIFZSRGlzcGxheTo6
c3VibWl0RnJhbWUoKQogewogfQogCisvLyBVc2UgdGhlIFdpbmRvd0V2ZW50TG9vcCBpbnN0ZWFk
IG9mIGRpc3BhdGNoaW5nIGV2ZW50cyBzeW5jaHJvbm91c2x5IGJlY2F1c2UKKy8vIHRoZSBXaW5k
b3dFdmVudExvb3AgY29ycmVjdGx5IHN1c3BlbmRzIHdoZW4gaW4gdGhlIGNhY2hlLiBUaGlzIHdh
eSBWUkRpc3BsYXkKKy8vIGRvZXMgbm8gbG9uZ2VyIHByZXZlbnQgY2FjaGluZyBpbiB0aGUgYmFj
ay9mb3J3YXJkIGNhY2hlLgordm9pZCBWUkRpc3BsYXk6OmRpc3BhdGNoVlJEaXNwbGF5RXZlbnRJ
bldpbmRvd0V2ZW50TG9vcChjb25zdCBXVEY6OkF0b21TdHJpbmcmIGV2ZW50TmFtZSwgT3B0aW9u
YWw8VlJEaXNwbGF5RXZlbnRSZWFzb24+JiYgcmVhc29uKQoreworICAgIGF1dG8gZXZlbnQgPSBW
UkRpc3BsYXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgbWFrZVJlZlB0cih0aGlzKSwgV1RGTW92
ZShyZWFzb24pKTsKKyAgICBkb2N1bWVudCgpLT5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1Nv
dXJjZTo6VXNlckludGVyYWN0aW9uLCAqZG9jdW1lbnQoKSwgW3RoaXMsIGV2ZW50ID0gV1RGTW92
ZShldmVudCldKCkgbXV0YWJsZSB7CisgICAgICAgIGlmICghZG9jdW1lbnQoKSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgaWYgKGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50KCktPmRvbVdp
bmRvdygpKQorICAgICAgICAgICAgd2luZG93LT5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKKyAgICB9
KTsKK30KKwogdm9pZCBWUkRpc3BsYXk6OnBsYXRmb3JtRGlzcGxheUNvbm5lY3RlZCgpCiB7Ci0g
ICAgZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPmRpc3BhdGNoRXZlbnQoVlJEaXNwbGF5RXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkudnJkaXNwbGF5Y29ubmVjdEV2ZW50LCBtYWtlUmVmUHRyKHRo
aXMpLCBXVEY6Om51bGxvcHQpKTsKKyAgICBkaXNwYXRjaFZSRGlzcGxheUV2ZW50SW5XaW5kb3dF
dmVudExvb3AoZXZlbnROYW1lcygpLnZyZGlzcGxheWNvbm5lY3RFdmVudCwgV1RGOjpudWxsb3B0
KTsKIH0KIAogdm9pZCBWUkRpc3BsYXk6OnBsYXRmb3JtRGlzcGxheURpc2Nvbm5lY3RlZCgpCiB7
Ci0gICAgZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPmRpc3BhdGNoRXZlbnQoVlJEaXNwbGF5RXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkudnJkaXNwbGF5ZGlzY29ubmVjdEV2ZW50LCBtYWtlUmVm
UHRyKHRoaXMpLCBXVEY6Om51bGxvcHQpKTsKKyAgICBkaXNwYXRjaFZSRGlzcGxheUV2ZW50SW5X
aW5kb3dFdmVudExvb3AoZXZlbnROYW1lcygpLnZyZGlzcGxheWRpc2Nvbm5lY3RFdmVudCwgV1RG
OjpudWxsb3B0KTsKIH0KIAogdm9pZCBWUkRpc3BsYXk6OnBsYXRmb3JtRGlzcGxheU1vdW50ZWQo
KQogewotICAgIGRvY3VtZW50KCktPmRvbVdpbmRvdygpLT5kaXNwYXRjaEV2ZW50KFZSRGlzcGxh
eUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnZyZGlzcGxheWFjdGl2YXRlRXZlbnQsIG1ha2VS
ZWZQdHIodGhpcyksIFZSRGlzcGxheUV2ZW50UmVhc29uOjpNb3VudGVkKSk7CisgICAgZGlzcGF0
Y2hWUkRpc3BsYXlFdmVudEluV2luZG93RXZlbnRMb29wKGV2ZW50TmFtZXMoKS52cmRpc3BsYXlh
Y3RpdmF0ZUV2ZW50LCBWUkRpc3BsYXlFdmVudFJlYXNvbjo6TW91bnRlZCk7CiB9CiAKIHZvaWQg
VlJEaXNwbGF5OjpwbGF0Zm9ybURpc3BsYXlVbm1vdW50ZWQoKQogewotICAgIGRvY3VtZW50KCkt
PmRvbVdpbmRvdygpLT5kaXNwYXRjaEV2ZW50KFZSRGlzcGxheUV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLnZyZGlzcGxheWRlYWN0aXZhdGVFdmVudCwgbWFrZVJlZlB0cih0aGlzKSwgVlJEaXNw
bGF5RXZlbnRSZWFzb246OlVubW91bnRlZCkpOworICAgIGRpc3BhdGNoVlJEaXNwbGF5RXZlbnRJ
bldpbmRvd0V2ZW50TG9vcChldmVudE5hbWVzKCkudnJkaXNwbGF5ZGVhY3RpdmF0ZUV2ZW50LCBW
UkRpc3BsYXlFdmVudFJlYXNvbjo6VW5tb3VudGVkKTsKIH0KIAogYm9vbCBWUkRpc3BsYXk6Omhh
c1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0CkBAIC0yMzksMTQgKzI1NCwyMyBAQCBjb25zdCBjaGFy
KiBWUkRpc3BsYXk6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogICAgIHJldHVybiAiVlJE
aXNwbGF5IjsKIH0KIAotLy8gRklYTUU6IFRoaXMgc2hvdWxkIG5ldmVyIHByZXZlbnQgZW50ZXJp
bmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4KLWJvb2wgVlJEaXNwbGF5OjpzaG91bGRQcmV2ZW50
RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdAordm9pZCBWUkRpc3Bs
YXk6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikKIHsKLSAgICByZXR1cm4gdHJ1ZTsKKyAg
ICBpZiAobV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIpCisgICAgICAgIG1fc2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyLT5zdXNwZW5kKCk7CisgICAgc3RvcFByZXNlbnRpbmcoKTsKK30K
Kwordm9pZCBWUkRpc3BsYXk6OnJlc3VtZSgpCit7CisgICAgaWYgKG1fc2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyKQorICAgICAgICBtX3NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci0+cmVz
dW1lKCk7CiB9CiAKIHZvaWQgVlJEaXNwbGF5OjpzdG9wKCkKIHsKKyAgICBtX3NjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlciA9IG51bGxwdHI7CisgICAgc3RvcFByZXNlbnRpbmcoKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ2ci9WUkRpc3BsYXkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNw
bGF5LmgKaW5kZXggZTA4OGNkMWUzMjIxNWM0ZTcwOWNhMjgzNjM1Yjc0Y2YxMzM5MjMyOC4uYmFm
NWNiNDkwNjdiOGE3ZjY3YTZjODg2ZTk2OWI3OTg0ZmIwNmI1ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5oCkBAIC0yNyw5ICsyNywxMSBAQAogCiAjaW5jbHVkZSAi
QWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJW
UkRpc3BsYXlFdmVudFJlYXNvbi5oIgogI2luY2x1ZGUgIlZSRXllLmgiCiAjaW5jbHVkZSAiVlJM
YXllckluaXQuaCIKICNpbmNsdWRlICJWUlBsYXRmb3JtRGlzcGxheUNsaWVudC5oIgorI2luY2x1
ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTEwNiwxMyArMTA4LDE2IEBAIHByaXZhdGU6CiAKICAgICAvLyBB
Y3RpdmVET01PYmplY3QKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29u
c3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENh
Y2hlX0RFUFJFQ0FURUQoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIHN1c3BlbmQoUmVhc29u
Rm9yU3VzcGVuc2lvbikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXN1bWUoKSBvdmVycmlkZTsKICAg
ICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKIAogICAgIHZvaWQgc3RvcFByZXNlbnRpbmcoKTsKIAog
ICAgIERvY3VtZW50KiBkb2N1bWVudCgpIHsgcmV0dXJuIGRvd25jYXN0PERvY3VtZW50PihzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpOyB9CiAKKyAgICB2b2lkIGRpc3BhdGNoVlJEaXNwbGF5RXZl
bnRJbldpbmRvd0V2ZW50TG9vcChjb25zdCBXVEY6OkF0b21TdHJpbmcmIGV2ZW50TmFtZSwgT3B0
aW9uYWw8VlJEaXNwbGF5RXZlbnRSZWFzb24+JiYpOworCiAgICAgV2Vha1B0cjxWUlBsYXRmb3Jt
RGlzcGxheT4gbV9kaXNwbGF5OwogCiAgICAgUmVmUHRyPFZSRGlzcGxheUNhcGFiaWxpdGllcz4g
bV9jYXBhYmlsaXRpZXM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382909</attachid>
            <date>2019-11-06 03:57:41 -0800</date>
            <delta_ts>2019-11-06 08:06:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203105-20191106125739.patch</filename>
            <type>text/plain</type>
            <size>6281</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY4NjgzYjAxZDY3ZWM5
MTA2OGI3ZjVmMTIyYWY5YmQ2YjIxN2IwNi4uMDk5ZjhmNTYyM2MyMDAxZjUyZjNlZTczZThlMWQx
ODY2YzYyZWI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTExLTA1ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFZSRGlzcGxh
eSBzaG91bGQgbm90IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTA1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVlJEaXNwbGF5IHNj
aGVkdWxlcyBhc3luY2hyb25vdXMgZXhlY3V0aW9uIG9mIGV2ZW50cyB1c2luZyB0aGUgV2luZG93
RXZlbnRMb29wIGluc3RlYWQgb2YKKyAgICAgICAgc3luY2hyb25vdXNseSBmaXJpbmcgdGhlbS4g
V2luZG93RXZlbnRMb29wIGRvZXMgY29ycmVjdGx5IHN1c3BlbmQgd2hpbGUgaW4gY2FjaGUuCisK
KyAgICAgICAgQXBhcnQgZnJvbSB0aGF0IHN1c3BlbmQoKS9yZXN1bWUoKSB3ZXJlIGltcGxlbWVu
dGVkIGJ5IGZvcmNpbmcgbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIKKyAgICAgICAgdG8g
c3VzcGVuZCB0aGUgVlIgcmVxdWVzdCBhbmltYXRpb24gZnJhbWUgbWFjaGluZXJ5IHdoaWxlIGlu
IGNhY2hlLgorCisgICAgICAgIExhc3QgYnV0IG5vdCBsZWFzdCwgc3RvcFByZXNlbnRpbmcoKSBp
cyBub3cgYWxzbyBjYWxsZWQgb24gc3VzcGVuc2lvbi4KKworICAgICAgICBObyBuZXcgdGVzdHMg
d2VyZSBhZGRlZCBhcyB0aGVyZSBpcyBubyB0ZXN0aW5nIG1hY2hpbmVyeSBmb3IgV2ViVlIgc28g
ZmFyLiBJdCdzIHVuY2xlYXIgaG93CisgICAgICAgIHRoaXMgdW5yZWxlYXNlZCBmZWF0dXJlIHdp
bGwgZXZvbHZlIGFzIGl0J3MgYmVpbmcgcmVwbGFjZWQgYnkgV2ViWFIuCisKKyAgICAgICAgKiBN
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWUkRpc3BsYXk6
OmRpc3BhdGNoVlJEaXNwbGF5RXZlbnRJbldpbmRvd0V2ZW50TG9vcCk6CisgICAgICAgIChXZWJD
b3JlOjpWUkRpc3BsYXk6OnBsYXRmb3JtRGlzcGxheUNvbm5lY3RlZCk6IFVzZSBkaXNwYXRjaFZS
RGlzcGxheUV2ZW50SW5XaW5kb3dFdmVudExvb3AuCisgICAgICAgIChXZWJDb3JlOjpWUkRpc3Bs
YXk6OnBsYXRmb3JtRGlzcGxheURpc2Nvbm5lY3RlZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6VlJEaXNwbGF5OjpwbGF0Zm9ybURpc3BsYXlNb3VudGVkKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpWUkRpc3BsYXk6OnBsYXRmb3JtRGlzcGxheVVubW91bnRlZCk6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6VlJEaXNwbGF5OjpzdXNwZW5kKTogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpWUkRpc3BsYXk6OnJlc3VtZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VlJEaXNw
bGF5OjpzdG9wKTogQ2FsbCBzdG9wUHJlc2VudGluZygpLgorICAgICAgICAoV2ViQ29yZTo6VlJE
aXNwbGF5OjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2VidnIvVlJEaXNwbGF5Lmg6CisK
IDIwMTktMTEtMDUgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IG1wNCB2aWRlbyBlbGVtZW50IGJyb2tlbiB3aXRoIHNlcnZpY2Ugd29ya2VyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKaW5kZXggY2Y1ODhlZGZlYmM3ODY0MGIw
NmE0ZmE5YTg3NDIxMzgyMWViZjJiOS4uMzRjNjU4YmIyN2I1Y2Y3MjRjMjFiNTFmNGVhNGI2OWNk
NWI2MWE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3Bs
YXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcApA
QCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlZSUGxhdGZvcm1EaXNwbGF5LmgiCiAjaW5jbHVk
ZSAiVlJQb3NlLmgiCiAjaW5jbHVkZSAiVlJTdGFnZVBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJX
aW5kb3dFdmVudExvb3AuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yMDksMjQgKzIxMCwzOCBAQCB2b2lkIFZSRGlzcGxheTo6
c3VibWl0RnJhbWUoKQogewogfQogCisvLyBVc2UgYSBFdmVudExvb3AgaW5zdGVhZCBvZiBkaXNw
YXRjaGluZyBldmVudHMgc3luY2hyb25vdXNseSBiZWNhdXNlIHRoZQorLy8gRXZlbnRMb29wIGNv
cnJlY3RseSBzdXNwZW5kcyB3aGVuIGluIHRoZSBjYWNoZS4gVGhpcyB3YXkgVlJEaXNwbGF5IGRv
ZXMgbm8KKy8vIGxvbmdlciBwcmV2ZW50IGNhY2hpbmcgaW4gdGhlIGJhY2svZm9yd2FyZCBjYWNo
ZS4KK3ZvaWQgVlJEaXNwbGF5OjpkaXNwYXRjaFZSRGlzcGxheUV2ZW50SW5FdmVudExvb3AoY29u
c3QgV1RGOjpBdG9tU3RyaW5nJiBldmVudE5hbWUsIE9wdGlvbmFsPFZSRGlzcGxheUV2ZW50UmVh
c29uPiYmIHJlYXNvbikKK3sKKyAgICBhdXRvIGV2ZW50ID0gVlJEaXNwbGF5RXZlbnQ6OmNyZWF0
ZShldmVudE5hbWUsIG1ha2VSZWZQdHIodGhpcyksIFdURk1vdmUocmVhc29uKSk7CisgICAgcXVl
dWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpVc2VySW50ZXJhY3Rp
b24sIFt0aGlzLCBldmVudCA9IFdURk1vdmUoZXZlbnQpXSgpIG11dGFibGUgeworICAgICAgICBp
ZiAoIWRvY3VtZW50KCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmIChhdXRvKiB3
aW5kb3cgPSBkb2N1bWVudCgpLT5kb21XaW5kb3coKSkKKyAgICAgICAgICAgIHdpbmRvdy0+ZGlz
cGF0Y2hFdmVudChldmVudCk7CisgICAgfSk7Cit9CisKIHZvaWQgVlJEaXNwbGF5OjpwbGF0Zm9y
bURpc3BsYXlDb25uZWN0ZWQoKQogewotICAgIGRvY3VtZW50KCktPmRvbVdpbmRvdygpLT5kaXNw
YXRjaEV2ZW50KFZSRGlzcGxheUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnZyZGlzcGxheWNv
bm5lY3RFdmVudCwgbWFrZVJlZlB0cih0aGlzKSwgV1RGOjpudWxsb3B0KSk7CisgICAgZGlzcGF0
Y2hWUkRpc3BsYXlFdmVudEluRXZlbnRMb29wKGV2ZW50TmFtZXMoKS52cmRpc3BsYXljb25uZWN0
RXZlbnQsIFdURjo6bnVsbG9wdCk7CiB9CiAKIHZvaWQgVlJEaXNwbGF5OjpwbGF0Zm9ybURpc3Bs
YXlEaXNjb25uZWN0ZWQoKQogewotICAgIGRvY3VtZW50KCktPmRvbVdpbmRvdygpLT5kaXNwYXRj
aEV2ZW50KFZSRGlzcGxheUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnZyZGlzcGxheWRpc2Nv
bm5lY3RFdmVudCwgbWFrZVJlZlB0cih0aGlzKSwgV1RGOjpudWxsb3B0KSk7CisgICAgZGlzcGF0
Y2hWUkRpc3BsYXlFdmVudEluRXZlbnRMb29wKGV2ZW50TmFtZXMoKS52cmRpc3BsYXlkaXNjb25u
ZWN0RXZlbnQsIFdURjo6bnVsbG9wdCk7CiB9CiAKIHZvaWQgVlJEaXNwbGF5OjpwbGF0Zm9ybURp
c3BsYXlNb3VudGVkKCkKIHsKLSAgICBkb2N1bWVudCgpLT5kb21XaW5kb3coKS0+ZGlzcGF0Y2hF
dmVudChWUkRpc3BsYXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS52cmRpc3BsYXlhY3RpdmF0
ZUV2ZW50LCBtYWtlUmVmUHRyKHRoaXMpLCBWUkRpc3BsYXlFdmVudFJlYXNvbjo6TW91bnRlZCkp
OworICAgIGRpc3BhdGNoVlJEaXNwbGF5RXZlbnRJbkV2ZW50TG9vcChldmVudE5hbWVzKCkudnJk
aXNwbGF5YWN0aXZhdGVFdmVudCwgVlJEaXNwbGF5RXZlbnRSZWFzb246Ok1vdW50ZWQpOwogfQog
CiB2b2lkIFZSRGlzcGxheTo6cGxhdGZvcm1EaXNwbGF5VW5tb3VudGVkKCkKIHsKLSAgICBkb2N1
bWVudCgpLT5kb21XaW5kb3coKS0+ZGlzcGF0Y2hFdmVudChWUkRpc3BsYXlFdmVudDo6Y3JlYXRl
KGV2ZW50TmFtZXMoKS52cmRpc3BsYXlkZWFjdGl2YXRlRXZlbnQsIG1ha2VSZWZQdHIodGhpcyks
IFZSRGlzcGxheUV2ZW50UmVhc29uOjpVbm1vdW50ZWQpKTsKKyAgICBkaXNwYXRjaFZSRGlzcGxh
eUV2ZW50SW5FdmVudExvb3AoZXZlbnROYW1lcygpLnZyZGlzcGxheWRlYWN0aXZhdGVFdmVudCwg
VlJEaXNwbGF5RXZlbnRSZWFzb246OlVubW91bnRlZCk7CiB9CiAKIGJvb2wgVlJEaXNwbGF5Ojpo
YXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdApAQCAtMjM5LDE0ICsyNTQsMjMgQEAgY29uc3QgY2hh
ciogVlJEaXNwbGF5OjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIlZS
RGlzcGxheSI7CiB9CiAKLS8vIEZJWE1FOiBUaGlzIHNob3VsZCBuZXZlciBwcmV2ZW50IGVudGVy
aW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCi1ib29sIFZSRGlzcGxheTo6c2hvdWxkUHJldmVu
dEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QKK3ZvaWQgVlJEaXNw
bGF5OjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pCiB7Ci0gICAgcmV0dXJuIHRydWU7Cisg
ICAgaWYgKG1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyKQorICAgICAgICBtX3NjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci0+c3VzcGVuZCgpOworICAgIHN0b3BQcmVzZW50aW5nKCk7Cit9
CisKK3ZvaWQgVlJEaXNwbGF5OjpyZXN1bWUoKQoreworICAgIGlmIChtX3NjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlcikKKyAgICAgICAgbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXItPnJl
c3VtZSgpOwogfQogCiB2b2lkIFZSRGlzcGxheTo6c3RvcCgpCiB7CisgICAgbV9zY3JpcHRlZEFu
aW1hdGlvbkNvbnRyb2xsZXIgPSBudWxscHRyOworICAgIHN0b3BQcmVzZW50aW5nKCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VidnIvVlJEaXNwbGF5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlz
cGxheS5oCmluZGV4IGUwODhjZDFlMzIyMTVjNGU3MDljYTI4MzYzNWI3NGNmMTMzOTIzMjguLmQ2
NWYxZTFlNDA2NTllMjY0ZjU1ODQzNDhlNjY4N2I2YmJmZTdlNmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuaApAQCAtMjcsOSArMjcsMTEgQEAKIAogI2luY2x1ZGUg
IkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAi
VlJEaXNwbGF5RXZlbnRSZWFzb24uaCIKICNpbmNsdWRlICJWUkV5ZS5oIgogI2luY2x1ZGUgIlZS
TGF5ZXJJbml0LmgiCiAjaW5jbHVkZSAiVlJQbGF0Zm9ybURpc3BsYXlDbGllbnQuaCIKKyNpbmNs
dWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC0xMDYsMTMgKzEwOCwxNiBAQCBwcml2YXRlOgogCiAgICAgLy8g
QWN0aXZlRE9NT2JqZWN0CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0IG92ZXJyaWRlOwotICAgIGJvb2wgc2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRD
YWNoZV9ERVBSRUNBVEVEKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdm9pZCBzdXNwZW5kKFJlYXNv
bkZvclN1c3BlbnNpb24pIG92ZXJyaWRlOworICAgIHZvaWQgcmVzdW1lKCkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHN0b3BQcmVzZW50aW5nKCk7CiAK
ICAgICBEb2N1bWVudCogZG9jdW1lbnQoKSB7IHJldHVybiBkb3duY2FzdDxEb2N1bWVudD4oc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKTsgfQogCisgICAgdm9pZCBkaXNwYXRjaFZSRGlzcGxheUV2
ZW50SW5FdmVudExvb3AoY29uc3QgV1RGOjpBdG9tU3RyaW5nJiBldmVudE5hbWUsIE9wdGlvbmFs
PFZSRGlzcGxheUV2ZW50UmVhc29uPiYmKTsKKwogICAgIFdlYWtQdHI8VlJQbGF0Zm9ybURpc3Bs
YXk+IG1fZGlzcGxheTsKIAogICAgIFJlZlB0cjxWUkRpc3BsYXlDYXBhYmlsaXRpZXM+IG1fY2Fw
YWJpbGl0aWVzOwo=
</data>
<flag name="review"
          id="398677"
          type_id="1"
          status="+"
          setter="cdumez"
    />
    <flag name="commit-queue"
          id="398688"
          type_id="3"
          status="-"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>