<?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>104373</bug_id>
          
          <creation_ts>2012-12-07 08:30:01 -0800</creation_ts>
          <short_desc>Harden RenderBox::canBeScrolledAndHasScrollableArea logic</short_desc>
          <delta_ts>2013-08-21 07:06:21 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antonio Gomes">tonikitoo</reporter>
          <assigned_to name="Antonio Gomes">tonikitoo</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>esprehn</cc>
    
    <cc>glenn</cc>
    
    <cc>jkjiang</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>skyostil</cc>
    
    <cc>tdanderson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>785896</commentid>
    <comment_count>0</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-07 08:30:01 -0800</bug_when>
    <thetext>353 // The RenderBox::canbeScrolledAndHasScrollableArea method returns true for the
354 // following scenario, for example:
355 // (1) a div that has a vertical overflow but no horizontal overflow
356 //     with overflow-y: hidden and overflow-x: auto set.
357 // The version below fixes it.
358 // FIXME: Fix RenderBox::canBeScrolledAndHasScrollableArea method instead.
359 bool InRegionScrollerPrivate::canScrollRenderBox(RenderBox* box)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845354</commentid>
    <comment_count>1</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2013-03-01 11:30:01 -0800</bug_when>
    <thetext>*** Bug 109633 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919074</commentid>
    <comment_count>2</comment_count>
      <attachid>209200</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-08-20 09:12:54 -0700</bug_when>
    <thetext>Created attachment 209200
patch 0.1 - for EWS (no tests or changelog added yet)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919144</commentid>
    <comment_count>3</comment_count>
      <attachid>209213</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-08-20 11:47:28 -0700</bug_when>
    <thetext>Created attachment 209213
patch 1 - for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919217</commentid>
    <comment_count>4</comment_count>
      <attachid>209213</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-08-20 14:03:15 -0700</bug_when>
    <thetext>Comment on attachment 209213
patch 1 - for review

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

&gt; LayoutTests/ChangeLog:9
&gt; +        ayis if it is scrollable in that direction, according to its style.

axis

&gt; Source/WebCore/rendering/RenderBox.h:467
&gt; +    bool hasScrollableOverflowX() const { return scrollsOverflowX() &amp;&amp; scrollWidth() != clientWidth(); }
&gt; +    bool hasScrollableOverflowY() const { return scrollsOverflowY() &amp;&amp; scrollHeight() != clientHeight(); }

I&apos;m not convinced that scrollWidth() != clientWidth() is right here.  RenderLayer::hasHorizontalOverflow() does:  scrollWidth() &gt; renderBox()-&gt;pixelSnappedClientWidth();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919402</commentid>
    <comment_count>5</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-08-21 07:06:21 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/154383</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209200</attachid>
            <date>2013-08-20 09:12:54 -0700</date>
            <delta_ts>2013-08-20 11:48:03 -0700</delta_ts>
            <desc>patch 0.1 - for EWS (no tests or changelog added yet)</desc>
            <filename>0001-Harden-RenderBox-canBeScrolledAndHasScrollableArea-l.patch</filename>
            <type>text/plain</type>
            <size>3419</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA1Mjc4NmNmZDlmYWVhN2ExZGE4YmMyYjUzOTI2Y2Q4ZTA0ZGU2ZjA5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhMS5nb21lc0BzaXNhLnNhbXN1bmcu
