<?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>83540</bug_id>
          
          <creation_ts>2012-04-09 19:39:41 -0700</creation_ts>
          <short_desc>REGRESSION(r113588): 15-30% perf. regression on CSS/CSSPropertySetterGetter</short_desc>
          <delta_ts>2012-04-10 14:57:57 -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>CSS</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>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>83426</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>abarth</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>598917</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-04-09 19:39:41 -0700</bug_when>
    <thetext>http://webkit-perf.appspot.com/graph.html#tests=[[314224,2001,32196],[314224,2001,3001],[314224,2001,173262]]&amp;sel=1333978732699.9312,1334010760286.138&amp;displayrange=7&amp;datatype=running</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599071</commentid>
    <comment_count>1</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-10 00:11:12 -0700</bug_when>
    <thetext>Taking for tomorrow. We&apos;re triggering CSSOM clone instantiation from named CSS property getters in the bindings layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599471</commentid>
    <comment_count>2</comment_count>
      <attachid>136502</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-10 12:10:36 -0700</bug_when>
    <thetext>Created attachment 136502
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599477</commentid>
    <comment_count>3</comment_count>
      <attachid>136502</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-10 12:13:37 -0700</bug_when>
    <thetext>Comment on attachment 136502
Proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599482</commentid>
    <comment_count>4</comment_count>
      <attachid>136502</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-04-10 12:16:29 -0700</bug_when>
    <thetext>Comment on attachment 136502
Proposed patch

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

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:2689
&gt; +PassRefPtr&lt;CSSValue&gt; CSSComputedStyleDeclaration::getUnsafePropertyCSSValueInternal(CSSPropertyID propertyID)

Can we reflect the idea that this CSSValue can&apos;t be exposed to the Web?
e.g. getPropertyCSSValueInternalWithoutCSSOMWrapper?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599486</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-10 12:19:28 -0700</bug_when>
    <thetext>We should eliminate getPropertyCSSValueInternal entirely. The only clients are in the editing code and that can just access the internal values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599522</commentid>
    <comment_count>6</comment_count>
      <attachid>136502</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-10 12:39:59 -0700</bug_when>
    <thetext>Comment on attachment 136502
Proposed patch

Attachment 136502 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12385221</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599652</commentid>
    <comment_count>7</comment_count>
      <attachid>136543</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-10 14:36:57 -0700</bug_when>
    <thetext>Created attachment 136543
Simpler patch

Change the behavior of getPropertyCSSValueInternal() instead, yielding a much simpler patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599683</commentid>
    <comment_count>8</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-10 14:57:57 -0700</bug_when>
    <thetext>Committed r113774: &lt;http://trac.webkit.org/changeset/113774&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136502</attachid>
            <date>2012-04-10 12:10:36 -0700</date>
            <delta_ts>2012-04-10 14:36:57 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-83540.diff</filename>
            <type>text/plain</type>
            <size>7996</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkNDdlZjYwLi5jZDA5Nzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTItMDQtMTAgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAg
