<?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>66291</bug_id>
          
          <creation_ts>2011-08-16 04:25:49 -0700</creation_ts>
          <short_desc>Crash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available</short_desc>
          <delta_ts>2011-09-28 07:04:10 -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>PC</rep_platform>
          <op_sys>Windows Vista</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Berend-Jan Wever">skylined</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>adele</cc>
    
    <cc>bdakin</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>macpherson</cc>
    
    <cc>ossy</cc>
    
    <cc>rgabor</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>451548</commentid>
    <comment_count>0</comment_count>
      <attachid>104023</attachid>
    <who name="Berend-Jan Wever">skylined</who>
    <bug_when>2011-08-16 04:25:49 -0700</bug_when>
    <thetext>Created attachment 104023
Repro

Repro:
&lt;script&gt;
  oContext2d=document.getCSSCanvasContext(&quot;2d&quot;,&quot;&quot;,0);
  oContext2d.font=&quot;small-caps.0ex G&quot;;
&lt;/script&gt;

double CSSPrimitiveValue::computeLengthDouble(RenderStyle* style, RenderStyle* rootStyle, double multiplier, bool computingFontSize)
{
&lt;&lt;&lt;snip&gt;&gt;&gt;
    switch (type) {
&lt;&lt;&lt;snip&gt;&gt;&gt;
        case CSS_EXS:
            // FIXME: We have a bug right now where the zoom will be applied twice to EX units.
            // We really need to compute EX using fontMetrics for the original specifiedSize and not use
            // our actual constructed rendering font.
            applyZoomMultiplier = false;
            factor = style-&gt;fontMetrics().xHeight();
            break;

There is no font list (yet), leading to an ASSERT and NULL ptr here:

inline const SimpleFontData* Font::primaryFont() const
{
    ASSERT(m_fontList);
    return m_fontList-&gt;primarySimpleFontData(this);
}

id:             chrome.dll!WebCore::RenderStyle::fontMetrics ReadAV@NULL (73a53e2ce303ee898f439c13af2ceffd)
description:    Attempt to read from unallocated NULL pointer+0x30 in chrome.dll!WebCore::RenderStyle::fontMetrics
stack:          chrome.dll!WebCore::RenderStyle::fontMetrics
                chrome.dll!WebCore::CSSPrimitiveValue::computeLengthDouble
                chrome.dll!WebCore::CSSPrimitiveValue::computeLength&lt;...&gt;
                chrome.dll!WebCore::CSSStyleSelector::applyProperty
                chrome.dll!WebCore::CSSStyleSelector::applyProperty
                chrome.dll!WebCore::CSSStyleSelector::applyPropertyToStyle
                chrome.dll!WebCore::CanvasRenderingContext2D::setFont
                chrome.dll!WebCore::CanvasRenderingContext2DInternal::fontAttrSetter
                chrome.dll!v8::internal::JSObject::SetPropertyWithCallback
                chrome.dll!v8::internal::JSObject::SetPropertyForResult
                chrome.dll!v8::internal::JSReceiver::SetProperty
                chrome.dll!v8::internal::StoreIC::Store
                chrome.dll!v8::internal::StoreIC_Miss
                ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451549</commentid>
    <comment_count>1</comment_count>
    <who name="Berend-Jan Wever">skylined</who>
    <bug_when>2011-08-16 04:27:09 -0700</bug_when>
    <thetext>Chromium https://code.google.com/p/chromium/issues/detail?id=93035</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455588</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-08-23 12:18:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/9970343&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473234</commentid>
    <comment_count>3</comment_count>
      <attachid>108695</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-09-26 11:34:42 -0700</bug_when>
    <thetext>Created attachment 108695
Proposed work-around: Add a manual update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473391</commentid>
    <comment_count>4</comment_count>
      <attachid>108695</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-26 14:34:05 -0700</bug_when>
    <thetext>Comment on attachment 108695
Proposed work-around: Add a manual update.

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

&gt; Source/WebCore/css/CSSStyleSelector.cpp:2987
&gt; +            updateFont();

This needs a “why” comment. It’s not at all clear why you need to call this here, and not, say, between each call to applyProperty. The comment should answer that question.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473505</commentid>
    <comment_count>5</comment_count>
      <attachid>108747</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-09-26 16:14:54 -0700</bug_when>
    <thetext>Created attachment 108747
Proposed work-around 2: Added a &apos;why&apos; comment that should answer Darin&apos;s request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474013</commentid>
    <comment_count>6</comment_count>
      <attachid>108747</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-27 09:55:06 -0700</bug_when>
    <thetext>Comment on attachment 108747
Proposed work-around 2: Added a &apos;why&apos; comment that should answer Darin&apos;s request.

Clearing flags on attachment: 108747

Committed r96122: &lt;http://trac.webkit.org/changeset/96122&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474014</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-27 09:55:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474017</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-27 09:57:47 -0700</bug_when>
    <thetext>One more thought post-landing. Now that I read the comment explaining why updateFont is needed, I am puzzled. If the font size is indeed using the &quot;ex&quot; unit, does that mean the font size is based on the font itself? Doesn’t the &quot;ex&quot; part have to be based on the font of the container or the inherited font or something? How can a font size be based on the font it’s sizing? It seems that if I specified &quot;1ex&quot; then there would be a sort of infinite recursion resulting in an infinitely small font.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474081</commentid>
    <comment_count>9</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-09-27 10:59:55 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; One more thought post-landing. Now that I read the comment explaining why updateFont is needed, I am puzzled. If the font size is indeed using the &quot;ex&quot; unit, does that mean the font size is based on the font itself?

That&apos;s what is happening here. That&apos;s because the applyPropertyToStyle sets parentStyle to the current style.

&gt; Doesn’t the &quot;ex&quot; part have to be based on the font of the container or the inherited font or something?

Normally you would use your parent&apos;s font size (which is what CSS defines). For canvas, the spec does not say whether we should use the parent&apos;s style to resolve any ambiguous properties like this case.

&gt; How can a font size be based on the font it’s sizing?

People using &apos;ex&apos; in this case likely have the wrong expectations. However nothing prevents CanvasRenderingContext from adding this circular dependency.

&gt; It seems that if I specified &quot;1ex&quot; then there would be a sort of infinite recursion resulting in an infinitely small font.

This will actually not happen. We restart from a clean style every time you set the font on the CanvasRenderingContext. Also the style application in this case would resolve the font size once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474580</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-28 00:57:34 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; &lt;script&gt;
&gt;   oContext2d=document.getCSSCanvasContext(&quot;2d&quot;,&quot;&quot;,0);
&gt;   oContext2d.font=&quot;small-caps.0ex G&quot;;
&gt; &lt;/script&gt;

This tests fails on all platform with:
&quot;CONSOLE MESSAGE: line 8: TypeError: Not enough arguments&quot;

getCSSCanvasContext() has 4 parameters, and you passed only 3 parameters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474581</commentid>
    <comment_count>11</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-28 00:59:41 -0700</bug_when>
    <thetext>I tried to add 0 as a 4. parameter and the test pass for me:

- oContext2d=document.getCSSCanvasContext(&quot;2d&quot;,&quot;&quot;,0);
+ oContext2d=document.getCSSCanvasContext(&quot;2d&quot;,&quot;&quot;,0,0);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474594</commentid>
    <comment_count>12</comment_count>
    <who name="Gabor Rapcsanyi">rgabor</who>
    <bug_when>2011-09-28 01:23:23 -0700</bug_when>
    <thetext>Patch landed with this change in r96204.
http://trac.webkit.org/changeset/96204</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474643</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-28 03:35:42 -0700</bug_when>
    <thetext>Could you guys confirm if our fix is correct or not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474723</commentid>
    <comment_count>14</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-09-28 07:04:10 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Could you guys confirm if our fix is correct or not?

Thanks, that&apos;s a good fix. The important lines are the one setting the font on the CanvasGraphicsContext2D.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>104023</attachid>
            <date>2011-08-16 04:25:49 -0700</date>
            <delta_ts>2011-08-16 04:25:49 -0700</delta_ts>
            <desc>Repro</desc>
            <filename>repro.html</filename>
            <type>text/html</type>
            <size>110</size>
            <attacher name="Berend-Jan Wever">skylined</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KICBvQ29udGV4dDJkPWRvY3VtZW50LmdldENTU0NhbnZhc0NvbnRleHQoIjJkIiwi
IiwwKTsKICBvQ29udGV4dDJkLmZvbnQ9InNtYWxsLWNhcHMuMGV4IEciOwo8L3NjcmlwdD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108695</attachid>
            <date>2011-09-26 11:34:42 -0700</date>
            <delta_ts>2011-09-26 16:14:50 -0700</delta_ts>
            <desc>Proposed work-around: Add a manual update.</desc>
            <filename>bug-66291-20110926113441.patch</filename>
            <type>text/plain</type>
            <size>4184</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU5NjMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NzExMTBkNTI1ZWRmNTM3OGNkMWYz
MGI3YzlkNmE5OWZjNjM2ZDA4Li5jM2JiMGIxOTliZmZjMDlhYzAyNzAxMTQ3NzExZDM5MWU5YTk2
Y2YzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMjYgIEp1bGllbiBDaGFmZnJhaXgg
IDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jhc2ggYmVjYXVzZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aERvdWJsZSBhc3N1bWVzIGZvbnRNZXRyaWNzIGFyZSBh
dmFpbGFibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY2MjkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy9jcmFzaC1zZXQtZm9udC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvY2FudmFzL2NyYXNoLXNldC1mb250Lmh0bWw6IEFkZGVkLgorCiAyMDExLTA5LTI2
ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBV
bnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L2NyYXNoLXNldC1mb250LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2Ny
YXNoLXNldC1mb250LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43N2FmNDg0ZjYxZWI2ODlhMThh
ZGZmODI4Y2JlZDlkMmY5MjEyZTZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvY3Jhc2gtc2V0LWZvbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGVz
dCBmb3IgYnVnIDY2MjkxOiBDcmFzaCBiZWNhdXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRl
TGVuZ3RoRG91YmxlIGFzc3VtZXMgZm9udE1ldHJpY3MgYXJlIGF2YWlsYWJsZQorCitUaGlzIHRl
c3QgcGFzc2VkIGFzIGl0IGRpZCBub3QgY3Jhc2guCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy9jcmFzaC1zZXQtZm9udC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
Y3Jhc2gtc2V0LWZvbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mODE0NDljMzhjMTM3MDdkNTdlMTU0NTJi
OGFiMWRhYWVkZmJmYzYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvY3Jhc2gtc2V0LWZvbnQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKworICAgICAgICBvQ29udGV4dDJkID0gZG9jdW1lbnQuZ2V0Q1NTQ2FudmFzQ29udGV4
dCgiMmQiLCIiLDApOworICAgICAgICBvQ29udGV4dDJkLmZvbnQgPSAic21hbGwtY2FwcyAuMGV4
IEciOworICAgICAgICBvQ29udGV4dDJkLmZvbnQgPSAiaXRhbGljIC4wZXggRyI7CisgICAgICAg
IG9Db250ZXh0MmQuZm9udCA9ICJpdGFsaWMgNDAwIC4wZXggRyI7CisgICAgPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3QgZm9yIGJ1ZyA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyOTEiPjY2MjkxPC9hPjogQ3Jhc2ggYmVjYXVzZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aERvdWJsZSBhc3N1bWVzIGZvbnRNZXRyaWNz
IGFyZSBhdmFpbGFibGU8L3A+Cis8cD5UaGlzIHRlc3QgcGFzc2VkIGFzIGl0IGRpZCBub3QgY3Jh
c2guPC9wPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRiY2NhNGM1ZTBmYzgxMWE2ODU3Y2Q4OGQ2MTM4MGM5NGQ1
YTcwODEuLmRjZjkxYTFhYjliZDA5ZTZhNGVmMjhjMjZiZDE0NTY2NjBjNDUzMmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMS0wOS0yNiAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFm
ZnJhaXhAd2Via2l0Lm9yZz4KKworICAgICAgICBDcmFzaCBiZWNhdXNlIENTU1ByaW1pdGl2ZVZh
bHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlIGFzc3VtZXMgZm9udE1ldHJpY3MgYXJlIGF2YWlsYWJs
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyOTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBm
YXN0L2NhbnZhcy9jcmFzaC1zZXQtZm9udC5odG1sCisKKyAgICAgICAgVGhpcyBpcyBZZXQgQW5v
dGhlciBNaXNzaW5nIHVwZGF0ZUZvbnQgKHNpbWlsYXIgdG8gYnVnIDU3NzU2IGFuZCBsaWtlbHkg
b3RoZXJzKS4gSGVyZSB0aGUgaXNzdWUgaXMgdGhhdAorICAgICAgICBhcHBseWluZyBvbmUgb2Yg
dGhlIGZvbnQgcHJvcGVydGllcyBjb3VsZCBtdXRhdGUgdGhlIHBhcmVudCBzdHlsZSdzIGZvbnQg
aWYgbV9wYXJlbnRTdHlsZSA9PSBtX3N0eWxlLgorICAgICAgICBXZSB3b3VsZCB0aGVuIHF1ZXJ5
IHRoZSBuZXdseSBjcmVhdGVkIGZvbnQgd2hlbiBhcHBseWluZyBDU1NQcm9wZXJ0eUZvbnRTaXpl
LCB3aGljaCBoYXMgbm8gZm9udCBmYWxsYmFjaworICAgICAgICBsaXN0IGFzIEZvbnQ6OnVwZGF0
ZSB3YXMgbmV2ZXIgY2FsbGVkLgorCisgICAgICAgIFRoZSByaWdodCBmaXggd291bGQgYmUgdG8g
cmVmYWN0b3Igb2YgaG93IHdlIGhhbmRsZSBmb250cyB0byBhdm9pZCBzdWNoIG1hbnVhbCB1cGRh
dGVzIChzZWUgYnVnIDYyMzkwKS4KKyAgICAgICAgVW50aWwgdGhpcyBoYXBwZW5zLCBpdCBpcyBi
ZXR0ZXIgbm90IHRvIGNyYXNoLgorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6IEFk
ZGVkIHVwZGF0ZUZvbnQoKSBoZXJlIGFzIHRoZSBmb250cyBjb3VsZCBoYXZlIGJlZW4KKyAgICAg
ICAgbXV0YXRlZCBieSB0aGUgcHJldmlvdXMgcHJvcGVydHkgY2hhbmdlLgorCiAyMDExLTA5LTI2
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByOTUyNTYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAKaW5kZXggMTgyNzcwZDlkNWRlNWQxMmQzYmIwOWNkZTgwZmFjMjcwNjBmNzdk
ZS4uNzQxNmM4NDcyNjVlYWJhYjI2OTY3MGI0ZDQ4YzdlZjllZDYxMjRhMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMjk4NCw2ICsyOTg0LDcgQEAgdm9pZCBD
U1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUgKnZhbHVlKQog
ICAgICAgICAgICAgYXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTdHlsZSwgZm9udC0+c3R5
bGUuZ2V0KCkpOwogICAgICAgICAgICAgYXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJp
YW50LCBmb250LT52YXJpYW50LmdldCgpKTsKICAgICAgICAgICAgIGFwcGx5UHJvcGVydHkoQ1NT
UHJvcGVydHlGb250V2VpZ2h0LCBmb250LT53ZWlnaHQuZ2V0KCkpOworICAgICAgICAgICAgdXBk
YXRlRm9udCgpOwogICAgICAgICAgICAgYXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTaXpl
LCBmb250LT5zaXplLmdldCgpKTsKIAogICAgICAgICAgICAgbV9saW5lSGVpZ2h0VmFsdWUgPSBm
b250LT5saW5lSGVpZ2h0LmdldCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108747</attachid>
            <date>2011-09-26 16:14:54 -0700</date>
            <delta_ts>2011-09-27 09:55:06 -0700</delta_ts>
            <desc>Proposed work-around 2: Added a &apos;why&apos; comment that should answer Darin&apos;s request.</desc>
            <filename>bug-66291-20110926161453.patch</filename>
            <type>text/plain</type>
            <size>4674</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYwMTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzZjZiNTQ5NmIyMDI4N2NjZjljMmQw
Y2EzOTM1NmE3ZTJkNzMxZTlmLi5lZmVjNDczMjk4NGQ4Y2UzNjMwNDYyMDI0ZTVkOWRkNzk2ZDg5
ZjZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMjYgIEp1bGllbiBDaGFmZnJhaXgg
IDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jhc2ggYmVjYXVzZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aERvdWJsZSBhc3N1bWVzIGZvbnRNZXRyaWNzIGFyZSBh
dmFpbGFibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY2MjkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy9jcmFzaC1zZXQtZm9udC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvY2FudmFzL2NyYXNoLXNldC1mb250Lmh0bWw6IEFkZGVkLgorCiAyMDExLTA5LTI2
ICBLZW5qaSBJbWFzYWtpICA8aW1hc2FraUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9t
aXVtXSBVcGRhdGUgdGhlIHRlc3QgZXhwZWN0YWlvbiBmaWxlIGZvciBtZWRpYSByZWxhdGVkIHRl
c3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY3Jhc2gtc2V0LWZvbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY3Jhc2gtc2V0LWZvbnQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3YWY0ODRmNjFlYjY4OWExOGFkZmY4MjhjYmVkOWQyZjky
MTJlNmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jcmFzaC1z
ZXQtZm9udC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUZXN0IGZvciBidWcgNjYyOTE6
IENyYXNoIGJlY2F1c2UgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhEb3VibGUgYXNz
dW1lcyBmb250TWV0cmljcyBhcmUgYXZhaWxhYmxlCisKK1RoaXMgdGVzdCBwYXNzZWQgYXMgaXQg
ZGlkIG5vdCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NyYXNo
LXNldC1mb250Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jcmFzaC1zZXQtZm9udC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY4MTQ0OWMzOGMxMzcwN2Q1N2UxNTQ1MmI4YWIxZGFhZWRmYmZjNjEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jcmFzaC1zZXQtZm9u
dC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAg
IG9Db250ZXh0MmQgPSBkb2N1bWVudC5nZXRDU1NDYW52YXNDb250ZXh0KCIyZCIsIiIsMCk7Cisg
ICAgICAgIG9Db250ZXh0MmQuZm9udCA9ICJzbWFsbC1jYXBzIC4wZXggRyI7CisgICAgICAgIG9D
b250ZXh0MmQuZm9udCA9ICJpdGFsaWMgLjBleCBHIjsKKyAgICAgICAgb0NvbnRleHQyZC5mb250
ID0gIml0YWxpYyA0MDAgLjBleCBHIjsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGVzdCBmb3IgYnVnIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NjI5MSI+NjYyOTE8L2E+OiBDcmFzaCBiZWNhdXNlIENTU1ByaW1pdGl2ZVZhbHVl
Ojpjb21wdXRlTGVuZ3RoRG91YmxlIGFzc3VtZXMgZm9udE1ldHJpY3MgYXJlIGF2YWlsYWJsZTwv
cD4KKzxwPlRoaXMgdGVzdCBwYXNzZWQgYXMgaXQgZGlkIG5vdCBjcmFzaC48L3A+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggYjlkOTVjMWJiNTdhMDNkMTNkNTc0N2RiOTYzZjEwNTFmNzUxMTc4ZC4uMzJmNWE2MTJl
M2U1ZjYxMWRhZmI5OTAxYzViNjJkNGI5NjNkNDc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDExLTA5LTI2ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3Jn
PgorCisgICAgICAgIENyYXNoIGJlY2F1c2UgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5n
dGhEb3VibGUgYXNzdW1lcyBmb250TWV0cmljcyBhcmUgYXZhaWxhYmxlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI5MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL2NyYXNo
LXNldC1mb250Lmh0bWwKKworICAgICAgICBUaGlzIGlzIFlldCBBbm90aGVyIE1pc3NpbmcgdXBk
YXRlRm9udCAoc2ltaWxhciB0byBidWcgNTc3NTYgYW5kIGxpa2VseSBvdGhlcnMpLiBIZXJlIHRo
ZSBpc3N1ZSBpcyB0aGF0CisgICAgICAgIGFwcGx5aW5nIG9uZSBvZiB0aGUgZm9udCBwcm9wZXJ0
aWVzIGNvdWxkIG11dGF0ZSB0aGUgcGFyZW50IHN0eWxlJ3MgZm9udCBpZiBtX3BhcmVudFN0eWxl
ID09IG1fc3R5bGUuCisgICAgICAgIFdlIHdvdWxkIHRoZW4gcXVlcnkgdGhlIG5ld2x5IGNyZWF0
ZWQgZm9udCB3aGVuIGFwcGx5aW5nIENTU1Byb3BlcnR5Rm9udFNpemUsIHdoaWNoIGhhcyBubyBm
b250IGZhbGxiYWNrCisgICAgICAgIGxpc3QgYXMgRm9udDo6dXBkYXRlIHdhcyBuZXZlciBjYWxs
ZWQuCisKKyAgICAgICAgVGhlIHJpZ2h0IGZpeCB3b3VsZCBiZSB0byByZWZhY3RvciBvZiBob3cg
d2UgaGFuZGxlIGZvbnRzIHRvIGF2b2lkIHN1Y2ggbWFudWFsIHVwZGF0ZXMgKHNlZSBidWcgNjIz
OTApLgorICAgICAgICBVbnRpbCB0aGlzIGhhcHBlbnMsIGl0IGlzIGJldHRlciBub3QgdG8gY3Jh
c2guCisKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KTogQWRkZWQgdXBkYXRlRm9udCgp
IGhlcmUgYXMgdGhlIGZvbnRzIGNvdWxkIGhhdmUgYmVlbgorICAgICAgICBtdXRhdGVkIGJ5IHRo
ZSBwcmV2aW91cyBwcm9wZXJ0eSBjaGFuZ2UuIEFsc28gYWRkZWQgYSBjb21tZW50IGV4cGxhaW5p
bmcgd2h5IGl0IGlzIHNhZmUgdG8gZG8gaXQKKyAgICAgICAgdGhpcyB3YXkuCisKIDIwMTEtMDkt
MjYgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIERvIG5v
dCBpZ25vcmUgJ1JlcGxhY2VhYmxlJyBhdHRyaWJ1dGVzIGluIHRoZSBET00gYmluZGluZ3MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCA2OTJmNDZhNmQ4MjQ3NmY5
Y2RiYjY1NmRjNWI5MTlhMTYwN2MxNDkzLi42NGRjNDc5NDJkYTZlZmY3MWNmYzQ3MDBkNDA4NWUw
YzRjMmQ1YThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC0z
MDI5LDYgKzMwMjksMTEgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGlu
dCBpZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAgICAgICAgICAgYXBwbHlQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUZvbnRTdHlsZSwgZm9udC0+c3R5bGUuZ2V0KCkpOwogICAgICAgICAgICAgYXBwbHlQcm9w
ZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50LCBmb250LT52YXJpYW50LmdldCgpKTsKICAgICAg
ICAgICAgIGFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlGb250V2VpZ2h0LCBmb250LT53ZWlnaHQu
Z2V0KCkpOworICAgICAgICAgICAgLy8gVGhlIHByZXZpb3VzIHByb3BlcnRpZXMgY2FuIGRpcnR5
IG91ciBmb250IGJ1dCB0aGV5IGRvbid0IHRyeSB0byByZWFkIHRoZSBmb250J3MKKyAgICAgICAg
ICAgIC8vIHByb3BlcnRpZXMgYmFjaywgd2hpY2ggaXMgc2FmZS4gSG93ZXZlciBpZiBmb250LXNp
emUgaXMgdXNpbmcgdGhlICdleCcgdW5pdCwgaXQgd2lsbAorICAgICAgICAgICAgLy8gbmVlZCBx
dWVyeSB0aGUgZGlydGllZCBmb250J3MgeC1oZWlnaHQgdG8gZ2V0IHRoZSBjb21wdXRlZCBzaXpl
LiBUbyBiZSBzYWZlIGluIHRoaXMKKyAgICAgICAgICAgIC8vIGNhc2UsIGxldCdzIGp1c3QgdXBk
YXRlIHRoZSBmb250IG5vdy4KKyAgICAgICAgICAgIHVwZGF0ZUZvbnQoKTsKICAgICAgICAgICAg
IGFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlGb250U2l6ZSwgZm9udC0+c2l6ZS5nZXQoKSk7CiAK
ICAgICAgICAgICAgIG1fbGluZUhlaWdodFZhbHVlID0gZm9udC0+bGluZUhlaWdodC5nZXQoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>