<?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>138780</bug_id>
          
          <creation_ts>2014-11-16 12:24:07 -0800</creation_ts>
          <short_desc>Crash when setting &apos;order&apos; CSS property to a calculated value</short_desc>
          <delta_ts>2014-11-16 21:41:14 -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>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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>138778</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1049070</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-16 12:24:07 -0800</bug_when>
    <thetext>Crash when setting &apos;order&apos; CSS property to a calculated value, e.g. &apos;calc(2 * 3)&apos;.

Backtrace:
ASSERTION FAILED: !m_parsedCalculation
/Users/chris/WebKit/OpenSource/Source/WebCore/css/CSSParser.cpp(3114) : bool WebCore::CSSParser::parseValue(WebCore::CSSPropertyID, bool)
1   0x105a17770 WTFCrash
2   0x1073666e9 WebCore::CSSParser::parseValue(WebCore::CSSPropertyID, bool)
3   0x10732c793 cssyyparse(WebCore::CSSParser*)
4   0x10735daee WebCore::CSSParser::parseValue(WebCore::MutableStyleProperties*, WebCore::CSSPropertyID, WTF::String const&amp;, bool, WebCore::StyleSheetContents*)
5   0x10735cd27 WebCore::CSSParser::parseValue(WebCore::MutableStyleProperties*, WebCore::CSSPropertyID, WTF::String const&amp;, bool, WebCore::CSSParserMode, WebCore::StyleSheetContents*)
6   0x108c2110f WebCore::MutableStyleProperties::setProperty(WebCore::CSSPropertyID, WTF::String const&amp;, bool, WebCore::StyleSheetContents*)
7   0x1085f8a47 WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal(WebCore::CSSPropertyID, WTF::String const&amp;, bool, int&amp;)
8   0x107dea0fb WebCore::JSCSSStyleDeclaration::putDelegate(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;)
9   0x107de52a9 WebCore::JSCSSStyleDeclaration::put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;)
10  0x1053e6d92 JSC::JSValue::put(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;)
11  0x1053bae26 void JSC::DFG::operationPutByValInternal&lt;false, false&gt;(JSC::ExecState*, long long, long long, long long)
12  0x1053bab6b operationPutByValNonStrict</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049073</commentid>
    <comment_count>1</comment_count>
      <attachid>241684</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-16 13:29:27 -0800</bug_when>
    <thetext>Created attachment 241684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049100</commentid>
    <comment_count>2</comment_count>
      <attachid>241684</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-11-16 19:53:26 -0800</bug_when>
    <thetext>Comment on attachment 241684
Patch

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

&gt; Source/WebCore/ChangeLog:15
&gt; +        valid in the CSS Parser intead but this would have brought issues:

Typo: instead

&gt; Source/WebCore/ChangeLog:16
&gt; +        - The calculated value needs to be adjused to INT_MIN + 2 if it is less

typo: adjusted

&gt; Source/WebCore/css/CSSParser.cpp:2507
&gt; +            double result = std::max&lt;double&gt;(std::numeric_limits&lt;int&gt;::min() + 2, parsedDouble(value, ReleaseParsedCalcValue));

I find the parsedDouble function confusing. It seems hard to use it correctly. Also, none of the callers use DoNotReleaseParsedCalcValue. I think the function should be renamed to takeParsedDouble, the argument should be changed to a CSSParserValue&amp;, and the enum should be removed.

And even after those fixes, I think it remains a function that implements a confusing pattern. For some reason we put the calculated value into CSSParser state, but the non-calculate value into a local variable; this is a messy pattern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049103</commentid>
    <comment_count>3</comment_count>
      <attachid>241684</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-16 20:00:08 -0800</bug_when>
    <thetext>Comment on attachment 241684
Patch

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

