<?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>91674</bug_id>
          
          <creation_ts>2012-07-18 14:48:09 -0700</creation_ts>
          <short_desc>[chromium] Implement scrollbar theme for Android</short_desc>
          <delta_ts>2012-07-23 16:39:17 -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>New Bugs</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>
          
          <blocked>66687</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Tien-Ren Chen">trchen</reporter>
          <assigned_to name="Tien-Ren Chen">trchen</assigned_to>
          <cc>abarth</cc>
    
    <cc>aelias</cc>
    
    <cc>klobag</cc>
    
    <cc>peter</cc>
    
    <cc>trchen</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>672783</commentid>
    <comment_count>0</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-07-18 14:48:09 -0700</bug_when>
    <thetext>[chromium] Implement scrollbar theme for Android</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672844</commentid>
    <comment_count>1</comment_count>
      <attachid>153103</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-07-18 15:28:22 -0700</bug_when>
    <thetext>Created attachment 153103
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673317</commentid>
    <comment_count>2</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-07-19 02:02:15 -0700</bug_when>
    <thetext>Please be sure that your patches block bug 66687, that helps us to keep track. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673557</commentid>
    <comment_count>3</comment_count>
      <attachid>153103</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-19 09:08:44 -0700</bug_when>
    <thetext>Comment on attachment 153103
Patch

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

Some minor style nits below.

&gt; Source/WebCore/platform/chromium/ScrollbarThemeChromiumAndroid.cpp:66
&gt; +    float proportion = (float)scrollbar-&gt;currentPos() / scrollbar-&gt;totalSize();

WebKit preferes C++ style casts, so static_cast&lt;float&gt;(...)

