<?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>60516</bug_id>
          
          <creation_ts>2011-05-09 16:30:42 -0700</creation_ts>
          <short_desc>Enable casting between CSSPrimitiveValue and FontWeight enum</short_desc>
          <delta_ts>2011-05-09 18:53:11 -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>New Bugs</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>
          <dependson>60526</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Luke Macpherson">macpherson</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>macpherson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>400883</commentid>
    <comment_count>0</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-05-09 16:30:42 -0700</bug_when>
    <thetext>Enable casting between CSSPrimitiveValue and FontWeight enum</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400887</commentid>
    <comment_count>1</comment_count>
      <attachid>92883</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-05-09 16:35:26 -0700</bug_when>
    <thetext>Created attachment 92883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400895</commentid>
    <comment_count>2</comment_count>
      <attachid>92883</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-09 16:46:30 -0700</bug_when>
    <thetext>Comment on attachment 92883
Patch

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

&gt; Source/WebCore/css/CSSStyleSelector.cpp:3688
&gt; +                        fontDescription.setWeight((FontWeight)*primitiveValue);

An explicit cast should not be needed here. Could you try without it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400910</commentid>
    <comment_count>3</comment_count>
      <attachid>92888</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-05-09 17:09:28 -0700</bug_when>
    <thetext>Created attachment 92888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400911</commentid>
    <comment_count>4</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-05-09 17:10:59 -0700</bug_when>
    <thetext>Cast removed, and also cleaned up the logic a little.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400923</commentid>
    <comment_count>5</comment_count>
      <attachid>92888</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-09 17:23:36 -0700</bug_when>
    <thetext>Comment on attachment 92888
Patch

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

&gt; Source/WebCore/css/CSSStyleSelector.cpp:-3717
&gt; -                    default:
&gt; -                        return;

Wait, no, this changes behavior!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400925</commentid>
    <comment_count>6</comment_count>
      <attachid>92888</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-09 17:24:33 -0700</bug_when>
    <thetext>Comment on attachment 92888
Patch

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

&gt;&gt; Source/WebCore/css/CSSStyleSelector.cpp:-3717
&gt;&gt; -                        return;
&gt; 
&gt; Wait, no, this changes behavior!

The old code returned from the function without doing anything if the identifier was not one of the supported ones. The new code asserts and sets the weight to normal. I don’t think that behavior change is OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400928</commentid>
    <comment_count>7</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-05-09 17:27:07 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 92888 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=92888&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/css/CSSStyleSelector.cpp:-3717
&gt; &gt;&gt; -                        return;
&gt; &gt; 
&gt; &gt; Wait, no, this changes behavior!
&gt; 
&gt; The old code returned from the function without doing anything if the identifier was not one of the supported ones. The new code asserts and sets the weight to normal. I don’t think that behavior change is OK.

I think the default case previously should have been ASSERT_UNREACHABLE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400942</commentid>
    <comment_count>8</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-05-09 17:49:10 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 92888 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=92888&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/css/CSSStyleSelector.cpp:-3717
&gt; &gt; &gt;&gt; -                        return;
&gt; &gt; &gt; 
&gt; &gt; &gt; Wait, no, this changes behavior!
&gt; &gt; 
&gt; &gt; The old code returned from the function without doing anything if the identifier was not one of the supported ones. The new code asserts and sets the weight to normal. I don’t think that behavior change is OK.
&gt; 
&gt; I think the default case previously should have been ASSERT_UNREACHABLE.

Moreover, you can see the list of valid values in the parser:
// normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit
Any other value would indicate a parser bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400949</commentid>
    <comment_count>9</comment_count>
      <attachid>92888</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-09 17:54:26 -0700</bug_when>
    <thetext>Comment on attachment 92888
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebCore/css/CSSStyleSelector.cpp:-3717
&gt;&gt;&gt;&gt;&gt; -                        return;
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; Wait, no, this changes behavior!
&gt;&gt;&gt; 
&gt;&gt;&gt; The old code returned from the function without doing anything if the identifier was not one of the supported ones. The new code asserts and sets the weight to normal. I don’t think that behavior change is OK.
&gt;&gt; 
&gt;&gt; I think the default case previously should have been ASSERT_UNREACHABLE.
&gt; 
&gt; Moreover, you can see the list of valid values in the parser:
&gt; // normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit
&gt; Any other value would indicate a parser bug.