&gt;&gt; Source/WebCore/css/CSSParser.cpp:2507
&gt;&gt; +            double result = std::max&lt;double&gt;(std::numeric_limits&lt;int&gt;::min() + 2, parsedDouble(value, ReleaseParsedCalcValue));
&gt; 
&gt; I find the parsedDouble function confusing. It seems hard to use it correctly. Also, none of the callers use DoNotReleaseParsedCalcValue. I think the function should be renamed to takeParsedDouble, the argument should be changed to a CSSParserValue&amp;, and the enum should be removed.
&gt; 
&gt; And even after those fixes, I think it remains a function that implements a confusing pattern. For some reason we put the calculated value into CSSParser state, but the non-calculate value into a local variable; this is a messy pattern.

Ok, I will look into this in a follow-up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049111</commentid>
    <comment_count>4</comment_count>
      <attachid>241689</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-16 20:54:55 -0800</bug_when>
    <thetext>Created attachment 241689
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049120</commentid>
    <comment_count>5</comment_count>
      <attachid>241689</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-16 21:41:05 -0800</bug_when>
    <thetext>Comment on attachment 241689
Patch

Clearing flags on attachment: 241689

Committed r176171: &lt;http://trac.webkit.org/changeset/176171&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049121</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-16 21:41:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241684</attachid>
            <date>2014-11-16 13:29:27 -0800</date>
            <delta_ts>2014-11-16 20:54:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138780-20141116132937.patch</filename>
            <type>text/plain</type>
            <size>5044</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTgzOWFhYzEwZmIzMDgw
