<?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>135670</bug_id>
          
          <creation_ts>2014-08-06 14:04:50 -0700</creation_ts>
          <short_desc>Consolidate logic for calculating scrollbar page step size</short_desc>
          <delta_ts>2014-08-06 16:04:24 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</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>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1027290</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-06 14:04:50 -0700</bug_when>
    <thetext>There are a number of places in WebCore where the same complicated declaration is used:

        int pageStep = std::max(std::max&lt;int&gt;(clientWidth * Scrollbar::minFractionToStepWhenPaging(), clientWidth - Scrollbar::maxOverlapBetweenPages()), 1);

To ensure that the correct rounding/truncating and clamping are used in all of these places, we should create a method that does this job for us:

        int pageStep = Scrollbar::pageStep(clientWidth);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027294</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-06 14:11:03 -0700</bug_when>
    <thetext>Furthermore, attempt to reduce small scroll calculation errors by properly rounding fractional step amounts by using lroundf during the calculation of the step size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027295</commentid>
    <comment_count>2</comment_count>
      <attachid>236134</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-06 14:12:45 -0700</bug_when>
    <thetext>Created attachment 236134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027333</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-08-06 16:00:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/17938368&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027334</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-06 16:04:24 -0700</bug_when>
    <thetext>Committed r172182: &lt;http://trac.webkit.org/changeset/172182&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236134</attachid>
            <date>2014-08-06 14:12:45 -0700</date>
            <delta_ts>2014-08-06 15:48:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135670-20140806141233.patch</filename>
            <type>text/plain</type>
            <size>8224</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MjE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA4LTA2ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIENvbnNvbGlkYXRlIGxvZ2lj
