<?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>133904</bug_id>
          
          <creation_ts>2014-06-14 09:38:06 -0700</creation_ts>
          <short_desc>convertToUTF8String converts null string to empty string</short_desc>
          <delta_ts>2014-12-09 09:10:48 -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>WebKitGTK</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hamish Mackenzie">Hamish.K.Mackenzie</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mrobinson</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1015662</commentid>
    <comment_count>0</comment_count>
    <who name="Hamish Mackenzie">Hamish.K.Mackenzie</who>
    <bug_when>2014-06-14 09:38:06 -0700</bug_when>
    <thetext>This means it is not possible to use functions like webkit_dom_css_style_declaration_get_property_value to tell if a property has no value (or is just set to the empty string).

I think it could be fixed with...

 gchar* convertToUTF8String(WTF::String const&amp; s)
 {
+    if (!s) return 0;
     return g_strdup(s.utf8().data());
 }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028738</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-12 23:48:48 -0700</bug_when>
    <thetext>I agree, and it&apos;s consistent with the rest of the API that uses NULL instead of &quot;&quot;. My only concern is that it might break existing applications relying on DOM functions returning always valid pointers. We have just broken the API/ABI so maybe it&apos;s a good momento for a change like this one, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053441</commentid>
    <comment_count>2</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-12-08 10:58:52 -0800</bug_when>
    <thetext>I guess if we really want to do this and it&apos;s not too late already, then it&apos;s now or never.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053678</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-12-09 00:12:28 -0800</bug_when>
    <thetext>I had forgotten this, we should have changed it before the 2.6 release, but people are still migrating, s we can probably change it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053718</commentid>
    <comment_count>4</comment_count>
      <attachid>242899</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-12-09 02:24:45 -0800</bug_when>
    <thetext>Created attachment 242899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053806</commentid>
    <comment_count>5</comment_count>
      <attachid>242928</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-12-09 09:02:54 -0800</bug_when>
    <thetext>Created attachment 242928
Patch

I added a test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053809</commentid>
    <comment_count>6</comment_count>
      <attachid>242928</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-12-09 09:06:53 -0800</bug_when>
    <thetext>Comment on attachment 242928
Patch

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

Thanks!

&gt; Source/WebCore/bindings/gobject/ConvertToUTF8String.cpp:33
&gt; +        return 0;

nullptr

&gt; Source/WebCore/bindings/gobject/ConvertToUTF8String.cpp:35
&gt;      return g_strdup(s.utf8().data());

We could probably do something like return s.isNull() ? nullptr : g_strdup(s.utf8().data());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053810</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-12-09 09:07:19 -0800</bug_when>
    <thetext>We should merge this in the stable branch too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053812</commentid>
    <comment_count>8</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-12-09 09:10:48 -0800</bug_when>
    <thetext>Committed r177019: &lt;http://trac.webkit.org/changeset/177019&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242899</attachid>
            <date>2014-12-09 02:24:45 -0800</date>
            <delta_ts>2014-12-09 09:02:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>133904.diff</filename>
            <type>text/plain</type>
            <size>1293</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyMDRiYzk4Li5lZTgwMTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcg
QEAKIDIwMTQtMTItMDkgIEFsYmVydG8gR2FyY2lhICA8YmVydG9AaWdhbGlhLmNvbT4KIAorICAg
ICAgICBjb252ZXJ0VG9VVEY4U3RyaW5nIGNvbnZlcnRzIG51bGwgc3RyaW5nIHRvIGVtcHR5IHN0
cmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMz
OTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmV0
dXJuIE5VTEwgaWYgdGhlIHN0cmluZyBpcyBOVUxMLgorCisgICAgICAgICogYmluZGluZ3MvZ29i
amVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmNwcDoKKyAgICAgICAgKGNvbnZlcnRUb1VURjhTdHJp
bmcpOgorCisyMDE0LTEyLTA5ICBBbGJlcnRvIEdhcmNpYSAgPGJlcnRvQGlnYWxpYS5jb20+CisK
ICAgICAgICAgW01lZGlhXVtHVEtdW0VGTF0gUmVkdWNlIHN0eWxlIHVwZGF0ZXMgKHBhaW50aW5n
KSBpbiBjb250cm9scwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTM3NzczCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3QvQ29udmVydFRvVVRGOFN0cmluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuY3BwCmluZGV4IDE0ZGYzYTYuLjdhNGYxMTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmlu
Zy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9Db252ZXJ0VG9VVEY4
U3RyaW5nLmNwcApAQCAtMjksMTEgKzI5LDE0IEBACiAKIGdjaGFyKiBjb252ZXJ0VG9VVEY4U3Ry
aW5nKFdURjo6U3RyaW5nIGNvbnN0JiBzKQogeworICAgIGlmIChzLmlzTnVsbCgpKQorICAgICAg
ICByZXR1cm4gMDsKKwogICAgIHJldHVybiBnX3N0cmR1cChzLnV0ZjgoKS5kYXRhKCkpOwogfQog
CiBnY2hhciogY29udmVydFRvVVRGOFN0cmluZyhXZWJDb3JlOjpVUkwgY29uc3QmIHMpCiB7Ci0g
ICAgcmV0dXJuIGdfc3RyZHVwKHMuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CisgICAgcmV0dXJu
IGNvbnZlcnRUb1VURjhTdHJpbmcocy5zdHJpbmcoKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242928</attachid>
            <date>2014-12-09 09:02:54 -0800</date>
            <delta_ts>2014-12-09 09:06:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>133904.diff</filename>
            <type>text/plain</type>
            <size>2867</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyMDRiYzk4Li5iODczMGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTkg
QEAKIDIwMTQtMTItMDkgIEFsYmVydG8gR2FyY2lhICA8YmVydG9AaWdhbGlhLmNvbT4KIAorICAg
ICAgICBjb252ZXJ0VG9VVEY4U3RyaW5nIGNvbnZlcnRzIG51bGwgc3RyaW5nIHRvIGVtcHR5IHN0
cmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMz
OTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dCBhZGRlZCB0byBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsvRE9NTm9kZVRl
c3QuY3BwCisKKyAgICAgICAgUmV0dXJuIDAgaWYgdGhlIHN0cmluZyBpcyBudWxsLgorCisgICAg
ICAgICogYmluZGluZ3MvZ29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmNwcDoKKyAgICAgICAg
KGNvbnZlcnRUb1VURjhTdHJpbmcpOgorCisyMDE0LTEyLTA5ICBBbGJlcnRvIEdhcmNpYSAgPGJl
cnRvQGlnYWxpYS5jb20+CisKICAgICAgICAgW01lZGlhXVtHVEtdW0VGTF0gUmVkdWNlIHN0eWxl
IHVwZGF0ZXMgKHBhaW50aW5nKSBpbiBjb250cm9scwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3NzczCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmluZy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuY3BwCmluZGV4IDE0ZGYz
YTYuLjdhNGYxMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
Q29udmVydFRvVVRGOFN0cmluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29i
amVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmNwcApAQCAtMjksMTEgKzI5LDE0IEBACiAKIGdjaGFy
KiBjb252ZXJ0VG9VVEY4U3RyaW5nKFdURjo6U3RyaW5nIGNvbnN0JiBzKQogeworICAgIGlmIChz
LmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gMDsKKwogICAgIHJldHVybiBnX3N0cmR1cChzLnV0
ZjgoKS5kYXRhKCkpOwogfQogCiBnY2hhciogY29udmVydFRvVVRGOFN0cmluZyhXZWJDb3JlOjpV
UkwgY29uc3QmIHMpCiB7Ci0gICAgcmV0dXJuIGdfc3RyZHVwKHMuc3RyaW5nKCkudXRmOCgpLmRh
dGEoKSk7CisgICAgcmV0dXJuIGNvbnZlcnRUb1VURjhTdHJpbmcocy5zdHJpbmcoKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3MmE1
NWNhLi42NjI4OWY3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMTItMDkgIEFsYmVydG8gR2FyY2lhICA8YmVy
dG9AaWdhbGlhLmNvbT4KKworICAgICAgICBjb252ZXJ0VG9VVEY4U3RyaW5nIGNvbnZlcnRzIG51
bGwgc3RyaW5nIHRvIGVtcHR5IHN0cmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTMzOTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdCB0aGF0IHRyeWluZyB0byBnZXQgdGhlIHZhbHVlIG9mIGEg
bm9uLWV4aXN0ZW50IGF0dHJpYnV0ZQorICAgICAgICByZXR1cm5zIDAgaW5zdGVhZCBvZiBhbiBl
bXB0eSBzdHJpbmcuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsv
RE9NTm9kZVRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0RE9NTm9kZVRlc3Q6OnRlc3RJbnNlcnRp
b24pOgorCiAyMDE0LTEyLTA5ICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR1RLXSBCdW1wIG1pbmltdW0gdmVyc2lvbiBvZiBBVEsgdXNlZCBieSBqaGJ1
aWxkIHRvIGF0IGxlYXN0IDIuMTUuMgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyR3RrL0RPTU5vZGVUZXN0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mkd0ay9ET01Ob2RlVGVzdC5jcHAKaW5kZXggNWY2MmU1NC4uZGRlYTkyYyAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL0RPTU5vZGVUZXN0
LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsvRE9NTm9kZVRl
c3QuY3BwCkBAIC04OCw2ICs4OCw5IEBAIHByaXZhdGU6CiAgICAgICAgIC8vIEJvZHkgc2hvdWxk
bid0IGhhdmUgYW55IGNoaWxkcmVuIGF0IHRoaXMgcG9pbnQuCiAgICAgICAgIGdfYXNzZXJ0KCF3
ZWJraXRfZG9tX25vZGVfaGFzX2NoaWxkX25vZGVzKFdFQktJVF9ET01fTk9ERShib2R5KSkpOwog
CisgICAgICAgIC8vIFRoZSB2YWx1ZSBvZiBhIG5vbi1leGlzdGVudCBhdHRyaWJ1dGUgc2hvdWxk
IGJlIG51bGwsIG5vdCBhbiBlbXB0eSBzdHJpbmcKKyAgICAgICAgZ19hc3NlcnQoIXdlYmtpdF9k
b21faHRtbF9ib2R5X2VsZW1lbnRfZ2V0X2JhY2tncm91bmQoV0VCS0lUX0RPTV9IVE1MX0JPRFlf
RUxFTUVOVChib2R5KSkpOworCiAgICAgICAgIC8vIEluc2VydCBvbmUgUCBlbGVtZW50LgogICAg
ICAgICBXZWJLaXRET01FbGVtZW50KiBwID0gd2Via2l0X2RvbV9kb2N1bWVudF9jcmVhdGVfZWxl
bWVudChkb2N1bWVudCwgIlAiLCAwKTsKICAgICAgICAgZ19hc3NlcnQoV0VCS0lUX0RPTV9JU19I
VE1MX0VMRU1FTlQocCkpOwo=
</data>
<flag name="review"
          id="267780"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>