&gt; Source/WebCore/platform/chromium/ScrollbarThemeChromiumAndroid.cpp:103
&gt; +namespace {

WebKit tends to use static functions rather than anonymous namespaces.

&gt; Source/WebCore/platform/chromium/ScrollbarThemeChromiumAndroid.h:53
&gt; +    static const int s_scrollbarWidth = 8;
&gt; +    static const int s_scrollbarMargin = 5;

WebKit doesn&apos;t use the s_ prefix for static variables.  We just use bare names like scrollbarWidth (and we tend to put them in the implementation file rather than the header if they&apos;re not used outside the implementation).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676110</commentid>
    <comment_count>4</comment_count>
      <attachid>153885</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-23 15:50:27 -0700</bug_when>
    <thetext>Created attachment 153885
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676111</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-23 15:50:57 -0700</bug_when>
    <thetext>@trchen: I fixed the nits for you.  Please let me know if I&apos;ve goofed them up.  Thanks for the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676159</commentid>
    <comment_count>6</comment_count>
      <attachid>153885</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 16:39:13 -0700</bug_when>
    <thetext>Comment on attachment 153885
Patch for landing

Clearing flags on attachment: 153885

Committed r123402: &lt;http://trac.webkit.org/changeset/123402&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676160</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 16:39:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153103</attachid>
            <date>2012-07-18 15:28:22 -0700</date>
            <delta_ts>2012-07-23 15:50:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91674-20120718152821.patch</filename>
            <type>text/plain</type>
            <size>9003</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWVlM2Q1Mjc1OWNhZjkw
NmUyYThmNmFkYzJlZGFlOWRhNWNkZGZlMy4uNmU1MWJjYmNjZGI2NTk3MmYxZGU0ODM3Njc1NDhi
M2FmNDVkMmEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA3LTE4ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIElt
cGxlbWVudCBzY3JvbGxiYXIgdGhlbWUgZm9yIEFuZHJvaWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxNjc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJldmlvdXNseSB0aGUgc2Nyb2xsYmFyIGZvciBB
bmRyb2lkIHdhcyBpbXBsZW1lbnRlZCBhcyBhbiBleHRyYQorICAgICAgICBkcmF3aW5nIHBhc3Mg
aW4gdGhlIGNvbXBvc2l0b3IuIE5vdyB3ZSBzd2l0Y2ggdG8gdXNlIHRoZSBzdGFuZGFyZAorICAg
ICAgICBTY3JvbGxiYXJUaGVtZSBtZWNoYW5pc20uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBX
ZSB1c2UgbW9jayBzY3JvbGxiYXJzIGR1cmluZyBsYXlvdXQgdGVzdCB0byBzaGFyZQorICAgICAg
ICBwaXhlbCByZXN1bHRzIHdpdGggTGludXguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6c2Nyb2xsYmFyVGhpY2tuZXNzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjp0aHVtYlBvc2l0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjp0aHVt
Ykxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9p
ZDo6YmFja0J1dHRvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJv
bWl1bUFuZHJvaWQ6OmZvcndhcmRCdXR0b25SZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjp0cmFja1JlY3QpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6cGFpbnRU
aHVtYik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6
cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9T
Y3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZC5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQ6OnVzZXNPdmVybGF5U2Nyb2xsYmFycyk6CisgICAgICAg
IChTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6aGFzQnV0dG9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6aGFzVGh1bWIpOgorCiAyMDEyLTA3LTE2
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTIyNzM5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFu
ZHJvaWQuY3BwCmluZGV4IGUxZTU1YTFmYzEzZDc5YzBmOWU4ZjQ3MzBiZTg5NzgwOTRjMWY2OTEu
Ljk0ODFmYWIwNDQzMGEyNGQ0ZGVmYzkyOWQ3MTRmZTIyOTAzOTllNzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRy
b2lkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJU
aGVtZUNocm9taXVtQW5kcm9pZC5jcHAKQEAgLTMyLDEyICszMiwxMSBAQAogI2luY2x1ZGUgIlNj
cm9sbGJhci5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCiAKLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKKyNpbmNsdWRlIDxhbGdvcml0aG0+CisKK3VzaW5nIG5hbWVzcGFjZSBzdGQ7
CiAKLS8vIE9uIEFuZHJvaWQsIHRoZSB0aHJlYWRlZCBjb21wb3NpdG9yIGlzIGluIGNoYXJnZSBv
ZiBkcmF3aW5nIHRoZSBzY3JvbGxiYXIsCi0vLyBzbyBzZXQgdGhlIGludGVybmFsIHNjcm9sbGJh
ciB0aGlja25lc3MgYW5kIGJ1dHRvbiBsZW5ndGggdG8gYmUgemVyby4KLXN0YXRpYyBjb25zdCBp
bnQgc2Nyb2xsYmFyVGhpY2tuZXNzVmFsdWUgPSAwOwotc3RhdGljIGNvbnN0IGludCBidXR0b25M
ZW5ndGggPSAwOworbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTY3JvbGxiYXJUaGVtZSogU2Nyb2xs
YmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkKIHsKQEAgLTU0LDMzICs1MywxMDQgQEAgaW50IFNjcm9s
bGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29u
dHJvbFNpemUgY29udHIKICAgICAgICAgSW50U2l6ZSBzY3JvbGxiYXJTaXplID0gUGxhdGZvcm1T
dXBwb3J0OjpnZXRUaGVtZVBhcnRTaXplKFBsYXRmb3JtU3VwcG9ydDo6UGFydFNjcm9sbGJhckRv
d25BcnJvdyk7CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXJTaXplLndpZHRoKCk7CiAgICAgfQot
ICAgIHJldHVybiBzY3JvbGxiYXJUaGlja25lc3NWYWx1ZTsKKworICAgIHJldHVybiBzX3Njcm9s
bGJhcldpZHRoICsgc19zY3JvbGxiYXJNYXJnaW47CiB9CiAKLXZvaWQgU2Nyb2xsYmFyVGhlbWVD
aHJvbWl1bUFuZHJvaWQ6OnBhaW50U2Nyb2xsYmFyQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIFNjcm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxiYXIpCitpbnQgU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bUFuZHJvaWQ6OnRodW1iUG9zaXRpb24oU2Nyb2xsYmFyVGhlbWVDbGllbnQq
IHNjcm9sbGJhcikKIHsKLSAgICAvLyBQYWludCBibGFjayBiYWNrZ3JvdW5kIGluIER1bXBSZW5k
ZXJUcmVlLCBvdGhlcndpc2UgdGhlIHBpeGVscyBpbiB0aGUgc2Nyb2xsYmFyIGFyZWEgZGVwZW5k
Ci0gICAgLy8gb24gdGhlaXIgcHJldmlvdXMgc3RhdGUsIHdoaWNoIG1ha2VzIHRoZSBkdW1wZWQg
cmVzdWx0IHVuZGV0ZXJtaW5lZC4KLSAgICBpZiAoUGxhdGZvcm1TdXBwb3J0OjpsYXlvdXRUZXN0
TW9kZSgpKQotICAgICAgICBjb250ZXh0LT5maWxsUmVjdChzY3JvbGxiYXItPmZyYW1lUmVjdCgp
LCBDb2xvcjo6YmxhY2ssIENvbG9yU3BhY2VEZXZpY2VSR0IpOworICAgIGlmICghc2Nyb2xsYmFy
LT50b3RhbFNpemUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpbnQgdHJhY2tMZW4gPSB0
cmFja0xlbmd0aChzY3JvbGxiYXIpOworICAgIGZsb2F0IHByb3BvcnRpb24gPSAoZmxvYXQpc2Ny
b2xsYmFyLT5jdXJyZW50UG9zKCkgLyBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOworICAgIHJldHVy
biByb3VuZChwcm9wb3J0aW9uICogdHJhY2tMZW4pOwogfQogCi1ib29sIFNjcm9sbGJhclRoZW1l
Q2hyb21pdW1BbmRyb2lkOjpzaG91bGRDZW50ZXJPblRodW1iKFNjcm9sbGJhclRoZW1lQ2xpZW50
KiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldnQpCitpbnQgU2Nyb2xsYmFyVGhlbWVDaHJv
bWl1bUFuZHJvaWQ6OnRodW1iTGVuZ3RoKFNjcm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxiYXIp
CiB7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgaW50IHRyYWNrTGVuID0gdHJhY2tMZW5ndGgoc2Ny
b2xsYmFyKTsKKworICAgIGlmICghc2Nyb2xsYmFyLT50b3RhbFNpemUoKSkKKyAgICAgICAgcmV0
dXJuIHRyYWNrTGVuOworCisgICAgZmxvYXQgcHJvcG9ydGlvbiA9IChmbG9hdClzY3JvbGxiYXIt
PnZpc2libGVTaXplKCkgLyBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOworICAgIGludCBsZW5ndGgg
PSByb3VuZChwcm9wb3J0aW9uICogdHJhY2tMZW4pOworICAgIGxlbmd0aCA9IG1pbihtYXgobGVu
Z3RoLCBtaW5pbXVtVGh1bWJMZW5ndGgoc2Nyb2xsYmFyKSksIHRyYWNrTGVuKTsKKyAgICByZXR1
cm4gbGVuZ3RoOwogfQogCi1JbnRTaXplIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpi
dXR0b25TaXplKFNjcm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxiYXIpCitJbnRSZWN0IFNjcm9s
bGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpiYWNrQnV0dG9uUmVjdChTY3JvbGxiYXJUaGVtZUNs
aWVudCosIFNjcm9sbGJhclBhcnQsIGJvb2wpCiB7Ci0gICAgaWYgKHNjcm9sbGJhci0+b3JpZW50
YXRpb24oKSA9PSBWZXJ0aWNhbFNjcm9sbGJhcikKLSAgICAgICAgcmV0dXJuIEludFNpemUoc2Ny
b2xsYmFyVGhpY2tuZXNzVmFsdWUsIGJ1dHRvbkxlbmd0aCk7CisgICAgcmV0dXJuIEludFJlY3Qo
KTsKK30KIAotICAgIHJldHVybiBJbnRTaXplKGJ1dHRvbkxlbmd0aCwgc2Nyb2xsYmFyVGhpY2tu
ZXNzVmFsdWUpOworSW50UmVjdCBTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6Zm9yd2Fy
ZEJ1dHRvblJlY3QoU2Nyb2xsYmFyVGhlbWVDbGllbnQqLCBTY3JvbGxiYXJQYXJ0LCBib29sKQor
eworICAgIHJldHVybiBJbnRSZWN0KCk7CiB9CiAKLWludCBTY3JvbGxiYXJUaGVtZUNocm9taXVt
QW5kcm9pZDo6bWluaW11bVRodW1iTGVuZ3RoKFNjcm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxi
YXIpCitJbnRSZWN0IFNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjp0cmFja1JlY3QoU2Ny
b2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhciwgYm9vbCkKK3sKKyAgICBJbnRSZWN0IHJlY3Qg
PSBzY3JvbGxiYXItPmZyYW1lUmVjdCgpOworICAgIGlmIChzY3JvbGxiYXItPm9yaWVudGF0aW9u
KCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikKKyAgICAgICAgcmVjdC5pbmZsYXRlWCgtc19zY3Jv
bGxiYXJNYXJnaW4pOworICAgIGVsc2UKKyAgICAgICAgcmVjdC5pbmZsYXRlWSgtc19zY3JvbGxi
YXJNYXJnaW4pOworICAgIHJldHVybiByZWN0OworfQorCituYW1lc3BhY2UgeworCit2b2lkIGZp
bGxTbW9vdGhFZGdlZFJlY3QoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0
JiByZWN0LCBjb25zdCBDb2xvciYgY29sb3IpCiB7Ci0gICAgcmV0dXJuIDIgKiBzY3JvbGxiYXJU
aGlja25lc3Moc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpKTsKKyAgICBDb2xvciBoYWxmQ29sb3Io
Y29sb3IucmVkKCksIGNvbG9yLmdyZWVuKCksIGNvbG9yLmJsdWUoKSwgY29sb3IuYWxwaGEoKSAv
IDIpOworCisgICAgSW50UmVjdCB0b3BSZWN0ID0gcmVjdDsKKyAgICB0b3BSZWN0LmluZmxhdGVY
KC0xKTsKKyAgICB0b3BSZWN0LnNldEhlaWdodCgxKTsKKyAgICBjb250ZXh0LT5maWxsUmVjdCh0
b3BSZWN0LCBoYWxmQ29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOworCisgICAgSW50UmVjdCBs
ZWZ0UmVjdCA9IHJlY3Q7CisgICAgbGVmdFJlY3QuaW5mbGF0ZVkoLTEpOworICAgIGxlZnRSZWN0
LnNldFdpZHRoKDEpOworICAgIGNvbnRleHQtPmZpbGxSZWN0KGxlZnRSZWN0LCBoYWxmQ29sb3Is
IENvbG9yU3BhY2VEZXZpY2VSR0IpOworCisgICAgSW50UmVjdCBjZW50ZXJSZWN0ID0gcmVjdDsK
KyAgICBjZW50ZXJSZWN0LmluZmxhdGUoLTEpOworICAgIGNvbnRleHQtPmZpbGxSZWN0KGNlbnRl
clJlY3QsIGNvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKworICAgIEludFJlY3QgcmlnaHRS
ZWN0ID0gcmVjdDsKKyAgICByaWdodFJlY3QuaW5mbGF0ZVkoLTEpOworICAgIHJpZ2h0UmVjdC5z
ZXRYKGNlbnRlclJlY3QubWF4WCgpKTsKKyAgICByaWdodFJlY3Quc2V0V2lkdGgoMSk7CisgICAg
Y29udGV4dC0+ZmlsbFJlY3QocmlnaHRSZWN0LCBoYWxmQ29sb3IsIENvbG9yU3BhY2VEZXZpY2VS
R0IpOworCisgICAgSW50UmVjdCBib3R0b21SZWN0ID0gcmVjdDsKKyAgICBib3R0b21SZWN0Lmlu
ZmxhdGVYKC0xKTsKKyAgICBib3R0b21SZWN0LnNldFkoY2VudGVyUmVjdC5tYXhZKCkpOworICAg
IGJvdHRvbVJlY3Quc2V0SGVpZ2h0KDEpOworICAgIGNvbnRleHQtPmZpbGxSZWN0KGJvdHRvbVJl
Y3QsIGhhbGZDb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7Cit9CisKK30gLy8gdW5uYW1lZCBu
YW1lc3BhY2UKKwordm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6cGFpbnRUaHVt
YihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFNjcm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxi
YXIsIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgSW50UmVjdCB0aHVtYlJlY3QgPSByZWN0
OworICAgIGlmIChzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJh
cikKKyAgICAgICAgdGh1bWJSZWN0LnNldEhlaWdodCh0aHVtYlJlY3QuaGVpZ2h0KCkgLSBzX3Nj
cm9sbGJhck1hcmdpbik7CisgICAgZWxzZQorICAgICAgICB0aHVtYlJlY3Quc2V0V2lkdGgodGh1
bWJSZWN0LndpZHRoKCkgLSBzX3Njcm9sbGJhck1hcmdpbik7CisgICAgZmlsbFNtb290aEVkZ2Vk
UmVjdChjb250ZXh0LCB0aHVtYlJlY3QsIENvbG9yKDEyOCwgMTI4LCAxMjgsIDEyOCkpOworfQor
Cit2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpwYWludFNjcm9sbGJhckJhY2tn
cm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBTY3JvbGxiYXJUaGVtZUNsaWVudCogc2Ny
b2xsYmFyKQoreworICAgIC8vIFBhaW50IGJsYWNrIGJhY2tncm91bmQgaW4gRHVtcFJlbmRlclRy
ZWUsIG90aGVyd2lzZSB0aGUgcGl4ZWxzIGluIHRoZSBzY3JvbGxiYXIgYXJlYSBkZXBlbmQKKyAg
ICAvLyBvbiB0aGVpciBwcmV2aW91cyBzdGF0ZSwgd2hpY2ggbWFrZXMgdGhlIGR1bXBlZCByZXN1
bHQgdW5kZXRlcm1pbmVkLgorICAgIGlmIChQbGF0Zm9ybVN1cHBvcnQ6OmxheW91dFRlc3RNb2Rl
KCkpCisgICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KHNjcm9sbGJhci0+ZnJhbWVSZWN0KCksIENv
bG9yOjpibGFjaywgQ29sb3JTcGFjZURldmljZVJHQik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9s
bGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZC5oCmluZGV4IGYzZGI4MGU1MmZiZjUw
YzFkZjY4YTk0MGVhOWQ0NzNmMmRiZjI4NjUuLjQ3NzAwZDkzZDNiNTY0OTBmM2I2Mjk4ZGI5NTZh
ZWYxNDcyYTdhYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1Njcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQuaApAQCAtMzAsMTUg
KzMwLDI3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2Nyb2xsYmFyVGhlbWVD
aHJvbWl1bUFuZHJvaWQgOiBwdWJsaWMgU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bSB7CitjbGFzcyBT
Y3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZCA6IHB1YmxpYyBTY3JvbGxiYXJUaGVtZUNvbXBv
c2l0ZSB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQgc2Nyb2xsYmFyVGhpY2tuZXNzKFNjcm9s
bGJhckNvbnRyb2xTaXplKTsKKyAgICB2aXJ0dWFsIGJvb2wgdXNlc092ZXJsYXlTY3JvbGxiYXJz
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCi1wcm90ZWN0ZWQ6CisgICAgdmlydHVhbCBpbnQg
dGh1bWJQb3NpdGlvbihTY3JvbGxiYXJUaGVtZUNsaWVudCopOworICAgIHZpcnR1YWwgaW50IHRo
dW1iTGVuZ3RoKFNjcm9sbGJhclRoZW1lQ2xpZW50Kik7CisKKyAgICB2aXJ0dWFsIGJvb2wgaGFz
QnV0dG9ucyhTY3JvbGxiYXJUaGVtZUNsaWVudCopIHsgcmV0dXJuIGZhbHNlOyB9OworICAgIHZp
cnR1YWwgYm9vbCBoYXNUaHVtYihTY3JvbGxiYXJUaGVtZUNsaWVudCopIHsgcmV0dXJuIHRydWU7
IH07CisKKyAgICB2aXJ0dWFsIEludFJlY3QgYmFja0J1dHRvblJlY3QoU2Nyb2xsYmFyVGhlbWVD
bGllbnQqLCBTY3JvbGxiYXJQYXJ0LCBib29sIHBhaW50aW5nID0gZmFsc2UpOworICAgIHZpcnR1
YWwgSW50UmVjdCBmb3J3YXJkQnV0dG9uUmVjdChTY3JvbGxiYXJUaGVtZUNsaWVudCosIFNjcm9s
bGJhclBhcnQsIGJvb2wgcGFpbnRpbmcgPSBmYWxzZSk7CisgICAgdmlydHVhbCBJbnRSZWN0IHRy
YWNrUmVjdChTY3JvbGxiYXJUaGVtZUNsaWVudCosIGJvb2wgcGFpbnRpbmcgPSBmYWxzZSk7CisK
KyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRUaHVtYihHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXJU
aGVtZUNsaWVudCosIGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRTY3Jv
bGxiYXJCYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCosIFNjcm9sbGJhclRoZW1lQ2xpZW50Kik7
Ci0gICAgdmlydHVhbCBib29sIHNob3VsZENlbnRlck9uVGh1bWIoU2Nyb2xsYmFyVGhlbWVDbGll
bnQqLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmKTsKLSAgICB2aXJ0dWFsIEludFNpemUgYnV0
dG9uU2l6ZShTY3JvbGxiYXJUaGVtZUNsaWVudCopOwotICAgIHZpcnR1YWwgaW50IG1pbmltdW1U
aHVtYkxlbmd0aChTY3JvbGxiYXJUaGVtZUNsaWVudCopOworCitwcm90ZWN0ZWQ6CisgICAgc3Rh
dGljIGNvbnN0IGludCBzX3Njcm9sbGJhcldpZHRoID0gODsKKyAgICBzdGF0aWMgY29uc3QgaW50
IHNfc2Nyb2xsYmFyTWFyZ2luID0gNTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153885</attachid>
            <date>2012-07-23 15:50:27 -0700</date>
            <delta_ts>2012-07-23 16:39:13 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-91674-20120723155019.patch</filename>
            <type>text/plain</type>
            <size>8921</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVlNDc4NTRkYmMzNGY3
ZWU0NGEwZGI3ZDRkZDgwYjI1MWZjNjNmMC4uNTE2OTA5NWM3OTY4MWVhMjM4ZTg1ZmViZjg0YjMw
ZWJiMzRlYmUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA3LTIzICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIElt
cGxlbWVudCBzY3JvbGxiYXIgdGhlbWUgZm9yIEFuZHJvaWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxNjc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbSBCYXJ0aC4KKworICAgICAgICBQcmV2aW91c2x5IHRoZSBzY3JvbGxiYXIgZm9yIEFuZHJv
aWQgd2FzIGltcGxlbWVudGVkIGFzIGFuIGV4dHJhCisgICAgICAgIGRyYXdpbmcgcGFzcyBpbiB0
aGUgY29tcG9zaXRvci4gTm93IHdlIHN3aXRjaCB0byB1c2UgdGhlIHN0YW5kYXJkCisgICAgICAg
IFNjcm9sbGJhclRoZW1lIG1lY2hhbmlzbS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFdlIHVz
ZSBtb2NrIHNjcm9sbGJhcnMgZHVyaW5nIGxheW91dCB0ZXN0IHRvIHNoYXJlCisgICAgICAgIHBp
eGVsIHJlc3VsdHMgd2l0aCBMaW51eC4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Nj
cm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpzY3JvbGxiYXJUaGlja25lc3MpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQ6OnRodW1iUG9zaXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQ6OnRodW1iTGVu
Z3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpi
YWNrQnV0dG9uUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNocm9taXVt
QW5kcm9pZDo6Zm9yd2FyZEJ1dHRvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bUFuZHJvaWQ6OnRyYWNrUmVjdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpwYWludFRodW1i
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpwYWlu
dFNjcm9sbGJhckJhY2tncm91bmQpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Njcm9s
bGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJU
aGVtZUNocm9taXVtQW5kcm9pZDo6dXNlc092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKFNj
cm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJh
clRoZW1lQ2hyb21pdW1BbmRyb2lkOjpoYXNCdXR0b25zKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpoYXNUaHVtYik6CisKIDIwMTItMDctMjMgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjMzODcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9p
ZC5jcHAKaW5kZXggZTFlNTVhMWZjMTNkNzljMGY5ZThmNDczMGJlODk3ODA5NGMxZjY5MS4uNjNm
NTlkZDE5ZDU4MDZiYjQ1MzY3YjJiYWIzMGMwNWFkMTMzM2Y0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1l
Q2hyb21pdW1BbmRyb2lkLmNwcApAQCAtMzIsMTIgKzMyLDE0IEBACiAjaW5jbHVkZSAiU2Nyb2xs
YmFyLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKIAorI2luY2x1ZGUgPGFs
Z29yaXRobT4KKwordXNpbmcgbmFtZXNwYWNlIHN0ZDsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci0vLyBPbiBBbmRyb2lkLCB0aGUgdGhyZWFkZWQgY29tcG9zaXRvciBpcyBpbiBjaGFyZ2Ugb2Yg
ZHJhd2luZyB0aGUgc2Nyb2xsYmFyLAotLy8gc28gc2V0IHRoZSBpbnRlcm5hbCBzY3JvbGxiYXIg
dGhpY2tuZXNzIGFuZCBidXR0b24gbGVuZ3RoIHRvIGJlIHplcm8uCi1zdGF0aWMgY29uc3QgaW50
IHNjcm9sbGJhclRoaWNrbmVzc1ZhbHVlID0gMDsKLXN0YXRpYyBjb25zdCBpbnQgYnV0dG9uTGVu
Z3RoID0gMDsKK3N0YXRpYyBjb25zdCBpbnQgc2Nyb2xsYmFyV2lkdGggPSA4Oworc3RhdGljIGNv
bnN0IGludCBzY3JvbGxiYXJNYXJnaW4gPSA1OwogCiBTY3JvbGxiYXJUaGVtZSogU2Nyb2xsYmFy
VGhlbWU6Om5hdGl2ZVRoZW1lKCkKIHsKQEAgLTU0LDMzICs1NiwxMDAgQEAgaW50IFNjcm9sbGJh
clRoZW1lQ2hyb21pdW1BbmRyb2lkOjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJv
bFNpemUgY29udHIKICAgICAgICAgSW50U2l6ZSBzY3JvbGxiYXJTaXplID0gUGxhdGZvcm1TdXBw
b3J0OjpnZXRUaGVtZVBhcnRTaXplKFBsYXRmb3JtU3VwcG9ydDo6UGFydFNjcm9sbGJhckRvd25B
cnJvdyk7CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXJTaXplLndpZHRoKCk7CiAgICAgfQotICAg
IHJldHVybiBzY3JvbGxiYXJUaGlja25lc3NWYWx1ZTsKKworICAgIHJldHVybiBzY3JvbGxiYXJX
aWR0aCArIHNjcm9sbGJhck1hcmdpbjsKIH0KIAotdm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVt
QW5kcm9pZDo6cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhcikKK2ludCBTY3JvbGxiYXJUaGVtZUNo
cm9taXVtQW5kcm9pZDo6dGh1bWJQb3NpdGlvbihTY3JvbGxiYXJUaGVtZUNsaWVudCogc2Nyb2xs
YmFyKQogewotICAgIC8vIFBhaW50IGJsYWNrIGJhY2tncm91bmQgaW4gRHVtcFJlbmRlclRyZWUs
IG90aGVyd2lzZSB0aGUgcGl4ZWxzIGluIHRoZSBzY3JvbGxiYXIgYXJlYSBkZXBlbmQKLSAgICAv
LyBvbiB0aGVpciBwcmV2aW91cyBzdGF0ZSwgd2hpY2ggbWFrZXMgdGhlIGR1bXBlZCByZXN1bHQg
dW5kZXRlcm1pbmVkLgotICAgIGlmIChQbGF0Zm9ybVN1cHBvcnQ6OmxheW91dFRlc3RNb2RlKCkp
Ci0gICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KHNjcm9sbGJhci0+ZnJhbWVSZWN0KCksIENvbG9y
OjpibGFjaywgQ29sb3JTcGFjZURldmljZVJHQik7CisgICAgaWYgKCFzY3JvbGxiYXItPnRvdGFs
U2l6ZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGludCB0cmFja0xlbiA9IHRyYWNrTGVu
Z3RoKHNjcm9sbGJhcik7CisgICAgZmxvYXQgcHJvcG9ydGlvbiA9IHN0YXRpY19jYXN0PGZsb2F0
PihzY3JvbGxiYXItPmN1cnJlbnRQb3MoKSkgLyBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOworICAg
IHJldHVybiByb3VuZChwcm9wb3J0aW9uICogdHJhY2tMZW4pOworfQorCitpbnQgU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bUFuZHJvaWQ6OnRodW1iTGVuZ3RoKFNjcm9sbGJhclRoZW1lQ2xpZW50KiBz
Y3JvbGxiYXIpCit7CisgICAgaW50IHRyYWNrTGVuID0gdHJhY2tMZW5ndGgoc2Nyb2xsYmFyKTsK
KworICAgIGlmICghc2Nyb2xsYmFyLT50b3RhbFNpemUoKSkKKyAgICAgICAgcmV0dXJuIHRyYWNr
TGVuOworCisgICAgZmxvYXQgcHJvcG9ydGlvbiA9IChmbG9hdClzY3JvbGxiYXItPnZpc2libGVT
aXplKCkgLyBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOworICAgIGludCBsZW5ndGggPSByb3VuZChw
cm9wb3J0aW9uICogdHJhY2tMZW4pOworICAgIGxlbmd0aCA9IG1pbihtYXgobGVuZ3RoLCBtaW5p
bXVtVGh1bWJMZW5ndGgoc2Nyb2xsYmFyKSksIHRyYWNrTGVuKTsKKyAgICByZXR1cm4gbGVuZ3Ro
OworfQorCitJbnRSZWN0IFNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpiYWNrQnV0dG9u
UmVjdChTY3JvbGxiYXJUaGVtZUNsaWVudCosIFNjcm9sbGJhclBhcnQsIGJvb2wpCit7CisgICAg
cmV0dXJuIEludFJlY3QoKTsKK30KKworSW50UmVjdCBTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5k
cm9pZDo6Zm9yd2FyZEJ1dHRvblJlY3QoU2Nyb2xsYmFyVGhlbWVDbGllbnQqLCBTY3JvbGxiYXJQ
YXJ0LCBib29sKQoreworICAgIHJldHVybiBJbnRSZWN0KCk7CiB9CiAKLWJvb2wgU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bUFuZHJvaWQ6OnNob3VsZENlbnRlck9uVGh1bWIoU2Nyb2xsYmFyVGhlbWVD
bGllbnQqLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2dCkKK0ludFJlY3QgU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bUFuZHJvaWQ6OnRyYWNrUmVjdChTY3JvbGxiYXJUaGVtZUNsaWVudCogc2Ny
b2xsYmFyLCBib29sKQogewotICAgIHJldHVybiB0cnVlOworICAgIEludFJlY3QgcmVjdCA9IHNj
cm9sbGJhci0+ZnJhbWVSZWN0KCk7CisgICAgaWYgKHNjcm9sbGJhci0+b3JpZW50YXRpb24oKSA9
PSBIb3Jpem9udGFsU2Nyb2xsYmFyKQorICAgICAgICByZWN0LmluZmxhdGVYKC1zY3JvbGxiYXJN
YXJnaW4pOworICAgIGVsc2UKKyAgICAgICAgcmVjdC5pbmZsYXRlWSgtc2Nyb2xsYmFyTWFyZ2lu
KTsKKyAgICByZXR1cm4gcmVjdDsKIH0KIAotSW50U2l6ZSBTY3JvbGxiYXJUaGVtZUNocm9taXVt
QW5kcm9pZDo6YnV0dG9uU2l6ZShTY3JvbGxiYXJUaGVtZUNsaWVudCogc2Nyb2xsYmFyKQorc3Rh
dGljIHZvaWQgZmlsbFNtb290aEVkZ2VkUmVjdChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEludFJlY3QmIHJlY3QsIGNvbnN0IENvbG9yJiBjb2xvcikKIHsKLSAgICBpZiAoc2Nyb2xs
YmFyLT5vcmllbnRhdGlvbigpID09IFZlcnRpY2FsU2Nyb2xsYmFyKQotICAgICAgICByZXR1cm4g
SW50U2l6ZShzY3JvbGxiYXJUaGlja25lc3NWYWx1ZSwgYnV0dG9uTGVuZ3RoKTsKKyAgICBDb2xv
ciBoYWxmQ29sb3IoY29sb3IucmVkKCksIGNvbG9yLmdyZWVuKCksIGNvbG9yLmJsdWUoKSwgY29s
b3IuYWxwaGEoKSAvIDIpOworCisgICAgSW50UmVjdCB0b3BSZWN0ID0gcmVjdDsKKyAgICB0b3BS
ZWN0LmluZmxhdGVYKC0xKTsKKyAgICB0b3BSZWN0LnNldEhlaWdodCgxKTsKKyAgICBjb250ZXh0
LT5maWxsUmVjdCh0b3BSZWN0LCBoYWxmQ29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOworCisg
ICAgSW50UmVjdCBsZWZ0UmVjdCA9IHJlY3Q7CisgICAgbGVmdFJlY3QuaW5mbGF0ZVkoLTEpOwor
ICAgIGxlZnRSZWN0LnNldFdpZHRoKDEpOworICAgIGNvbnRleHQtPmZpbGxSZWN0KGxlZnRSZWN0
LCBoYWxmQ29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOworCisgICAgSW50UmVjdCBjZW50ZXJS
ZWN0ID0gcmVjdDsKKyAgICBjZW50ZXJSZWN0LmluZmxhdGUoLTEpOworICAgIGNvbnRleHQtPmZp
bGxSZWN0KGNlbnRlclJlY3QsIGNvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKworICAgIElu
dFJlY3QgcmlnaHRSZWN0ID0gcmVjdDsKKyAgICByaWdodFJlY3QuaW5mbGF0ZVkoLTEpOworICAg
IHJpZ2h0UmVjdC5zZXRYKGNlbnRlclJlY3QubWF4WCgpKTsKKyAgICByaWdodFJlY3Quc2V0V2lk
dGgoMSk7CisgICAgY29udGV4dC0+ZmlsbFJlY3QocmlnaHRSZWN0LCBoYWxmQ29sb3IsIENvbG9y
U3BhY2VEZXZpY2VSR0IpOwogCi0gICAgcmV0dXJuIEludFNpemUoYnV0dG9uTGVuZ3RoLCBzY3Jv
bGxiYXJUaGlja25lc3NWYWx1ZSk7CisgICAgSW50UmVjdCBib3R0b21SZWN0ID0gcmVjdDsKKyAg
ICBib3R0b21SZWN0LmluZmxhdGVYKC0xKTsKKyAgICBib3R0b21SZWN0LnNldFkoY2VudGVyUmVj
dC5tYXhZKCkpOworICAgIGJvdHRvbVJlY3Quc2V0SGVpZ2h0KDEpOworICAgIGNvbnRleHQtPmZp
bGxSZWN0KGJvdHRvbVJlY3QsIGhhbGZDb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7CiB9CiAK
LWludCBTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6bWluaW11bVRodW1iTGVuZ3RoKFNj
cm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxiYXIpCit2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21p
dW1BbmRyb2lkOjpwYWludFRodW1iKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgU2Nyb2xsYmFy
VGhlbWVDbGllbnQqIHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICByZXR1
cm4gMiAqIHNjcm9sbGJhclRoaWNrbmVzcyhzY3JvbGxiYXItPmNvbnRyb2xTaXplKCkpOworICAg
IEludFJlY3QgdGh1bWJSZWN0ID0gcmVjdDsKKyAgICBpZiAoc2Nyb2xsYmFyLT5vcmllbnRhdGlv
bigpID09IEhvcml6b250YWxTY3JvbGxiYXIpCisgICAgICAgIHRodW1iUmVjdC5zZXRIZWlnaHQo
dGh1bWJSZWN0LmhlaWdodCgpIC0gc2Nyb2xsYmFyTWFyZ2luKTsKKyAgICBlbHNlCisgICAgICAg
IHRodW1iUmVjdC5zZXRXaWR0aCh0aHVtYlJlY3Qud2lkdGgoKSAtIHNjcm9sbGJhck1hcmdpbik7
CisgICAgZmlsbFNtb290aEVkZ2VkUmVjdChjb250ZXh0LCB0aHVtYlJlY3QsIENvbG9yKDEyOCwg
MTI4LCAxMjgsIDEyOCkpOworfQorCit2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lk
OjpwYWludFNjcm9sbGJhckJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBTY3Jv
bGxiYXJUaGVtZUNsaWVudCogc2Nyb2xsYmFyKQoreworICAgIC8vIFBhaW50IGJsYWNrIGJhY2tn
cm91bmQgaW4gRHVtcFJlbmRlclRyZWUsIG90aGVyd2lzZSB0aGUgcGl4ZWxzIGluIHRoZSBzY3Jv
bGxiYXIgYXJlYSBkZXBlbmQKKyAgICAvLyBvbiB0aGVpciBwcmV2aW91cyBzdGF0ZSwgd2hpY2gg
bWFrZXMgdGhlIGR1bXBlZCByZXN1bHQgdW5kZXRlcm1pbmVkLgorICAgIGlmIChQbGF0Zm9ybVN1
cHBvcnQ6OmxheW91dFRlc3RNb2RlKCkpCisgICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KHNjcm9s
bGJhci0+ZnJhbWVSZWN0KCksIENvbG9yOjpibGFjaywgQ29sb3JTcGFjZURldmljZVJHQik7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZC5o
CmluZGV4IGYzZGI4MGU1MmZiZjUwYzFkZjY4YTk0MGVhOWQ0NzNmMmRiZjI4NjUuLjNiNDBhYjlm
Yjc0NTVhNjUxMGE5MWQ3ZmYyNGExNzg0ZGQ4MWUxMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1
bUFuZHJvaWQuaApAQCAtMzAsMTUgKzMwLDIzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQgOiBwdWJsaWMgU2Nyb2xsYmFyVGhl
bWVDaHJvbWl1bSB7CitjbGFzcyBTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZCA6IHB1Ymxp
YyBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQgc2Ny
b2xsYmFyVGhpY2tuZXNzKFNjcm9sbGJhckNvbnRyb2xTaXplKTsKKyAgICB2aXJ0dWFsIGJvb2wg
dXNlc092ZXJsYXlTY3JvbGxiYXJzKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCi1wcm90ZWN0
ZWQ6CisgICAgdmlydHVhbCBpbnQgdGh1bWJQb3NpdGlvbihTY3JvbGxiYXJUaGVtZUNsaWVudCop
OworICAgIHZpcnR1YWwgaW50IHRodW1iTGVuZ3RoKFNjcm9sbGJhclRoZW1lQ2xpZW50Kik7CisK
KyAgICB2aXJ0dWFsIGJvb2wgaGFzQnV0dG9ucyhTY3JvbGxiYXJUaGVtZUNsaWVudCopIHsgcmV0
dXJuIGZhbHNlOyB9OworICAgIHZpcnR1YWwgYm9vbCBoYXNUaHVtYihTY3JvbGxiYXJUaGVtZUNs
aWVudCopIHsgcmV0dXJuIHRydWU7IH07CisKKyAgICB2aXJ0dWFsIEludFJlY3QgYmFja0J1dHRv
blJlY3QoU2Nyb2xsYmFyVGhlbWVDbGllbnQqLCBTY3JvbGxiYXJQYXJ0LCBib29sIHBhaW50aW5n
ID0gZmFsc2UpOworICAgIHZpcnR1YWwgSW50UmVjdCBmb3J3YXJkQnV0dG9uUmVjdChTY3JvbGxi
YXJUaGVtZUNsaWVudCosIFNjcm9sbGJhclBhcnQsIGJvb2wgcGFpbnRpbmcgPSBmYWxzZSk7Cisg
ICAgdmlydHVhbCBJbnRSZWN0IHRyYWNrUmVjdChTY3JvbGxiYXJUaGVtZUNsaWVudCosIGJvb2wg
cGFpbnRpbmcgPSBmYWxzZSk7CisKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRUaHVtYihHcmFwaGlj
c0NvbnRleHQqLCBTY3JvbGxiYXJUaGVtZUNsaWVudCosIGNvbnN0IEludFJlY3QmKTsKICAgICB2
aXJ0dWFsIHZvaWQgcGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCosIFNj
cm9sbGJhclRoZW1lQ2xpZW50Kik7Ci0gICAgdmlydHVhbCBib29sIHNob3VsZENlbnRlck9uVGh1
bWIoU2Nyb2xsYmFyVGhlbWVDbGllbnQqLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmKTsKLSAg
ICB2aXJ0dWFsIEludFNpemUgYnV0dG9uU2l6ZShTY3JvbGxiYXJUaGVtZUNsaWVudCopOwotICAg
IHZpcnR1YWwgaW50IG1pbmltdW1UaHVtYkxlbmd0aChTY3JvbGxiYXJUaGVtZUNsaWVudCopOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>