<?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>21736</bug_id>
          
          <creation_ts>2008-10-18 17:14:20 -0700</creation_ts>
          <short_desc>Long-dead decoded image data make up for most of the object cache&apos;s memory use over time</short_desc>
          <delta_ts>2008-10-18 19:54:25 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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>95890</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2008-10-18 17:14:20 -0700</bug_when>
    <thetext>The decoded data of cached images that have been &quot;dead&quot; for over a minute often make up for most of the WebCore object cache&apos;s memory use over time. The likelihood of a long-dead image&apos;s decoded data to be accessed again is typically very low.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95893</commentid>
    <comment_count>1</comment_count>
      <attachid>24495</attachid>
    <who name="">mitz</who>
    <bug_when>2008-10-18 17:30:59 -0700</bug_when>
    <thetext>Created attachment 24495
Destroy decoded image data that has been dead for one minute

This is the most straightforward patch, I think. The cost of an extra timer in each CachedImage appears to be negligible, and managing a queue with a single timer in the Cache turned out to be more complicated and had no significant benefit. Likewise, adding an intermediate subclass (&quot;CachedObjectWithDecodedDataThatDestroysItselfOnATimer&quot;) between CachedObject and CachedImage seemed unnecessary for as long as images are the only objects with decoded data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95906</commentid>
    <comment_count>2</comment_count>
      <attachid>24495</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-10-18 19:49:42 -0700</bug_when>
    <thetext>Comment on attachment 24495
Destroy decoded image data that has been dead for one minute

r=me! So hot!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95907</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2008-10-18 19:54:25 -0700</bug_when>
    <thetext>Landed as &lt;http://trac.webkit.org/changeset/37689&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24495</attachid>
            <date>2008-10-18 17:30:59 -0700</date>
            <delta_ts>2008-10-18 19:49:42 -0700</delta_ts>
            <desc>Destroy decoded image data that has been dead for one minute</desc>
            <filename>destroy-long-dead-decoded-data_r1.diff</filename>
            <type>text/plain</type>
            <size>9783</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNzY4MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMDgtMTAtMTggIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIFdl
YkNvcmUgcGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3
MzYKKyAgICAgICAgICBMb25nLWRlYWQgZGVjb2RlZCBpbWFnZSBkYXRhIG1ha2UgdXAgZm9yIG1v
c3Qgb2YgdGhlIG9iamVjdCBjYWNoZSdzIG1lbW9yeSB1c2Ugb3ZlciB0aW1lCisKKyAgICAgICAg
QWRkIGEgY2FjaGUgc2V0dGluZyBmb3IgaG93IGxvbmcgZGVjb2RlZCBpbWFnZSBkYXRhIHNob3Vs
ZCBiZSBhbGxvd2VkIHRvCisgICAgICAgIHBlcnNpc3QgaW4gbWVtb3J5IGFmdGVyIHRoZSBpbWFn
ZSBoYXMgZGllZC4gQnkgZGVmYXVsdCwgdGhpcyBpcyBzZXQgdG8KKyAgICAgICAgMCwgd2hpY2gg
bWVhbnMgImZvcmV2ZXIiLgorCisgICAgICAgICogbG9hZGVyL0NhY2hlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlOjpDYWNoZSk6IEluaXRpYWxpemUgbV9kZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsLgorICAgICAgICAqIGxvYWRlci9DYWNoZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGU6OnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOiBBZGRlZCBhIHNl
dHRlci4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpkZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsKTogQWRkZWQgYSBnZXR0ZXIuCisgICAgICAgICogbG9hZGVyL0NhY2hlZEltYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpDYWNoZWRJbWFnZSk6IEluaXRpYWxp
emUgdGhlIGRlY29kZWQgZGF0YQorICAgICAgICBkZWxldGlvbiB0aW1lci4KKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlZEltYWdlOjpkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJGaXJlZCk6IEFkZGVk
LiBEZXN0cm95cworICAgICAgICB0aGUgZGVjb2RlZCBpbWFnZSBkYXRhLgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkSW1hZ2U6OmFkZENsaWVudCk6IFN0b3AgdGhlIHRpbWVyIGlmIGl0IGlzIGFj
dGl2ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjphbGxDbGllbnRzUmVtb3ZlZCk6
IFN0YXJ0IHRoZSBkZWNvZGVkIGRhdGEKKyAgICAgICAgZGVsZXRpb24gdGltZXIuCisgICAgICAg
ICogbG9hZGVyL0NhY2hlZEltYWdlLmg6CisKIDIwMDgtMTAtMTggIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDog
V2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0Nh
Y2hlLmNwcAkocmV2aXNpb24gMzc2ODApCisrKyBXZWJDb3JlL2xvYWRlci9DYWNoZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGlj
IGNvbnN0IGludCBjRGVmYXVsdENhY2hlQ2FwYWNpdHkgPSA4MTkyICogMTAyNDsKIHN0YXRpYyBj
b25zdCBkb3VibGUgY01pbkRlbGF5QmVmb3JlTGl2ZURlY29kZWRQcnVuZSA9IDE7IC8vIFNlY29u
ZHMuCiBzdGF0aWMgY29uc3QgZmxvYXQgY1RhcmdldFBydW5lUGVyY2VudGFnZSA9IC45NWY7IC8v
IFBlcmNlbnRhZ2Ugb2YgY2FwYWNpdHkgdG93YXJkIHdoaWNoIHdlIHBydW5lLCB0byBhdm9pZCBp
bW1lZGlhdGVseSBwcnVuaW5nIGFnYWluLgorc3RhdGljIGNvbnN0IGRvdWJsZSBjRGVmYXVsdERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDA7CiAKIENhY2hlKiBjYWNoZSgpCiB7CkBAIC01
OCw2ICs1OSw3IEBAIENhY2hlOjpDYWNoZSgpCiAgICAgLCBtX2NhcGFjaXR5KGNEZWZhdWx0Q2Fj
aGVDYXBhY2l0eSkKICAgICAsIG1fbWluRGVhZENhcGFjaXR5KDApCiAgICAgLCBtX21heERlYWRD
YXBhY2l0eShjRGVmYXVsdENhY2hlQ2FwYWNpdHkpCisgICAgLCBtX2RlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwoY0RlZmF1bHREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpCiAgICAg
LCBtX2xpdmVTaXplKDApCiAgICAgLCBtX2RlYWRTaXplKDApCiB7CkluZGV4OiBXZWJDb3JlL2xv
YWRlci9DYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0NhY2hlLmgJKHJldmlz
aW9uIDM3NjgwKQorKysgV2ViQ29yZS9sb2FkZXIvQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MTI1LDYgKzEyNSw5IEBAIHB1YmxpYzoKICAgICAgICAgcHJ1bmVMaXZlUmVzb3VyY2VzKCk7CiAg
ICAgfQogCisgICAgdm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKGRvdWJs
ZSBpbnRlcnZhbCkgeyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBpbnRlcnZh
bDsgfQorICAgIGRvdWJsZSBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkgY29uc3Qg
eyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9CisKICAgICAvLyBS
ZW1vdmUgYW4gZXhpc3RpbmcgY2FjaGUgZW50cnkgZnJvbSBib3RoIHRoZSByZXNvdXJjZSBtYXAg
YW5kIGZyb20gdGhlIExSVSBsaXN0LgogICAgIHZvaWQgcmVtb3ZlKENhY2hlZFJlc291cmNlKiBy
ZXNvdXJjZSkgeyBldmljdChyZXNvdXJjZSk7IH0KIApAQCAtMTc5LDYgKzE4Miw3IEBAIHByaXZh
dGU6CiAgICAgdW5zaWduZWQgbV9jYXBhY2l0eTsKICAgICB1bnNpZ25lZCBtX21pbkRlYWRDYXBh
Y2l0eTsKICAgICB1bnNpZ25lZCBtX21heERlYWRDYXBhY2l0eTsKKyAgICBkb3VibGUgbV9kZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogCiAgICAgdW5zaWduZWQgbV9saXZlU2l6ZTsg
Ly8gVGhlIG51bWJlciBvZiBieXRlcyBjdXJyZW50bHkgY29uc3VtZWQgYnkgImxpdmUiIHJlc291
cmNlcyBpbiB0aGUgY2FjaGUuCiAgICAgdW5zaWduZWQgbV9kZWFkU2l6ZTsgLy8gVGhlIG51bWJl
ciBvZiBieXRlcyBjdXJyZW50bHkgY29uc3VtZWQgYnkgImRlYWQiIHJlc291cmNlcyBpbiB0aGUg
Y2FjaGUuCkluZGV4OiBXZWJDb3JlL2xvYWRlci9DYWNoZWRJbWFnZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9sb2FkZXIvQ2FjaGVkSW1hZ2UuY3BwCShyZXZpc2lvbiAzNzY4MCkKKysrIFdl
YkNvcmUvbG9hZGVyL0NhY2hlZEltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDks
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBDYWNoZWRJbWFnZTo6Q2FjaGVkSW1hZ2UoY29uc3Qg
U3RyaW5nJiB1cmwpCiAgICAgOiBDYWNoZWRSZXNvdXJjZSh1cmwsIEltYWdlUmVzb3VyY2UpCiAg
ICAgLCBtX2ltYWdlKDApCisgICAgLCBtX2RlY29kZWREYXRhRGVsZXRpb25UaW1lcih0aGlzLCAm
Q2FjaGVkSW1hZ2U6OmRlY29kZWREYXRhRGVsZXRpb25UaW1lckZpcmVkKQogewogICAgIG1fc3Rh
dHVzID0gVW5rbm93bjsKIH0KQEAgLTU2LDYgKzU3LDcgQEAgQ2FjaGVkSW1hZ2U6OkNhY2hlZElt
YWdlKGNvbnN0IFN0cmluZyYgdQogQ2FjaGVkSW1hZ2U6OkNhY2hlZEltYWdlKEltYWdlKiBpbWFn
ZSkKICAgICA6IENhY2hlZFJlc291cmNlKFN0cmluZygpLCBJbWFnZVJlc291cmNlKQogICAgICwg
bV9pbWFnZShpbWFnZSkKKyAgICAsIG1fZGVjb2RlZERhdGFEZWxldGlvblRpbWVyKHRoaXMsICZD
YWNoZWRJbWFnZTo6ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRmlyZWQpCiB7CiAgICAgbV9zdGF0
dXMgPSBDYWNoZWQ7CiAgICAgbV9sb2FkaW5nID0gZmFsc2U7CkBAIC02NCw3ICs2NiwxMyBAQCBD
YWNoZWRJbWFnZTo6Q2FjaGVkSW1hZ2UoSW1hZ2UqIGltYWdlKQogQ2FjaGVkSW1hZ2U6On5DYWNo
ZWRJbWFnZSgpCiB7CiB9Ci0gICAgCisKK3ZvaWQgQ2FjaGVkSW1hZ2U6OmRlY29kZWREYXRhRGVs
ZXRpb25UaW1lckZpcmVkKFRpbWVyPENhY2hlZEltYWdlPiopCit7CisgICAgQVNTRVJUKCFoYXND
bGllbnRzKCkpOworICAgIGRlc3Ryb3lEZWNvZGVkRGF0YSgpOworfQorCiB2b2lkIENhY2hlZElt
YWdlOjpsb2FkKERvY0xvYWRlciogZG9jTG9hZGVyKQogewogICAgIGlmICghZG9jTG9hZGVyIHx8
IGRvY0xvYWRlci0+YXV0b0xvYWRJbWFnZXMoKSkKQEAgLTc3LDYgKzg1LDkgQEAgdm9pZCBDYWNo
ZWRJbWFnZTo6YWRkQ2xpZW50KENhY2hlZFJlc291cgogewogICAgIENhY2hlZFJlc291cmNlOjph
ZGRDbGllbnQoYyk7CiAKKyAgICBpZiAobV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXIuaXNBY3Rp
dmUoKSkKKyAgICAgICAgbV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXIuc3RvcCgpOworCiAgICAg
aWYgKG1faW1hZ2UgJiYgIW1faW1hZ2UtPnJlY3QoKS5pc0VtcHR5KCkpCiAgICAgICAgIGMtPmlt
YWdlQ2hhbmdlZCh0aGlzKTsKIApAQCAtODgsNiArOTksOCBAQCB2b2lkIENhY2hlZEltYWdlOjph
bGxDbGllbnRzUmVtb3ZlZCgpCiB7CiAgICAgaWYgKG1faW1hZ2UgJiYgIW1fZXJyb3JPY2N1cnJl
ZCkKICAgICAgICAgbV9pbWFnZS0+cmVzZXRBbmltYXRpb24oKTsKKyAgICBpZiAoZG91YmxlIGlu
dGVydmFsID0gY2FjaGUoKS0+ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpKQorICAg
ICAgICBtX2RlY29kZWREYXRhRGVsZXRpb25UaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwog
fQogCiBzdGF0aWMgSW1hZ2UqIGJyb2tlbkltYWdlKCkKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL0Nh
Y2hlZEltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvQ2FjaGVkSW1hZ2UuaAko
cmV2aXNpb24gMzc2ODApCisrKyBXZWJDb3JlL2xvYWRlci9DYWNoZWRJbWFnZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSW1hZ2VPYnNlcnZlci5oIgogI2lu
Y2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04OCw4
ICs4OSwxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlSW1hZ2UoKTsKICAg
ICB2b2lkIG5vdGlmeU9ic2VydmVycygpOworICAgIHZvaWQgZGVjb2RlZERhdGFEZWxldGlvblRp
bWVyRmlyZWQoVGltZXI8Q2FjaGVkSW1hZ2U+Kik7CiAKICAgICBSZWZQdHI8SW1hZ2U+IG1faW1h
Z2U7CisgICAgVGltZXI8Q2FjaGVkSW1hZ2U+IG1fZGVjb2RlZERhdGFEZWxldGlvblRpbWVyOwog
fTsKIAogfQpJbmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDM3NjgzKQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAwOC0xMC0xOCAgRGFuIEJlcm5zdGVp
biAgPG1pdHpAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIC0gV2ViS2l0L21hYyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTczNgorICAgICAgICAgIExvbmctZGVhZCBkZWNvZGVkIGltYWdl
IGRhdGEgbWFrZSB1cCBmb3IgbW9zdCBvZiB0aGUgb2JqZWN0IGNhY2hlJ3MgbWVtb3J5IHVzZSBv
dmVyIHRpbWUKKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2Vi
VmlldyBfc2V0Q2FjaGVNb2RlbDpdKTogSW4gdGhlIHByaW1hcnkgd2ViIGJyb3dzZXIgbW9kZWws
IHNldCB0aGUKKyAgICAgICAgY2FjaGUncyBkZWFkIGRlY29kZWQgZGF0YSBkZWxldGlvbiBpbnRl
cnZhbCB0byA2MCBzZWNvbmRzLgorCiAyMDA4LTEwLTE1ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9uIEhvbmV5Y3V0dC4KSW5kZXg6IFdlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAzNzY4MCkKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MjcxLDYgKzQyNzEsNyBAQCBzdGF0aWMgV2ViRnJh
bWVWaWV3ICpjb250YWluaW5nRnJhbWVWaWV3CiAgICAgdW5zaWduZWQgY2FjaGVUb3RhbENhcGFj
aXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7CiAgICAgdW5z
aWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOworICAgIGRvdWJsZSBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsID0gMDsKIAogICAgIHVuc2lnbmVkIHBhZ2VDYWNoZUNhcGFjaXR5
ID0gMDsKIApAQCAtNDM4OSw2ICs0MzkwLDggQEAgc3RhdGljIFdlYkZyYW1lVmlldyAqY29udGFp
bmluZ0ZyYW1lVmlldwogICAgICAgICAvLyBjYW4gcHJvdmUgdGhhdCB0aGUgb3ZlcmFsbCBzeXN0
ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgogICAgICAgICBjYWNoZU1heERl
YWRDYXBhY2l0eSA9IG1heCgyNHUsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAorICAgICAgICBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gNjA7CisKICAgICAgICAgLy8gRm91bmRh
dGlvbiBtZW1vcnkgY2FjaGUgY2FwYWNpdHkgKGluIGJ5dGVzKQogICAgICAgICAvLyAoVGhlc2Ug
dmFsdWVzIGFyZSBzbWFsbCBiZWNhdXNlIFdlYkNvcmUgZG9lcyBtb3N0IGNhY2hpbmcgaXRzZWxm
LikKICAgICAgICAgaWYgKG1lbVNpemUgPj0gMTAyNCkKQEAgLTQ0MzAsNiArNDQzMyw3IEBAIHN0
YXRpYyBXZWJGcmFtZVZpZXcgKmNvbnRhaW5pbmdGcmFtZVZpZXcKICAgICBuc3VybENhY2hlRGlz
a0NhcGFjaXR5ID0gbWF4KG5zdXJsQ2FjaGVEaXNrQ2FwYWNpdHksIFtuc3VybENhY2hlIGRpc2tD
YXBhY2l0eV0pOwogCiAgICAgY2FjaGUoKS0+c2V0Q2FwYWNpdGllcyhjYWNoZU1pbkRlYWRDYXBh
Y2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGNhY2hlVG90YWxDYXBhY2l0eSk7CisgICAgY2Fj
aGUoKS0+c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChkZWFkRGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsKTsKICAgICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hl
Q2FwYWNpdHkpOwogICAgIFtuc3VybENhY2hlIHNldE1lbW9yeUNhcGFjaXR5Om5zdXJsQ2FjaGVN
ZW1vcnlDYXBhY2l0eV07CiAgICAgW25zdXJsQ2FjaGUgc2V0RGlza0NhcGFjaXR5Om5zdXJsQ2Fj
aGVEaXNrQ2FwYWNpdHldOwpJbmRleDogV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDM3NjgzKQorKysgV2ViS2l0L3dpbi9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAwOC0xMC0xOCAgRGFu
IEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIC0gV2ViS2l0L3dpbiBwYXJ0IG9mIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTczNgorICAgICAgICAgIExvbmctZGVhZCBkZWNv
ZGVkIGltYWdlIGRhdGEgbWFrZSB1cCBmb3IgbW9zdCBvZiB0aGUgb2JqZWN0IGNhY2hlJ3MgbWVt
b3J5IHVzZSBvdmVyIHRpbWUKKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2Vi
Vmlldzo6c2V0Q2FjaGVNb2RlbCk6IEluIHRoZSBwcmltYXJ5IHdlYiBicm93c2VyIG1vZGVsLAor
ICAgICAgICBzZXQgdGhlIGNhY2hlJ3MgZGVhZCBkZWNvZGVkIGRhdGEgZGVsZXRpb24gaW50ZXJ2
YWwgdG8gNjAgc2Vjb25kcy4KKwogMjAwOC0xMC0xNiAgS2V2aW4gTWNDdWxsb3VnaCAgPGttY2N1
bGxvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTdGV2ZSBGYWxrZW5idXJn
LgpJbmRleDogV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2lu
L1dlYlZpZXcuY3BwCShyZXZpc2lvbiAzNzY4MCkKKysrIFdlYktpdC93aW4vV2ViVmlldy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM4Miw2ICszODIsNyBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hl
TW9kZWwoV2ViQ2FjaGVNb2RlCiAgICAgdW5zaWduZWQgY2FjaGVUb3RhbENhcGFjaXR5ID0gMDsK
ICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2Fj
aGVNYXhEZWFkQ2FwYWNpdHkgPSAwOworICAgIGRvdWJsZSBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gMDsKIAogICAgIHVuc2lnbmVkIHBhZ2VDYWNoZUNhcGFjaXR5ID0gMDsKIApA
QCAtNTAwLDYgKzUwMSw4IEBAIHZvaWQgV2ViVmlldzo6c2V0Q2FjaGVNb2RlbChXZWJDYWNoZU1v
ZGUKICAgICAgICAgLy8gY2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291
bGQganVzdGlmeSB0aGUgcmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkg
PSBtYXgoMjR1LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKKyAgICAgICAgZGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbCA9IDYwOworCiAgICAgICAgIC8vIEZvdW5kYXRpb24gbWVtb3J5
IGNhY2hlIGNhcGFjaXR5IChpbiBieXRlcykKICAgICAgICAgLy8gKFRoZXNlIHZhbHVlcyBhcmUg
c21hbGwgYmVjYXVzZSBXZWJDb3JlIGRvZXMgbW9zdCBjYWNoaW5nIGl0c2VsZi4pCiAgICAgICAg
IGlmIChtZW1TaXplID49IDEwMjQpCkBAIC01MzUsNiArNTM4LDcgQEAgdm9pZCBXZWJWaWV3Ojpz
ZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9kZQogICAgIGNmdXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPSBt
YXgoY2Z1cmxDYWNoZURpc2tDYXBhY2l0eSwgQ0ZVUkxDYWNoZURpc2tDYXBhY2l0eShjZnVybFNo
YXJlZENhY2hlKSk7CiAKICAgICBjYWNoZSgpLT5zZXRDYXBhY2l0aWVzKGNhY2hlTWluRGVhZENh
cGFjaXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgY2FjaGVUb3RhbENhcGFjaXR5KTsKKyAgICBj
YWNoZSgpLT5zZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKGRlYWREZWNvZGVkRGF0
YURlbGV0aW9uSW50ZXJ2YWwpOwogICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eShwYWdlQ2Fj
aGVDYXBhY2l0eSk7CiAKICAgICBDRlVSTENhY2hlU2V0TWVtb3J5Q2FwYWNpdHkoY2Z1cmxTaGFy
ZWRDYWNoZSwgY2Z1cmxDYWNoZU1lbW9yeUNhcGFjaXR5KTsK
</data>
<flag name="review"
          id="11151"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>