<?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>30210</bug_id>
          
          <creation_ts>2009-10-08 07:36:43 -0700</creation_ts>
          <short_desc>[Cache] Add embedded profile to prune decoded resources more early</short_desc>
          <delta_ts>2010-10-18 11:57:32 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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 name="Holger Freyther">zecke</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
    
    <cc>psolanki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>153368</commentid>
    <comment_count>0</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-08 07:36:43 -0700</bug_when>
    <thetext>Add a high watermark and if m_liveSize is bigger is bigger than this watermark ignore the calculated elapsedTime. This will make WebCore::Cache throw away decoded images even from within the paint routine which is helpful on sites with many images.

This change does not make sure that m_liveSize will always stay below the watermark and is really only limited to decoded images. So if 3GB of CSS is downloaded m_liveSize will still grow beyond the high watermark.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153369</commentid>
    <comment_count>1</comment_count>
      <attachid>40869</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-08 07:39:29 -0700</bug_when>
    <thetext>Created attachment 40869
Add proof of concept for the approach

I&apos;m mostly seeking for feedback on if this is a good way to limit the memory usage. In the worse case the same image will be decoded more than once during painting. I would solve this in the ImageDecoder to asynchronously decode images.

The proposed patch adds a new EMBEDDED_PROFILE that will in general prefer memory usage over speed. The proposed code will not add any branch or assignment for the normal build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155572</commentid>
    <comment_count>2</comment_count>
      <attachid>40869</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-18 22:53:22 -0700</bug_when>
    <thetext>Comment on attachment 40869
Add proof of concept for the approach

This patch does not have a ChangeLog.  If you&apos;d like feedback on your patch, I recommend asking on IRC or emailing the relevant folks directly.  Having this patch in the review queue is just making it hard to review complete patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156038</commentid>
    <comment_count>3</comment_count>
      <attachid>41475</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-19 19:47:50 -0700</bug_when>
    <thetext>Created attachment 41475
Add proof of concept for the approach.

Same change with a ChangeLog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167322</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-30 12:19:20 -0800</bug_when>
    <thetext>Attachment 41475 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
Done processing WebCore/loader/Cache.h
WebCore/loader/Cache.cpp:279:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebCore/loader/Cache.cpp:280:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Done processing WebCore/loader/Cache.cpp
Total errors found: 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168886</commentid>
    <comment_count>5</comment_count>
      <attachid>41475</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-04 13:02:08 -0800</bug_when>
    <thetext>Comment on attachment 41475
Add proof of concept for the approach.

Please fix the style issues.  Also, please use a const bool instead of EMBEDDED_PROFILE_CHECK.  This code

+ if (EMBEDDED_PROFILE_CHECK elapsedTime &lt; cMinDelayBeforeLiveDecodedPrune)

looks super wonky.  The compiler will optimize const bools properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168915</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2009-12-04 13:43:49 -0800</bug_when>
    <thetext>If you want to add a feature with an #ifdef, all data members and functions should be surrounded by that #ifdef.

I don&apos;t think EMBEDDED_PROFILE is a good name for this #ifdef, since some embedded profiles do not want to use it.

Also, couldn&apos;t you write this whole patch in one line but just setting cMinDelayBeforeLiveDecodedPrune to 0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169020</commentid>
    <comment_count>7</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-12-04 21:52:19 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 41475 [details])
&gt; Please fix the style issues.  Also, please use a const bool instead of
&gt; EMBEDDED_PROFILE_CHECK.  This code
&gt; 
&gt; + if (EMBEDDED_PROFILE_CHECK elapsedTime &lt; cMinDelayBeforeLiveDecodedPrune)
&gt; 
&gt; looks super wonky.  The compiler will optimize const bools properly.

The downside is that we normally don&apos;t use &quot;const&quot; for local variables.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169021</commentid>
    <comment_count>8</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-12-04 21:55:34 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; If you want to add a feature with an #ifdef, all data members and functions