NWFmYjNmYjc3YzliOTQ2ODFkNzk2ODRjOS4uZTdjNDRkYWI0ZGIxMzZmYzJiMWM5ZGNkYjExZTEy
YjIzNDk5MjE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE0LTExLTE2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiBzZXR0aW5n
ICdvcmRlcicgQ1NTIHByb3BlcnR5IHRvIGEgY2FsY3VsYXRlZCB2YWx1ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NzgwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ1NTIENhbGN1bGF0ZWQgdmFsdWVz
IHdlcmUgbm90IGhhbmRsZWQgYnkgdGhlIENTUyBwYXJzZXIgZm9yICdvcmRlcicKKyAgICAgICAg
Q1NTIHByb3BlcnR5LiBBcyBhIHJlc3VsdCwgdXNpbmcgY2FsY3VsYXRlZCB2YWx1ZXMgd291bGRu
J3Qgd29yayBpbgorICAgICAgICByZWxlYXNlIGJ1aWxkcyBhbmQgd291bGQgaGl0IGFuIGFzc2Vy
dGlvbiBpbiBkZWJ1ZyBidWlsZHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCB1cGRhdGVzIHRoZSBD
U1MgcGFyc2VyIHRvIGRpcmVjdGx5IGNvbnZlcnQgdGhlCisgICAgICAgIENTUyBDYWxjdWxhdGVk
IHZhbHVlIGludG8gYSBzaW1wbGUgaW50ZWdlciBDU1NQcmltaXRpdmVWYWx1ZSBmb3IKKyAgICAg
ICAgJ29yZGVyJyBwcm9wZXJ0eS4gV2UgY291bGQgaGF2ZSBtYXJrZWQgQ1NTIENhbGN1bGF0ZWQg
dmFsdWVzIGFzCisgICAgICAgIHZhbGlkIGluIHRoZSBDU1MgUGFyc2VyIGludGVhZCBidXQgdGhp
cyB3b3VsZCBoYXZlIGJyb3VnaHQgaXNzdWVzOgorICAgICAgICAtIFRoZSBjYWxjdWxhdGVkIHZh
bHVlIG5lZWRzIHRvIGJlIGFkanVzZWQgdG8gSU5UX01JTiArIDIgaWYgaXQgaXMgbGVzcworICAg
ICAgICAgIHRoYW4gdGhhdC4gVGhpcyB3b3VsZCBmb3JjZSB1cyB0byBjYWxjdWxhdGUgdGhlIGV4
cHJlc3Npb24gYW55d2F5LgorICAgICAgICAtIFRoZSBTdHlsZUJ1aWxkZXIgd291bGQgbmVlZCB1
cGRhdGluZyB0byBwcm9wZXJseSBoYW5kbGUgQ1NTIENhbGN1bGF0ZWQKKyAgICAgICAgICB2YWx1
ZXMgZm9yICdvcmRlcicuCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mvb3JkZXItY2FsY3VsYXRl
ZC12YWx1ZS5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisKIDIwMTQtMTEtMTUgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBc3NlcnRpb24gaGl0IHdoZW4gc2V0dGlu
ZyBhIHZlcnkgbGFyZ2UgdmFsdWUgdG8gJ2JvcmRlci13aWR0aCcgLyAnZm9udC1zaXplJyBDU1Mg
cHJvcGVydGllcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA4MzMzZTU2OGRkZTBjYmEz
N2JjNThjMjIzMzA3MDE5NmViZGNhODI0Li4xZGM3NzdmNTY0YWQ1ZDJkYTdlMjk5YzgxODllYjk5
NWE2YWY0NjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjUwNCw3ICsyNTA0LDgg
QEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wg
aW1wb3J0YW50KQogICAgIGNhc2UgQ1NTUHJvcGVydHlPcmRlcjoKICAgICAgICAgaWYgKHZhbGlk
VW5pdCh2YWx1ZSwgRkludGVnZXIsIENTU1N0cmljdE1vZGUpKSB7CiAgICAgICAgICAgICAvLyBX
ZSByZXN0cmljdCB0aGUgc21hbGxlc3QgdmFsdWUgdG8gaW50IG1pbiArIDIgYmVjYXVzZSB3ZSB1
c2UgaW50IG1pbiBhbmQgaW50IG1pbiArIDEgYXMgc3BlY2lhbCB2YWx1ZXMgaW4gYSBoYXNoIHNl
dC4KLSAgICAgICAgICAgIHBhcnNlZFZhbHVlID0gY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUo
c3RkOjptYXg8ZG91YmxlPihzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1pbigpICsgMiwgdmFs
dWUtPmZWYWx1ZSksIHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXM+KHZh
bHVlLT51bml0KSk7CisgICAgICAgICAgICBkb3VibGUgcmVzdWx0ID0gc3RkOjptYXg8ZG91Ymxl
PihzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1pbigpICsgMiwgcGFyc2VkRG91YmxlKHZhbHVl
LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKSk7CisgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IGNz
c1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHJlc3VsdCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19O
VU1CRVIpOwogICAgICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICAgICAgfQogICAg
ICAgICBicmVhazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA4Mzk4MWQ4YTcyNjE5MDRiZWUxOWE0OWJiNTM3ZmU1NDk0MWJi
N2Q3Li5iY2RlMjY0YTQyNDI2MTUxZjU4ODRmNTMyYTkyOGFkNWFjNWQzYTU1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTQtMTEtMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBDcmFzaCB3aGVuIHNldHRpbmcgJ29yZGVyJyBDU1MgcHJvcGVydHkgdG8gYSBj
YWxjdWxhdGVkIHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzg3ODAKKworICAgICAgICBBZGQgYSBsYXlvdXQgdGVzdCB0byB2YWxpZGF0ZSB0
aGF0IHNldHRpbmcgYSBjYWxjdWxhdGVkIHZhbHVlIHRvIHRoZQorICAgICAgICAnb3JkZXInIENT
UyBwcm9wZXJ0eSBkb2VzIG5vdCBjcmFzaCBhbmQgYmVoYXZlcyBhcyBleHBlY3RlZC4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL29y
ZGVyLWNhbGN1bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Nzcy9vcmRlci1jYWxjdWxhdGVkLXZhbHVlLmh0bWw6IEFkZGVkLgorCiAyMDE0LTExLTE1ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9uIGhpdCB3
aGVuIHNldHRpbmcgYSB2ZXJ5IGxhcmdlIHZhbHVlIHRvICdib3JkZXItd2lkdGgnIC8gJ2ZvbnQt
c2l6ZScgQ1NTIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL29y
ZGVyLWNhbGN1bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
b3JkZXItY2FsY3VsYXRlZC12YWx1ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGM2YjBiOTI2
YTAxMGM4Y2M1YmU5NjhmZjBhOGMyYzExZWQwMzRhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL29yZGVyLWNhbGN1bGF0ZWQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1Rlc3RzIGFzc2lnbmluZyBhIGNhbGN1bGF0ZWQgdmFsdWUgdG8gJ29yZGVy
JyBDU1MgcHJvcGVydHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRl
c3REaXYuc3R5bGVbJ29yZGVyJ10gaXMgIiIKK3Rlc3REaXYuc3R5bGVbJ29yZGVyJ10gPSAnY2Fs
YygyICogMyknCitQQVNTIHRlc3REaXYuc3R5bGVbJ29yZGVyJ10gaXMgIjYiCitQQVNTIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKHRlc3REaXYpLmdldFByb3BlcnR5VmFsdWUoJ29yZGVyJykgaXMg
IjYiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvb3JkZXItY2FsY3VsYXRlZC12YWx1ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvb3JkZXItY2FsY3VsYXRlZC12YWx1ZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE4NTFkNTZiMGQzYWY1NTI4YjcyMTgzYzkzMDZjYjA0Mzc5YmJmOTIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9vcmRlci1jYWxjdWxhdGVkLXZhbHVl
Lmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
dGVzdERpdiI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIGFzc2lnbmluZyBh
IGNhbGN1bGF0ZWQgdmFsdWUgdG8gJ29yZGVyJyBDU1MgcHJvcGVydHkuIik7CisKK3ZhciB0ZXN0
RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3REaXYiKTsKKworc2hvdWxkQmVFbXB0
eVN0cmluZygidGVzdERpdi5zdHlsZVsnb3JkZXInXSIpOworZXZhbEFuZExvZygidGVzdERpdi5z
dHlsZVsnb3JkZXInXSA9ICdjYWxjKDIgKiAzKSciKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
dGVzdERpdi5zdHlsZVsnb3JkZXInXSIsICI2Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKHRlc3REaXYpLmdldFByb3BlcnR5VmFsdWUoJ29yZGVyJyki
LCAiNiIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241689</attachid>
            <date>2014-11-16 20:54:55 -0800</date>
            <delta_ts>2014-11-16 21:41:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138780-20141116205505.patch</filename>
            <type>text/plain</type>
            <size>5040</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTgzOWFhYzEwZmIzMDgw
NWFmYjNmYjc3YzliOTQ2ODFkNzk2ODRjOS4uNDNhN2JmNTQ0MjBhNzA5ZWEwNTVhMjZlNDlkZThl
MDE4ZmExOTY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE0LTExLTE2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiBzZXR0aW5n
ICdvcmRlcicgQ1NTIHByb3BlcnR5IHRvIGEgY2FsY3VsYXRlZCB2YWx1ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NzgwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQ1NTIENhbGN1bGF0ZWQgdmFsdWVzIHdl
cmUgbm90IGhhbmRsZWQgYnkgdGhlIENTUyBwYXJzZXIgZm9yICdvcmRlcicKKyAgICAgICAgQ1NT
IHByb3BlcnR5LiBBcyBhIHJlc3VsdCwgdXNpbmcgY2FsY3VsYXRlZCB2YWx1ZXMgd291bGRuJ3Qg
d29yayBpbgorICAgICAgICByZWxlYXNlIGJ1aWxkcyBhbmQgd291bGQgaGl0IGFuIGFzc2VydGlv
biBpbiBkZWJ1ZyBidWlsZHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCB1cGRhdGVzIHRoZSBDU1Mg
cGFyc2VyIHRvIGRpcmVjdGx5IGNvbnZlcnQgdGhlCisgICAgICAgIENTUyBDYWxjdWxhdGVkIHZh
bHVlIGludG8gYSBzaW1wbGUgaW50ZWdlciBDU1NQcmltaXRpdmVWYWx1ZSBmb3IKKyAgICAgICAg
J29yZGVyJyBwcm9wZXJ0eS4gV2UgY291bGQgaGF2ZSBtYXJrZWQgQ1NTIENhbGN1bGF0ZWQgdmFs
dWVzIGFzCisgICAgICAgIHZhbGlkIGluIHRoZSBDU1MgUGFyc2VyIGluc3RlYWQgYnV0IHRoaXMg
d291bGQgaGF2ZSBicm91Z2h0IGlzc3VlczoKKyAgICAgICAgLSBUaGUgY2FsY3VsYXRlZCB2YWx1
ZSBuZWVkcyB0byBiZSBhZGp1c3RlZCB0byBJTlRfTUlOICsgMiBpZiBpdCBpcyBsZXNzCisgICAg
ICAgICAgdGhhbiB0aGF0LiBUaGlzIHdvdWxkIGZvcmNlIHVzIHRvIGNhbGN1bGF0ZSB0aGUgZXhw
cmVzc2lvbiBhbnl3YXkuCisgICAgICAgIC0gVGhlIFN0eWxlQnVpbGRlciB3b3VsZCBuZWVkIHVw
ZGF0aW5nIHRvIHByb3Blcmx5IGhhbmRsZSBDU1MgQ2FsY3VsYXRlZAorICAgICAgICAgIHZhbHVl
cyBmb3IgJ29yZGVyJy4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9vcmRlci1jYWxjdWxhdGVk
LXZhbHVlLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKwogMjAxNC0xMS0xNSAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFzc2VydGlvbiBoaXQgd2hlbiBzZXR0aW5n
IGEgdmVyeSBsYXJnZSB2YWx1ZSB0byAnYm9yZGVyLXdpZHRoJyAvICdmb250LXNpemUnIENTUyBw
cm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDgzMzNlNTY4ZGRlMGNiYTM3
YmM1OGMyMjMzMDcwMTk2ZWJkY2E4MjQuLjFkYzc3N2Y1NjRhZDVkMmRhN2UyOTljODE4OWViOTk1
YTZhZjQ2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yNTA0LDcgKzI1MDQsOCBA
QCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBp
bXBvcnRhbnQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eU9yZGVyOgogICAgICAgICBpZiAodmFsaWRV
bml0KHZhbHVlLCBGSW50ZWdlciwgQ1NTU3RyaWN0TW9kZSkpIHsKICAgICAgICAgICAgIC8vIFdl
IHJlc3RyaWN0IHRoZSBzbWFsbGVzdCB2YWx1ZSB0byBpbnQgbWluICsgMiBiZWNhdXNlIHdlIHVz
ZSBpbnQgbWluIGFuZCBpbnQgbWluICsgMSBhcyBzcGVjaWFsIHZhbHVlcyBpbiBhIGhhc2ggc2V0
LgotICAgICAgICAgICAgcGFyc2VkVmFsdWUgPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShz
dGQ6Om1heDxkb3VibGU+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWluKCkgKyAyLCB2YWx1
ZS0+ZlZhbHVlKSwgc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcz4odmFs
dWUtPnVuaXQpKTsKKyAgICAgICAgICAgIGRvdWJsZSByZXN1bHQgPSBzdGQ6Om1heDxkb3VibGU+
KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWluKCkgKyAyLCBwYXJzZWREb3VibGUodmFsdWUs
IFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpKTsKKyAgICAgICAgICAgIHBhcnNlZFZhbHVlID0gY3Nz
VmFsdWVQb29sKCkuY3JlYXRlVmFsdWUocmVzdWx0LCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05V
TUJFUik7CiAgICAgICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgICAgICB9CiAgICAg
ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDgzOTgxZDhhNzI2MTkwNGJlZTE5YTQ5YmI1MzdmZTU0OTQxYmI3
ZDcuLmQ3NGZhNjI4ZDY2ZTk3N2Q3YjU4MjM5OTI1N2RlZWJlYTZhMTgxMDYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNC0xMS0xNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIENyYXNoIHdoZW4gc2V0dGluZyAnb3JkZXInIENTUyBwcm9wZXJ0eSB0byBhIGNh
bGN1bGF0ZWQgdmFsdWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzODc4MAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIEFkZCBhIGxheW91dCB0ZXN0IHRvIHZhbGlkYXRlIHRoYXQgc2V0dGluZyBhIGNhbGN1bGF0
ZWQgdmFsdWUgdG8gdGhlCisgICAgICAgICdvcmRlcicgQ1NTIHByb3BlcnR5IGRvZXMgbm90IGNy
YXNoIGFuZCBiZWhhdmVzIGFzIGV4cGVjdGVkLgorCisgICAgICAgICogZmFzdC9jc3Mvb3JkZXIt
Y2FsY3VsYXRlZC12YWx1ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3Nz
L29yZGVyLWNhbGN1bGF0ZWQtdmFsdWUuaHRtbDogQWRkZWQuCisKIDIwMTQtMTEtMTUgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBc3NlcnRpb24gaGl0IHdoZW4g
c2V0dGluZyBhIHZlcnkgbGFyZ2UgdmFsdWUgdG8gJ2JvcmRlci13aWR0aCcgLyAnZm9udC1zaXpl
JyBDU1MgcHJvcGVydGllcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvb3JkZXIt
Y2FsY3VsYXRlZC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9vcmRl
ci1jYWxjdWxhdGVkLXZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzZiMGI5MjZhMDEw
YzhjYzViZTk2OGZmMGE4YzJjMTFlZDAzNGFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3Mvb3JkZXItY2FsY3VsYXRlZC12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGVzdHMgYXNzaWduaW5nIGEgY2FsY3VsYXRlZCB2YWx1ZSB0byAnb3JkZXInIENT
UyBwcm9wZXJ0eS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGVzdERp
di5zdHlsZVsnb3JkZXInXSBpcyAiIgordGVzdERpdi5zdHlsZVsnb3JkZXInXSA9ICdjYWxjKDIg
KiAzKScKK1BBU1MgdGVzdERpdi5zdHlsZVsnb3JkZXInXSBpcyAiNiIKK1BBU1Mgd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnb3JkZXInKSBpcyAiNiIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9vcmRlci1jYWxjdWxhdGVkLXZhbHVlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9vcmRlci1jYWxjdWxhdGVkLXZhbHVlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTg1MWQ1NmIwZDNhZjU1MjhiNzIxODNjOTMwNmNiMDQzNzliYmY5MgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL29yZGVyLWNhbGN1bGF0ZWQtdmFsdWUuaHRt
bApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXN0
RGl2Ij48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgYXNzaWduaW5nIGEgY2Fs
Y3VsYXRlZCB2YWx1ZSB0byAnb3JkZXInIENTUyBwcm9wZXJ0eS4iKTsKKwordmFyIHRlc3REaXYg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdERpdiIpOworCitzaG91bGRCZUVtcHR5U3Ry
aW5nKCJ0ZXN0RGl2LnN0eWxlWydvcmRlciddIik7CitldmFsQW5kTG9nKCJ0ZXN0RGl2LnN0eWxl
WydvcmRlciddID0gJ2NhbGMoMiAqIDMpJyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXN0
RGl2LnN0eWxlWydvcmRlciddIiwgIjYiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93
LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnb3JkZXInKSIsICI2
Iik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>