<?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>147668</bug_id>
          
          <creation_ts>2015-08-04 17:46:41 -0700</creation_ts>
          <short_desc>REGRESSION (r173784): [Mac] Correct latching error for non-scrollable iframe nested inside scrollable div.</short_desc>
          <delta_ts>2015-08-05 03:50:03 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1114899</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-04 17:46:41 -0700</bug_when>
    <thetext>The WebKit latching logic improperly causes the main frame to scroll in the following case:

1. The page contains an iframe that is sized so that its contents do not need to scroll.
2. The iframe is marked as &quot;overflow: hidden&quot;
3. The iframe is contained in a div, which is sized so that it needs to scroll.

When this happens, the latching logic improperly skips the containing div, and passes the wheel events to the main frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114902</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-04 17:47:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/21870332&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114911</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-04 18:03:12 -0700</bug_when>
    <thetext>This bug was caused by the following:

1. When latching, we evaluate each new wheel event and decide if we should identify the element to latch to, or if we are continuing a set of gestures that are already tied to an existing element.

2. If we are already latched, we pass wheel events to the latched element until we hit the edge of the scrollable region.

3. However, if we have nested scrolling contexts, and we are processing wheel events in the context of a nested frame, we do not want to pass events to the latched element. Consequently, in EventHandler::platformPrepareForWheelEvents, if we find that latchingIsLockedToAncestorOfThisFrame is true we exit early and do not pass events to the latched element.

The bug was that EventHandler::platformCompleteWheelEvent was not handling the nested latch case properly. It was grabbing the current latching state, regardless of whether it applied to the current frame or not. In the case where we were latched to an element in an enclosing frame, we would reach up to the enclosing frame and pass the wheel events to its enclosing view (in this case, the Main Frame).

Instead, we need to perform the same short-circuit we do when beginning processing the wheel event. If we are latched to an enclosing context, we should skip the logic of finding the scrolling container for the latched element. Instead, we should just give the current element the opportunity to handle the wheel event (in case the user provided handlers for it), and then return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114916</commentid>
    <comment_count>3</comment_count>
      <attachid>258250</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-04 18:08:56 -0700</bug_when>
    <thetext>Created attachment 258250
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114921</commentid>
    <comment_count>4</comment_count>
      <attachid>258250</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-08-04 18:13:56 -0700</bug_when>
    <thetext>Comment on attachment 258250
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Test: platform/mac/fast/scrolling/scroll-div-with-nested-nonscrollable-iframe.html

The new hotness is to put the test in fast/scrolling/scroll-div-with-nested-nonscrollable-iframe.html but I haven&apos;t moved platform/mac/fast/scrolling yet so you&apos;re OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114927</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-04 18:26:25 -0700</bug_when>
    <thetext>Committed r187930: &lt;http://trac.webkit.org/changeset/187930&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114956</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-08-04 21:23:41 -0700</bug_when>
    <thetext>The new test is timing out:
https://build.webkit.org/results/Apple%20Yosemite%20Release%20WK1%20(Tests)/r187935%20(7289)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115004</commentid>
    <comment_count>7</comment_count>
      <attachid>258250</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-08-05 03:50:03 -0700</bug_when>
    <thetext>Comment on attachment 258250
Patch

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

