<?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>5633</bug_id>
          
          <creation_ts>2005-11-05 00:25:39 -0800</creation_ts>
          <short_desc>Safari sluggish while loading large pages</short_desc>
          <delta_ts>2006-02-10 13:43:56 -0800</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>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://lxr.mozilla.org/seamonkey/source/layout/base/nsCSSFrameConstructor.cpp</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="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>andersca</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>23755</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-11-05 00:25:39 -0800</bug_when>
    <thetext>Safari is extremely sluggish while large pages load incrementally.  I believe the #1 reason it is so slow is 
that Safari does a full repaint of the visible area as the page loads.  It doesn&apos;t handle the case where 
content is being appended offscreen (without affecting the visible content) well.

Turn on Quartz debug and watch Safari paint the entire visible view over and over and over.  Watch 
Firefox repaint only the scrollbar and its throbber.

I have observed this effect on many pages.  The problem is that we need to optimize for blocks (like the 
body and html elements) that grow when they have only a solid background color or a background 
image whose tiling/positioning is not affected by the increase in height.  Right now we just naively 
repaint a whole block if its size changes after layout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23758</commentid>
    <comment_count>1</comment_count>
      <attachid>4604</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-11-05 02:31:15 -0800</bug_when>
    <thetext>Created attachment 4604
This seems to work.

Here is a patch that solves the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23759</commentid>
    <comment_count>2</comment_count>
      <attachid>4605</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-11-05 02:33:58 -0800</bug_when>
    <thetext>Created attachment 4605
Version 2

Cleaned it up a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23760</commentid>
    <comment_count>3</comment_count>
      <attachid>4605</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-11-05 08:06:28 -0800</bug_when>
    <thetext>Comment on attachment 4605
Version 2

Looks fine. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26631</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-12-25 11:40:02 -0800</bug_when>
    <thetext>The attached patch was checked in on 2005-11-07.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32068</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-02-10 13:43:56 -0800</bug_when>
    <thetext>The fix for this bug caused the following regressions: bug 5699, bug 6388, bug 6278, bug 6301, bug 6770, bug 6769 (not entirely a regression but made worse by this).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4604</attachid>
            <date>2005-11-05 02:31:15 -0800</date>
            <delta_ts>2005-11-05 02:34:09 -0800</delta_ts>
            <desc>This seems to work.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5400</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL3JlbmRlcmluZy9yZW5kZXJfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9yZW5kZXJpbmcvcmVuZGVyX29iamVjdC5jcHAs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjI0CmRpZmYgLXUgLXAgLXIxLjIyNCBraHRtbC9yZW5k