&gt; should be surrounded by that #ifdef.
&gt; 
&gt; I don&apos;t think EMBEDDED_PROFILE is a good name for this #ifdef, since some
&gt; embedded profiles do not want to use it.
&gt; 
&gt; Also, couldn&apos;t you write this whole patch in one line but just setting
&gt; cMinDelayBeforeLiveDecodedPrune to 0?

Good hint, let me research that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40869</attachid>
            <date>2009-10-08 07:39:29 -0700</date>
            <delta_ts>2009-10-19 19:47:50 -0700</delta_ts>
            <desc>Add proof of concept for the approach</desc>
            <filename>0002-Cache-Add-Embedded-profile-to-more-aggressively-prun.patch</filename>
            <type>text/plain</type>
            <size>4225</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSAyYTBiOTJiMDUwMWVmZWI0MTg1MjA0YjIxMWI2NWEwOGFkZWEzYzQxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IFRodSwgOCBPY3QgMjAwOSAxNjoxOToxNiArMDIwMApTdWJqZWN0OiBb
UEFUQ0ggMi8yXSBDYWNoZTogQWRkIEVtYmVkZGVkIHByb2ZpbGUgdG8gbW9yZSBhZ2dyZXNzaXZl
bHkgcHJ1bmUgZGVjb2RlZCBkYXRhCgpPbiBkZXZpY2VzIHdpdGggbG93IGFtb3VudCBvZiBSQU0s
IGRlY29kZWQgZGF0YSBzaG91bGQgYmUKcHJ1bmVkIG1vcmUgZWFybHkuIEN1cnJlbnRseSBkZWNv
ZGVkIGRhdGEgaXMgb25seSBwcnVuZWQgd2hlbgp0aGUgZGVjb2RlZCBkYXRhIHdhcyBub3QgYWNj
ZXNzZWQgZm9yIG1vcmUgdGhhbiBhIHNlY29uZCBmcm9tCnRoZSBsYXN0IHBhaW50LgoKQWRkIGEg
bmV3IG1heCBkZWNvZGVkIHNpemUgcHJvcGVydHkgdGhhdCB3aWxsIGlnbm9yZSB0aGUgdGltZQpj
aGVjayB3aGVuIHRoZSBtX2xpdmVTaXplIGlzIGFib3ZlIGEgY2VydGFpbiB0aHJlc2hvbGQuIEZv
ciB0aGUKbm9ybWFsIGJ1aWxkIGZvdXIgbW9yZSBieXRlcyBvZiB0aGUgQ2FjaGUgaW5zdGFuY2Ug
YXJlIGFsbG9jYXRlZApidXQgbm8gYmVoYXZpb3VyIG9yIHJ1bnRpbWUgY2hhbmdlIGlzIGludHJv
ZHVjZWQuCi0tLQogV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwIHwgICAxOSArKysrKysrKysrKysr
KysrKy0tCiBXZWJDb3JlL2xvYWRlci9DYWNoZS5oICAgfCAgIDEyICsrKysrKysrKysrKwogMiBm
aWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlLmNwcCBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlLmNwcApp
bmRleCAzOTE3OTBmLi5iOTZkOGE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9DYWNoZS5j
cHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwCkBAIC02Myw2ICs2Myw3IEBAIENhY2hl
OjpDYWNoZSgpCiAgICAgLCBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoY0RlZmF1
bHREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpCiAgICAgLCBtX2xpdmVTaXplKDApCiAgICAg
LCBtX2RlYWRTaXplKDApCisgICAgLCBtX21heERlY29kZWRDYXBhY2l0eSgwKQogewogfQogCkBA
IC0yNzIsNyArMjczLDE1IEBAIHZvaWQgQ2FjaGU6OnBydW5lTGl2ZVJlc291cmNlcygpCiAgICAg
ZG91YmxlIGN1cnJlbnRUaW1lID0gRnJhbWVWaWV3OjpjdXJyZW50UGFpbnRUaW1lU3RhbXAoKTsK
ICAgICBpZiAoIWN1cnJlbnRUaW1lKSAvLyBJbiBjYXNlIHBydW5lIGlzIGNhbGxlZCBkaXJlY3Rs
eSwgb3V0c2lkZSBvZiBhIEZyYW1lIHBhaW50LgogICAgICAgICBjdXJyZW50VGltZSA9IFdURjo6
Y3VycmVudFRpbWUoKTsKLSAgICAKKworICAgIC8vIEFyZSB3ZSBvdmVyIHRoZSBoaWdoIHdhdGVy
bWFyayBhbmQgd2lsbCBwcnVuZSBsaXZlIHJlc291cmNlcyB0b28/CisjaWYgVVNFKEVNQkVEREVE
X1BST0ZJTEUpCisgICAgYm9vbCBob25vckxhc3RQYWludFRpbWUgPSBtX21heERlY29kZWRDYXBh
Y2l0eSA9PSAwIHx8IG1fbGl2ZVNpemUgPCBtX21heERlY29kZWRDYXBhY2l0eTsKKyNkZWZpbmUg
RU1CRURERURfUFJPRklMRV9DSEVDSyBob25vckxhc3RQYWludFRpbWUgJiYKKyNlbHNlCisjZGVm
aW5lIEVNQkVEREVEX1BST0ZJTEVfQ0hFQ0sKKyNlbmRpZgorCiAgICAgLy8gRGVzdHJveSBhbnkg
ZGVjb2RlZCBkYXRhIGluIGxpdmUgb2JqZWN0cyB0aGF0IHdlIGNhbi4KICAgICAvLyBTdGFydCBm
cm9tIHRoZSB0YWlsLCBzaW5jZSB0aGlzIGlzIHRoZSBsZWFzdCByZWNlbnRseSBhY2Nlc3NlZCBv
ZiB0aGUgb2JqZWN0cy4KICAgICBDYWNoZWRSZXNvdXJjZSogY3VycmVudCA9IG1fbGl2ZURlY29k
ZWRSZXNvdXJjZXMubV90YWlsOwpAQCAtMjgyLDcgKzI5MSw3IEBAIHZvaWQgQ2FjaGU6OnBydW5l
TGl2ZVJlc291cmNlcygpCiAgICAgICAgIGlmIChjdXJyZW50LT5pc0xvYWRlZCgpICYmIGN1cnJl
bnQtPmRlY29kZWRTaXplKCkpIHsKICAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUg
cmVtYWluaW5nIHJlc291cmNlcyBhcmUgdG9vIG5ldyB0byBwcnVuZS4KICAgICAgICAgICAgIGRv
dWJsZSBlbGFwc2VkVGltZSA9IGN1cnJlbnRUaW1lIC0gY3VycmVudC0+bV9sYXN0RGVjb2RlZEFj
Y2Vzc1RpbWU7Ci0gICAgICAgICAgICBpZiAoZWxhcHNlZFRpbWUgPCBjTWluRGVsYXlCZWZvcmVM
aXZlRGVjb2RlZFBydW5lKQorICAgICAgICAgICAgaWYgKEVNQkVEREVEX1BST0ZJTEVfQ0hFQ0sg
ZWxhcHNlZFRpbWUgPCBjTWluRGVsYXlCZWZvcmVMaXZlRGVjb2RlZFBydW5lKQogICAgICAgICAg
ICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgLy8gRGVzdHJveSBvdXIgZGVjb2RlZCBkYXRh
LiBUaGlzIHdpbGwgcmVtb3ZlIHVzIGZyb20gCkBAIC03MDQsNiArNzEzLDEyIEBAIHZvaWQgQ2Fj
aGU6OnNldERpc2FibGVkKGJvb2wgZGlzYWJsZWQpCiAgICAgfQogfQogCit2b2lkIENhY2hlOjpz
ZXRNYXhEZWNvZGVkU2l6ZSh1bnNpZ25lZCBtYXhEZWNvZGVkU2l6ZSkKK3sKKyAgICBtX21heERl
Y29kZWRDYXBhY2l0eSA9IG1heERlY29kZWRTaXplOworICAgIHBydW5lKCk7Cit9CisKICNpZm5k
ZWYgTkRFQlVHCiB2b2lkIENhY2hlOjpkdW1wU3RhdHMoKQogewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvQ2FjaGUuaCBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlLmgKaW5kZXggYTAwMjNkYS4u
MjMzZmFhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuaAorKysgYi9XZWJDb3Jl
L2xvYWRlci9DYWNoZS5oCkBAIC01NSw2ICs1NSwxMiBAQCBjbGFzcyBLVVJMOwogLy8gLS0tLS0t
LXwtLS0tLSsrKysrKysrKysrKysrK3wKIC8vIC0tLS0tLS18LS0tLS0rKysrKysrKysrKysrKyt8
KysrKysKIAorLy8gVGhlIGNhY2hlIGdhaW5lZCBhIGhpZ2ggd2F0ZXJtYXJrIGluIHdoaWNoIGRl
Y29kZWQgZGF0YSBvZiBsaXZlIHJlc291cmNlcyB3aWxsCisvLyBiZSBwcnVuZWQgZXZlbiBpZiB0
aGV5IHdvdWxkIG5vcm1hbGx5IGJlIGNvbnNpZGVyZWQgdG9vIHlvdW5nLiBCdXQgdGhpcyBvbmx5
CisvLyBhcHBsaWVzIHRvIGRlY29kZWQgZGF0YS4KKworLy8gLS0tLS0tLXwtLS0tLSsrKysrKysr
KysrKysrK3wrKysrKysrfCsrKysrCisKIGNsYXNzIENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKIHB1YmxpYzoKICAgICBmcmllbmQgQ2FjaGUqIGNhY2hlKCk7CkBAIC0xMTEsNiArMTE3LDEx
IEBAIHB1YmxpYzoKICAgICAvLyAgLSB0b3RhbEJ5dGVzOiBUaGUgbWF4aW11bSBudW1iZXIgb2Yg
Ynl0ZXMgdGhhdCB0aGUgY2FjaGUgc2hvdWxkIGNvbnN1bWUgb3ZlcmFsbC4KICAgICB2b2lkIHNl
dENhcGFjaXRpZXModW5zaWduZWQgbWluRGVhZEJ5dGVzLCB1bnNpZ25lZCBtYXhEZWFkQnl0ZXMs
IHVuc2lnbmVkIHRvdGFsQnl0ZXMpOwogCisgICAgLy8gU3RhcnQgaGVhdmlseSBwcnVuaW5nIGRl
Y29kZWQgZGF0YSB3aGVuIHRoZSBtX2xpdmVTaXplIGlzIGJpZ2dlciB0aGFuIHRoZQorICAgIC8v
IG1heERlY29kZWRTaXplLiBUaGlzIGlzIGhlbHBmdWwgZm9yIHdlYnNpdGVzIHdpdGggbWFueSBp
bWFnZXMgd2hlcmUgcHJ1bmluZworICAgIC8vIGR1cmluZyBwYWludGluZyBpcyB2ZXJ5IGhlbHBm
dWwuCisgICAgdm9pZCBzZXRNYXhEZWNvZGVkU2l6ZSh1bnNpZ25lZCBtYXhEZWNvZGVkU2l6ZSk7
CisKICAgICAvLyBUdXJuIHRoZSBjYWNoZSBvbiBhbmQgb2ZmLiAgRGlzYWJsaW5nIHRoZSBjYWNo
ZSB3aWxsIHJlbW92ZSBhbGwgcmVzb3VyY2VzIGZyb20gdGhlIGNhY2hlLiAgVGhleSBtYXkKICAg
ICAvLyBzdGlsbCBsaXZlIG9uIGlmIHRoZXkgYXJlIHJlZmVyZW5jZWQgYnkgc29tZSBXZWIgcGFn
ZSB0aG91Z2guCiAgICAgdm9pZCBzZXREaXNhYmxlZChib29sKTsKQEAgLTE4Miw2ICsxOTMsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9pblBydW5lRGVhZFJlc291cmNlczsKIAogICAgIHVuc2ln
bmVkIG1fY2FwYWNpdHk7CisgICAgdW5zaWduZWQgbV9tYXhEZWNvZGVkQ2FwYWNpdHk7CiAgICAg
dW5zaWduZWQgbV9taW5EZWFkQ2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2FwYWNp
dHk7CiAgICAgZG91YmxlIG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKLS0gCjEu
Ni4zLjMKCg==
</data>
<flag name="review"
          id="22160"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41475</attachid>
            <date>2009-10-19 19:47:50 -0700</date>
            <delta_ts>2010-06-10 19:47:40 -0700</delta_ts>
            <desc>Add proof of concept for the approach.</desc>
            <filename>0002-Cache-Add-an-Embedded-profile-to-more-aggressively-p.patch</filename>
            <type>text/plain</type>
            <size>5995</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSA3MjdkMDEyNjI0NGY2OGUxNDc3Njk1ZjgyYjk4NDdkMTg2M2YxMjdhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IFRodSwgOCBPY3QgMjAwOSAxNjoxOToxNiArMDIwMApTdWJqZWN0OiBb