&gt; LayoutTests/platform/mac/fast/scrolling/scroll-div-with-nested-nonscrollable-iframe.html:87
&gt; +    if (window.eventSender) {
&gt; +        testRunner.waitUntilDone();

Not sure if this is why it is timing out but the correct way to make an async test using js-test-post-pre/js-test-post-post is 

jsTestIsAsync = true;

on top of the test and finishJSTest() to end it. Explicit testRunner.waitUntilDone()/testRunner.notifyDone() are not needed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258250</attachid>
            <date>2015-08-04 18:08:56 -0700</date>
            <delta_ts>2015-08-04 18:13:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147668-20150804180849.patch</filename>
            <type>text/plain</type>
            <size>9528</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NzkyNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA4LTA0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIxNzM3
ODQpOiBbTWFjXSBDb3JyZWN0IGxhdGNoaW5nIGVycm9yIGZvciBub24tc2Nyb2xsYWJsZSBpZnJh
bWUgbmVzdGVkIGluc2lkZSBzY3JvbGxhYmxlIGRpdi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzY2OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MjE4NzAzMzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGVzdDogcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1kaXYtd2l0aC1uZXN0
ZWQtbm9uc2Nyb2xsYWJsZS1pZnJhbWUuaHRtbAorCisgICAgICAgIFdoZW4gd2UgYXJlIHdyYXBw
aW5nIHVwIHByb2Nlc3Npbmcgb2YgdGhlIHdoZWVsIGV2ZW50IGZvciBhIGdpdmVuIGZyYW1lLCBp
ZiB0aGUgY3VycmVudCBsYXRjaGluZyBjb250ZXh0CisgICAgICAgIGRvZXMgTk9UIGFwcGx5IHRv
IHRoZSBjdXJyZW50IGZyYW1lIChlLmcuLCBiZWNhdXNlIGl0J3MgbGF0Y2hlZCB0byBhbiBlbmNs
b3NpbmcgZnJhbWUpIHdlIHNob3VsZCBub3QgcGFzcworICAgICAgICB3aGVlbCBldmVudHMgZGly
ZWN0bHkgdG8gdGhlIGxhdGNoZWQgZWxlbWVudHMgc2Nyb2xsYWJsZSBjb250YWluZXIuIEluc3Rl
YWQsIHdlIHNob3VsZCBqdXN0IGdpdmUgdGhlIGN1cnJlbnQKKyAgICAgICAgZnJhbWUgYW4gb3Bw
b3J0dW5pdHkgdG8gcGVyZm9ybSBhbnkgY3VzdG9tIHdoZWVsIGV2ZW50IGhhbmRsaW5nIGFuZCBy
ZXR1cm4sIHNvIHRoYXQgdGhlIGVuY2xvc2luZyAobGF0Y2hlZCkKKyAgICAgICAgZnJhbWUgY2Fu
IGRvIHRoZSByZXN0IG9mIGl0cyBldmVudCBoYW5kbGluZy4KKyAgICAgICAgCisgICAgICAgIElm
IHdlIGRvbid0IGRvIHRoaXMsIHdlIGluY29ycmVjdGx5IGFzayB0aGUgZW5jbG9zaW5nIGZyYW1l
IHRvIHByb2Nlc3MgdGhlIGV2ZW50LCB0aGVuIHJldHVybiBjbGFpbWluZyB0aGF0CisgICAgICAg
IHdlIGhhbmRsZWQgdGhlIGV2ZW50LCBwcmV2ZW50aW5nIHRoZSBlbmNsb3NpbmcgZnJhbWUgZnJv
bSBkb2luZyBpdHMgcGFydCBvZiB0aGUgcHJvY2Vzc2luZy4KKworICAgICAgICAqIHBhZ2UvbWFj
L0V2ZW50SGFuZGxlck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6cGxh
dGZvcm1Db21wbGV0ZVdoZWVsRXZlbnQpOgorCiAyMDE1LTA4LTA0ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3ViZnJhbWVzIHdpdGggbm8gY3VycmVudCBIaXN0
b3J5SXRlbSBzaG91bGQgbm90IHByZXZlbnQgcGFnZS1jYWNoaW5nCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCShyZXZpc2lvbiAxODc4NzUpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0JKHdvcmtpbmcgY29weSkK
QEAgLTEwMDksNyArMTAwOSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpwbGF0Zm9ybUNvbXBsZXRl
V2hlZWwKICAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLnZpZXcoKTsKIAogICAgIFNjcm9s
bExhdGNoaW5nU3RhdGUqIGxhdGNoaW5nU3RhdGUgPSBtX2ZyYW1lLm1haW5GcmFtZSgpLmxhdGNo
aW5nU3RhdGUoKTsKLSAgICBpZiAod2hlZWxFdmVudC51c2VMYXRjaGVkRXZlbnRFbGVtZW50KCkg
JiYgbGF0Y2hpbmdTdGF0ZSAmJiBsYXRjaGluZ1N0YXRlLT5zY3JvbGxhYmxlQ29udGFpbmVyKCkp
IHsKKyAgICBpZiAod2hlZWxFdmVudC51c2VMYXRjaGVkRXZlbnRFbGVtZW50KCkgJiYgIWxhdGNo
aW5nSXNMb2NrZWRUb0FuY2VzdG9yT2ZUaGlzRnJhbWUobV9mcmFtZSkgJiYgbGF0Y2hpbmdTdGF0
ZSAmJiBsYXRjaGluZ1N0YXRlLT5zY3JvbGxhYmxlQ29udGFpbmVyKCkpIHsKIAogICAgICAgICBt
X2lzSGFuZGxpbmdXaGVlbEV2ZW50ID0gZmFsc2U7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Nzky
NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1
IEBACisyMDE1LTA4LTA0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisg
ICAgICAgIFJFR1JFU1NJT04gKHIxNzM3ODQpOiBbTWFjXSBDb3JyZWN0IGxhdGNoaW5nIGVycm9y
IGZvciBub24tc2Nyb2xsYWJsZSBpZnJhbWUgbmVzdGVkIGluc2lkZSBzY3JvbGxhYmxlIGRpdi4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzY2OAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE4NzAzMzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcv
cmVzb3VyY2VzL2JhY2tncm91bmQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1kaXYtd2l0aC1uZXN0ZWQtbm9uc2Nyb2xsYWJsZS1pZnJh
bWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9zY3Jv
bGxpbmcvc2Nyb2xsLWRpdi13aXRoLW5lc3RlZC1ub25zY3JvbGxhYmxlLWlmcmFtZS5odG1sOiBB
ZGRlZC4KKwogMjAxNS0wOC0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFN1YmZyYW1lcyB3aXRoIG5vIGN1cnJlbnQgSGlzdG9yeUl0ZW0gc2hvdWxkIG5vdCBw
cmV2ZW50IHBhZ2UtY2FjaGluZwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
c2Nyb2xsaW5nL3Njcm9sbC1kaXYtd2l0aC1uZXN0ZWQtbm9uc2Nyb2xsYWJsZS1pZnJhbWUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Nj
cm9sbGluZy9zY3JvbGwtZGl2LXdpdGgtbmVzdGVkLW5vbnNjcm9sbGFibGUtaWZyYW1lLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Nj
cm9sbGluZy9zY3JvbGwtZGl2LXdpdGgtbmVzdGVkLW5vbnNjcm9sbGFibGUtaWZyYW1lLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2IEBACitQdXQgbW91c2UgaW5zaWRl
IHRoZSBpZnJhbWUgKGJlbG93KSBhbmQgZmxpY2sgZG93bndhcmRzCisKK1Rlc3RzIHRoYXQgaWZy
YW1lIGRvZXMgc2Nyb2xsIHdoZW4gaW5uZXIgaWZyYW1lIGlzIE5PVCBzY3JvbGxhYmxlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCitQQVNTIGRpdiBkaWQgc2Nyb2xsLgorUEFTUyBQYWdlIGRp
ZCBOT1Qgc2Nyb2xsLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9z
Y3JvbGwtZGl2LXdpdGgtbmVzdGVkLW5vbnNjcm9sbGFibGUtaWZyYW1lLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1kaXYt
d2l0aC1uZXN0ZWQtbm9uc2Nyb2xsYWJsZS1pZnJhbWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtZGl2LXdpdGgtbmVz
dGVkLW5vbnNjcm9sbGFibGUtaWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzLyNldmVudHMtV2hl
ZWxFdmVudCI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKwordmFyIGRpdlRhcmdl
dDsKK3ZhciBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmU7Cit2YXIgZGl2U2Nyb2xsUG9zaXRpb25C
ZWZvcmU7CisKK3ZhciBjb250aW51ZUNvdW50ID0gNTsKKworZnVuY3Rpb24gbG9jYXRpb25Jbldp
bmRvd0Nvb3JkaW5hdGVzKGVsZW1lbnQpCit7CisgICAgdmFyIHBvc2l0aW9uID0ge307CisgICAg
cG9zaXRpb24ueCA9IGVsZW1lbnQub2Zmc2V0TGVmdDsKKyAgICBwb3NpdGlvbi55ID0gZWxlbWVu
dC5vZmZzZXRUb3A7CisKKyAgICB3aGlsZSAoZWxlbWVudC5vZmZzZXRQYXJlbnQpIHsKKyAgICAg
ICAgcG9zaXRpb24ueCA9IHBvc2l0aW9uLnggKyBlbGVtZW50Lm9mZnNldFBhcmVudC5vZmZzZXRM
ZWZ0OworICAgICAgICBwb3NpdGlvbi55ID0gcG9zaXRpb24ueSArIGVsZW1lbnQub2Zmc2V0UGFy
ZW50Lm9mZnNldFRvcDsKKyAgICAgICAgaWYgKGVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImJvZHkiKVswXSkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGVs
ZW1lbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudDsKKyAgICB9CisKKyAgICByZXR1cm4gcG9zaXRp
b247Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyAgICAgICAgICAgIAorfQorCitmdW5jdGlvbiBj
aGVja0ZvclNjcm9sbCgpIHsKKyAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSBkb2N1
bWVudC5ib2R5LnNjcm9sbFRvcDsKKyAgICB2YXIgZGl2U2Nyb2xsUG9zaXRpb25BZnRlciA9IGRp
dlRhcmdldC5zY3JvbGxUb3A7CisKKyAgICBpZiAoZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmUgIT0g
ZGl2U2Nyb2xsUG9zaXRpb25BZnRlcikKKyAgICAgICAgdGVzdFBhc3NlZCgiZGl2IGRpZCBzY3Jv
bGwuIik7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKCJkaXYgZGlkIE5PVCBzY3JvbGwu
Iik7CisKKyAgICBpZiAocGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlID09IHBhZ2VTY3JvbGxQb3Np
dGlvbkFmdGVyKQorICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBOT1Qgc2Nyb2xsLiIpOwor
ICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZCgiUGFnZSBESUQgc2Nyb2xsLiIpOworCisgICAg
ZmluaXNoVGVzdCgpOworfQorCitmdW5jdGlvbiBzY3JvbGxUZXN0KCkgeworICAgIHBhZ2VTY3Jv
bGxQb3NpdGlvbkJlZm9yZSA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOworCisgICAgZGl2VGFy
Z2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njcm9sbGFibGVfZGl2Jyk7CisKKyAgICB2
YXIgd2luZG93UG9zaXRpb24gPSBsb2NhdGlvbkluV2luZG93Q29vcmRpbmF0ZXMoZGl2VGFyZ2V0
KTsKKworICAgIHZhciBzdGFydFBvc1ggPSB3aW5kb3dQb3NpdGlvbi54ICsgMC41ICogZGl2VGFy
Z2V0LmNsaWVudFdpZHRoOworICAgIHZhciBzdGFydFBvc1kgPSB3aW5kb3dQb3NpdGlvbi55ICsg
MC41ICogZGl2VGFyZ2V0LmNsaWVudEhlaWdodDsKKworICAgIGRpdlNjcm9sbFBvc2l0aW9uQmVm
b3JlID0gZGl2VGFyZ2V0LnNjcm9sbFRvcDsKKworICAgIC8vIFNjcm9sbCB0aGUgI3NvdXJjZSB1
bnRpbCB3ZSByZWFjaCB0aGUgI3RhcmdldC4KKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhz
dGFydFBvc1gsIHN0YXJ0UG9zWSk7IC8vIE1ha2Ugc3VyZSB3ZSBhcmUganVzdCBvdXRzaWRlIHRo
ZSBpRnJhbWUKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoMCwgLTEsICdiZWdhbicsICdub25lJywgdHJ1ZSk7CisgICAgZXZlbnRTZW5kZXIu
bW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcs
ICdub25lJywgdHJ1ZSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFu
ZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJywgdHJ1ZSk7CisgICAgZXZl
bnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdl
bmRlZCcsICdub25lJywgdHJ1ZSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhX
aGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdiZWdpbicsIHRydWUpOworICAg
IGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAt
MSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2NvbnRpbnVlJywg
dHJ1ZSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVt
UGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRydWUpOworICAgIGV2ZW50U2VuZGVy
Lm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAn
Y29udGludWUnLCB0cnVlKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVs
QW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ25vbmUnLCAnZW5kJywgdHJ1ZSk7CisgICAgZXZlbnRT
ZW5kZXIuY2FsbEFmdGVyU2Nyb2xsaW5nQ29tcGxldGVzKGNoZWNrRm9yU2Nyb2xsKTsKK30KKwor
ZnVuY3Rpb24gc2V0dXBUb3BMZXZlbCgpIHsKKworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKKyAgICAgICAgZXZlbnRT
ZW5kZXIubW9uaXRvcldoZWVsRXZlbnRzKCk7CisgICAgICAgIHNldFRpbWVvdXQoc2Nyb2xsVGVz
dCwgMCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdmFyIG1lc3NhZ2VMb2NhdGlvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQnKTsKKyAgICAgICAgdmFyIG1lc3NhZ2UgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAi
PHA+VGhpcyB0ZXN0IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRlclRyZWUuIFRvIG1hbnVh
bGx5IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4iCisgICAgICAgICAgICAr
ICJpbnNpZGUgdGhlIElGcmFtZSwgdGhlbiB1c2UgdGhlIG1vdXNlIHdoZWVsIG9yIGEgdHdvLWZp
bmdlciBzd2lwZSB0byBzY3JvbGwgdGhlIElGcmFtZSB0byB0aGUgYm90dG9tIChhbmQgYmV5b25k
KS48YnIvPiIKKyAgICAgICAgICAgICsgIjxici8+PGJyLz4iCisgICAgICAgICAgICArICJUaGUg
dGVzdCBwYXNzZXMgaWYgeW91IHNjcm9sbCBmYXIgZW5vdWdoIHRvIHNlZSB0aGUgcm93IG9mIEVO
RCBsYWJlbHMgYnV0IHRoZSBtYWluIHBhZ2UgZG9lcyBub3Qgc2Nyb2xsLjwvcD4iOworICAgICAg
ICBtZXNzYWdlTG9jYXRpb24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7CisgICAgfQorfQorCis8L3Nj
cmlwdD4KKzxkaXYgaWQ9InBhcmVudCIgc3R5bGU9ImhlaWdodDogMjAwMHB4Ij4KKyAgICA8ZGl2
IGlkPSJzb3VyY2UiIHN0eWxlPSJoZWlnaHQ6IDIwcHgiPgorICAgICAgICBQdXQgbW91c2UgaW5z
aWRlIHRoZSBpZnJhbWUgKGJlbG93KSBhbmQgZmxpY2sgZG93bndhcmRzCisgICAgPC9kaXY+Cisg
ICAgPGRpdiBpZD0ic2Nyb2xsYWJsZV9kaXYiIHN0eWxlPSJoZWlnaHQ6IDQwMHB4OyB3aWR0aDog
NDMwcHg7IG92ZXJmbG93LXk6YXV0bzsgcGFkZGluZzogMDsiPgorICAgICAgICA8aWZyYW1lIGlk
PSJub25fc2Nyb2xsYWJsZV9pZnJhbWUiIHNyYz0icmVzb3VyY2VzL2JhY2tncm91bmQuaHRtbCIg
c3R5bGU9ImhlaWdodDogMjEwMHB4OyB3aWR0aDo0MTBweDsgb3ZlcmZsb3c6aGlkZGVuOyBzY3Jv
bGxpbmc6IG5vIiBvbmxvYWQ9InNldHVwVG9wTGV2ZWwoKTsiPgorICAgICAgICA8L2lmcmFtZT4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgaWZyYW1lIGRvZXMgc2Nyb2xsIHdoZW4gaW5uZXIgaWZy
YW1lIGlzIE5PVCBzY3JvbGxhYmxlLiIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvcmVzb3Vy
Y2VzL2JhY2tncm91bmQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9zY3JvbGxpbmcvcmVzb3VyY2VzL2JhY2tncm91bmQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9yZXNvdXJjZXMvYmFj
a2dyb3VuZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBo
dG1sPgorCis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICBkaXYgeworICAgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgaGVpZ2h0
OiAyMDAwcHg7CisgICAgICAgIHBhZGRpbmc6IDA7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSwgc2lsdmVyIDIwMHB4
KTsKKyAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+VGhpcyBj
b250ZW50IGlzIGRpc3BsYXllZCBpbiBhbiBpZnJhbWUuIFRoZSBpZnJhbWUgc2hvdWxkIGJlIHNp
emVkIHN1Y2ggdGhhdCBpdCBkb2VzIG5vdCBuZWVkIHRvIHNjcm9sbC48L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>
<flag name="review"
          id="283424"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>