ZXJpbmcvcmVuZGVyX29iamVjdC5jcHAKLS0tIGtodG1sL3JlbmRlcmluZy9yZW5kZXJfb2JqZWN0
LmNwcAkyIE5vdiAyMDA1IDA4OjUyOjQ1IC0wMDAwCTEuMjI0CisrKyBraHRtbC9yZW5kZXJpbmcv
cmVuZGVyX29iamVjdC5jcHAJNSBOb3YgMjAwNSAxMDozMDowOSAtMDAwMApAQCAtNzUxLDYgKzc1
MSwzOSBAQCBpbnQgUmVuZGVyT2JqZWN0Ojpjb250YWluaW5nQmxvY2tIZWlnaHQoCiAgICAgcmV0
dXJuIGNvbnRhaW5pbmdCbG9jaygpLT5jb250ZW50SGVpZ2h0KCk7CiB9CiAKK2Jvb2wgUmVuZGVy
T2JqZWN0OjptdXN0UmVwYWludEJhY2tncm91bmRPckJvcmRlcigpIGNvbnN0Cit7CisgICAgLy8g
SWYgd2UgZG9uJ3QgaGF2ZSBhIGJhY2tncm91bmQvYm9yZGVyLCB0aGVuIG5vdGhpbmcgdG8gZG8u
CisgICAgaWYgKCFzaG91bGRQYWludEJhY2tncm91bmRPckJvcmRlcigpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgCisgICAgLy8gT2ssIGxldCdzIGNoZWNrIHRoZSBiYWNrZ3JvdW5kIGZp
cnN0LgorICAgIGNvbnN0IEJhY2tncm91bmRMYXllciogYmdMYXllciA9IHN0eWxlKCktPmJhY2tn
cm91bmRMYXllcnMoKTsKKyAgICBpZiAoYmdMYXllci0+bmV4dCgpKQorICAgICAgICByZXR1cm4g
dHJ1ZTsgLy8gTm9ib2R5IHdpbGwgdXNlIG11bHRpcGxlIGJhY2tncm91bmQgbGF5ZXJzIHdpdGhv
dXQgd2FudGluZyBmYW5jeSBwb3NpdGlvbmluZy4KKyAgICAKKyAgICAvLyBNYWtlIHN1cmUgd2Ug
aGF2ZSBhIHZhbGlkIGJhY2tncm91bmQgaW1hZ2UuCisgICAgQ2FjaGVkSW1hZ2UqIGJnID0gYmdM
YXllci0+YmFja2dyb3VuZEltYWdlKCk7CisgICAgYm9vbCBzaG91bGRQYWludEJhY2tncm91bmRJ
bWFnZSA9IGJnICYmIGJnLT5waXhtYXBfc2l6ZSgpID09IGJnLT52YWxpZF9yZWN0KCkuc2l6ZSgp
ICYmICFiZy0+aXNUcmFuc3BhcmVudCgpICYmICFiZy0+aXNFcnJvckltYWdlKCk7CisgICAgCisg
ICAgLy8gVGhlc2UgYXJlIGFsd2F5cyBwZXJjZW50cyBvciBhdXRvLgorICAgIGlmIChzaG91bGRQ
YWludEJhY2tncm91bmRJbWFnZSAmJiAKKyAgICAgICAgKGJnTGF5ZXItPmJhY2tncm91bmRYUG9z
aXRpb24oKS5sZW5ndGgoKSAhPSAwIHx8IGJnTGF5ZXItPmJhY2tncm91bmRZUG9zaXRpb24oKS5s
ZW5ndGgoKSAhPSAwKSkKKyAgICAgICAgcmV0dXJuIHRydWU7IC8vIFRoZSBiYWNrZ3JvdW5kIGlt
YWdlIHdpbGwgc2hpZnQgdW5wcmVkaWN0YWJseSBpZiB0aGUgc2l6ZSBjaGFuZ2VzLgorICAgICAg
ICAKKyAgICAvLyBCYWNrZ3JvdW5kIGlzIG9rLiAgTGV0J3MgY2hlY2sgYm9yZGVyLgorICAgIGlm
IChzdHlsZSgpLT5oYXNCb3JkZXIoKSkgeworICAgICAgICAvLyBCb3JkZXIgaW1hZ2VzIGFyZSBu
b3Qgb2suCisgICAgICAgIENhY2hlZEltYWdlKiBib3JkZXJJbWFnZSA9IHN0eWxlKCktPmJvcmRl
ckltYWdlKCkuaW1hZ2UoKTsKKyAgICAgICAgYm9vbCBzaG91bGRQYWludEJvcmRlckltYWdlID0g
Ym9yZGVySW1hZ2UgJiYgYm9yZGVySW1hZ2UtPnBpeG1hcF9zaXplKCkgPT0gYm9yZGVySW1hZ2Ut
PnZhbGlkX3JlY3QoKS5zaXplKCkgJiYgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICFib3JkZXJJbWFnZS0+aXNUcmFuc3BhcmVudCgpICYmICFib3JkZXJJbWFnZS0+aXNF
cnJvckltYWdlKCk7CisgICAgICAgIGlmIChzaG91bGRQYWludEJvcmRlckltYWdlICYmIGJvcmRl
ckltYWdlLT5pc0xvYWRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7IC8vIElmIHRoZSBp
bWFnZSBoYXNuJ3QgbG9hZGVkLCB3ZSdyZSBzdGlsbCB1c2luZyB0aGUgbm9ybWFsIGJvcmRlciBz
dHlsZS4KKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgUmVuZGVyT2JqZWN0
OjpkcmF3Qm9yZGVyKFFQYWludGVyICpwLCBpbnQgeDEsIGludCB5MSwgaW50IHgyLCBpbnQgeTIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb3JkZXJTaWRlIHMsIFFDb2xvciBjLCBj
b25zdCBRQ29sb3ImIHRleHRjb2xvciwgRUJvcmRlclN0eWxlIHN0eWxlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGFkamJ3MSwgaW50IGFkamJ3MiwgYm9vbCBpbnZhbGlkaXNJ
bnZlcnQpCkBAIC0xMzg4LDE2ICsxNDIxLDM5IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjpyZXBhaW50
UmVjdGFuZ2xlKGNvbnMKIAogYm9vbCBSZW5kZXJPYmplY3Q6OnJlcGFpbnRBZnRlckxheW91dElm
TmVlZGVkKGNvbnN0IFFSZWN0JiBvbGRCb3VuZHMsIGNvbnN0IFFSZWN0JiBvbGRGdWxsQm91bmRz
KQogeworICAgIFJlbmRlckNhbnZhcyogYyA9IGNhbnZhcygpOworICAgIGlmIChjLT5wcmludGlu
Z01vZGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBEb24ndCByZXBhaW50IGlmIHdlJ3Jl
IHByaW50aW5nLgorICAgICAgICAgICAgCiAgICAgUVJlY3QgbmV3Qm91bmRzLCBuZXdGdWxsQm91
bmRzOwogICAgIGdldEFic29sdXRlUmVwYWludFJlY3RJbmNsdWRpbmdGbG9hdHMobmV3Qm91bmRz
LCBuZXdGdWxsQm91bmRzKTsKLSAgICBpZiAobmV3Qm91bmRzICE9IG9sZEJvdW5kcyB8fCBzZWxm
TmVlZHNMYXlvdXQoKSkgewotICAgICAgICBSZW5kZXJDYW52YXMqIGMgPSBjYW52YXMoKTsKLSAg
ICAgICAgaWYgKGMtPnByaW50aW5nTW9kZSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAv
LyBEb24ndCByZXBhaW50IGlmIHdlJ3JlIHByaW50aW5nLgorICAgIGlmIChuZXdCb3VuZHMgPT0g
b2xkQm91bmRzICYmICFzZWxmTmVlZHNMYXlvdXQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgYm9vbCBmdWxsUmVwYWludCA9IHNlbGZOZWVkc0xheW91dCgpIHx8IG5ld0JvdW5kcy54
KCkgIT0gb2xkQm91bmRzLngoKSB8fAorICAgICAgICAgICAgICAgICAgICAgICBuZXdCb3VuZHMu
eSgpICE9IG9sZEJvdW5kcy55KCkgfHwgCisgICAgICAgICAgICAgICAgICAgICAgIG11c3RSZXBh
aW50QmFja2dyb3VuZE9yQm9yZGVyKCk7CisgICAgaWYgKGZ1bGxSZXBhaW50KSB7CiAgICAgICAg
IGMtPnJlcGFpbnRWaWV3UmVjdGFuZ2xlKG9sZEZ1bGxCb3VuZHMpOwogICAgICAgICBpZiAobmV3
Qm91bmRzICE9IG9sZEJvdW5kcykKICAgICAgICAgICAgIGMtPnJlcGFpbnRWaWV3UmVjdGFuZ2xl
KG5ld0Z1bGxCb3VuZHMpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9IGVsc2UgaWYgKG5l
d0JvdW5kcy53aWR0aCgpICE9IG9sZEJvdW5kcy53aWR0aCgpIHx8IG5ld0JvdW5kcy5oZWlnaHQo
KSAhPSBvbGRCb3VuZHMuaGVpZ2h0KCkpIHsKKyAgICAgICAgLy8gV2UgZGlkbid0IG1vdmUsIGJ1
dCB3ZSBkaWQgY2hhbmdlIHNpemUuICBJbnZhbGlkYXRlIHRoZSBkZWx0YSwgd2hpY2ggd2lsbCBj
b25zaXN0IG9mIHBvc3NpYmx5IAorICAgICAgICAvLyB0d28gcmVjdGFuZ2xlcyAoYnV0IHR5cGlj
YWxseSBvbmx5IG9uZSkuCisgICAgICAgIGludCB3aWR0aCA9IGFicyhuZXdCb3VuZHMud2lkdGgo
KSAtIG9sZEJvdW5kcy53aWR0aCgpKTsKKyAgICAgICAgaWYgKHdpZHRoKQorICAgICAgICAgICAg
Yy0+cmVwYWludFZpZXdSZWN0YW5nbGUoUVJlY3Qoa01pbihuZXdCb3VuZHMueCgpICsgbmV3Qm91
bmRzLndpZHRoKCksIG9sZEJvdW5kcy54KCkgKyBvbGRCb3VuZHMud2lkdGgoKSksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdCb3VuZHMueSgpLCAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAga01heChuZXdCb3VuZHMuaGVpZ2h0KCksIG9sZEJvdW5kcy5oZWlnaHQoKSkp
KTsKKyAgICAgICAgaW50IGhlaWdodCA9IGFicyhuZXdCb3VuZHMuaGVpZ2h0KCkgLSBvbGRCb3Vu
ZHMuaGVpZ2h0KCkpOworICAgICAgICBpZiAoaGVpZ2h0KQorICAgICAgICAgICAgYy0+cmVwYWlu
dFZpZXdSZWN0YW5nbGUoUVJlY3QobmV3Qm91bmRzLngoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGtNaW4obmV3Qm91bmRzLnkoKSArIG5ld0JvdW5kcy5oZWln
aHQoKSwgb2xkQm91bmRzLnkoKSArIG9sZEJvdW5kcy5oZWlnaHQoKSksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrTWF4KG5ld0JvdW5kcy53aWR0aCgpLCBvbGRC
b3VuZHMud2lkdGgoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWlnaHQpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxz
ZTsKIH0KSW5kZXg6IGtodG1sL3JlbmRlcmluZy9yZW5kZXJfb2JqZWN0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9vYmplY3Qu
aCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNjQKZGlmZiAtdSAtcCAtcjEuMTY0IGtodG1sL3Jl
bmRlcmluZy9yZW5kZXJfb2JqZWN0LmgKLS0tIGtodG1sL3JlbmRlcmluZy9yZW5kZXJfb2JqZWN0
LmgJMTkgT2N0IDIwMDUgMDk6MTU6MTQgLTAwMDAJMS4xNjQKKysrIGtodG1sL3JlbmRlcmluZy9y
ZW5kZXJfb2JqZWN0LmgJNSBOb3YgMjAwNSAxMDozMDoxMCAtMDAwMApAQCAtMjk4LDYgKzI5OCw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzRHJhZ2dpbmcoKSBjb25zdDsKICAgICBib29sIGlzUmVw
bGFjZWQoKSBjb25zdCB7IHJldHVybiBtX3JlcGxhY2VkOyB9IC8vIGEgInJlcGxhY2VkIiBlbGVt
ZW50IChzZWUgQ1NTKQogICAgIGJvb2wgc2hvdWxkUGFpbnRCYWNrZ3JvdW5kT3JCb3JkZXIoKSBj
b25zdCB7IHJldHVybiBtX3BhaW50QmFja2dyb3VuZDsgfQorICAgIGJvb2wgbXVzdFJlcGFpbnRC
YWNrZ3JvdW5kT3JCb3JkZXIoKSBjb25zdDsKICAgICBib29sIG5lZWRzTGF5b3V0KCkgY29uc3Qg
ICB7IHJldHVybiBtX25lZWRzTGF5b3V0IHx8IG1fbm9ybWFsQ2hpbGROZWVkc0xheW91dCB8fCBt
X3Bvc0NoaWxkTmVlZHNMYXlvdXQ7IH0KICAgICBib29sIHNlbGZOZWVkc0xheW91dCgpIGNvbnN0
IHsgcmV0dXJuIG1fbmVlZHNMYXlvdXQ7IH0KICAgICBib29sIHBvc0NoaWxkTmVlZHNMYXlvdXQo
KSBjb25zdCB7IHJldHVybiBtX3Bvc0NoaWxkTmVlZHNMYXlvdXQ7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4605</attachid>
            <date>2005-11-05 02:33:58 -0800</date>
            <delta_ts>2005-11-05 08:06:28 -0800</delta_ts>
            <desc>Version 2</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5371</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL3JlbmRlcmluZy9yZW5kZXJfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9yZW5kZXJpbmcvcmVuZGVyX29iamVjdC5jcHAs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjI0CmRpZmYgLXUgLXAgLXIxLjIyNCBraHRtbC9yZW5k