ICAgIFJFR1JFU1NJT04ocjExMzU4OCk6IDE1LTMwJSBwZXJmLiByZWdyZXNzaW9uIG9uIENTUy9D
U1NQcm9wZXJ0eVNldHRlckdldHRlci4KKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvODM1
NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXZv
aWQgY29uc3RydWN0aW5nICJzYWZlIiBDU1NWYWx1ZSBvYmplY3RzIGluIHRoZSBiaW5kaW5ncyBs
YXllciwgZm9yIHRoZSBjYXNlcyB3aGVyZQorICAgICAgICB3ZSBvbmx5IHdhbnQgdG8gZXh0cmFj
dCB0aGUgY3NzVGV4dCBvciBudW1lcmljIHZhbHVlLiBUaGUgc2FmZSBvYmplY3RzIGFyZSBvbmx5
IG5lZWRlZAorICAgICAgICB3aGVuIGV4cG9zaW5nIGZ1bGx5LWZsZWRnZWQgQ1NTVmFsdWVzIHRv
IHRoZSB3ZWIuCisKKyAgICAgICAgQWRkZWQgQ1NTU3R5bGVEZWNsYXJhdGlvbjo6Z2V0VW5zYWZl
UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKCkgZm9yIHRoaXMgcHVycG9zZS4KKyAgICAgICAgVGhl
cmUgaXMgYWxyZWFkeSBhbiBhc3NlcnRpb24gaW4gdGhlIENTU1ZhbHVlIGJpbmRpbmdzIHRoYXQg
d2lsbCBjYXRjaCBhbnlvbmUgdHJ5aW5nCisgICAgICAgIHRvIGV4cG9zZSB0aGVzZSB2YWx1ZXMg
dG8gdGhlIHdlYi4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NTU3R5bGVEZWNsYXJhdGlv
bkN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjc3NQcm9wZXJ0eUdldHRlclBpeGVsT3JQ
b3NQcmVmaXgpOgorICAgICAgICAoV2ViQ29yZTo6Y3NzUHJvcGVydHlHZXR0ZXIpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VjhDU1NTdHlsZURlY2xhcmF0aW9uOjpuYW1lZFByb3BlcnR5R2V0
dGVyKToKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uOjpnZXRVbnNhZmVQcm9wZXJ0eUNTU1ZhbHVlSW50ZXJuYWwpOgorICAgICAgICAqIGNz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaDoKKyAgICAgICAgKENTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbik6CisgICAgICAgICogY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaDoKKyAg
ICAgICAgKENTU1N0eWxlRGVjbGFyYXRpb24pOgorICAgICAgICAqIGNzcy9Qcm9wZXJ0eVNldENT
U1N0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvcGVydHlTZXRDU1NT
dHlsZURlY2xhcmF0aW9uOjpnZXRVbnNhZmVQcm9wZXJ0eUNTU1ZhbHVlSW50ZXJuYWwpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJh
dGlvbi5oOgorCiAyMDEyLTA0LTA5ICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4K
IAogICAgICAgICBNYWtlIENTU1ZhbHVlUG9vbCBzaGFyZSB2YWx1ZXMgZ2xvYmFsbHkuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRpb25D
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHlsZURlY2xhcmF0
aW9uQ3VzdG9tLmNwcAppbmRleCA3ZDE5YzIyLi5jMGFhZGI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5j
cHAKQEAgLTI4MCw3ICsyODAsNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgY3NzUHJvcGVydHlH
ZXR0ZXJQaXhlbE9yUG9zUHJlZml4KEV4ZWNTdGF0ZSogZXhlYywgSlNDU1NTdAogICAgIC8vIHBv
c1RvcCByZXR1cm5zICJDU1MgdG9wIiBhcyBudW1iZXIgdmFsdWUgaW4gdW5pdCBwaXhlbHMgX2lm
XyBpdHMgYQogICAgIC8vIHBvc2l0aW9uZWQgZWxlbWVudC4gaWYgaXQgaXMgbm90IGEgcG9zaXRp
b25lZCBlbGVtZW50LCByZXR1cm4gMAogICAgIC8vIGZyb20gTVNJRSBkb2N1bWVudGF0aW9uIEZJ
WE1FOiBJTVBMRU1FTlQgVEhBVCAoRGlyaykKLSAgICBSZWZQdHI8Q1NTVmFsdWU+IHYgPSB0aGlz
T2JqLT5pbXBsKCktPmdldFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbChzdGF0aWNfY2FzdDxDU1NQ
cm9wZXJ0eUlEPihwcm9wZXJ0eUlEKSk7CisgICAgUmVmUHRyPENTU1ZhbHVlPiB2ID0gdGhpc09i
ai0+aW1wbCgpLT5nZXRVbnNhZmVQcm9wZXJ0eUNTU1ZhbHVlSW50ZXJuYWwoc3RhdGljX2Nhc3Q8
Q1NTUHJvcGVydHlJRD4ocHJvcGVydHlJRCkpOwogICAgIGlmICh2KSB7CiAgICAgICAgIGlmICh2
LT5pc1ByaW1pdGl2ZVZhbHVlKCkpCiAgICAgICAgICAgICByZXR1cm4ganNOdW1iZXIoc3RhdGlj
X3BvaW50ZXJfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odiktPmdldEZsb2F0VmFsdWUoQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19QWCkpOwpAQCAtMjk3LDcgKzI5Nyw3IEBAIHN0YXRpYyBKU1ZhbHVl
IGNzc1Byb3BlcnR5R2V0dGVyUGl4ZWxPclBvc1ByZWZpeENhbGxiYWNrKEV4ZWNTdGF0ZSogZXhl
YywgSlNWYWx1CiAKIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBjc3NQcm9wZXJ0eUdldHRlcihFeGVj
U3RhdGUqIGV4ZWMsIEpTQ1NTU3R5bGVEZWNsYXJhdGlvbiogdGhpc09iaiwgdW5zaWduZWQgcHJv
cGVydHlJRCkKIHsKLSAgICBSZWZQdHI8Q1NTVmFsdWU+IHYgPSB0aGlzT2JqLT5pbXBsKCktPmdl
dFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbChzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihwcm9w
ZXJ0eUlEKSk7CisgICAgUmVmUHRyPENTU1ZhbHVlPiB2ID0gdGhpc09iai0+aW1wbCgpLT5nZXRV
bnNhZmVQcm9wZXJ0eUNTU1ZhbHVlSW50ZXJuYWwoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4o
cHJvcGVydHlJRCkpOwogICAgIGlmICh2KQogICAgICAgICByZXR1cm4ganNTdHJpbmdPck51bGwo
ZXhlYywgdi0+Y3NzVGV4dCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcApp
bmRleCAxOThhNjU1ZC4uZTc3NmRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5j
cHAKQEAgLTIwMiw3ICsyMDIsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhDU1NTdHlsZURl
Y2xhcmF0aW9uOjpuYW1lZFByb3BlcnR5R2V0dGVyKHY4OjpMb2NhbDx2ODo6UwogICAgICAgICBy
ZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKIAogICAgIENTU1N0eWxlRGVjbGFyYXRp
b24qIGltcCA9IFY4Q1NTU3R5bGVEZWNsYXJhdGlvbjo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7
Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiBjc3NWYWx1ZSA9IGltcC0+Z2V0UHJvcGVydHlDU1NWYWx1
ZUludGVybmFsKHN0YXRpY19jYXN0PENTU1Byb3BlcnR5SUQ+KHByb3BJbmZvLT5wcm9wSUQpKTsK
KyAgICBSZWZQdHI8Q1NTVmFsdWU+IGNzc1ZhbHVlID0gaW1wLT5nZXRVbnNhZmVQcm9wZXJ0eUNT
U1ZhbHVlSW50ZXJuYWwoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcEluZm8tPnByb3BJ
RCkpOwogICAgIGlmIChjc3NWYWx1ZSkgewogICAgICAgICBpZiAocHJvcEluZm8tPmhhZFBpeGVs
T3JQb3NQcmVmaXggJiYKICAgICAgICAgICAgIGNzc1ZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKaW5kZXggNjU0MDEwYS4uMzU4OGFlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTI2ODUsNyArMjY4NSwxMiBA
QCBTdHJpbmcgQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpyZW1vdmVQcm9wZXJ0eShjb25z
dCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJgogICAgIGVjID0gTk9fTU9ESUZJQ0FUSU9OX0FMTE9X
RURfRVJSOwogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KLSAgICAKKworUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRVbnNhZmVQcm9wZXJ0eUNTU1Zh
bHVlSW50ZXJuYWwoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQoreworICAgIHJldHVybiBnZXRQ
cm9wZXJ0eUNTU1ZhbHVlKHByb3BlcnR5SUQpOworfQorCiBQYXNzUmVmUHRyPENTU1ZhbHVlPiBD
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbChD
U1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiB7CiAgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9
IGdldFByb3BlcnR5Q1NTVmFsdWUocHJvcGVydHlJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgKaW5kZXggZGNhY2NhOC4uY2RiNWJhNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
aApAQCAtOTEsNiArOTEsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gZ2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKENTU1Byb3BlcnR5SUQpOwogICAgIHZp
cnR1YWwgU3RyaW5nIGdldFByb3BlcnR5VmFsdWVJbnRlcm5hbChDU1NQcm9wZXJ0eUlEKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0UHJvcGVydHlJbnRlcm5hbChDU1NQcm9wZXJ0eUlELCBjb25zdCBT
dHJpbmcmIHZhbHVlLCBib29sIGltcG9ydGFudCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gZ2V0VW5zYWZlUHJvcGVydHlDU1NWYWx1ZUludGVybmFs
KENTU1Byb3BlcnR5SUQpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCBib29sIGNzc1Byb3BlcnR5
TWF0Y2hlcyhjb25zdCBDU1NQcm9wZXJ0eSopIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlRGVjbGFyYXRpb24uaAppbmRleCA1MGJjZWYyLi5kYTAwNDhhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmgKQEAgLTYyLDYgKzYyLDEwIEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIFN0cmluZyBnZXRQcm9wZXJ0eVZhbHVlSW50ZXJuYWwoQ1NTUHJvcGVydHlJ
RCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQcm9wZXJ0eUludGVybmFsKENTU1Byb3BlcnR5
SUQsIGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wgaW1wb3J0YW50LCBFeGNlcHRpb25Db2RlJikg
PSAwOwogCisgICAgLy8gVGhpcyBmdW5jdGlvbiBwZWVrcyBhdCB0aGUgaW50ZXJuYWwgQ1NTVmFs
dWUsIHdoaWNoIG11c3Qgbm90IGJlIGV4cG9zZWQgdG8gYmluZGluZ3MsCisgICAgLy8gYXMgdGhl
eSBtYXkgYmUgc2hhcmVkIGJldHdlZW4gbXVsdGlwbGUgZG9jdW1lbnRzLgorICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxDU1NWYWx1ZT4gZ2V0VW5zYWZlUHJvcGVydHlDU1NWYWx1ZUludGVybmFsKENT
U1Byb3BlcnR5SUQpID0gMDsKKwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTdHlsZVByb3BlcnR5
U2V0PiBjb3B5KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTdHlsZVByb3Bl
cnR5U2V0PiBtYWtlTXV0YWJsZSgpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBmN2VkN2M1Li5kZDE2
ZTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURl
Y2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHls
ZURlY2xhcmF0aW9uLmNwcApAQCAtMjQ1LDYgKzI0NSwxMSBAQCBTdHJpbmcgUHJvcGVydHlTZXRD
U1NTdHlsZURlY2xhcmF0aW9uOjpyZW1vdmVQcm9wZXJ0eShjb25zdCBTdHJpbmcmIHByb3BlcnR5
TmFtZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK1Bhc3NSZWZQdHI8Q1NTVmFsdWU+IFByb3Bl
cnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6Z2V0VW5zYWZlUHJvcGVydHlDU1NWYWx1ZUludGVy
bmFsKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKK3sKKyAgICByZXR1cm4gbV9wcm9wZXJ0eVNl
dC0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKK30KKwogUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVl
SW50ZXJuYWwoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogeyAKICAgICByZXR1cm4gY2xvbmVB
bmRDYWNoZUZvckNTU09NKG1fcHJvcGVydHlTZXQtPmdldFByb3BlcnR5Q1NTVmFsdWUocHJvcGVy
dHlJRCkuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0
Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0Q1NT
U3R5bGVEZWNsYXJhdGlvbi5oCmluZGV4IDY0OWJkNzYuLjQ4MTRmODIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmgKQEAgLTY0
LDYgKzY0LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGdl
dFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbChDU1NQcm9wZXJ0eUlEKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIFN0cmluZyBnZXRQcm9wZXJ0eVZhbHVlSW50ZXJuYWwoQ1NTUHJvcGVydHlJRCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldFByb3BlcnR5SW50ZXJuYWwoQ1NTUHJvcGVydHlJ
RCwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQsIEV4Y2VwdGlvbkNvZGUmKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGdldFVuc2FmZVByb3Bl
cnR5Q1NTVmFsdWVJbnRlcm5hbChDU1NQcm9wZXJ0eUlEKSBPVkVSUklERTsKICAgICAKICAgICB2
aXJ0dWFsIGJvb2wgY3NzUHJvcGVydHlNYXRjaGVzKGNvbnN0IENTU1Byb3BlcnR5KikgY29uc3Qg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCBDU1NTdHlsZVNoZWV0KiBwYXJlbnRTdHlsZVNoZWV0KCkg
Y29uc3QgT1ZFUlJJREU7Cg==
</data>
<flag name="review"
          id="141323"
          type_id="1"
          status="+"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="141341"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136543</attachid>
            <date>2012-04-10 14:36:57 -0700</date>
            <delta_ts>2012-04-10 14:41:13 -0700</delta_ts>
            <desc>Simpler patch</desc>
            <filename>bug-83540-v2.diff</filename>
            <type>text/plain</type>
            <size>3631</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkNDdlZjYwLi4zZmE4MGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMDQtMTAgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAg
ICAgIFJFR1JFU1NJT04ocjExMzU4OCk6IDE1LTMwJSBwZXJmLiByZWdyZXNzaW9uIG9uIENTUy9D
U1NQcm9wZXJ0eVNldHRlckdldHRlci4KKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvODM1
NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hh
bmdlZCB0aGUgYmVoYXZpb3Igb2YgZ2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKCkgdG8gYWN0
dWFsbHkgcmV0dXJuIHRoZSBpbnRlcm5hbAorICAgICAgICB2YWx1ZSByYXRoZXIgdGhhbiBhIGNs
b25lZCBvbmUuIFRoZXJlIGlzIGFuIGFzc2VydGlvbiBpbiB0aGUgQ1NTVmFsdWUgYmluZGluZ3Mg
dGhhdAorICAgICAgICB3aWxsIGNhdGNoIGFueW9uZSB0cnlpbmcgdG8gZXhwb3NlIHRoZXNlIHZh
bHVlcyB0byB0aGUgd2ViLgorCisgICAgICAgIFRoaXMgYXZvaWRzIGNvbnN0cnVjdGluZyAic2Fm
ZSIgQ1NTVmFsdWUgb2JqZWN0cyBpbiB0aGUgYmluZGluZ3MgbGF5ZXIsIGZvciB0aGUgY2FzZXMK
KyAgICAgICAgd2hlcmUgd2Ugb25seSB3YW50IHRvIGV4dHJhY3QgdGhlIGNzc1RleHQgb3IgbnVt
ZXJpYyB2YWx1ZS4gVGhlc2UgY2xvbmVkIG9iamVjdHMgYXJlCisgICAgICAgIG9ubHkgbmVlZGVk
IHdoZW4gZXhwb3NpbmcgZnVsbHktZmxlZGdlZCBDU1NWYWx1ZXMgdG8gdGhlIHdlYiwgd2hpY2gg
bXVzdCBiZSB0aWVkIHRvCisgICAgICAgIGEgc2luZ2xlIGRvY3VtZW50LgorCisgICAgICAgICog
Y3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaDoKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKToKKyAgICAgICAgKiBjc3MvUHJv
cGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb3Bl
cnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKToK
KwogMjAxMi0wNC0wOSAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgTWFrZSBDU1NWYWx1ZVBvb2wgc2hhcmUgdmFsdWVzIGdsb2JhbGx5LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA2NTQw
MTBhLi41MjkxZDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMjY4OCw4ICsyNjg4LDcgQEAgU3RyaW5nIENTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbjo6cmVtb3ZlUHJvcGVydHkoY29uc3QgU3RyaW5nJiwgRXhjZXB0
aW9uQ29kZSYKICAgICAKIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKENTU1Byb3BlcnR5SUQgcHJvcGVy
dHlJRCkKIHsKLSAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gZ2V0UHJvcGVydHlDU1NWYWx1
ZShwcm9wZXJ0eUlEKTsKLSAgICByZXR1cm4gdmFsdWUgPyB2YWx1ZS0+Y2xvbmVGb3JDU1NPTSgp
IDogMDsKKyAgICByZXR1cm4gZ2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKIH0KIAog
U3RyaW5nIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlWYWx1ZUludGVy
bmFsKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVE
ZWNsYXJhdGlvbi5oCmluZGV4IDUwYmNlZjIuLmQ1MmYyNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlRGVjbGFyYXRpb24uaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAKICAgICAv
LyBDU1NQcm9wZXJ0eUlEIHZlcnNpb25zIG9mIHRoZSBDU1NPTSBmdW5jdGlvbnMgdG8gc3VwcG9y
dCBiaW5kaW5ncyBhbmQgZWRpdGluZy4KICAgICAvLyBVc2UgdGhlIG5vbi12aXJ0dWFsIG1ldGhv
ZHMgaW4gdGhlIGNvbmNyZXRlIHN1YmNsYXNzZXMgd2hlbiBwb3NzaWJsZS4KKyAgICAvLyBUaGUg
Q1NTVmFsdWUgcmV0dXJuZWQgYnkgdGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIGV4cG9zZWQg
dG8gdGhlIHdlYiBhcyBpdCBtYXkgYmUgdXNlZCBieSBtdWx0aXBsZSBkb2N1bWVudHMgYXQgdGhl
IHNhbWUgdGltZS4KICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGdldFByb3BlcnR5
Q1NTVmFsdWVJbnRlcm5hbChDU1NQcm9wZXJ0eUlEKSA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcg
Z2V0UHJvcGVydHlWYWx1ZUludGVybmFsKENTU1Byb3BlcnR5SUQpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0UHJvcGVydHlJbnRlcm5hbChDU1NQcm9wZXJ0eUlELCBjb25zdCBTdHJpbmcmIHZh
bHVlLCBib29sIGltcG9ydGFudCwgRXhjZXB0aW9uQ29kZSYpID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXgg
ZjdlZDdjNS4uYjAxZGE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5
U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1Byb3Bl
cnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTI0Niw4ICsyNDYsOCBAQCBTdHJpbmcg
UHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpyZW1vdmVQcm9wZXJ0eShjb25zdCBTdHJp
bmcmIHByb3BlcnR5TmFtZQogfQogCiBQYXNzUmVmUHRyPENTU1ZhbHVlPiBQcm9wZXJ0eVNldENT
U1N0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbChDU1NQcm9wZXJ0
eUlEIHByb3BlcnR5SUQpCi17IAotICAgIHJldHVybiBjbG9uZUFuZENhY2hlRm9yQ1NTT00obV9w
cm9wZXJ0eVNldC0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKS5nZXQoKSk7Cit7Cisg
ICAgcmV0dXJuIG1fcHJvcGVydHlTZXQtPmdldFByb3BlcnR5Q1NTVmFsdWUocHJvcGVydHlJRCk7
CiB9CiAKIFN0cmluZyBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
VmFsdWVJbnRlcm5hbChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCg==
</data>
<flag name="review"
          id="141368"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>