OK. That makes sense and matches what I remember from other times working with the parser. I’d feel more comfortable if there was an actual test case covering this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400982</commentid>
    <comment_count>10</comment_count>
      <attachid>92888</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-09 18:53:06 -0700</bug_when>
    <thetext>Comment on attachment 92888
Patch

Clearing flags on attachment: 92888

Committed r86120: &lt;http://trac.webkit.org/changeset/86120&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400983</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-09 18:53:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92883</attachid>
            <date>2011-05-09 16:35:26 -0700</date>
            <delta_ts>2011-05-09 17:09:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60516-20110510093524.patch</filename>
            <type>text/plain</type>
            <size>5233</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MTAyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMDkgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgY2FzdGluZyBiZXR3ZWVuIENTU1By
aW1pdGl2ZVZhbHVlIGFuZCBGb250V2VpZ2h0IGVudW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNTE2CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGFk
ZGVkIGFzIG5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdlZC4KKworICAgICAgICAqIGNzcy9DU1NQcmlt
aXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICBJbXBsZW1lbnQgY2FzdCBmcm9tIEZvbnRX
ZWlnaHQgdG8gQ1NTUHJpbWl0aXZlVmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRp
dmVWYWx1ZTo6b3BlcmF0b3IgRm9udFdlaWdodCk6CisgICAgICAgIEltcGxlbWVudCBjYXN0IGZy
b20gQ1NTUHJpbWl0aXZlVmFsdWUgdG8gRm9udFdlaWdodAorICAgICAgICAqIGNzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5
UHJvcGVydHkpOgorICAgICAgICBVc2UgbmV3IGNhc3QgdG8gcmVkdWNlIGNvZGUgc2l6ZS4KKwog
MjAxMS0wNC0yOSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhIFNpbHZhLgpJbmRleDogU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCShyZXZpc2lvbiA4NjAz
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIzMjQsNiArMjMyNCw3NSBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6b3BlCiAgICAgcmV0dXJuIEF1dG9TbW9vdGhpbmc7CiB9CiAKK3RlbXBs
YXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShGb250V2Vp
Z2h0IHdlaWdodCkKKyAgICA6IG1fdHlwZShDU1NfSURFTlQpCisgICAgLCBtX2hhc0NhY2hlZENT
U1RleHQoZmFsc2UpCit7CisgICAgc3dpdGNoICh3ZWlnaHQpIHsKKyAgICBjYXNlIEZvbnRXZWln
aHQ5MDA6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZTkwMDsKKyAgICAgICAgcmV0
dXJuOworICAgIGNhc2UgRm9udFdlaWdodDgwMDoKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENT
U1ZhbHVlODAwOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBGb250V2VpZ2h0NzAwOgorICAg
ICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWU3MDA7CisgICAgICAgIHJldHVybjsKKyAgICBj
YXNlIEZvbnRXZWlnaHQ2MDA6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZTYwMDsK
KyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgRm9udFdlaWdodDUwMDoKKyAgICAgICAgbV92YWx1
ZS5pZGVudCA9IENTU1ZhbHVlNTAwOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBGb250V2Vp
Z2h0NDAwOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWU0MDA7CisgICAgICAgIHJl
dHVybjsKKyAgICBjYXNlIEZvbnRXZWlnaHQzMDA6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBD
U1NWYWx1ZTMwMDsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgRm9udFdlaWdodDIwMDoKKyAg
ICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlMjAwOworICAgICAgICByZXR1cm47CisgICAg
Y2FzZSBGb250V2VpZ2h0MTAwOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWUxMDA7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVOb3JtYWw7Cit9CisKK3RlbXBsYXRlPD4gaW5saW5l
IENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBGb250V2VpZ2h0KCkgY29uc3QKK3sKKyAgICBz
d2l0Y2ggKG1fdmFsdWUuaWRlbnQpIHsKKyAgICBjYXNlIENTU1ZhbHVlQm9sZDoKKyAgICAgICAg
cmV0dXJuIEZvbnRXZWlnaHRCb2xkOworICAgIGNhc2UgQ1NTVmFsdWVOb3JtYWw6CisgICAgICAg
IHJldHVybiBGb250V2VpZ2h0Tm9ybWFsOworICAgIGNhc2UgQ1NTVmFsdWU5MDA6CisgICAgICAg
IHJldHVybiBGb250V2VpZ2h0OTAwOworICAgIGNhc2UgQ1NTVmFsdWU4MDA6CisgICAgICAgIHJl
dHVybiBGb250V2VpZ2h0ODAwOworICAgIGNhc2UgQ1NTVmFsdWU3MDA6CisgICAgICAgIHJldHVy
biBGb250V2VpZ2h0NzAwOworICAgIGNhc2UgQ1NTVmFsdWU2MDA6CisgICAgICAgIHJldHVybiBG
b250V2VpZ2h0NjAwOworICAgIGNhc2UgQ1NTVmFsdWU1MDA6CisgICAgICAgIHJldHVybiBGb250
V2VpZ2h0NTAwOworICAgIGNhc2UgQ1NTVmFsdWU0MDA6CisgICAgICAgIHJldHVybiBGb250V2Vp
Z2h0NDAwOworICAgIGNhc2UgQ1NTVmFsdWUzMDA6CisgICAgICAgIHJldHVybiBGb250V2VpZ2h0
MzAwOworICAgIGNhc2UgQ1NTVmFsdWUyMDA6CisgICAgICAgIHJldHVybiBGb250V2VpZ2h0MjAw
OworICAgIGNhc2UgQ1NTVmFsdWUxMDA6CisgICAgICAgIHJldHVybiBGb250V2VpZ2h0MTAwOwor
ICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBGb250V2VpZ2h0
Tm9ybWFsOworfQorCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJp
bWl0aXZlVmFsdWUoRm9udEl0YWxpYyBpdGFsaWMpCiAgICAgOiBtX3R5cGUoQ1NTX0lERU5UKQog
ICAgICwgbV9oYXNDYWNoZWRDU1NUZXh0KGZhbHNlKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmNwcAkocmV2aXNpb24gODYwMzgpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2ODQsMzcgKzM2ODQs
OCBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50CiAgICAgICAgICAg
ICAgICAgICAgIGNhc2UgQ1NTVmFsdWVMaWdodGVyOgogICAgICAgICAgICAgICAgICAgICAgICAg
Zm9udERlc2NyaXB0aW9uLnNldFdlaWdodChmb250RGVzY3JpcHRpb24ubGlnaHRlcldlaWdodCgp
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBj
YXNlIENTU1ZhbHVlQm9sZDoKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZTcwMDoK
LSAgICAgICAgICAgICAgICAgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRXZWlnaHQoRm9udFdl
aWdodEJvbGQpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAg
ICAgICAgIGNhc2UgQ1NTVmFsdWVOb3JtYWw6Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NT
VmFsdWU0MDA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0V2Vp
Z2h0KEZvbnRXZWlnaHROb3JtYWwpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWU5MDA6Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBmb250RGVzY3JpcHRpb24uc2V0V2VpZ2h0KEZvbnRXZWlnaHQ5MDApOwotICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWU4
MDA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0V2VpZ2h0KEZv
bnRXZWlnaHQ4MDApOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIGNhc2UgQ1NTVmFsdWU2MDA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmb250
RGVzY3JpcHRpb24uc2V0V2VpZ2h0KEZvbnRXZWlnaHQ2MDApOwotICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWU1MDA6Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0V2VpZ2h0KEZvbnRXZWlnaHQ1
MDApOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAg
IGNhc2UgQ1NTVmFsdWUzMDA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRp
b24uc2V0V2VpZ2h0KEZvbnRXZWlnaHQzMDApOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWUyMDA6Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0V2VpZ2h0KEZvbnRXZWlnaHQyMDApOwotICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NT
VmFsdWUxMDA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0V2Vp
Z2h0KEZvbnRXZWlnaHQxMDApOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0V2VpZ2h0KChGb250
V2VpZ2h0KSpwcmltaXRpdmVWYWx1ZSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fSBlbHNlCiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92888</attachid>
            <date>2011-05-09 17:09:28 -0700</date>
            <delta_ts>2011-05-09 18:53:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60516-20110510100926.patch</filename>
            <type>text/plain</type>
            <size>6104</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MTAyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDUtMDkgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgY2FzdGluZyBiZXR3ZWVuIENTU1By