IGZvciBjYWxjdWxhdGluZyBzY3JvbGxiYXIgcGFnZSBzdGVwIHNpemUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTY3MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbnNvbGlkYXRlIHRoZSBjYWxjdWxh
dGlvbiBvZiB0aGUgc2Nyb2xsIHN0ZXAgc2l6ZSBpbnRvIGEgc2luZ2xlIHBsYWNlLgorICAgICAg
ICBJbXByb3ZlIHRoZSBoYW5kbGluZyBvZiBzdWItcGl4ZWwgbGF5b3V0IGJlaGF2aW9yIGJ5IHBl
cmZvcm1pbmcgcHJvcGVyCisgICAgICAgIHJvdW5kaW5nIG9uIHRoZSBmcmFjdGlvbmFsIHNjcm9s
bCByYW5nZXMuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dmVydGljYWxTY3JvbGxEaXN0YW5jZSk6IFN3aXRjaCB0byBTY3JvbGxiYXI6
OnBhZ2VTdGVwIG1ldGhvZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6IERp
dHRvLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyk6IERpdHRvLgorICAgICAgICAqIHBsYXRm
b3JtL1Njcm9sbGJhci5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpwYWdlU3RlcCk6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpwYWdlU3RlcERlbHRhKTogQWRk
ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxiYXJzQWZ0ZXJMYXlvdXQpOiBTd2l0Y2ggdG8g
U2Nyb2xsYmFyIG1ldGhvZC4KKwogMjAxNC0wOC0wNiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChXZWJLaXQyKTogaU9TIFNhZmFyaSBk
ZWZhdWx0IGVuY29kaW5nIGRvZXNuJ3QgZm9sbG93IHN5c3RlbSBsYW5ndWFnZQpJbmRleDogU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCShyZXZpc2lvbiAxNzIxNjQpCisr
KyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIw
MDcsIDIwMDgsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVz
KQogICogQ29weXJpZ2h0IChDKSAyMDA5IElnYWxpYSBTLkwuCiAgKgpAQCAtMjU4LDcgKzI1OCw3
IEBAIHN0YXRpYyB1bnNpZ25lZCB2ZXJ0aWNhbFNjcm9sbERpc3RhbmNlKEYKICAgICBpZiAoIShz
dHlsZS5vdmVyZmxvd1koKSA9PSBPU0NST0xMIHx8IHN0eWxlLm92ZXJmbG93WSgpID09IE9BVVRP
IHx8IGZvY3VzZWRFbGVtZW50LT5oYXNFZGl0YWJsZVN0eWxlKCkpKQogICAgICAgICByZXR1cm4g
MDsKICAgICBpbnQgaGVpZ2h0ID0gc3RkOjptaW48aW50Pih0b1JlbmRlckJveChyZW5kZXJlcikt
PmNsaWVudEhlaWdodCgpLCBmcmFtZS52aWV3KCktPnZpc2libGVIZWlnaHQoKSk7Ci0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdGQ6Om1heChzdGQ6Om1heDxpbnQ+KGhlaWdodCAq
IFNjcm9sbGJhcjo6bWluRnJhY3Rpb25Ub1N0ZXBXaGVuUGFnaW5nKCksIGhlaWdodCAtIFNjcm9s
bGJhcjo6bWF4T3ZlcmxhcEJldHdlZW5QYWdlcygpKSwgMSkpOworICAgIHJldHVybiBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oU2Nyb2xsYmFyOjpwYWdlU3RlcChoZWlnaHQpKTsKIH0KIAogc3RhdGlj
IFJlZlB0cjxSYW5nZT4gdW5pb25ET01SYW5nZXMoUmFuZ2UqIGEsIFJhbmdlKiBiKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAkocmV2aXNpb24gMTcy
MTY0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQgKzEsNSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEwLCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTExMyw3
ICsxMTQsNyBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpoYW5kbGVXaGVlbEV2ZW50KGNvCiAgICAg
ICAgIGlmIChkZWx0YVkpIHsKICAgICAgICAgICAgIGlmIChlLmdyYW51bGFyaXR5KCkgPT0gU2Ny
b2xsQnlQYWdlV2hlZWxFdmVudCkgewogICAgICAgICAgICAgICAgIGJvb2wgbmVnYXRpdmUgPSBk
ZWx0YVkgPCAwOwotICAgICAgICAgICAgICAgIGRlbHRhWSA9IHN0ZDo6bWF4KHN0ZDo6bWF4KHN0
YXRpY19jYXN0PGZsb2F0PihtX3Njcm9sbGFibGVBcmVhLT52aXNpYmxlSGVpZ2h0KCkpICogU2Ny
b2xsYmFyOjptaW5GcmFjdGlvblRvU3RlcFdoZW5QYWdpbmcoKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KG1fc2Nyb2xsYWJsZUFyZWEtPnZpc2libGVIZWlnaHQoKSAtIFNjcm9sbGJhcjo6bWF4T3Zlcmxh
cEJldHdlZW5QYWdlcygpKSksIDEuMGYpOworICAgICAgICAgICAgICAgIGRlbHRhWSA9IFNjcm9s
bGJhcjo6cGFnZVN0ZXBEZWx0YShtX3Njcm9sbGFibGVBcmVhLT52aXNpYmxlSGVpZ2h0KCkpOwog
ICAgICAgICAgICAgICAgIGlmIChuZWdhdGl2ZSkKICAgICAgICAgICAgICAgICAgICAgZGVsdGFZ
ID0gLWRlbHRhWTsKICAgICAgICAgICAgIH0KQEAgLTEyMyw3ICsxMjQsNyBAQCBib29sIFNjcm9s
bEFuaW1hdG9yOjpoYW5kbGVXaGVlbEV2ZW50KGNvCiAgICAgICAgIGlmIChkZWx0YVgpIHsKICAg
ICAgICAgICAgIGlmIChlLmdyYW51bGFyaXR5KCkgPT0gU2Nyb2xsQnlQYWdlV2hlZWxFdmVudCkg
ewogICAgICAgICAgICAgICAgIGJvb2wgbmVnYXRpdmUgPSBkZWx0YVggPCAwOwotICAgICAgICAg
ICAgICAgIGRlbHRhWCA9IHN0ZDo6bWF4KHN0ZDo6bWF4KHN0YXRpY19jYXN0PGZsb2F0PihtX3Nj
cm9sbGFibGVBcmVhLT52aXNpYmxlV2lkdGgoKSkgKiBTY3JvbGxiYXI6Om1pbkZyYWN0aW9uVG9T
dGVwV2hlblBhZ2luZygpLCBzdGF0aWNfY2FzdDxmbG9hdD4obV9zY3JvbGxhYmxlQXJlYS0+dmlz
aWJsZVdpZHRoKCkgLSBTY3JvbGxiYXI6Om1heE92ZXJsYXBCZXR3ZWVuUGFnZXMoKSkpLCAxLjBm
KTsKKyAgICAgICAgICAgICAgICBkZWx0YVggPSBTY3JvbGxiYXI6OnBhZ2VTdGVwRGVsdGEobV9z
Y3JvbGxhYmxlQXJlYS0+dmlzaWJsZVdpZHRoKCkpOwogICAgICAgICAgICAgICAgIGlmIChuZWdh
dGl2ZSkKICAgICAgICAgICAgICAgICAgICAgZGVsdGFYID0gLWRlbHRhWDsKICAgICAgICAgICAg
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCShyZXZpc2lvbiAx
NzIxNjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcs
IDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA2LCAyMDA3LCAyMDA4LCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjc3LDcgKzY3Nyw3IEBAIHZvaWQgU2Ny
b2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyhjb25zdCAKIAogICAgIGlmIChtX2hvcml6b250YWxT
Y3JvbGxiYXIpIHsKICAgICAgICAgaW50IGNsaWVudFdpZHRoID0gdmlzaWJsZVdpZHRoKCk7Ci0g
ICAgICAgIGludCBwYWdlU3RlcCA9IHN0ZDo6bWF4KHN0ZDo6bWF4PGludD4oY2xpZW50V2lkdGgg
KiBTY3JvbGxiYXI6Om1pbkZyYWN0aW9uVG9TdGVwV2hlblBhZ2luZygpLCBjbGllbnRXaWR0aCAt
IFNjcm9sbGJhcjo6bWF4T3ZlcmxhcEJldHdlZW5QYWdlcygpKSwgMSk7CisgICAgICAgIGludCBw
YWdlU3RlcCA9IFNjcm9sbGJhcjo6cGFnZVN0ZXAoY2xpZW50V2lkdGgpOwogICAgICAgICBJbnRS
ZWN0IG9sZFJlY3QobV9ob3Jpem9udGFsU2Nyb2xsYmFyLT5mcmFtZVJlY3QoKSk7CiAgICAgICAg
IEludFJlY3QgaEJhclJlY3QoMCwKICAgICAgICAgICAgIGhlaWdodCgpIC0gbV9ob3Jpem9udGFs
U2Nyb2xsYmFyLT5oZWlnaHQoKSwKQEAgLTY5OCw3ICs2OTgsNyBAQCB2b2lkIFNjcm9sbFZpZXc6
OnVwZGF0ZVNjcm9sbGJhcnMoY29uc3QgCiAKICAgICBpZiAobV92ZXJ0aWNhbFNjcm9sbGJhcikg
ewogICAgICAgICBpbnQgY2xpZW50SGVpZ2h0ID0gdmlzaWJsZUhlaWdodCgpOwotICAgICAgICBp
bnQgcGFnZVN0ZXAgPSBzdGQ6Om1heChzdGQ6Om1heDxpbnQ+KGNsaWVudEhlaWdodCAqIFNjcm9s
bGJhcjo6bWluRnJhY3Rpb25Ub1N0ZXBXaGVuUGFnaW5nKCksIGNsaWVudEhlaWdodCAtIFNjcm9s
bGJhcjo6bWF4T3ZlcmxhcEJldHdlZW5QYWdlcygpKSwgMSk7CisgICAgICAgIGludCBwYWdlU3Rl
cCA9IFNjcm9sbGJhcjo6cGFnZVN0ZXAoY2xpZW50SGVpZ2h0KTsKICAgICAgICAgSW50UmVjdCBv
bGRSZWN0KG1fdmVydGljYWxTY3JvbGxiYXItPmZyYW1lUmVjdCgpKTsKICAgICAgICAgSW50UmVj
dCB2QmFyUmVjdCh3aWR0aCgpIC0gbV92ZXJ0aWNhbFNjcm9sbGJhci0+d2lkdGgoKSwgCiAgICAg
ICAgICAgICB0b3BDb250ZW50SW5zZXQoKSwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGJhci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGJhci5oCShyZXZpc2lvbiAxNzIxNjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxiYXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDQsIDIwMDYgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNiwgMjAxNCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC05OSw2ICs5OSw4IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgaW50IHBpeGVsc1BlckxpbmVTdGVwKCkgeyByZXR1cm4gNDA7IH0KICAg
ICBzdGF0aWMgZmxvYXQgbWluRnJhY3Rpb25Ub1N0ZXBXaGVuUGFnaW5nKCkgeyByZXR1cm4gMC44
NzVmOyB9CiAgICAgc3RhdGljIGludCBtYXhPdmVybGFwQmV0d2VlblBhZ2VzKCk7CisgICAgc3Rh
dGljIGludCBwYWdlU3RlcChpbnQgd2lkdGhPckhlaWdodCkgeyByZXR1cm4gc3RkOjptYXgoc3Rk
OjptYXg8aW50Pihscm91bmRmKHdpZHRoT3JIZWlnaHQgKiBTY3JvbGxiYXI6Om1pbkZyYWN0aW9u
VG9TdGVwV2hlblBhZ2luZygpKSwgbHJvdW5kZih3aWR0aE9ySGVpZ2h0IC0gU2Nyb2xsYmFyOjpt
YXhPdmVybGFwQmV0d2VlblBhZ2VzKCkpKSwgMSk7IH0KKyAgICBzdGF0aWMgZmxvYXQgcGFnZVN0
ZXBEZWx0YShpbnQgd2lkdGhPckhlaWdodCkgeyByZXR1cm4gc3RkOjptYXgoc3RkOjptYXgoc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoT3JIZWlnaHQpICogU2Nyb2xsYmFyOjptaW5GcmFjdGlvblRv
U3RlcFdoZW5QYWdpbmcoKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoT3JIZWlnaHQpIC0gU2Ny
b2xsYmFyOjptYXhPdmVybGFwQmV0d2VlblBhZ2VzKCkpLCAxLjBmKTsgfQogCiAgICAgdm9pZCBk
aXNjb25uZWN0RnJvbVNjcm9sbGFibGVBcmVhKCkgeyBtX3Njcm9sbGFibGVBcmVhID0gMDsgfQog
ICAgIFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Ny
b2xsYWJsZUFyZWE7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAkocmV2aXNpb24gMTcyMTY0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI0MywxMyArMzI0MywxMyBAQCB2b2lkIFJl
bmRlckxheWVyOjp1cGRhdGVTY3JvbGxiYXJzQWZ0ZXJMCiAgICAgLy8gU2V0IHVwIHRoZSByYW5n
ZSAoYW5kIHBhZ2Ugc3RlcC9saW5lIHN0ZXApLgogICAgIGlmIChtX2hCYXIpIHsKICAgICAgICAg
aW50IGNsaWVudFdpZHRoID0gYm94LT5waXhlbFNuYXBwZWRDbGllbnRXaWR0aCgpOwotICAgICAg
ICBpbnQgcGFnZVN0ZXAgPSBzdGQ6Om1heChzdGQ6Om1heDxpbnQ+KGNsaWVudFdpZHRoICogU2Ny
b2xsYmFyOjptaW5GcmFjdGlvblRvU3RlcFdoZW5QYWdpbmcoKSwgY2xpZW50V2lkdGggLSBTY3Jv
bGxiYXI6Om1heE92ZXJsYXBCZXR3ZWVuUGFnZXMoKSksIDEpOworICAgICAgICBpbnQgcGFnZVN0
ZXAgPSBTY3JvbGxiYXI6OnBhZ2VTdGVwKGNsaWVudFdpZHRoKTsKICAgICAgICAgbV9oQmFyLT5z
ZXRTdGVwcyhTY3JvbGxiYXI6OnBpeGVsc1BlckxpbmVTdGVwKCksIHBhZ2VTdGVwKTsKICAgICAg
ICAgbV9oQmFyLT5zZXRQcm9wb3J0aW9uKGNsaWVudFdpZHRoLCBtX3Njcm9sbFNpemUud2lkdGgo
KS5yb3VuZCgpKTsKICAgICB9CiAgICAgaWYgKG1fdkJhcikgewogICAgICAgICBpbnQgY2xpZW50
SGVpZ2h0ID0gYm94LT5waXhlbFNuYXBwZWRDbGllbnRIZWlnaHQoKTsKLSAgICAgICAgaW50IHBh
Z2VTdGVwID0gc3RkOjptYXgoc3RkOjptYXg8aW50PihjbGllbnRIZWlnaHQgKiBTY3JvbGxiYXI6
Om1pbkZyYWN0aW9uVG9TdGVwV2hlblBhZ2luZygpLCBjbGllbnRIZWlnaHQgLSBTY3JvbGxiYXI6
Om1heE92ZXJsYXBCZXR3ZWVuUGFnZXMoKSksIDEpOworICAgICAgICBpbnQgcGFnZVN0ZXAgPSBT
Y3JvbGxiYXI6OnBhZ2VTdGVwKGNsaWVudEhlaWdodCk7CiAgICAgICAgIG1fdkJhci0+c2V0U3Rl
cHMoU2Nyb2xsYmFyOjpwaXhlbHNQZXJMaW5lU3RlcCgpLCBwYWdlU3RlcCk7CiAgICAgICAgIG1f
dkJhci0+c2V0UHJvcG9ydGlvbihjbGllbnRIZWlnaHQsIG1fc2Nyb2xsU2l6ZS5oZWlnaHQoKS5y
b3VuZCgpKTsKICAgICB9Cg==
</data>
<flag name="review"
          id="260725"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>