Y29tPgpEYXRlOiBUdWUsIDIwIEF1ZyAyMDEzIDEyOjEyOjQ0IC0wNDAwClN1YmplY3Q6IFtQQVRD
SF0gSGFyZGVuIFJlbmRlckJveDo6Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhIGxv
Z2ljCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0MzczCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KUGF0Y2ggYnkgQW50b25pbyBHb21lcyA8YTEuZ29tZXNA
c2lzYS5zYW1zdW5nLmNvbT4KCk5vIG5ldyB0ZXN0cyAoT09QUyEpLgoKKiByZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcDoKKFdlYkNvcmU6OlJlbmRlckJveDo6Y2FuQmVQcm9ncmFtYXRpY2FsbHlTY3Jv
bGxlZCk6CiogcmVuZGVyaW5nL1JlbmRlckJveC5oOgooV2ViQ29yZTo6UmVuZGVyQm94OjpoYXNT
Y3JvbGxhYmxlT3ZlcmZsb3dYKToKKFdlYkNvcmU6OlJlbmRlckJveDo6aGFzU2Nyb2xsYWJsZU92
ZXJmbG93WSk6Ci0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgfCAx
NSArKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
IHwgMTMgKysrKysrKysrKysrLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5o
ICAgfCAgMyArKysKIDMgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv
bigtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBkMjI2ODc3Li40YTkyOWYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTMtMDgtMjAgIEFudG9uaW8gR29tZXMgIDxhMS5nb21lc0BzaXNhLnNhbXN1
bmcuY29tPgorCisgICAgICAgIEhhcmRlbiBSZW5kZXJCb3g6OmNhbkJlU2Nyb2xsZWRBbmRIYXNT
Y3JvbGxhYmxlQXJlYSBsb2dpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA0MzczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y2FuQmVQcm9ncmFt
YXRpY2FsbHlTY3JvbGxlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpoYXNTY3JvbGxhYmxlT3ZlcmZsb3dYKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aGFzU2Nyb2xsYWJsZU92ZXJmbG93WSk6CisKIDIwMTMt
MDgtMTkgIEFudG9uaW8gR29tZXMgIDxhMS5nb21lc0BzaXNhLnNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFRleHQgZHJhZ2dpbmcgY2FuIHNjcm9sbCBvdmVyZmxvdzpoaWRkZW4gYm94ZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNTRmZTg4ZC4uNWQxOGJkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTc5MCw3ICs3OTAsMTggQEAg
Ym9vbCBSZW5kZXJCb3g6OmNhbkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSgpIGNvbnN0
CiAgICAgCiBib29sIFJlbmRlckJveDo6Y2FuQmVQcm9ncmFtYXRpY2FsbHlTY3JvbGxlZCgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIChoYXNPdmVyZmxvd0NsaXAoKSAmJiAoc2Nyb2xsc092ZXJmbG93
KCkgfHwgKG5vZGUoKSAmJiBub2RlKCktPnJlbmRlcmVySXNFZGl0YWJsZSgpKSkpIHx8IChub2Rl
KCkgJiYgbm9kZSgpLT5pc0RvY3VtZW50Tm9kZSgpKTsKKyAgICBOb2RlKiBub2RlID0gdGhpcy0+
bm9kZSgpOworICAgIGlmIChub2RlICYmIG5vZGUtPmlzRG9jdW1lbnROb2RlKCkpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgYm9vbCBoYXNTY3JvbGxhYmxlT3ZlcmZsb3cgPSBoYXNTY3JvbGxh
YmxlT3ZlcmZsb3dYKCkgfHwgaGFzU2Nyb2xsYWJsZU92ZXJmbG93WSgpOworICAgIGlmIChzY3Jv
bGxzT3ZlcmZsb3coKSAmJiBoYXNTY3JvbGxhYmxlT3ZlcmZsb3cpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgcmV0dXJuIG5vZGUgJiYgbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CiB9
CiAKIGJvb2wgUmVuZGVyQm94Ojp1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggZjcxYjcwYS4uNjhjZjA1YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtNDYzLDYgKzQ2Myw5IEBAIHB1YmxpYzoK
ICAgICBib29sIHNjcm9sbHNPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHNjcm9sbHNPdmVyZmxv
d1goKSB8fCBzY3JvbGxzT3ZlcmZsb3dZKCk7IH0KICAgICBib29sIHNjcm9sbHNPdmVyZmxvd1go
KSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSAmJiAoc3R5bGUoKS0+b3ZlcmZsb3dY
KCkgPT0gT1NDUk9MTCB8fCBoYXNBdXRvSG9yaXpvbnRhbFNjcm9sbGJhcigpKTsgfQogICAgIGJv
b2wgc2Nyb2xsc092ZXJmbG93WSgpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpICYm
IChzdHlsZSgpLT5vdmVyZmxvd1koKSA9PSBPU0NST0xMIHx8IGhhc0F1dG9WZXJ0aWNhbFNjcm9s
bGJhcigpKTsgfQorICAgIGJvb2wgaGFzU2Nyb2xsYWJsZU92ZXJmbG93WCgpIGNvbnN0IHsgcmV0
dXJuIHNjcm9sbHNPdmVyZmxvd1goKSAmJiBzY3JvbGxXaWR0aCgpICE9IGNsaWVudFdpZHRoKCk7
IH0KKyAgICBib29sIGhhc1Njcm9sbGFibGVPdmVyZmxvd1koKSBjb25zdCB7IHJldHVybiBzY3Jv
bGxzT3ZlcmZsb3dZKCkgJiYgc2Nyb2xsSGVpZ2h0KCkgIT0gY2xpZW50SGVpZ2h0KCk7IH0KKwog
ICAgIGJvb2wgdXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSBjb25zdDsKICAgICAKICAgICBib29s
IGhhc1Vuc3BsaXR0YWJsZVNjcm9sbGluZ092ZXJmbG93KCkgY29uc3Q7Ci0tIAoxLjguMy4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209213</attachid>
            <date>2013-08-20 11:47:28 -0700</date>
            <delta_ts>2013-08-20 14:12:01 -0700</delta_ts>
            <desc>patch 1 - for review</desc>
            <filename>0001-Harden-RenderBox-canBeScrolledAndHasScrollableArea-l.patch</filename>
            <type>text/plain</type>
            <size>8703</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA4ZGMwYmY2OGI1OGY5Mjc1NmZkYTNlY2UyNzkzMmE5NmQ5NThhZjA0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhMS5nb21lc0BzaXNhLnNhbXN1bmcu