ZXJpbmcvcmVuZGVyX29iamVjdC5jcHAKLS0tIGtodG1sL3JlbmRlcmluZy9yZW5kZXJfb2JqZWN0
LmNwcAkyIE5vdiAyMDA1IDA4OjUyOjQ1IC0wMDAwCTEuMjI0CisrKyBraHRtbC9yZW5kZXJpbmcv
cmVuZGVyX29iamVjdC5jcHAJNSBOb3YgMjAwNSAxMDozNDo0MiAtMDAwMApAQCAtNzUxLDYgKzc1
MSwzOSBAQCBpbnQgUmVuZGVyT2JqZWN0Ojpjb250YWluaW5nQmxvY2tIZWlnaHQoCiAgICAgcmV0
dXJuIGNvbnRhaW5pbmdCbG9jaygpLT5jb250ZW50SGVpZ2h0KCk7CiB9CiAKK2Jvb2wgUmVuZGVy
T2JqZWN0OjptdXN0UmVwYWludEJhY2tncm91bmRPckJvcmRlcigpIGNvbnN0Cit7CisgICAgLy8g
SWYgd2UgZG9uJ3QgaGF2ZSBhIGJhY2tncm91bmQvYm9yZGVyLCB0aGVuIG5vdGhpbmcgdG8gZG8u
CisgICAgaWYgKCFzaG91bGRQYWludEJhY2tncm91bmRPckJvcmRlcigpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgCisgICAgLy8gT2ssIGxldCdzIGNoZWNrIHRoZSBiYWNrZ3JvdW5kIGZp
cnN0LgorICAgIGNvbnN0IEJhY2tncm91bmRMYXllciogYmdMYXllciA9IHN0eWxlKCktPmJhY2tn
cm91bmRMYXllcnMoKTsKKyAgICBpZiAoYmdMYXllci0+bmV4dCgpKQorICAgICAgICByZXR1cm4g
dHJ1ZTsgLy8gTm9ib2R5IHdpbGwgdXNlIG11bHRpcGxlIGJhY2tncm91bmQgbGF5ZXJzIHdpdGhv
dXQgd2FudGluZyBmYW5jeSBwb3NpdGlvbmluZy4KKyAgICAKKyAgICAvLyBNYWtlIHN1cmUgd2Ug
aGF2ZSBhIHZhbGlkIGJhY2tncm91bmQgaW1hZ2UuCisgICAgQ2FjaGVkSW1hZ2UqIGJnID0gYmdM
YXllci0+YmFja2dyb3VuZEltYWdlKCk7CisgICAgYm9vbCBzaG91bGRQYWludEJhY2tncm91bmRJ
bWFnZSA9IGJnICYmIGJnLT5waXhtYXBfc2l6ZSgpID09IGJnLT52YWxpZF9yZWN0KCkuc2l6ZSgp
ICYmICFiZy0+aXNUcmFuc3BhcmVudCgpICYmICFiZy0+aXNFcnJvckltYWdlKCk7CisgICAgCisg
ICAgLy8gVGhlc2UgYXJlIGFsd2F5cyBwZXJjZW50cyBvciBhdXRvLgorICAgIGlmIChzaG91bGRQ
YWludEJhY2tncm91bmRJbWFnZSAmJiAKKyAgICAgICAgKGJnTGF5ZXItPmJhY2tncm91bmRYUG9z
aXRpb24oKS5sZW5ndGgoKSAhPSAwIHx8IGJnTGF5ZXItPmJhY2tncm91bmRZUG9zaXRpb24oKS5s
ZW5ndGgoKSAhPSAwKSkKKyAgICAgICAgcmV0dXJuIHRydWU7IC8vIFRoZSBiYWNrZ3JvdW5kIGlt
YWdlIHdpbGwgc2hpZnQgdW5wcmVkaWN0YWJseSBpZiB0aGUgc2l6ZSBjaGFuZ2VzLgorICAgICAg
ICAKKyAgICAvLyBCYWNrZ3JvdW5kIGlzIG9rLiAgTGV0J3MgY2hlY2sgYm9yZGVyLgorICAgIGlm
IChzdHlsZSgpLT5oYXNCb3JkZXIoKSkgeworICAgICAgICAvLyBCb3JkZXIgaW1hZ2VzIGFyZSBu
b3Qgb2suCisgICAgICAgIENhY2hlZEltYWdlKiBib3JkZXJJbWFnZSA9IHN0eWxlKCktPmJvcmRl
ckltYWdlKCkuaW1hZ2UoKTsKKyAgICAgICAgYm9vbCBzaG91bGRQYWludEJvcmRlckltYWdlID0g
Ym9yZGVySW1hZ2UgJiYgYm9yZGVySW1hZ2UtPnBpeG1hcF9zaXplKCkgPT0gYm9yZGVySW1hZ2Ut
PnZhbGlkX3JlY3QoKS5zaXplKCkgJiYgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICFib3JkZXJJbWFnZS0+aXNUcmFuc3BhcmVudCgpICYmICFib3JkZXJJbWFnZS0+aXNF
cnJvckltYWdlKCk7CisgICAgICAgIGlmIChzaG91bGRQYWludEJvcmRlckltYWdlICYmIGJvcmRl
ckltYWdlLT5pc0xvYWRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7IC8vIElmIHRoZSBp
bWFnZSBoYXNuJ3QgbG9hZGVkLCB3ZSdyZSBzdGlsbCB1c2luZyB0aGUgbm9ybWFsIGJvcmRlciBz
dHlsZS4KKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgUmVuZGVyT2JqZWN0
OjpkcmF3Qm9yZGVyKFFQYWludGVyICpwLCBpbnQgeDEsIGludCB5MSwgaW50IHgyLCBpbnQgeTIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb3JkZXJTaWRlIHMsIFFDb2xvciBjLCBj
b25zdCBRQ29sb3ImIHRleHRjb2xvciwgRUJvcmRlclN0eWxlIHN0eWxlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGFkamJ3MSwgaW50IGFkamJ3MiwgYm9vbCBpbnZhbGlkaXNJ
bnZlcnQpCkBAIC0xMzg4LDE4ICsxNDIxLDM5IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjpyZXBhaW50
UmVjdGFuZ2xlKGNvbnMKIAogYm9vbCBSZW5kZXJPYmplY3Q6OnJlcGFpbnRBZnRlckxheW91dElm
TmVlZGVkKGNvbnN0IFFSZWN0JiBvbGRCb3VuZHMsIGNvbnN0IFFSZWN0JiBvbGRGdWxsQm91bmRz
KQogeworICAgIFJlbmRlckNhbnZhcyogYyA9IGNhbnZhcygpOworICAgIGlmIChjLT5wcmludGlu
Z01vZGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBEb24ndCByZXBhaW50IGlmIHdlJ3Jl
IHByaW50aW5nLgorICAgICAgICAgICAgCiAgICAgUVJlY3QgbmV3Qm91bmRzLCBuZXdGdWxsQm91
bmRzOwogICAgIGdldEFic29sdXRlUmVwYWludFJlY3RJbmNsdWRpbmdGbG9hdHMobmV3Qm91bmRz
LCBuZXdGdWxsQm91bmRzKTsKLSAgICBpZiAobmV3Qm91bmRzICE9IG9sZEJvdW5kcyB8fCBzZWxm
TmVlZHNMYXlvdXQoKSkgewotICAgICAgICBSZW5kZXJDYW52YXMqIGMgPSBjYW52YXMoKTsKLSAg
ICAgICAgaWYgKGMtPnByaW50aW5nTW9kZSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAv
LyBEb24ndCByZXBhaW50IGlmIHdlJ3JlIHByaW50aW5nLgorICAgIGlmIChuZXdCb3VuZHMgPT0g
b2xkQm91bmRzICYmICFzZWxmTmVlZHNMYXlvdXQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgYm9vbCBmdWxsUmVwYWludCA9IHNlbGZOZWVkc0xheW91dCgpIHx8IG5ld0JvdW5kcy54
KCkgIT0gb2xkQm91bmRzLngoKSB8fAorICAgICAgICAgICAgICAgICAgICAgICBuZXdCb3VuZHMu
eSgpICE9IG9sZEJvdW5kcy55KCkgfHwgCisgICAgICAgICAgICAgICAgICAgICAgIG11c3RSZXBh
aW50QmFja2dyb3VuZE9yQm9yZGVyKCk7CisgICAgaWYgKGZ1bGxSZXBhaW50KSB7CiAgICAgICAg
IGMtPnJlcGFpbnRWaWV3UmVjdGFuZ2xlKG9sZEZ1bGxCb3VuZHMpOwogICAgICAgICBpZiAobmV3
Qm91bmRzICE9IG9sZEJvdW5kcykKICAgICAgICAgICAgIGMtPnJlcGFpbnRWaWV3UmVjdGFuZ2xl
KG5ld0Z1bGxCb3VuZHMpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAg
ICAgICAvLyBXZSBkaWRuJ3QgbW92ZSwgYnV0IHdlIGRpZCBjaGFuZ2Ugc2l6ZS4gIEludmFsaWRh
dGUgdGhlIGRlbHRhLCB3aGljaCB3aWxsIGNvbnNpc3Qgb2YgcG9zc2libHkgCisgICAgICAgIC8v
IHR3byByZWN0YW5nbGVzIChidXQgdHlwaWNhbGx5IG9ubHkgb25lKS4KKyAgICAgICAgaW50IHdp
ZHRoID0gYWJzKG5ld0JvdW5kcy53aWR0aCgpIC0gb2xkQm91bmRzLndpZHRoKCkpOworICAgICAg
ICBpZiAod2lkdGgpCisgICAgICAgICAgICBjLT5yZXBhaW50Vmlld1JlY3RhbmdsZShRUmVjdChr
TWluKG5ld0JvdW5kcy54KCkgKyBuZXdCb3VuZHMud2lkdGgoKSwgb2xkQm91bmRzLngoKSArIG9s
ZEJvdW5kcy53aWR0aCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5l
d0JvdW5kcy55KCksIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrTWF4KG5ld0JvdW5kcy5oZWln
aHQoKSwgb2xkQm91bmRzLmhlaWdodCgpKSkpOworICAgICAgICBpbnQgaGVpZ2h0ID0gYWJzKG5l
d0JvdW5kcy5oZWlnaHQoKSAtIG9sZEJvdW5kcy5oZWlnaHQoKSk7CisgICAgICAgIGlmIChoZWln
aHQpCisgICAgICAgICAgICBjLT5yZXBhaW50Vmlld1JlY3RhbmdsZShRUmVjdChuZXdCb3VuZHMu
eCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga01pbihuZXdC
b3VuZHMueSgpICsgbmV3Qm91bmRzLmhlaWdodCgpLCBvbGRCb3VuZHMueSgpICsgb2xkQm91bmRz
LmhlaWdodCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtN
YXgobmV3Qm91bmRzLndpZHRoKCksIG9sZEJvdW5kcy53aWR0aCgpKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCkpOwogICAgIH0KLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgUmVuZGVyT2JqZWN0OjpyZXBhaW50
RHVyaW5nTGF5b3V0SWZNb3ZlZChpbnQgeCwgaW50IHkpCkluZGV4OiBraHRtbC9yZW5kZXJpbmcv
cmVuZGVyX29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2to
dG1sL3JlbmRlcmluZy9yZW5kZXJfb2JqZWN0LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTY0
CmRpZmYgLXUgLXAgLXIxLjE2NCBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX29iamVjdC5oCi0tLSBr
aHRtbC9yZW5kZXJpbmcvcmVuZGVyX29iamVjdC5oCTE5IE9jdCAyMDA1IDA5OjE1OjE0IC0wMDAw
CTEuMTY0CisrKyBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX29iamVjdC5oCTUgTm92IDIwMDUgMTA6
MzQ6NDIgLTAwMDAKQEAgLTI5OCw2ICsyOTgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0RyYWdn
aW5nKCkgY29uc3Q7CiAgICAgYm9vbCBpc1JlcGxhY2VkKCkgY29uc3QgeyByZXR1cm4gbV9yZXBs
YWNlZDsgfSAvLyBhICJyZXBsYWNlZCIgZWxlbWVudCAoc2VlIENTUykKICAgICBib29sIHNob3Vs
ZFBhaW50QmFja2dyb3VuZE9yQm9yZGVyKCkgY29uc3QgeyByZXR1cm4gbV9wYWludEJhY2tncm91
bmQ7IH0KKyAgICBib29sIG11c3RSZXBhaW50QmFja2dyb3VuZE9yQm9yZGVyKCkgY29uc3Q7CiAg
ICAgYm9vbCBuZWVkc0xheW91dCgpIGNvbnN0ICAgeyByZXR1cm4gbV9uZWVkc0xheW91dCB8fCBt
X25vcm1hbENoaWxkTmVlZHNMYXlvdXQgfHwgbV9wb3NDaGlsZE5lZWRzTGF5b3V0OyB9CiAgICAg
Ym9vbCBzZWxmTmVlZHNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX25lZWRzTGF5b3V0OyB9CiAg
ICAgYm9vbCBwb3NDaGlsZE5lZWRzTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9wb3NDaGlsZE5l
ZWRzTGF5b3V0OyB9Cg==
</data>
<flag name="review"
          id="824"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>