UEFUQ0ggMi8zXSBDYWNoZTogQWRkIGFuIEVtYmVkZGVkIHByb2ZpbGUgdG8gbW9yZSBhZ2dyZXNz
aXZlbHkgcHJ1bmUgZGVjb2RlZCBkYXRhLgoKT24gZGV2aWNlcyB3aXRoIGxvdyBhbW91bnQgb2Yg
UkFNLCBkZWNvZGVkIGRhdGEgc2hvdWxkIGJlCnBydW5lZCBtb3JlIGVhcmx5LiBDdXJyZW50bHkg
ZGVjb2RlZCBkYXRhIGlzIG9ubHkgcHJ1bmVkIHdoZW4KdGhlIGRlY29kZWQgZGF0YSB3YXMgbm90
IGFjY2Vzc2VkIGZvciBtb3JlIHRoYW4gYSBzZWNvbmQgZnJvbQp0aGUgbGFzdCBwYWludC4KCkFk
ZCBhIG5ldyBtYXggZGVjb2RlZCBzaXplIHByb3BlcnR5IHRoYXQgd2lsbCBtYWtlCldlYkNvcmU6
OkNhY2hlOjpwcnVuZUxpdmVSZXNvdXJjZXMgaWdub3JlIHRoZSB0aW1lCmNoZWNrIHdoZW4gdGhl
IG1fbGl2ZVNpemUgaXMgYWJvdmUgYSBjZXJ0YWluIHRocmVzaG9sZC4KCkZvciB0aGUgbm9ybWFs
IGJ1aWxkIGZvdXIgbW9yZSBieXRlcyBvZiB0aGUgQ2FjaGUgaW5zdGFuY2UKYXJlIGFsbG9jYXRl
ZCBidXQgbm8gYmVoYXZpb3VyIG9yIHJ1bnRpbWUgY2hhbmdlIGlzIGludHJvZHVjZWQuCgpodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMTAKCiogbG9hZGVyL0NhY2hl
LmNwcDoKKFdlYkNvcmU6OkNhY2hlOjpDYWNoZSk6IEluaXRpYWxpemUgbmV3IG1lbWJlcgooV2Vi
Q29yZTo6Q2FjaGU6OnBydW5lTGl2ZVJlc291cmNlcyk6IFVzZSAjZGVmaW5lIHRvIGluamVjdCBj
b2RlIGludG8gaWYgc3RhdGVtZW50LgooV2ViQ29yZTo6Q2FjaGU6OnNldE1heERlY29kZWRTaXpl
KTogTmV3IHNldHRlci4KKiBsb2FkZXIvQ2FjaGUuaDogRG9jdW1lbnQgdGhlIGlkZWEgb2Ygc2V0
TWF4RGVjb2RlZCBzaXplCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgIHwgICAyNiArKysr
KysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwIHwgICAxOSAr
KysrKysrKysrKysrKysrKy0tCiBXZWJDb3JlL2xvYWRlci9DYWNoZS5oICAgfCAgIDEyICsrKysr
KysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZTJjZjBhZC4uNTA2MDY5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAwOS0xMC0xMyAgSG9sZ2VyIEhh
bnMgUGV0ZXIgRnJleXRoZXIgIDx6ZWNrZUBzZWxmaXNoLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDYWNoZTogQWRkIGFuIEVtYmVkZGVkIHBy
b2ZpbGUgdG8gbW9yZSBhZ2dyZXNzaXZlbHkgcHJ1bmUgZGVjb2RlZCBkYXRhLgorCisgICAgICAg
IE9uIGRldmljZXMgd2l0aCBsb3cgYW1vdW50IG9mIFJBTSwgZGVjb2RlZCBkYXRhIHNob3VsZCBi
ZQorICAgICAgICBwcnVuZWQgbW9yZSBlYXJseS4gQ3VycmVudGx5IGRlY29kZWQgZGF0YSBpcyBv
bmx5IHBydW5lZCB3aGVuCisgICAgICAgIHRoZSBkZWNvZGVkIGRhdGEgd2FzIG5vdCBhY2Nlc3Nl
ZCBmb3IgbW9yZSB0aGFuIGEgc2Vjb25kIGZyb20KKyAgICAgICAgdGhlIGxhc3QgcGFpbnQuCisK
KyAgICAgICAgQWRkIGEgbmV3IG1heCBkZWNvZGVkIHNpemUgcHJvcGVydHkgdGhhdCB3aWxsIG1h
a2UKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGU6OnBydW5lTGl2ZVJlc291cmNlcyBpZ25vcmUgdGhl
IHRpbWUKKyAgICAgICAgY2hlY2sgd2hlbiB0aGUgbV9saXZlU2l6ZSBpcyBhYm92ZSBhIGNlcnRh
aW4gdGhyZXNob2xkLgorCisgICAgICAgIEZvciB0aGUgbm9ybWFsIGJ1aWxkIGZvdXIgbW9yZSBi
eXRlcyBvZiB0aGUgQ2FjaGUgaW5zdGFuY2UKKyAgICAgICAgYXJlIGFsbG9jYXRlZCBidXQgbm8g
YmVoYXZpb3VyIG9yIHJ1bnRpbWUgY2hhbmdlIGlzIGludHJvZHVjZWQuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMjEwCisKKyAgICAgICAgKiBs
b2FkZXIvQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OkNhY2hlKTogSW5pdGlh
bGl6ZSBuZXcgbWVtYmVyCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cHJ1bmVMaXZlUmVzb3Vy
Y2VzKTogVXNlICNkZWZpbmUgdG8gaW5qZWN0IGNvZGUgaW50byBpZiBzdGF0ZW1lbnQuCisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZTo6c2V0TWF4RGVjb2RlZFNpemUpOiBOZXcgc2V0dGVyLgorICAg
ICAgICAqIGxvYWRlci9DYWNoZS5oOiBEb2N1bWVudCB0aGUgaWRlYSBvZiBzZXRNYXhEZWNvZGVk
IHNpemUKKwogMjAwOS0xMC0wOCAgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIgIDx6ZWNrZUBz
ZWxmaXNoLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlLmNwcCBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlLmNw
cAppbmRleCAzOTE3OTBmLi5iOTZkOGE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9DYWNo
ZS5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwCkBAIC02Myw2ICs2Myw3IEBAIENh
Y2hlOjpDYWNoZSgpCiAgICAgLCBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoY0Rl
ZmF1bHREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpCiAgICAgLCBtX2xpdmVTaXplKDApCiAg
ICAgLCBtX2RlYWRTaXplKDApCisgICAgLCBtX21heERlY29kZWRDYXBhY2l0eSgwKQogewogfQog
CkBAIC0yNzIsNyArMjczLDE1IEBAIHZvaWQgQ2FjaGU6OnBydW5lTGl2ZVJlc291cmNlcygpCiAg
ICAgZG91YmxlIGN1cnJlbnRUaW1lID0gRnJhbWVWaWV3OjpjdXJyZW50UGFpbnRUaW1lU3RhbXAo
KTsKICAgICBpZiAoIWN1cnJlbnRUaW1lKSAvLyBJbiBjYXNlIHBydW5lIGlzIGNhbGxlZCBkaXJl
Y3RseSwgb3V0c2lkZSBvZiBhIEZyYW1lIHBhaW50LgogICAgICAgICBjdXJyZW50VGltZSA9IFdU
Rjo6Y3VycmVudFRpbWUoKTsKLSAgICAKKworICAgIC8vIEFyZSB3ZSBvdmVyIHRoZSBoaWdoIHdh
dGVybWFyayBhbmQgd2lsbCBwcnVuZSBsaXZlIHJlc291cmNlcyB0b28/CisjaWYgVVNFKEVNQkVE
REVEX1BST0ZJTEUpCisgICAgYm9vbCBob25vckxhc3RQYWludFRpbWUgPSBtX21heERlY29kZWRD
YXBhY2l0eSA9PSAwIHx8IG1fbGl2ZVNpemUgPCBtX21heERlY29kZWRDYXBhY2l0eTsKKyNkZWZp
bmUgRU1CRURERURfUFJPRklMRV9DSEVDSyBob25vckxhc3RQYWludFRpbWUgJiYKKyNlbHNlCisj
ZGVmaW5lIEVNQkVEREVEX1BST0ZJTEVfQ0hFQ0sKKyNlbmRpZgorCiAgICAgLy8gRGVzdHJveSBh
bnkgZGVjb2RlZCBkYXRhIGluIGxpdmUgb2JqZWN0cyB0aGF0IHdlIGNhbi4KICAgICAvLyBTdGFy
dCBmcm9tIHRoZSB0YWlsLCBzaW5jZSB0aGlzIGlzIHRoZSBsZWFzdCByZWNlbnRseSBhY2Nlc3Nl
ZCBvZiB0aGUgb2JqZWN0cy4KICAgICBDYWNoZWRSZXNvdXJjZSogY3VycmVudCA9IG1fbGl2ZURl
Y29kZWRSZXNvdXJjZXMubV90YWlsOwpAQCAtMjgyLDcgKzI5MSw3IEBAIHZvaWQgQ2FjaGU6OnBy
dW5lTGl2ZVJlc291cmNlcygpCiAgICAgICAgIGlmIChjdXJyZW50LT5pc0xvYWRlZCgpICYmIGN1
cnJlbnQtPmRlY29kZWRTaXplKCkpIHsKICAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0
aGUgcmVtYWluaW5nIHJlc291cmNlcyBhcmUgdG9vIG5ldyB0byBwcnVuZS4KICAgICAgICAgICAg
IGRvdWJsZSBlbGFwc2VkVGltZSA9IGN1cnJlbnRUaW1lIC0gY3VycmVudC0+bV9sYXN0RGVjb2Rl
ZEFjY2Vzc1RpbWU7Ci0gICAgICAgICAgICBpZiAoZWxhcHNlZFRpbWUgPCBjTWluRGVsYXlCZWZv
cmVMaXZlRGVjb2RlZFBydW5lKQorICAgICAgICAgICAgaWYgKEVNQkVEREVEX1BST0ZJTEVfQ0hF
Q0sgZWxhcHNlZFRpbWUgPCBjTWluRGVsYXlCZWZvcmVMaXZlRGVjb2RlZFBydW5lKQogICAgICAg
ICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgLy8gRGVzdHJveSBvdXIgZGVjb2RlZCBk
YXRhLiBUaGlzIHdpbGwgcmVtb3ZlIHVzIGZyb20gCkBAIC03MDQsNiArNzEzLDEyIEBAIHZvaWQg
Q2FjaGU6OnNldERpc2FibGVkKGJvb2wgZGlzYWJsZWQpCiAgICAgfQogfQogCit2b2lkIENhY2hl
OjpzZXRNYXhEZWNvZGVkU2l6ZSh1bnNpZ25lZCBtYXhEZWNvZGVkU2l6ZSkKK3sKKyAgICBtX21h
eERlY29kZWRDYXBhY2l0eSA9IG1heERlY29kZWRTaXplOworICAgIHBydW5lKCk7Cit9CisKICNp
Zm5kZWYgTkRFQlVHCiB2b2lkIENhY2hlOjpkdW1wU3RhdHMoKQogewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvQ2FjaGUuaCBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlLmgKaW5kZXggYTAwMjNk
YS4uMjMzZmFhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9DYWNoZS5oCkBAIC01NSw2ICs1NSwxMiBAQCBjbGFzcyBLVVJMOwogLy8gLS0t
LS0tLXwtLS0tLSsrKysrKysrKysrKysrK3wKIC8vIC0tLS0tLS18LS0tLS0rKysrKysrKysrKysr
Kyt8KysrKysKIAorLy8gVGhlIGNhY2hlIGdhaW5lZCBhIGhpZ2ggd2F0ZXJtYXJrIGluIHdoaWNo
IGRlY29kZWQgZGF0YSBvZiBsaXZlIHJlc291cmNlcyB3aWxsCisvLyBiZSBwcnVuZWQgZXZlbiBp
ZiB0aGV5IHdvdWxkIG5vcm1hbGx5IGJlIGNvbnNpZGVyZWQgdG9vIHlvdW5nLiBCdXQgdGhpcyBv
bmx5CisvLyBhcHBsaWVzIHRvIGRlY29kZWQgZGF0YS4KKworLy8gLS0tLS0tLXwtLS0tLSsrKysr
KysrKysrKysrK3wrKysrKysrfCsrKysrCisKIGNsYXNzIENhY2hlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKIHB1YmxpYzoKICAgICBmcmllbmQgQ2FjaGUqIGNhY2hlKCk7CkBAIC0xMTEsNiArMTE3
LDExIEBAIHB1YmxpYzoKICAgICAvLyAgLSB0b3RhbEJ5dGVzOiBUaGUgbWF4aW11bSBudW1iZXIg
b2YgYnl0ZXMgdGhhdCB0aGUgY2FjaGUgc2hvdWxkIGNvbnN1bWUgb3ZlcmFsbC4KICAgICB2b2lk
IHNldENhcGFjaXRpZXModW5zaWduZWQgbWluRGVhZEJ5dGVzLCB1bnNpZ25lZCBtYXhEZWFkQnl0
ZXMsIHVuc2lnbmVkIHRvdGFsQnl0ZXMpOwogCisgICAgLy8gU3RhcnQgaGVhdmlseSBwcnVuaW5n
IGRlY29kZWQgZGF0YSB3aGVuIHRoZSBtX2xpdmVTaXplIGlzIGJpZ2dlciB0aGFuIHRoZQorICAg
IC8vIG1heERlY29kZWRTaXplLiBUaGlzIGlzIGhlbHBmdWwgZm9yIHdlYnNpdGVzIHdpdGggbWFu
eSBpbWFnZXMgd2hlcmUgcHJ1bmluZworICAgIC8vIGR1cmluZyBwYWludGluZyBpcyB2ZXJ5IGhl
bHBmdWwuCisgICAgdm9pZCBzZXRNYXhEZWNvZGVkU2l6ZSh1bnNpZ25lZCBtYXhEZWNvZGVkU2l6
ZSk7CisKICAgICAvLyBUdXJuIHRoZSBjYWNoZSBvbiBhbmQgb2ZmLiAgRGlzYWJsaW5nIHRoZSBj
YWNoZSB3aWxsIHJlbW92ZSBhbGwgcmVzb3VyY2VzIGZyb20gdGhlIGNhY2hlLiAgVGhleSBtYXkK
ICAgICAvLyBzdGlsbCBsaXZlIG9uIGlmIHRoZXkgYXJlIHJlZmVyZW5jZWQgYnkgc29tZSBXZWIg
cGFnZSB0aG91Z2guCiAgICAgdm9pZCBzZXREaXNhYmxlZChib29sKTsKQEAgLTE4Miw2ICsxOTMs
NyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pblBydW5lRGVhZFJlc291cmNlczsKIAogICAgIHVu
c2lnbmVkIG1fY2FwYWNpdHk7CisgICAgdW5zaWduZWQgbV9tYXhEZWNvZGVkQ2FwYWNpdHk7CiAg
ICAgdW5zaWduZWQgbV9taW5EZWFkQ2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2Fw
YWNpdHk7CiAgICAgZG91YmxlIG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKLS0g
CjEuNi4zLjMKCg==
</data>
<flag name="review"
          id="22881"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>