aW1pdGl2ZVZhbHVlIGFuZCBGb250V2VpZ2h0IGVudW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNTE2CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGFk
ZGVkIGFzIG5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdlZC4KKworICAgICAgICAqIGNzcy9DU1NQcmlt
aXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICBJbXBsZW1lbnQgY2FzdCBmcm9tIEZvbnRX
ZWlnaHQgdG8gQ1NTUHJpbWl0aXZlVmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRp
dmVWYWx1ZTo6b3BlcmF0b3IgRm9udFdlaWdodCk6CisgICAgICAgIEltcGxlbWVudCBjYXN0IGZy
b20gQ1NTUHJpbWl0aXZlVmFsdWUgdG8gRm9udFdlaWdodAorICAgICAgICAqIGNzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5
UHJvcGVydHkpOgorICAgICAgICBVc2UgbmV3IGNhc3QgdG8gcmVkdWNlIGNvZGUgc2l6ZS4KKyAg
ICAgICAgRmxhdHRlbiBzd2l0Y2ggaW5zaWRlIGlmLgorCiAyMDExLTA0LTI5ICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0
YXZvIE5vcm9uaGEgU2lsdmEuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDg2MDM4KQorKysgU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjMyNCw2
ICsyMzI0LDc1IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGUKICAg
ICByZXR1cm4gQXV0b1Ntb290aGluZzsKIH0KIAordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEZvbnRXZWlnaHQgd2VpZ2h0KQorICAgIDogbV90
eXBlKENTU19JREVOVCkKKyAgICAsIG1faGFzQ2FjaGVkQ1NTVGV4dChmYWxzZSkKK3sKKyAgICBz
d2l0Y2ggKHdlaWdodCkgeworICAgIGNhc2UgRm9udFdlaWdodDkwMDoKKyAgICAgICAgbV92YWx1
ZS5pZGVudCA9IENTU1ZhbHVlOTAwOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBGb250V2Vp
Z2h0ODAwOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWU4MDA7CisgICAgICAgIHJl
dHVybjsKKyAgICBjYXNlIEZvbnRXZWlnaHQ3MDA6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBD
U1NWYWx1ZTcwMDsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgRm9udFdlaWdodDYwMDoKKyAg
ICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlNjAwOworICAgICAgICByZXR1cm47CisgICAg
Y2FzZSBGb250V2VpZ2h0NTAwOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWU1MDA7
CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEZvbnRXZWlnaHQ0MDA6CisgICAgICAgIG1fdmFs
dWUuaWRlbnQgPSBDU1NWYWx1ZTQwMDsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgRm9udFdl
aWdodDMwMDoKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlMzAwOworICAgICAgICBy
ZXR1cm47CisgICAgY2FzZSBGb250V2VpZ2h0MjAwOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0g
Q1NTVmFsdWUyMDA7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEZvbnRXZWlnaHQxMDA6Cisg
ICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZTEwMDsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NW
YWx1ZU5vcm1hbDsKK30KKwordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9w
ZXJhdG9yIEZvbnRXZWlnaHQoKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5pZGVudCkg
eworICAgIGNhc2UgQ1NTVmFsdWVCb2xkOgorICAgICAgICByZXR1cm4gRm9udFdlaWdodEJvbGQ7
CisgICAgY2FzZSBDU1NWYWx1ZU5vcm1hbDoKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHROb3Jt
YWw7CisgICAgY2FzZSBDU1NWYWx1ZTkwMDoKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQ5MDA7
CisgICAgY2FzZSBDU1NWYWx1ZTgwMDoKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQ4MDA7Cisg
ICAgY2FzZSBDU1NWYWx1ZTcwMDoKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQ3MDA7CisgICAg
Y2FzZSBDU1NWYWx1ZTYwMDoKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQ2MDA7CisgICAgY2Fz
ZSBDU1NWYWx1ZTUwMDoKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQ1MDA7CisgICAgY2FzZSBD
U1NWYWx1ZTQwMDoKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQ0MDA7CisgICAgY2FzZSBDU1NW
YWx1ZTMwMDoKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQzMDA7CisgICAgY2FzZSBDU1NWYWx1
ZTIwMDoKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQyMDA7CisgICAgY2FzZSBDU1NWYWx1ZTEw
MDoKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQxMDA7CisgICAgfQorCisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIEZvbnRXZWlnaHROb3JtYWw7Cit9CisKIHRlbXBsYXRl
PD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShGb250SXRhbGlj
IGl0YWxpYykKICAgICA6IG1fdHlwZShDU1NfSURFTlQpCiAgICAgLCBtX2hhc0NhY2hlZENTU1Rl
eHQoZmFsc2UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShy
ZXZpc2lvbiA4NjAzOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzY3Niw0OCArMzY3NiwxOSBAQCB2b2lkIENTU1N0eWxlU2Vs
ZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgaWYg
KCFwcmltaXRpdmVWYWx1ZSkKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBp
ZiAocHJpbWl0aXZlVmFsdWUtPmdldElkZW50KCkpIHsKLSAgICAgICAgICAgICAgICBzd2l0Y2gg
KHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVudCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2Ug
Q1NTVmFsdWVCb2xkZXI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24u
c2V0V2VpZ2h0KGZvbnREZXNjcmlwdGlvbi5ib2xkZXJXZWlnaHQoKSk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZUxpZ2h0
ZXI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0V2VpZ2h0KGZv
bnREZXNjcmlwdGlvbi5saWdodGVyV2VpZ2h0KCkpOwotICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVCb2xkOgotICAgICAgICAg
ICAgICAgICAgICBjYXNlIENTU1ZhbHVlNzAwOgotICAgICAgICAgICAgICAgICAgICAgICAgZm9u
dERlc2NyaXB0aW9uLnNldFdlaWdodChGb250V2VpZ2h0Qm9sZCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZU5vcm1hbDoK
LSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZTQwMDoKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRXZWlnaHQoRm9udFdlaWdodE5vcm1hbCk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NW
YWx1ZTkwMDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRXZWln
aHQoRm9udFdlaWdodDkwMCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZTgwMDoKLSAgICAgICAgICAgICAgICAgICAgICAg
IGZvbnREZXNjcmlwdGlvbi5zZXRXZWlnaHQoRm9udFdlaWdodDgwMCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZTYwMDoK
LSAgICAgICAgICAgICAgICAgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRXZWlnaHQoRm9udFdl
aWdodDYwMCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg
ICAgICAgY2FzZSBDU1NWYWx1ZTUwMDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvbnREZXNj
cmlwdGlvbi5zZXRXZWlnaHQoRm9udFdlaWdodDUwMCk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZTMwMDoKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRXZWlnaHQoRm9udFdlaWdodDMwMCk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2Fz
ZSBDU1NWYWx1ZTIwMDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvbnREZXNjcmlwdGlvbi5z
ZXRXZWlnaHQoRm9udFdlaWdodDIwMCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZTEwMDoKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRXZWlnaHQoRm9udFdlaWdodDEwMCk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgIHN3aXRjaCAocHJpbWl0aXZlVmFsdWUtPmdldElkZW50
KCkpIHsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVJbnZhbGlkOgogICAgICAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgY2FzZSBDU1NWYWx1ZUJvbGRlcjoKKyAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24u
c2V0V2VpZ2h0KGZvbnREZXNjcmlwdGlvbi5ib2xkZXJXZWlnaHQoKSk7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENTU1ZhbHVlTGlnaHRlcjoKKyAgICAgICAgICAg
ICAgICBmb250RGVzY3JpcHRpb24uc2V0V2VpZ2h0KGZvbnREZXNjcmlwdGlvbi5saWdodGVyV2Vp
Z2h0KCkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0V2VpZ2h0KCpwcmltaXRpdmVWYWx1ZSk7
CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKG1fc3R5bGUtPnNldEZvbnRE
ZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24pKQogICAgICAgICAgICAgbV9mb250RGlydHkgPSB0
cnVlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>