<?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>203136</bug_id>
          
          <creation_ts>2019-10-17 21:48:37 -0700</creation_ts>
          <short_desc>Refactor AbstractEventLoop out of WindowEventLoop</short_desc>
          <delta_ts>2019-10-18 16:34:38 -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>Scrolling</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>203137</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1581293</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-17 21:48:37 -0700</bug_when>
    <thetext>This is to prepare for the addition of WorkerEventLoop, which is needed to integrate DOMTimer with HTML5 event loop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581296</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-17 21:50:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/56396749&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581324</commentid>
    <comment_count>2</comment_count>
      <attachid>381274</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-17 22:41:00 -0700</bug_when>
    <thetext>Created attachment 381274
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581392</commentid>
    <comment_count>3</comment_count>
      <attachid>381274</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-18 07:15:59 -0700</bug_when>
    <thetext>Comment on attachment 381274
Cleanup

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

&gt; Source/WebCore/dom/AbstractEventLoop.h:40
&gt; +class AbstractEventLoop : public RefCounted&lt;AbstractEventLoop&gt; {
&gt; +    WTF_MAKE_FAST_ALLOCATED;

RefCounted is WTF_MAKE_FAST_ALLOCATED by default.

&gt; Source/WebCore/dom/WindowEventLoop.h:37
&gt; +class WindowEventLoop final : public AbstractEventLoop {
&gt;      WTF_MAKE_FAST_ALLOCATED;

Not needed here either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581577</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-18 15:49:12 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #3)
&gt; Comment on attachment 381274 [details]
&gt; Cleanup
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=381274&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/AbstractEventLoop.h:40
&gt; &gt; +class AbstractEventLoop : public RefCounted&lt;AbstractEventLoop&gt; {
&gt; &gt; +    WTF_MAKE_FAST_ALLOCATED;
&gt; 
&gt; RefCounted is WTF_MAKE_FAST_ALLOCATED by default.

Good point. Removed.

&gt; &gt; Source/WebCore/dom/WindowEventLoop.h:37
&gt; &gt; +class WindowEventLoop final : public AbstractEventLoop {
&gt; &gt;      WTF_MAKE_FAST_ALLOCATED;
&gt; 
&gt; Not needed here either.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581593</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-18 16:34:38 -0700</bug_when>
    <thetext>Committed r251308: &lt;https://trac.webkit.org/changeset/251308&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381274</attachid>
            <date>2019-10-17 22:41:00 -0700</date>
            <delta_ts>2019-10-18 07:15:59 -0700</delta_ts>
            <desc>Cleanup</desc>
            <filename>bug-203136-20191017224100.patch</filename>
            <type>text/plain</type>
            <size>9426</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MTI3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE5LTEwLTE3ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlZmFjdG9yIEFic3RyYWN0RXZl
bnRMb29wIG91dCBvZiBXaW5kb3dFdmVudExvb3AKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzEzNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYz
OTY3NDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RXh0cmFjdCBBYnN0cmFjdEV2ZW50TG9vcCBvdXQgb2YgV2luZG93RXZlbnRMb29wIGFzIGEgcHJl
cGFyYXRpb24gZm9yIGFkZGluZyBXb3JrZXJFdmVudExvb3AuCisKKyAgICAgICAgQWxzbyByZXBs
YWNlZCBtX2FjdGl2ZVRhc2tDb3VudCB3aXRoIGEgYm9vbGVhbiBtX2lzU2NoZWR1bGVkVG9SdW4g
c2luY2UgaXQgZG9lc24ndCBuZWVkIHRvIGNvdW50LgorCisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9BYnN0cmFjdEV2ZW50TG9vcC5j
cHA6IEFkZGVkLgorICAgICAgICAqIGRvbS9BYnN0cmFjdEV2ZW50TG9vcC5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkFic3RyYWN0RXZlbnRMb29wKTogQWRkZWQuCisgICAgICAgICogZG9t
L1dpbmRvd0V2ZW50TG9vcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaW5kb3dFdmVudExvb3A6
OldpbmRvd0V2ZW50TG9vcCk6IERlbGV0ZWQuIFVzZSB0aGUgZGVmYXVsdCBjb25zdHJ1Y3RvciBp
biB0aGUgaGVhZGVyIGluc3RlYWQuCisgICAgICAgIChXZWJDb3JlOjpXaW5kb3dFdmVudExvb3A6
OnF1ZXVlVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpXaW5kb3dFdmVudExvb3A6OnN1c3BlbmQp
OgorICAgICAgICAoV2ViQ29yZTo6V2luZG93RXZlbnRMb29wOjpyZXN1bWUpOgorICAgICAgICAo
V2ViQ29yZTo6V2luZG93RXZlbnRMb29wOjpzY2hlZHVsZVRvUnVuSWZOZWVkZWQpOiBFeHRyYWN0
ZWQgb3V0IG9mIHF1ZXVlVGFzay4KKyAgICAgICAgKFdlYkNvcmU6OldpbmRvd0V2ZW50TG9vcDo6
cnVuKToKKyAgICAgICAgKiBkb20vV2luZG93RXZlbnRMb29wLmg6CisKIDIwMTktMTAtMTcgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgT25seSBpbmNs
dWRlICJkZWVwIGNvbG9yIiBpbiBsYXllciB0cmVlIGR1bXBzIGlmIGEgdGVzdHMgcmVxdWVzdHMg
aXQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDI1MTI2NSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTExMTcsNiArMTExMTcs
NyBAQAogCQk5Qjc0MjYwODIzNEJFQTZFMDBEQjUyRTkgLyogSWRsZURlYWRsaW5lLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IElkbGVEZWFkbGluZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
Qjc0MjYwOTIzNEJFQTZFMDBEQjUyRTkgLyogSWRsZURlYWRsaW5lLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IElkbGVEZWFkbGluZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlC
NzQyNjBBMjM0QkVBNkUwMERCNTJFOSAvKiBJZGxlRGVhZGxpbmUuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IElkbGVEZWFk
bGluZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTlCODIwNUE1MjM1OTI5QjEw
MEMzQkY0MCAvKiBBYnN0cmFjdEV2ZW50TG9vcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBYnN0
cmFjdEV2ZW50TG9vcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCODU1MzA1
MjBFNzMzQjUwMDlFRUY0RiAvKiBFdmVudFRhcmdldEZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRXZlbnRUYXJnZXRGYWN0b3J5LmNwcDsgcGF0aCA9IERl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvRXZlbnRUYXJnZXRGYWN0b3J5LmNwcDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJOUI4NjRGMDAyMzRDMDI4QTAwNkQxMEVCIC8qIElk
bGVSZXF1ZXN0T3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJZGxlUmVxdWVzdE9wdGlvbnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUI4NjRGMDEyMzRDMDI4QTAwNkQxMEVCIC8q
IElkbGVSZXF1ZXN0T3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSWRsZVJlcXVlc3RPcHRpb25zLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3NTY3LDYgKzI3NTY4LDcgQEAKIAkJCQk3Q0Qw
RTJCRDFGODBBNTZFMDAxNkE0Q0UgLyogQWJvcnRTaWduYWwuY3BwICovLAogCQkJCTdDRDBFMkJD
MUY4MEE1NkUwMDE2QTRDRSAvKiBBYm9ydFNpZ25hbC5oICovLAogCQkJCTdDRDBFMkJFMUY4MEE1
NkUwMDE2QTRDRSAvKiBBYm9ydFNpZ25hbC5pZGwgKi8sCisJCQkJOUI4MjA1QTUyMzU5MjlCMTAw
QzNCRjQwIC8qIEFic3RyYWN0RXZlbnRMb29wLmNwcCAqLywKIAkJCQk3QzUyMjI5NzFFMURBRTE2
MDAyQ0I4RjcgLyogQWN0aXZlRE9NQ2FsbGJhY2suY3BwICovLAogCQkJCTdDNTIyMjk4MUUxREFF
MTYwMDJDQjhGNyAvKiBBY3RpdmVET01DYWxsYmFjay5oICovLAogCQkJCTdDRDBCQTAyMUI4Rjc5
QzkwMDVDRUJCRSAvKiBBY3RpdmVET01DYWxsYmFja01pY3JvdGFzay5jcHAgKi8sCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vQWJzdHJhY3RFdmVudExvb3AuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vQWJzdHJhY3RFdmVudExvb3AuaAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vQWJzdHJhY3RFdmVudExvb3AuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvRnVu
Y3Rpb24uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OworCitlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50OF90IHsKKyAgICBJZGxlVGFz
aywKK307CisKKy8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFw
cGFwaXMuaHRtbCNldmVudC1sb29wCitjbGFzcyBBYnN0cmFjdEV2ZW50TG9vcCA6IHB1YmxpYyBS
ZWZDb3VudGVkPEFic3RyYWN0RXZlbnRMb29wPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgdmlydHVhbCB+QWJzdHJhY3RFdmVudExvb3AoKSA9IGRlZmF1bHQ7
CisKKyAgICB0eXBlZGVmIFdURjo6RnVuY3Rpb248dm9pZCAoKT4gVGFza0Z1bmN0aW9uOworICAg
IHZpcnR1YWwgdm9pZCBxdWV1ZVRhc2soVGFza1NvdXJjZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIFRhc2tGdW5jdGlvbiYmKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXN1bWUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpID0gMDsKKworcHJvdGVjdGVkOgorICAgIEFic3RyYWN0RXZlbnRM
b29wKCkgPSBkZWZhdWx0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAJKHJldmlzaW9uIDI1MTI2NSkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9XaW5kb3dFdmVudExvb3AuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NSwzOCArMzUsNDMgQEAgUmVmPFdpbmRvd0V2ZW50TG9vcD4gV2luZG93RXZlbnRMb29wOjpjcgog
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdpbmRvd0V2ZW50TG9vcCk7CiB9CiAKLVdpbmRvd0V2
ZW50TG9vcDo6V2luZG93RXZlbnRMb29wKCkKK3ZvaWQgV2luZG93RXZlbnRMb29wOjpxdWV1ZVRh
c2soVGFza1NvdXJjZSBzb3VyY2UsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFRh
c2tGdW5jdGlvbiYmIHRhc2spCiB7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBB
U1NFUlQoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKTsKKyAgICBzY2hlZHVsZVRvUnVuSWZOZWVkZWQo
KTsKKyAgICBtX3Rhc2tzLmFwcGVuZChUYXNrIHsgc291cmNlLCBXVEZNb3ZlKHRhc2spLCBkb3du
Y2FzdDxEb2N1bWVudD4oY29udGV4dCkuaWRlbnRpZmllcigpIH0pOwogfQogCi12b2lkIFdpbmRv
d0V2ZW50TG9vcDo6cXVldWVUYXNrKFRhc2tTb3VyY2Ugc291cmNlLCBEb2N1bWVudCYgZG9jdW1l
bnQsIFRhc2tGdW5jdGlvbiYmIHRhc2spCit2b2lkIFdpbmRvd0V2ZW50TG9vcDo6c3VzcGVuZChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JikKIHsKLSAgICBpZiAoIW1fYWN0aXZlVGFza0NvdW50KSB7
Ci0gICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW2V2ZW50TG9vcCA9IG1ha2VSZWYoKnRoaXMpXSAo
KSB7Ci0gICAgICAgICAgICBldmVudExvb3AtPnJ1bigpOwotICAgICAgICB9KTsKLSAgICB9Ci0g
ICAgKyttX2FjdGl2ZVRhc2tDb3VudDsKLSAgICBtX3Rhc2tzLmFwcGVuZChUYXNrIHsgc291cmNl
LCBXVEZNb3ZlKHRhc2spLCBkb2N1bWVudC5pZGVudGlmaWVyKCkgfSk7CisgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKIH0KIAotdm9pZCBXaW5kb3dFdmVudExvb3A6OnN1c3BlbmQoRG9jdW1l
bnQmKQordm9pZCBXaW5kb3dFdmVudExvb3A6OnJlc3VtZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgQVNTRVJUKGlz
PERvY3VtZW50Pihjb250ZXh0KSk7CisgICAgYXV0byYgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1
bWVudD4oY29udGV4dCk7CisgICAgaWYgKCFtX2RvY3VtZW50SWRlbnRpZmllcnNGb3JTdXNwZW5k
ZWRUYXNrcy5jb250YWlucyhkb2N1bWVudC5pZGVudGlmaWVyKCkpKQorICAgICAgICByZXR1cm47
CisgICAgc2NoZWR1bGVUb1J1bklmTmVlZGVkKCk7CiB9CiAKLXZvaWQgV2luZG93RXZlbnRMb29w
OjpyZXN1bWUoRG9jdW1lbnQmIGRvY3VtZW50KQordm9pZCBXaW5kb3dFdmVudExvb3A6OnNjaGVk
dWxlVG9SdW5JZk5lZWRlZCgpCiB7Ci0gICAgaWYgKCFtX2RvY3VtZW50SWRlbnRpZmllcnNGb3JT
dXNwZW5kZWRUYXNrcy5jb250YWlucyhkb2N1bWVudC5pZGVudGlmaWVyKCkpKQorICAgIGlmICht
X2lzU2NoZWR1bGVkVG9SdW4pCiAgICAgICAgIHJldHVybjsKIAorICAgIG1faXNTY2hlZHVsZWRU
b1J1biA9IHRydWU7CiAgICAgY2FsbE9uTWFpblRocmVhZChbZXZlbnRMb29wID0gbWFrZVJlZigq
dGhpcyldICgpIHsKKyAgICAgICAgZXZlbnRMb29wLT5tX2lzU2NoZWR1bGVkVG9SdW4gPSBmYWxz
ZTsKICAgICAgICAgZXZlbnRMb29wLT5ydW4oKTsKICAgICB9KTsKIH0KIAogdm9pZCBXaW5kb3dF
dmVudExvb3A6OnJ1bigpCiB7Ci0gICAgbV9hY3RpdmVUYXNrQ291bnQgPSAwOwogICAgIFZlY3Rv
cjxUYXNrPiB0YXNrcyA9IFdURk1vdmUobV90YXNrcyk7CiAgICAgbV9kb2N1bWVudElkZW50aWZp
ZXJzRm9yU3VzcGVuZGVkVGFza3MuY2xlYXIoKTsKICAgICBWZWN0b3I8VGFzaz4gcmVtYWluaW5n
VGFza3M7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vV2luZG93RXZlbnRMb29wLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1dpbmRvd0V2ZW50TG9vcC5oCShyZXZpc2lvbiAy
NTEyNjUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vV2luZG93RXZlbnRMb29wLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDM1ICsyNSwyOCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkRv
Y3VtZW50SWRlbnRpZmllci5oIgotI2luY2x1ZGUgPG1lbW9yeT4KKyNpbmNsdWRlICJBYnN0cmFj
dEV2ZW50TG9vcC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogCi1lbnVt
IGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50OF90IHsKLSAgICBJZGxlVGFzaywKLX07Ci0KIC8vIGh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCN3aW5k
b3ctZXZlbnQtbG9vcAotY2xhc3MgV2luZG93RXZlbnRMb29wIDogcHVibGljIFJlZkNvdW50ZWQ8
V2luZG93RXZlbnRMb29wPiB7CitjbGFzcyBXaW5kb3dFdmVudExvb3AgZmluYWwgOiBwdWJsaWMg
QWJzdHJhY3RFdmVudExvb3AgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8V2luZG93RXZlbnRMb29wPiBjcmVhdGUoKTsKIAotICAgIHR5cGVk
ZWYgV1RGOjpGdW5jdGlvbjx2b2lkICgpPiBUYXNrRnVuY3Rpb247Ci0KLSAgICB2b2lkIHF1ZXVl
VGFzayhUYXNrU291cmNlLCBEb2N1bWVudCYsIFRhc2tGdW5jdGlvbiYmKTsKKyAgICB2b2lkIHF1
ZXVlVGFzayhUYXNrU291cmNlLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVGFza0Z1bmN0aW9u
JiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBzdXNwZW5kKERvY3VtZW50Jik7Ci0gICAgdm9pZCBy
ZXN1bWUoRG9jdW1lbnQmKTsKKyAgICB2b2lkIHN1c3BlbmQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYpIG92ZXJyaWRlOworICAgIHZvaWQgcmVzdW1lKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSBv
dmVycmlkZTsKIAogcHJpdmF0ZToKLSAgICBXaW5kb3dFdmVudExvb3AoKTsKKyAgICBXaW5kb3dF
dmVudExvb3AoKSA9IGRlZmF1bHQ7CiAKKyAgICB2b2lkIHNjaGVkdWxlVG9SdW5JZk5lZWRlZCgp
OwogICAgIHZvaWQgcnVuKCk7CiAKICAgICBzdHJ1Y3QgVGFzayB7CkBAIC02NCw3ICs1Nyw3IEBA
IHByaXZhdGU6CiAKICAgICAvLyBVc2UgYSBnbG9iYWwgcXVldWUgaW5zdGVhZCBvZiBtdWx0aXBs
ZSB0YXNrIHF1ZXVlcyBzaW5jZSBIVE1MNSBzcGVjIGFsbG93cyBVQSB0byBwaWNrIGFyYml0cmFy
eSBxdWV1ZS4KICAgICBWZWN0b3I8VGFzaz4gbV90YXNrczsKLSAgICBzaXplX3QgbV9hY3RpdmVU
YXNrQ291bnQgeyAwIH07CisgICAgYm9vbCBtX2lzU2NoZWR1bGVkVG9SdW4geyBmYWxzZSB9Owog
ICAgIEhhc2hTZXQ8RG9jdW1lbnRJZGVudGlmaWVyPiBtX2RvY3VtZW50SWRlbnRpZmllcnNGb3JT
dXNwZW5kZWRUYXNrczsKIH07CiAK
</data>
<flag name="review"
          id="397039"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>