<?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>28652</bug_id>
          
          <creation_ts>2009-08-21 23:42:24 -0700</creation_ts>
          <short_desc>Clean up fill image geometry calculation</short_desc>
          <delta_ts>2009-08-22 09:33:23 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>142103</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-08-21 23:42:24 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142105</commentid>
    <comment_count>1</comment_count>
      <attachid>38430</attachid>
    <who name="">mitz</who>
    <bug_when>2009-08-21 23:57:13 -0700</bug_when>
    <thetext>Created attachment 38430
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142108</commentid>
    <comment_count>2</comment_count>
      <attachid>38430</attachid>
    <who name="">mitz</who>
    <bug_when>2009-08-22 01:31:07 -0700</bug_when>
    <thetext>Comment on attachment 38430
Cleanup

I think I should also rename the 2nd parameter to calculateFillTileSize() to positioningAreaSize, to match the call site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142113</commentid>
    <comment_count>3</comment_count>
      <attachid>38430</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-22 05:42:32 -0700</bug_when>
    <thetext>Comment on attachment 38430
Cleanup

&gt; +            calculateBackgroundSize() to this. Replaced spearate scaledWidth and

Misspelling of separate here.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142125</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-08-22 09:33:23 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/projects/webkit/changeset/47674&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38430</attachid>
            <date>2009-08-21 23:57:13 -0700</date>
            <delta_ts>2009-08-22 05:42:32 -0700</delta_ts>
            <desc>Cleanup</desc>
            <filename>28652_r1.diff</filename>
            <type>text/plain</type>
            <size>13056</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NzY2NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDgtMjEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGVh
biB1cCBmaWxsIGltYWdlIGdlb21ldHJ5IGNhbGN1bGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODY1MgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1v
ZGVsT2JqZWN0OjpjYWxjdWxhdGVGaWxsVGlsZVNpemUpOiBSZW5hbWVkCisgICAgICAgICAgICBj
YWxjdWxhdGVCYWNrZ3JvdW5kU2l6ZSgpIHRvIHRoaXMuIFJlcGxhY2VkIHNwZWFyYXRlIHNjYWxl
ZFdpZHRoIGFuZAorICAgICAgICAgICAgc2NhbGVkSGVpZ2h0IHBhcmFtZXRlcnMgd2l0aCBhIHNp
bmdsZSBzY2FsZWRTaXplIHBhcmFtZXRlci4gUmVuYW1lZAorICAgICAgICAgICAgcGFyYW1ldGVy
cyBhbmQgbG9jYWwgdmFyaWFibGVzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxP
YmplY3Q6OmNhbGN1bGF0ZUJhY2tncm91bmRJbWFnZUdlb21ldHJ5KTogQ2hhbmdlZAorICAgICAg
ICAgICAgdG8gdXNlIENTUzMgQmFja2dyb3VuZHMgYW5kIEJvcmRlcnMgdGVybWlub2xvZ3kgaW4g
Y29tbWVudHMgYW5kCisgICAgICAgICAgICBsb2NhbCB2YXJpYWJsZSBuYW1lcy4gUmVuYW1lZCwg
Y2xhcmlmaWVkIGFuZCBjb25zb2xpZGF0ZWQgc29tZSBsb2NhbAorICAgICAgICAgICAgdmFyaWFi
bGVzLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oOiBNYWRlIGNh
bGN1bGF0ZUZpbGxUaWxlU2l6ZSgpIHByaXZhdGUuCisKIDIwMDktMDgtMjEgIEFkZWxlIFBldGVy
c29uICA8YWRlbGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4K
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJKHJldmlz
aW9uIDQ3NjYwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OTMsNTAgKzQ5Myw1MCBAQCB2b2lkIFJlbmRlckJveE1vZGVs
T2JqZWN0OjpwYWludEZpbGxMYXllCiAgICAgICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKIH0KIAot
SW50U2l6ZSBSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y2FsY3VsYXRlQmFja2dyb3VuZFNpemUoY29u
c3QgRmlsbExheWVyKiBiZ0xheWVyLCBpbnQgc2NhbGVkV2lkdGgsIGludCBzY2FsZWRIZWlnaHQp
IGNvbnN0CitJbnRTaXplIFJlbmRlckJveE1vZGVsT2JqZWN0OjpjYWxjdWxhdGVGaWxsVGlsZVNp
emUoY29uc3QgRmlsbExheWVyKiBmaWxsTGF5ZXIsIEludFNpemUgc2NhbGVkU2l6ZSkgY29uc3QK
IHsKLSAgICBTdHlsZUltYWdlKiBiZyA9IGJnTGF5ZXItPmltYWdlKCk7Ci0gICAgYmctPnNldElt
YWdlQ29udGFpbmVyU2l6ZShJbnRTaXplKHNjYWxlZFdpZHRoLCBzY2FsZWRIZWlnaHQpKTsgLy8g
VXNlIHRoZSBib3ggZXN0YWJsaXNoZWQgYnkgYmFja2dyb3VuZC1vcmlnaW4uCisgICAgU3R5bGVJ
bWFnZSogaW1hZ2UgPSBmaWxsTGF5ZXItPmltYWdlKCk7CisgICAgaW1hZ2UtPnNldEltYWdlQ29u
dGFpbmVyU2l6ZShzY2FsZWRTaXplKTsgLy8gVXNlIHRoZSBib3ggZXN0YWJsaXNoZWQgYnkgYmFj
a2dyb3VuZC1vcmlnaW4uCiAKLSAgICBFRmlsbFNpemVUeXBlIHR5cGUgPSBiZ0xheWVyLT5zaXpl
KCkudHlwZTsKKyAgICBFRmlsbFNpemVUeXBlIHR5cGUgPSBmaWxsTGF5ZXItPnNpemUoKS50eXBl
OwogCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgICAgIGNhc2UgU2l6ZUxlbmd0aDogewotICAg
ICAgICAgICAgaW50IHcgPSBzY2FsZWRXaWR0aDsKLSAgICAgICAgICAgIGludCBoID0gc2NhbGVk
SGVpZ2h0OwotICAgICAgICAgICAgTGVuZ3RoIGJnV2lkdGggPSBiZ0xheWVyLT5zaXplKCkuc2l6
ZS53aWR0aCgpOwotICAgICAgICAgICAgTGVuZ3RoIGJnSGVpZ2h0ID0gYmdMYXllci0+c2l6ZSgp
LnNpemUuaGVpZ2h0KCk7Ci0KLSAgICAgICAgICAgIGlmIChiZ1dpZHRoLmlzRml4ZWQoKSkKLSAg
ICAgICAgICAgICAgICB3ID0gYmdXaWR0aC52YWx1ZSgpOwotICAgICAgICAgICAgZWxzZSBpZiAo
YmdXaWR0aC5pc1BlcmNlbnQoKSkKLSAgICAgICAgICAgICAgICB3ID0gYmdXaWR0aC5jYWxjVmFs
dWUoc2NhbGVkV2lkdGgpOworICAgICAgICAgICAgaW50IHcgPSBzY2FsZWRTaXplLndpZHRoKCk7
CisgICAgICAgICAgICBpbnQgaCA9IHNjYWxlZFNpemUuaGVpZ2h0KCk7CisgICAgICAgICAgICBM
ZW5ndGggbGF5ZXJXaWR0aCA9IGZpbGxMYXllci0+c2l6ZSgpLnNpemUud2lkdGgoKTsKKyAgICAg
ICAgICAgIExlbmd0aCBsYXllckhlaWdodCA9IGZpbGxMYXllci0+c2l6ZSgpLnNpemUuaGVpZ2h0
KCk7CisKKyAgICAgICAgICAgIGlmIChsYXllcldpZHRoLmlzRml4ZWQoKSkKKyAgICAgICAgICAg
ICAgICB3ID0gbGF5ZXJXaWR0aC52YWx1ZSgpOworICAgICAgICAgICAgZWxzZSBpZiAobGF5ZXJX
aWR0aC5pc1BlcmNlbnQoKSkKKyAgICAgICAgICAgICAgICB3ID0gbGF5ZXJXaWR0aC5jYWxjVmFs
dWUoc2NhbGVkU2l6ZS53aWR0aCgpKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKGJn
SGVpZ2h0LmlzRml4ZWQoKSkKLSAgICAgICAgICAgICAgICBoID0gYmdIZWlnaHQudmFsdWUoKTsK
LSAgICAgICAgICAgIGVsc2UgaWYgKGJnSGVpZ2h0LmlzUGVyY2VudCgpKQotICAgICAgICAgICAg
ICAgIGggPSBiZ0hlaWdodC5jYWxjVmFsdWUoc2NhbGVkSGVpZ2h0KTsKKyAgICAgICAgICAgIGlm
IChsYXllckhlaWdodC5pc0ZpeGVkKCkpCisgICAgICAgICAgICAgICAgaCA9IGxheWVySGVpZ2h0
LnZhbHVlKCk7CisgICAgICAgICAgICBlbHNlIGlmIChsYXllckhlaWdodC5pc1BlcmNlbnQoKSkK
KyAgICAgICAgICAgICAgICBoID0gbGF5ZXJIZWlnaHQuY2FsY1ZhbHVlKHNjYWxlZFNpemUuaGVp
Z2h0KCkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBJZiBvbmUgb2YgdGhlIHZhbHVl
cyBpcyBhdXRvIHdlIGhhdmUgdG8gdXNlIHRoZSBhcHByb3ByaWF0ZQogICAgICAgICAgICAgLy8g
c2NhbGUgdG8gbWFpbnRhaW4gb3VyIGFzcGVjdCByYXRpby4KLSAgICAgICAgICAgIGlmIChiZ1dp
ZHRoLmlzQXV0bygpICYmICFiZ0hlaWdodC5pc0F1dG8oKSkKLSAgICAgICAgICAgICAgICB3ID0g
YmctPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpLndpZHRoKCkgKiBo
IC8gYmctPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpLmhlaWdodCgp
OyAgICAgICAgCi0gICAgICAgICAgICBlbHNlIGlmICghYmdXaWR0aC5pc0F1dG8oKSAmJiBiZ0hl
aWdodC5pc0F1dG8oKSkKLSAgICAgICAgICAgICAgICBoID0gYmctPmltYWdlU2l6ZSh0aGlzLCBz
dHlsZSgpLT5lZmZlY3RpdmVab29tKCkpLmhlaWdodCgpICogdyAvIGJnLT5pbWFnZVNpemUodGhp
cywgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKS53aWR0aCgpOwotICAgICAgICAgICAgZWxzZSBp
ZiAoYmdXaWR0aC5pc0F1dG8oKSAmJiBiZ0hlaWdodC5pc0F1dG8oKSkgeworICAgICAgICAgICAg
aWYgKGxheWVyV2lkdGguaXNBdXRvKCkgJiYgIWxheWVySGVpZ2h0LmlzQXV0bygpKQorICAgICAg
ICAgICAgICAgIHcgPSBpbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2ZVpv
b20oKSkud2lkdGgoKSAqIGggLyBpbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVj
dGl2ZVpvb20oKSkuaGVpZ2h0KCk7ICAgICAgICAKKyAgICAgICAgICAgIGVsc2UgaWYgKCFsYXll
cldpZHRoLmlzQXV0bygpICYmIGxheWVySGVpZ2h0LmlzQXV0bygpKQorICAgICAgICAgICAgICAg
IGggPSBpbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSkuaGVp
Z2h0KCkgKiB3IC8gaW1hZ2UtPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29t
KCkpLndpZHRoKCk7CisgICAgICAgICAgICBlbHNlIGlmIChsYXllcldpZHRoLmlzQXV0bygpICYm
IGxheWVySGVpZ2h0LmlzQXV0bygpKSB7CiAgICAgICAgICAgICAgICAgLy8gSWYgYm90aCB3aWR0
aCBhbmQgaGVpZ2h0IGFyZSBhdXRvLCB3ZSBqdXN0IHdhbnQgdG8gdXNlIHRoZSBpbWFnZSdzCiAg
ICAgICAgICAgICAgICAgLy8gaW50cmluc2ljIHNpemUuCi0gICAgICAgICAgICAgICAgdyA9IGJn
LT5pbWFnZVNpemUodGhpcywgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKS53aWR0aCgpOwotICAg
ICAgICAgICAgICAgIGggPSBiZy0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2ZVpv
b20oKSkuaGVpZ2h0KCk7CisgICAgICAgICAgICAgICAgdyA9IGltYWdlLT5pbWFnZVNpemUodGhp
cywgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKS53aWR0aCgpOworICAgICAgICAgICAgICAgIGgg
PSBpbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSkuaGVpZ2h0
KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHJldHVybiBJbnRT
aXplKG1heCgxLCB3KSwgbWF4KDEsIGgpKTsKICAgICAgICAgfQogICAgICAgICBjYXNlIENvbnRh
aW46CiAgICAgICAgIGNhc2UgQ292ZXI6IHsKLSAgICAgICAgICAgIEludFNpemUgaW1hZ2VJbnRy
aW5zaWNTaXplID0gYmctPmltYWdlU2l6ZSh0aGlzLCAxKTsKLSAgICAgICAgICAgIGZsb2F0IGhv
cml6b250YWxTY2FsZUZhY3RvciA9IHN0YXRpY19jYXN0PGZsb2F0PihzY2FsZWRXaWR0aCkgLyBp
bWFnZUludHJpbnNpY1NpemUud2lkdGgoKTsKLSAgICAgICAgICAgIGZsb2F0IHZlcnRpY2FsU2Nh
bGVGYWN0b3IgPSBzdGF0aWNfY2FzdDxmbG9hdD4oc2NhbGVkSGVpZ2h0KSAvIGltYWdlSW50cmlu
c2ljU2l6ZS5oZWlnaHQoKTsKKyAgICAgICAgICAgIEludFNpemUgaW1hZ2VJbnRyaW5zaWNTaXpl
ID0gaW1hZ2UtPmltYWdlU2l6ZSh0aGlzLCAxKTsKKyAgICAgICAgICAgIGZsb2F0IGhvcml6b250
YWxTY2FsZUZhY3RvciA9IHN0YXRpY19jYXN0PGZsb2F0PihzY2FsZWRTaXplLndpZHRoKCkpIC8g
aW1hZ2VJbnRyaW5zaWNTaXplLndpZHRoKCk7CisgICAgICAgICAgICBmbG9hdCB2ZXJ0aWNhbFNj
YWxlRmFjdG9yID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHNjYWxlZFNpemUuaGVpZ2h0KCkpIC8gaW1h
Z2VJbnRyaW5zaWNTaXplLmhlaWdodCgpOwogICAgICAgICAgICAgZmxvYXQgc2NhbGVGYWN0b3Ig
PSB0eXBlID09IENvbnRhaW4gPyBtaW4oaG9yaXpvbnRhbFNjYWxlRmFjdG9yLCB2ZXJ0aWNhbFNj
YWxlRmFjdG9yKSA6IG1heChob3Jpem9udGFsU2NhbGVGYWN0b3IsIHZlcnRpY2FsU2NhbGVGYWN0
b3IpOwogCiAgICAgICAgICAgICByZXR1cm4gSW50U2l6ZShtYXg8aW50PigxLCBpbWFnZUludHJp
bnNpY1NpemUud2lkdGgoKSAqIHNjYWxlRmFjdG9yKSwgbWF4PGludD4oMSwgaW1hZ2VJbnRyaW5z
aWNTaXplLmhlaWdodCgpICogc2NhbGVGYWN0b3IpKTsKQEAgLTU0NSwxMTcgKzU0NSw3OCBAQCBJ
bnRTaXplIFJlbmRlckJveE1vZGVsT2JqZWN0OjpjYWxjdWxhdGVCCiAgICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICByZXR1cm4g
YmctPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpOworICAgIHJldHVy
biBpbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSk7CiB9CiAK
LXZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmNhbGN1bGF0ZUJhY2tncm91bmRJbWFnZUdlb21l
dHJ5KGNvbnN0IEZpbGxMYXllciogYmdMYXllciwgaW50IHR4LCBpbnQgdHksIGludCB3LCBpbnQg
aCwgCit2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpjYWxjdWxhdGVCYWNrZ3JvdW5kSW1hZ2VH
ZW9tZXRyeShjb25zdCBGaWxsTGF5ZXIqIGZpbGxMYXllciwgaW50IHR4LCBpbnQgdHksIGludCB3
LCBpbnQgaCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBJbnRSZWN0JiBkZXN0UmVjdCwgSW50UG9pbnQmIHBoYXNlLCBJbnRTaXpl
JiB0aWxlU2l6ZSkKIHsKLSAgICBpbnQgcHc7Ci0gICAgaW50IHBoOwogICAgIGludCBsZWZ0ID0g
MDsKLSAgICBpbnQgcmlnaHQgPSAwOwogICAgIGludCB0b3AgPSAwOwotICAgIGludCBib3R0b20g
PSAwOwotICAgIGludCBjeDsKLSAgICBpbnQgY3k7Ci0gICAgaW50IHJ3ID0gMDsKLSAgICBpbnQg
cmggPSAwOworICAgIEludFNpemUgcG9zaXRpb25pbmdBcmVhU2l6ZTsKIAotICAgIC8vIENTUzIg
Y2hhcHRlciAxNC4yLjEKLSAgICBib29sIGZpeGVkQXR0YWNobWVudCA9IGJnTGF5ZXItPmF0dGFj
aG1lbnQoKSA9PSBGaXhlZEJhY2tncm91bmRBdHRhY2htZW50OworICAgIC8vIERldGVybWluZSB0
aGUgYmFja2dyb3VuZCBwb3NpdGlvbmluZyBhcmVhIGFuZCBzZXQgZGVzdFJlY3QgdG8gdGhlIGJh
Y2tncm91bmQgcGFpbnRpbmcgYXJlYS4KKyAgICAvLyBkZXN0UmVjdCB3aWxsIGJlIGFkanVzdGVk
IGxhdGVyIGlmIHRoZSBiYWNrZ3JvdW5kIGlzIG5vbi1yZXBlYXRpbmcuCisgICAgYm9vbCBmaXhl
ZEF0dGFjaG1lbnQgPSBmaWxsTGF5ZXItPmF0dGFjaG1lbnQoKSA9PSBGaXhlZEJhY2tncm91bmRB
dHRhY2htZW50OwogICAgIGlmICghZml4ZWRBdHRhY2htZW50KSB7Ci0gICAgICAgIC8vIFNjcm9s
bCBhbmQgTG9jYWwKLSAgICAgICAgaWYgKGJnTGF5ZXItPm9yaWdpbigpICE9IEJvcmRlckZpbGxC
b3gpIHsKKyAgICAgICAgZGVzdFJlY3QgPSBJbnRSZWN0KHR4LCB0eSwgdywgaCk7CisKKyAgICAg
ICAgaW50IHJpZ2h0ID0gMDsKKyAgICAgICAgaW50IGJvdHRvbSA9IDA7CisgICAgICAgIC8vIFNj
cm9sbCBhbmQgTG9jYWwuCisgICAgICAgIGlmIChmaWxsTGF5ZXItPm9yaWdpbigpICE9IEJvcmRl
ckZpbGxCb3gpIHsKICAgICAgICAgICAgIGxlZnQgPSBib3JkZXJMZWZ0KCk7CiAgICAgICAgICAg
ICByaWdodCA9IGJvcmRlclJpZ2h0KCk7CiAgICAgICAgICAgICB0b3AgPSBib3JkZXJUb3AoKTsK
ICAgICAgICAgICAgIGJvdHRvbSA9IGJvcmRlckJvdHRvbSgpOwotICAgICAgICAgICAgaWYgKGJn
TGF5ZXItPm9yaWdpbigpID09IENvbnRlbnRGaWxsQm94KSB7CisgICAgICAgICAgICBpZiAoZmls
bExheWVyLT5vcmlnaW4oKSA9PSBDb250ZW50RmlsbEJveCkgewogICAgICAgICAgICAgICAgIGxl
ZnQgKz0gcGFkZGluZ0xlZnQoKTsKICAgICAgICAgICAgICAgICByaWdodCArPSBwYWRkaW5nUmln
aHQoKTsKICAgICAgICAgICAgICAgICB0b3AgKz0gcGFkZGluZ1RvcCgpOwogICAgICAgICAgICAg
ICAgIGJvdHRvbSArPSBwYWRkaW5nQm90dG9tKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
LSAgICAgICAgCisKICAgICAgICAgLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIGJveCBnZW5lcmF0
ZWQgYnkgdGhlIHJvb3QgZWxlbWVudCBjb3ZlcnMgdGhlIGVudGlyZSBjYW52YXMgaW5jbHVkaW5n
Ci0gICAgICAgIC8vIGl0cyBtYXJnaW5zLiAgU2luY2UgdGhvc2Ugd2VyZSBhZGRlZCBpbiBhbHJl
YWR5LCB3ZSBoYXZlIHRvIGZhY3RvciB0aGVtIG91dCB3aGVuIGNvbXB1dGluZyB0aGUKLSAgICAg
ICAgLy8gYm94IHVzZWQgYnkgYmFja2dyb3VuZC1vcmlnaW4vc2l6ZS9wb3NpdGlvbi4KKyAgICAg
ICAgLy8gaXRzIG1hcmdpbnMuIFNpbmNlIHRob3NlIHdlcmUgYWRkZWQgaW4gYWxyZWFkeSwgd2Ug
aGF2ZSB0byBmYWN0b3IgdGhlbSBvdXQgd2hlbiBjb21wdXRpbmcKKyAgICAgICAgLy8gdGhlIGJh
Y2tncm91bmQgcG9zaXRpb25pbmcgYXJlYS4KICAgICAgICAgaWYgKGlzUm9vdCgpKSB7Ci0gICAg
ICAgICAgICBydyA9IHRvUmVuZGVyQm94KHRoaXMpLT53aWR0aCgpIC0gbGVmdCAtIHJpZ2h0Owot
ICAgICAgICAgICAgcmggPSB0b1JlbmRlckJveCh0aGlzKS0+aGVpZ2h0KCkgLSB0b3AgLSBib3R0
b207IAorICAgICAgICAgICAgcG9zaXRpb25pbmdBcmVhU2l6ZSA9IEludFNpemUodG9SZW5kZXJC
b3godGhpcyktPndpZHRoKCkgLSBsZWZ0IC0gcmlnaHQsIHRvUmVuZGVyQm94KHRoaXMpLT5oZWln
aHQoKSAtIHRvcCAtIGJvdHRvbSk7CiAgICAgICAgICAgICBsZWZ0ICs9IG1hcmdpbkxlZnQoKTsK
LSAgICAgICAgICAgIHJpZ2h0ICs9IG1hcmdpblJpZ2h0KCk7CiAgICAgICAgICAgICB0b3AgKz0g
bWFyZ2luVG9wKCk7Ci0gICAgICAgICAgICBib3R0b20gKz0gbWFyZ2luQm90dG9tKCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgY3ggPSB0eDsKLSAgICAgICAgY3kgPSB0eTsKLSAgICAgICAgcHcgPSB3
IC0gbGVmdCAtIHJpZ2h0OwotICAgICAgICBwaCA9IGggLSB0b3AgLSBib3R0b207CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgcG9zaXRpb25pbmdBcmVhU2l6ZSA9IEludFNpemUodyAtIGxl
ZnQgLSByaWdodCwgaCAtIHRvcCAtIGJvdHRvbSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgLy8g
Rml4ZWQgYmFja2dyb3VuZCBhdHRhY2htZW50LgotICAgICAgICBJbnRSZWN0IHZyID0gdmlld1Jl
Y3QoKTsKLSAgICAgICAgY3ggPSB2ci54KCk7Ci0gICAgICAgIGN5ID0gdnIueSgpOwotICAgICAg
ICBwdyA9IHZyLndpZHRoKCk7Ci0gICAgICAgIHBoID0gdnIuaGVpZ2h0KCk7Ci0gICAgfQotCi0g
ICAgaW50IHN4ID0gMDsKLSAgICBpbnQgc3kgPSAwOwotICAgIGludCBjdzsKLSAgICBpbnQgY2g7
Ci0KLSAgICBJbnRTaXplIHNjYWxlZEltYWdlU2l6ZTsKLSAgICBpZiAoaXNSb290KCkgJiYgIWZp
eGVkQXR0YWNobWVudCkKLSAgICAgICAgc2NhbGVkSW1hZ2VTaXplID0gY2FsY3VsYXRlQmFja2dy
b3VuZFNpemUoYmdMYXllciwgcncsIHJoKTsKLSAgICBlbHNlCi0gICAgICAgIHNjYWxlZEltYWdl
U2l6ZSA9IGNhbGN1bGF0ZUJhY2tncm91bmRTaXplKGJnTGF5ZXIsIHB3LCBwaCk7Ci0gICAgICAg
IAotICAgIGludCBzY2FsZWRJbWFnZVdpZHRoID0gc2NhbGVkSW1hZ2VTaXplLndpZHRoKCk7Ci0g
ICAgaW50IHNjYWxlZEltYWdlSGVpZ2h0ID0gc2NhbGVkSW1hZ2VTaXplLmhlaWdodCgpOwotCi0g
ICAgRUZpbGxSZXBlYXQgYmFja2dyb3VuZFJlcGVhdCA9IGJnTGF5ZXItPnJlcGVhdCgpOwotICAg
IAotICAgIGludCB4UG9zaXRpb247Ci0gICAgaWYgKGlzUm9vdCgpICYmICFmaXhlZEF0dGFjaG1l
bnQpCi0gICAgICAgIHhQb3NpdGlvbiA9IGJnTGF5ZXItPnhQb3NpdGlvbigpLmNhbGNNaW5WYWx1
ZShydyAtIHNjYWxlZEltYWdlV2lkdGgsIHRydWUpOwotICAgIGVsc2UKLSAgICAgICAgeFBvc2l0
aW9uID0gYmdMYXllci0+eFBvc2l0aW9uKCkuY2FsY01pblZhbHVlKHB3IC0gc2NhbGVkSW1hZ2VX
aWR0aCwgdHJ1ZSk7Ci0gICAgaWYgKGJhY2tncm91bmRSZXBlYXQgPT0gUmVwZWF0RmlsbCB8fCBi
YWNrZ3JvdW5kUmVwZWF0ID09IFJlcGVhdFhGaWxsKSB7Ci0gICAgICAgIGN3ID0gcHcgKyBsZWZ0
ICsgcmlnaHQ7Ci0gICAgICAgIHN4ID0gc2NhbGVkSW1hZ2VXaWR0aCA/IHNjYWxlZEltYWdlV2lk
dGggLSAoeFBvc2l0aW9uICsgbGVmdCkgJSBzY2FsZWRJbWFnZVdpZHRoIDogMDsKLSAgICB9IGVs
c2UgewotICAgICAgICBjeCArPSBtYXgoeFBvc2l0aW9uICsgbGVmdCwgMCk7Ci0gICAgICAgIHN4
ID0gLW1pbih4UG9zaXRpb24gKyBsZWZ0LCAwKTsKLSAgICAgICAgY3cgPSBzY2FsZWRJbWFnZVdp
ZHRoICsgbWluKHhQb3NpdGlvbiArIGxlZnQsIDApOworICAgICAgICBkZXN0UmVjdCA9IHZpZXdS
ZWN0KCk7CisgICAgICAgIHBvc2l0aW9uaW5nQXJlYVNpemUgPSBkZXN0UmVjdC5zaXplKCk7CiAg
ICAgfQotICAgIAotICAgIGludCB5UG9zaXRpb247Ci0gICAgaWYgKGlzUm9vdCgpICYmICFmaXhl
ZEF0dGFjaG1lbnQpCi0gICAgICAgIHlQb3NpdGlvbiA9IGJnTGF5ZXItPnlQb3NpdGlvbigpLmNh
bGNNaW5WYWx1ZShyaCAtIHNjYWxlZEltYWdlSGVpZ2h0LCB0cnVlKTsKLSAgICBlbHNlIAotICAg
ICAgICB5UG9zaXRpb24gPSBiZ0xheWVyLT55UG9zaXRpb24oKS5jYWxjTWluVmFsdWUocGggLSBz
Y2FsZWRJbWFnZUhlaWdodCwgdHJ1ZSk7Ci0gICAgaWYgKGJhY2tncm91bmRSZXBlYXQgPT0gUmVw
ZWF0RmlsbCB8fCBiYWNrZ3JvdW5kUmVwZWF0ID09IFJlcGVhdFlGaWxsKSB7Ci0gICAgICAgIGNo
ID0gcGggKyB0b3AgKyBib3R0b207Ci0gICAgICAgIHN5ID0gc2NhbGVkSW1hZ2VIZWlnaHQgPyBz
Y2FsZWRJbWFnZUhlaWdodCAtICh5UG9zaXRpb24gKyB0b3ApICUgc2NhbGVkSW1hZ2VIZWlnaHQg
OiAwOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGN5ICs9IG1heCh5UG9zaXRpb24gKyB0b3AsIDAp
OwotICAgICAgICBzeSA9IC1taW4oeVBvc2l0aW9uICsgdG9wLCAwKTsKLSAgICAgICAgY2ggPSBz
Y2FsZWRJbWFnZUhlaWdodCArIG1pbih5UG9zaXRpb24gKyB0b3AsIDApOworCisgICAgdGlsZVNp
emUgPSBjYWxjdWxhdGVGaWxsVGlsZVNpemUoZmlsbExheWVyLCBwb3NpdGlvbmluZ0FyZWFTaXpl
KTsKKworICAgIEVGaWxsUmVwZWF0IGJhY2tncm91bmRSZXBlYXQgPSBmaWxsTGF5ZXItPnJlcGVh
dCgpOworCisgICAgaW50IHhQb3NpdGlvbiA9IGZpbGxMYXllci0+eFBvc2l0aW9uKCkuY2FsY01p
blZhbHVlKHBvc2l0aW9uaW5nQXJlYVNpemUud2lkdGgoKSAtIHRpbGVTaXplLndpZHRoKCksIHRy
dWUpOworICAgIGlmIChiYWNrZ3JvdW5kUmVwZWF0ID09IFJlcGVhdEZpbGwgfHwgYmFja2dyb3Vu
ZFJlcGVhdCA9PSBSZXBlYXRYRmlsbCkKKyAgICAgICAgcGhhc2Uuc2V0WCh0aWxlU2l6ZS53aWR0
aCgpID8gdGlsZVNpemUud2lkdGgoKSAtICh4UG9zaXRpb24gKyBsZWZ0KSAlIHRpbGVTaXplLndp
ZHRoKCkgOiAwKTsKKyAgICBlbHNlIHsKKyAgICAgICAgZGVzdFJlY3QubW92ZShtYXgoeFBvc2l0
aW9uICsgbGVmdCwgMCksIDApOworICAgICAgICBwaGFzZS5zZXRYKC1taW4oeFBvc2l0aW9uICsg
bGVmdCwgMCkpOworICAgICAgICBkZXN0UmVjdC5zZXRXaWR0aCh0aWxlU2l6ZS53aWR0aCgpICsg
bWluKHhQb3NpdGlvbiArIGxlZnQsIDApKTsKICAgICB9CiAKLSAgICBpZiAoZml4ZWRBdHRhY2ht
ZW50KSB7Ci0gICAgICAgIHN4ICs9IG1heCh0eCAtIGN4LCAwKTsKLSAgICAgICAgc3kgKz0gbWF4
KHR5IC0gY3ksIDApOworICAgIGludCB5UG9zaXRpb24gPSBmaWxsTGF5ZXItPnlQb3NpdGlvbigp
LmNhbGNNaW5WYWx1ZShwb3NpdGlvbmluZ0FyZWFTaXplLmhlaWdodCgpIC0gdGlsZVNpemUuaGVp
Z2h0KCksIHRydWUpOworICAgIGlmIChiYWNrZ3JvdW5kUmVwZWF0ID09IFJlcGVhdEZpbGwgfHwg
YmFja2dyb3VuZFJlcGVhdCA9PSBSZXBlYXRZRmlsbCkKKyAgICAgICAgcGhhc2Uuc2V0WSh0aWxl
U2l6ZS5oZWlnaHQoKSA/IHRpbGVTaXplLmhlaWdodCgpIC0gKHlQb3NpdGlvbiArIHRvcCkgJSB0
aWxlU2l6ZS5oZWlnaHQoKSA6IDApOworICAgIGVsc2UgeworICAgICAgICBkZXN0UmVjdC5tb3Zl
KDAsIG1heCh5UG9zaXRpb24gKyB0b3AsIDApKTsKKyAgICAgICAgcGhhc2Uuc2V0WSgtbWluKHlQ
b3NpdGlvbiArIHRvcCwgMCkpOworICAgICAgICBkZXN0UmVjdC5zZXRIZWlnaHQodGlsZVNpemUu
aGVpZ2h0KCkgKyBtaW4oeVBvc2l0aW9uICsgdG9wLCAwKSk7CiAgICAgfQogCi0gICAgZGVzdFJl
Y3QgPSBJbnRSZWN0KGN4LCBjeSwgY3csIGNoKTsKKyAgICBpZiAoZml4ZWRBdHRhY2htZW50KQor
ICAgICAgICBwaGFzZS5tb3ZlKG1heCh0eCAtIGRlc3RSZWN0LngoKSwgMCksIG1heCh0eSAtIGRl
c3RSZWN0LnkoKSwgMCkpOworCiAgICAgZGVzdFJlY3QuaW50ZXJzZWN0KEludFJlY3QodHgsIHR5
LCB3LCBoKSk7Ci0gICAgcGhhc2UgPSBJbnRQb2ludChzeCwgc3kpOwotICAgIHRpbGVTaXplID0g
SW50U2l6ZShzY2FsZWRJbWFnZVdpZHRoLCBzY2FsZWRJbWFnZUhlaWdodCk7CiB9CiAKIGludCBS
ZW5kZXJCb3hNb2RlbE9iamVjdDo6dmVydGljYWxQb3NpdGlvbihib29sIGZpcnN0TGluZSkgY29u
c3QKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAkocmV2aXNp
b24gNDc2NjApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDAsMTAgKzEwMCwxMiBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoK
ICAgICB2b2lkIGNhbGN1bGF0ZUJhY2tncm91bmRJbWFnZUdlb21ldHJ5KGNvbnN0IEZpbGxMYXll
ciosIGludCB0eCwgaW50IHR5LCBpbnQgdywgaW50IGgsIEludFJlY3QmIGRlc3RSZWN0LCBJbnRQ
b2ludCYgcGhhc2UsIEludFNpemUmIHRpbGVTaXplKTsKLSAgICBJbnRTaXplIGNhbGN1bGF0ZUJh
Y2tncm91bmRTaXplKGNvbnN0IEZpbGxMYXllciosIGludCBzY2FsZWRXaWR0aCwgaW50IHNjYWxl
ZEhlaWdodCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzQm94TW9kZWxP
YmplY3QoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBJbnRTaXplIGNhbGN1bGF0ZUZp
bGxUaWxlU2l6ZShjb25zdCBGaWxsTGF5ZXIqLCBJbnRTaXplIHNjYWxlZFNpemUpIGNvbnN0Owor
CiAgICAgZnJpZW5kIGNsYXNzIFJlbmRlclZpZXc7CiAKICAgICBSZW5kZXJMYXllciogbV9sYXll
cjsK
</data>
<flag name="review"
          id="19448"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>