Y29tPgpEYXRlOiBUdWUsIDIwIEF1ZyAyMDEzIDE0OjQ2OjQ0IC0wNDAwClN1YmplY3Q6IFtQQVRD
SF0gSGFyZGVuIFJlbmRlckJveDo6Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhIGxv
Z2ljCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0MzczCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KUGF0Y2ggYnkgQW50b25pbyBHb21lcyA8YTEuZ29tZXNA
c2lzYS5zYW1zdW5nLmNvbT4KClNvdXJjZS9XZWJDb3JlOgoKUHJldmlvdXNseSBpZiBhIHNheSBk
aXYgaGFzIGEgb3ZlcmZsb3duIGNvbnRlbnQgb24gJ3knIGJ1dCBpcwpzdHlsZWQgYXMgIm92ZXJm
bG93LXg6IGF1dG87IG92ZXJmbG93LXk6IGhpZGRlbiIsIFJlbmRlckJveDo6Y2FuQmVQcm9ncmFt
YXRpY2FsbHlTY3JvbGxlZAp3b3VsZCBzdGlsbCByZXR1cm4gdHJ1ZS4gSXQgaW50ZXJmZXJzLCBh
bW9uZyBvdGhlciB0aGluZ3MsIHdpdGggdGhlIHdheQphdXRvc2Nyb2xsIHdvcmtzLgoKUGF0Y2gg
Zml4ZXMgaXQgYnkgYWRkaW5nIHR3byBoZWxwZXIgbWV0aG9kcyB0byBSZW5kZXJCb3ggY2xhc3Mg
aW4gb3JkZXIgdG8gdmVyaWZ5IGEgYm94JwpzY3JvbGxhYmlsaXR5IGluIGEgZ2l2ZW4gYXlpcyAo
eCBvciB5KTsgVGhleSBhcmUgdXNlZCB3aGVuIGNoZWNraW5nIGlmIGEgZ2l2ZW4gYm94IGlzIGlu
CmZhY3QgcHJvZ3JhbWF0aWNhbGx5IHNjcm9sbGFibGUuCgpUZXN0OiBmYXN0L2V2ZW50cy9hdXRv
c2Nyb2xsLW92ZXJmbG93LWhpZGRlbi1sb25naGFuZHMuaHRtbAoKV2ViS2l0IGF1dG9zY3JvbGwg
YmVoYXZpb3Igbm93IG1hdGNoZXMgRmlyZWZveCBhbmQgT3BlcmExMiAocHJlLWJsaW5rKQppbiB0
aGF0IHNlbnNlLgoKKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKFdlYkNvcmU6OlJlbmRlckJv
eDo6Y2FuQmVQcm9ncmFtYXRpY2FsbHlTY3JvbGxlZCk6CiogcmVuZGVyaW5nL1JlbmRlckJveC5o
OgooV2ViQ29yZTo6UmVuZGVyQm94OjpoYXNTY3JvbGxhYmxlT3ZlcmZsb3dYKToKKFdlYkNvcmU6
OlJlbmRlckJveDo6aGFzU2Nyb2xsYWJsZU92ZXJmbG93WSk6CgpMYXlvdXRUZXN0czoKClBhdGNo
IGFkZHMgYSB0ZXN0IHRvIGVuc3VyZSBhdXRvc2Nyb2xsaW5nIG9ubHkgaGFwcGVucyBvbiBhIGdp
dmVuCmF5aXMgaWYgaXQgaXMgc2Nyb2xsYWJsZSBpbiB0aGF0IGRpcmVjdGlvbiwgYWNjb3JkaW5n
IHRvIGl0cyBzdHlsZS4KCiogZmFzdC9ldmVudHMvYXV0b3Njcm9sbC1vdmVyZmxvdy1oaWRkZW4t
bG9uZ2hhbmRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogZmFzdC9ldmVudHMvYXV0b3Njcm9sbC1v
dmVyZmxvdy1oaWRkZW4tbG9uZ2hhbmRzLmh0bWw6IEFkZGVkLgotLS0KIExheW91dFRlc3RzL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysKIC4uLnRvc2Ny
b2xsLW92ZXJmbG93LWhpZGRlbi1sb25naGFuZHMtZXhwZWN0ZWQudHh0IHwgIDIgKwogLi4uL2F1
dG9zY3JvbGwtb3ZlcmZsb3ctaGlkZGVuLWxvbmdoYW5kcy5odG1sICAgICAgfCA1NiArKysrKysr
KysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8IDI3ICsrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcCAgICAgICAgICAgICB8IDEzICsrKystCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmggICAgICAgICAgICAgICB8ICAzICsrCiA2IGZpbGVzIGNoYW5nZWQsIDEx
MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvYXV0b3Njcm9sbC1vdmVyZmxvdy1oaWRkZW4tbG9uZ2hhbmRzLWV4
cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2F1
dG9zY3JvbGwtb3ZlcmZsb3ctaGlkZGVuLWxvbmdoYW5kcy5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJmMzI3NzYu
LjY3NDc1MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0wOC0yMCAgQW50b25pbyBHb21l
cyAgPGExLmdvbWVzQHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgSGFyZGVuIFJlbmRlckJv
eDo6Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhIGxvZ2ljCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQzNzMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBhZGRzIGEgdGVzdCB0byBl
bnN1cmUgYXV0b3Njcm9sbGluZyBvbmx5IGhhcHBlbnMgb24gYSBnaXZlbgorICAgICAgICBheWlz
IGlmIGl0IGlzIHNjcm9sbGFibGUgaW4gdGhhdCBkaXJlY3Rpb24sIGFjY29yZGluZyB0byBpdHMg
c3R5bGUuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9hdXRvc2Nyb2xsLW92ZXJmbG93LWhpZGRl
bi1sb25naGFuZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9h
dXRvc2Nyb2xsLW92ZXJmbG93LWhpZGRlbi1sb25naGFuZHMuaHRtbDogQWRkZWQuCisKIDIwMTMt
MDgtMTkgIEFudG9uaW8gR29tZXMgIDxhMS5nb21lc0BzaXNhLnNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFRleHQgZHJhZ2dpbmcgY2FuIHNjcm9sbCBvdmVyZmxvdzpoaWRkZW4gYm94ZXMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2F1dG9zY3JvbGwtb3ZlcmZsb3ctaGlkZGVu
LWxvbmdoYW5kcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9hdXRvc2Ny
b2xsLW92ZXJmbG93LWhpZGRlbi1sb25naGFuZHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhNDY1NjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9hdXRvc2Nyb2xsLW92ZXJmbG93LWhpZGRlbi1sb25naGFuZHMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorVHJ5IHRvIGF1dG9zY3JvbGwgdGhpcyB0ZXh0Lgor
UEFTU0VEIDogdGhlIGF1dG9zY3JvbGwgZGlkIG5vdCBoYXBwZW4hCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9hdXRvc2Nyb2xsLW92ZXJmbG93LWhpZGRlbi1sb25naGFuZHMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2F1dG9zY3JvbGwtb3ZlcmZsb3ctaGlkZGVu
LWxvbmdoYW5kcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxNzkx
ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9hdXRvc2Nyb2xs
LW92ZXJmbG93LWhpZGRlbi1sb25naGFuZHMuaHRtbApAQCAtMCwwICsxLDU2IEBACis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICBmdW5jdGlvbiBsb2cobXNnKQor
ICAgICAgIHsKKyAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtc2cgKyAnXG4nKSk7CisgICAgICAg
fQorCisgICAgICAgZnVuY3Rpb24gdGVzdCgpCisgICAgICAgeworICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOworICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAg
ICAgICBzZXRUaW1lb3V0KGF1dG9zY3JvbGxUZXN0UGFydDEsIDApOworICAgICAgICAgICB9Cisg
ICAgICAgfQorCisgICAgICAgZnVuY3Rpb24gYXV0b3Njcm9sbFRlc3RQYXJ0MSgpCisgICAgICAg
eworICAgICAgICAgICB2YXIgdGV4dEluRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rl
eHRJbkRpdicpOworICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAg
ICAgICAgICB2YXIgeCA9IHRleHRJbkRpdi5vZmZzZXRMZWZ0ICsgMTc7CisgICAgICAgICAgICAg
ICB2YXIgeSA9IHRleHRJbkRpdi5vZmZzZXRUb3AgKyA3OworICAgICAgICAgICAgICAgZXZlbnRT
ZW5kZXIuZHJhZ01vZGUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKHgsIHkpOworICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Cisg
ICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5ICsgMjApOworICAgICAg
ICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSArIDIyMCk7CisgICAgICAgICAg
IH0KKyAgICAgICAgICAgc2V0VGltZW91dChhdXRvc2Nyb2xsVGVzdFBhcnQyLCAxMDApOworICAg
ICAgIH0KKworICAgICAgIGZ1bmN0aW9uIGF1dG9zY3JvbGxUZXN0UGFydDIoKQorICAgICAgIHsK
KyAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgICAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlVXAoKTsKKyAgICAgICAgICAgdmFyIHNkID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ25vblNjcm9sbGFibGVEaXYnKTsKKyAgICAgICAgICAgaWYgKHNkLnNjcm9sbFRvcCA9
PSAwKQorICAgICAgICAgICAgICAgbG9nKCJQQVNTRUQgOiB0aGUgYXV0b3Njcm9sbCBkaWQgbm90
IGhhcHBlbiEiKTsKKyAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgbG9nKCJGQUlMRUQg
OiB0aGUgYXV0b3Njcm9sbCBoYXMgaGFwcGVuZWQgOi0oIik7CisgICAgICAgICAgIAorICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICAgICB9ICAgICAgIAorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisgICA8ZGl2IGlkPSJub25TY3JvbGxhYmxlRGl2
IiBzdHlsZT0iaGVpZ2h0OiAxMDBweDsgb3ZlcmZsb3cteDogYXV0bzsgb3ZlcmZsb3cteTogaGlk
ZGVuOyB3aWR0aDogMTAwcHgiPgorICAgICAgIDxkaXYgaWQ9InRhaWxEaXYiIHN0eWxlPSIgaGVp
Z2h0OiAxMDAwcHg7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdyI+CisgICAgICAgICAgIDxzcGFu
IGlkPSd0ZXh0SW5EaXYnPiBUcnkgdG8gYXV0b3Njcm9sbCB0aGlzIHRleHQuPGJyPgorICAgICAg
IDwvZGl2PgorICAgPC9kaXY+CisgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMjI2ODc3Li43YzhjYTVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzAgQEAKKzIwMTMtMDgtMjAgIEFudG9uaW8gR29tZXMgIDxhMS5nb21lc0BzaXNhLnNh
bXN1bmcuY29tPgorCisgICAgICAgIEhhcmRlbiBSZW5kZXJCb3g6OmNhbkJlU2Nyb2xsZWRBbmRI
YXNTY3JvbGxhYmxlQXJlYSBsb2dpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA0MzczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUHJldmlvdXNseSBpZiBhIHNheSBkaXYgaGFzIGEgb3ZlcmZsb3duIGNv
bnRlbnQgb24gJ3knIGJ1dCBpcworICAgICAgICBzdHlsZWQgYXMgIm92ZXJmbG93LXg6IGF1dG87
IG92ZXJmbG93LXk6IGhpZGRlbiIsIFJlbmRlckJveDo6Y2FuQmVQcm9ncmFtYXRpY2FsbHlTY3Jv
bGxlZAorICAgICAgICB3b3VsZCBzdGlsbCByZXR1cm4gdHJ1ZS4gSXQgaW50ZXJmZXJzLCBhbW9u
ZyBvdGhlciB0aGluZ3MsIHdpdGggdGhlIHdheQorICAgICAgICBhdXRvc2Nyb2xsIHdvcmtzLgor
CisgICAgICAgIFBhdGNoIGZpeGVzIGl0IGJ5IGFkZGluZyB0d28gaGVscGVyIG1ldGhvZHMgdG8g
UmVuZGVyQm94IGNsYXNzIGluIG9yZGVyIHRvIHZlcmlmeSBhIGJveCcKKyAgICAgICAgc2Nyb2xs
YWJpbGl0eSBpbiBhIGdpdmVuIGF5aXMgKHggb3IgeSk7IFRoZXkgYXJlIHVzZWQgd2hlbiBjaGVj
a2luZyBpZiBhIGdpdmVuIGJveCBpcyBpbgorICAgICAgICBmYWN0IHByb2dyYW1hdGljYWxseSBz
Y3JvbGxhYmxlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL2F1dG9zY3JvbGwtb3ZlcmZs
b3ctaGlkZGVuLWxvbmdoYW5kcy5odG1sCisKKyAgICAgICAgV2ViS2l0IGF1dG9zY3JvbGwgYmVo
YXZpb3Igbm93IG1hdGNoZXMgRmlyZWZveCBhbmQgT3BlcmExMiAocHJlLWJsaW5rKQorICAgICAg
ICBpbiB0aGF0IHNlbnNlLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNhbkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xsZWQp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6aGFzU2Nyb2xsYWJsZU92ZXJmbG93WCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6Omhhc1Njcm9sbGFibGVPdmVyZmxvd1kpOgorCiAyMDEzLTA4LTE5ICBBbnRvbmlvIEdv
bWVzICA8YTEuZ29tZXNAc2lzYS5zYW1zdW5nLmNvbT4KIAogICAgICAgICBUZXh0IGRyYWdnaW5n
IGNhbiBzY3JvbGwgb3ZlcmZsb3c6aGlkZGVuIGJveGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCmluZGV4IDU0ZmU4OGQuLjVkMThiZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCkBAIC03OTAsNyArNzkwLDE4IEBAIGJvb2wgUmVuZGVyQm94Ojpj
YW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEoKSBjb25zdAogICAgIAogYm9vbCBSZW5k
ZXJCb3g6OmNhbkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xsZWQoKSBjb25zdAogewotICAgIHJldHVy
biAoaGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHNjcm9sbHNPdmVyZmxvdygpIHx8IChub2RlKCkgJiYg
bm9kZSgpLT5yZW5kZXJlcklzRWRpdGFibGUoKSkpKSB8fCAobm9kZSgpICYmIG5vZGUoKS0+aXNE
b2N1bWVudE5vZGUoKSk7CisgICAgTm9kZSogbm9kZSA9IHRoaXMtPm5vZGUoKTsKKyAgICBpZiAo
bm9kZSAmJiBub2RlLT5pc0RvY3VtZW50Tm9kZSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGJvb2wgaGFzU2Nyb2xsYWJsZU92ZXJmbG93ID0gaGFzU2Nyb2xsYWJsZU92ZXJmbG93WCgpIHx8
IGhhc1Njcm9sbGFibGVPdmVyZmxvd1koKTsKKyAgICBpZiAoc2Nyb2xsc092ZXJmbG93KCkgJiYg
aGFzU2Nyb2xsYWJsZU92ZXJmbG93KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVy
biBub2RlICYmIG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOwogfQogCiBib29sIFJlbmRlckJv
eDo6dXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oCmluZGV4IGY3MWI3MGEuLjY4Y2YwNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgKQEAgLTQ2Myw2ICs0NjMsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBzY3JvbGxz
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzY3JvbGxzT3ZlcmZsb3dYKCkgfHwgc2Nyb2xsc092
ZXJmbG93WSgpOyB9CiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZsb3dYKCkgY29uc3QgeyByZXR1cm4g
aGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHN0eWxlKCktPm92ZXJmbG93WCgpID09IE9TQ1JPTEwgfHwg
aGFzQXV0b0hvcml6b250YWxTY3JvbGxiYXIoKSk7IH0KICAgICBib29sIHNjcm9sbHNPdmVyZmxv
d1koKSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSAmJiAoc3R5bGUoKS0+b3ZlcmZs
b3dZKCkgPT0gT1NDUk9MTCB8fCBoYXNBdXRvVmVydGljYWxTY3JvbGxiYXIoKSk7IH0KKyAgICBi
b29sIGhhc1Njcm9sbGFibGVPdmVyZmxvd1goKSBjb25zdCB7IHJldHVybiBzY3JvbGxzT3ZlcmZs
b3dYKCkgJiYgc2Nyb2xsV2lkdGgoKSAhPSBjbGllbnRXaWR0aCgpOyB9CisgICAgYm9vbCBoYXNT
Y3JvbGxhYmxlT3ZlcmZsb3dZKCkgY29uc3QgeyByZXR1cm4gc2Nyb2xsc092ZXJmbG93WSgpICYm
IHNjcm9sbEhlaWdodCgpICE9IGNsaWVudEhlaWdodCgpOyB9CisKICAgICBib29sIHVzZXNDb21w
b3NpdGVkU2Nyb2xsaW5nKCkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBoYXNVbnNwbGl0dGFibGVT
Y3JvbGxpbmdPdmVyZmxvdygpIGNvbnN0OwotLSAKMS44LjMuMwoK
</data>
<flag name="review"
          id="231200"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>