<?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>129145</bug_id>
          
          <creation_ts>2014-02-21 01:57:16 -0800</creation_ts>
          <short_desc>[GTK] webkit_dom_range_compare_boundary_points fails when 0 is passed as how parameter</short_desc>
          <delta_ts>2014-03-03 02:11:21 -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="Tomas Popela">tpopela</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>983157</commentid>
    <comment_count>0</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-21 01:57:16 -0800</bug_when>
    <thetext>In GObject DOM API there is a webkit_dom_range_compare_boundary_points function ( https://developer.mozilla.org/en-US/docs/Web/API/Range.compareBoundaryPoints ) that takes second argument &quot;how&quot; that&apos;s type is CompareHow (in GObject DOM API it is defined as gushort). CompareHow is enum defined in http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Range.h#L87 . The problem is that START_TO_START is defined first so it has value 0, but the generator is not counting with it and it generates g_return_val_if_fail (how, 0) in WebKitDOMRange.cpp. Thus we will get a nice runtime warning: CRITICAL **: gshort webkit_dom_range_compare_boundary_points(WebKitDOMRange*, gushort, WebKitDOMRange*, GError**): assertion &apos;how&apos; failed . So the generator should be aware of CompareHow while generating the g_return_* macros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983159</commentid>
    <comment_count>1</comment_count>
      <attachid>224845</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-21 02:06:56 -0800</bug_when>
    <thetext>Created attachment 224845
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983162</commentid>
    <comment_count>2</comment_count>
      <attachid>224845</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-02-21 02:27:44 -0800</bug_when>
    <thetext>Comment on attachment 224845
Proposed patch

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

Thanks for the patch. I think we should add a test case for this.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm:897
&gt; +        if ($paramIDLType eq &quot;CompareHow&quot;) {
&gt; +           return &quot;&quot;;
&gt; +        }

This is not correct, this method should not be called for non pointer types. We are currently checking whether the param type is primitve or not, but we should actually check that is a pointer type.

my $paramTypeIsPrimitive = $codeGenerator-&gt;IsPrimitiveType($paramIDLType);
my $paramIsGDOMType = IsGDOMClassType($paramIDLType);
if (!$paramTypeIsPrimitive) {
    $gReturnMacro = GetGReturnMacro($paramName, $paramIDLType, $returnType, $functionName);
    push(@cBody, $gReturnMacro);
}

We should use 

my $paramTypeIsPointer = !$codeGenerator-&gt;IsNonPointerType($paramIDLType);

You can also remove the paramIsGDOMType that is unused :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986293</commentid>
    <comment_count>3</comment_count>
      <attachid>225638</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-03-03 01:23:37 -0800</bug_when>
    <thetext>Created attachment 225638
Proposed patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986294</commentid>
    <comment_count>4</comment_count>
      <attachid>225638</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-03-03 01:32:23 -0800</bug_when>
    <thetext>Comment on attachment 225638
Proposed patch v2

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986302</commentid>
    <comment_count>5</comment_count>
      <attachid>225638</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-03 02:11:18 -0800</bug_when>
    <thetext>Comment on attachment 225638
Proposed patch v2

Clearing flags on attachment: 225638

Committed r164980: &lt;http://trac.webkit.org/changeset/164980&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986303</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-03 02:11:21 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224845</attachid>
            <date>2014-02-21 02:06:56 -0800</date>
            <delta_ts>2014-03-03 01:23:37 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>webkit-129145.patch</filename>
            <type>text/plain</type>
            <size>2484</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">RnJvbSA0ZDA5MzJhYzg0ZGYxMWExMmQ4OGVhYjg3MzYzOGJlYzZiZjUxODc0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUb21hcyBQb3BlbGEgPHRwb3BlbGFAcmVkaGF0LmNvbT4KRGF0
ZTogRnJpLCAyMSBGZWIgMjAxNCAxMTowNTowNCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTQt
MDItMjEgIFRvbWFzIFBvcGVsYSAgPHRwb3BlbGFAcmVkaGF0LmNvbT4KCiAgICAgICAgW0dUS10g
QnVnIGluIHdlYmtpdF9kb21fcmFuZ2VfY29tcGFyZV9ib3VuZGFyeV9wb2ludHMgR09iamVjdCBE
T00gQVBJIGZ1bmN0aW9uCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyOTE0NQoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAg
ICAgV2hpbGUgZ2VuZXJhdGluZyBHT2JqZWN0IERPTSBBUEkgdGhlIGdlbmVyYXRvciBzaG91bGQg
YmUgYXdhcmUgb2YKICAgICAgICBDb21wYXJlSG93IHR5cGUgYW5kIHNraXAgaXMgd2hpbGUgZ2Vu
ZXJhdGluZyBnX3JldHVybl92YWxfaWZfZmFpbAogICAgICAgIG1hY3JvIGZvciBpdCBhcyBSYW5n
ZS5TVEFSVF9UT19TVEFSVCBpcyBkZWZpbmVkIGFzIDAsIHRodXMgaXQgd2lsbAogICAgICAgIGZh
aWwgZXZlcnl0aW1lIHRoZSB3ZWJraXRfZG9tX3JhbmdlX2NvbXBhcmVfYm91bmRhcnlfcG9pbnRz
IGlzIGNhbGxlZAogICAgICAgIHdpdGggMCBhcyBob3cgdmFsdWUuCgogICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKICAgICAgICAoR2V0R1JldHVybk1h
Y3JvKToKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgMTYgKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbSB8ICAzICsrKwogMiBmaWxlcyBjaGFuZ2Vk
LCAxOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDVkYWMxZGYuLjk1ZGY4ODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0wMi0yMSAgVG9tYXMgUG9wZWxhICA8dHBvcGVs
YUByZWRoYXQuY29tPgorCisgICAgICAgIFtHVEtdIEJ1ZyBpbiB3ZWJraXRfZG9tX3JhbmdlX2Nv
bXBhcmVfYm91bmRhcnlfcG9pbnRzIEdPYmplY3QgIERPTSBBUEkgZnVuY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTE0NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoaWxlIGdlbmVyYXRpbmcg
R09iamVjdCBET00gQVBJIHRoZSBnZW5lcmF0b3Igc2hvdWxkIGJlIGF3YXJlIG9mCisgICAgICAg
IENvbXBhcmVIb3cgdHlwZSBhbmQgc2tpcCBpcyB3aGlsZSBnZW5lcmF0aW5nIGdfcmV0dXJuX3Zh
bF9pZl9mYWlsCisgICAgICAgIG1hY3JvIGZvciBpdCBhcyBSYW5nZS5TVEFSVF9UT19TVEFSVCBp
cyBkZWZpbmVkIGFzIDAsIHRodXMgaXQgd2lsbAorICAgICAgICBmYWlsIGV2ZXJ5dGltZSB0aGUg
d2Via2l0X2RvbV9yYW5nZV9jb21wYXJlX2JvdW5kYXJ5X3BvaW50cyBpcyBjYWxsZWQKKyAgICAg
ICAgd2l0aCAwIGFzIGhvdyB2YWx1ZS4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckdPYmplY3QucG06CisgICAgICAgIChHZXRHUmV0dXJuTWFjcm8pOgorCiAyMDE0
LTAyLTIxICBNaWhhaSBUaWNhICA8bWl0aWNhQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIEJs
ZW5kaW5nXSBSZWZhY3RvciAtd2Via2l0LWJsZW5kLW1vZGUgdG8gLXdlYmtpdC1taXgtYmxlbmQt
bW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yR09iamVjdC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckdPYmplY3QucG0KaW5kZXggMWJjZmJhYy4uNmQ3MzlkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBt
CkBAIC04OTIsNiArODkyLDkgQEAgc3ViIEdldEdSZXR1cm5NYWNybyB7CiAgICAgICAgIGlmIChQ
YXJhbUNhbkJlTnVsbCgkZnVuY3Rpb25OYW1lLCAkcGFyYW1OYW1lKSkgewogICAgICAgICAgICAg
cmV0dXJuICIiOwogICAgICAgICB9CisgICAgICAgIGlmICgkcGFyYW1JRExUeXBlIGVxICJDb21w
YXJlSG93IikgeworICAgICAgICAgICByZXR1cm4gIiI7CisgICAgICAgIH0KICAgICAgICAgJGNv
bmRpdGlvbiA9ICIkcGFyYW1OYW1lIjsKICAgICB9CiAK
</data>
<flag name="review"
          id="248956"
          type_id="1"
          status="-"
          setter="cgarcia"
    />
    <flag name="commit-queue"
          id="248957"
          type_id="3"
          status="-"
          setter="cgarcia"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225638</attachid>
            <date>2014-03-03 01:23:37 -0800</date>
            <delta_ts>2014-03-03 02:11:18 -0800</delta_ts>
            <desc>Proposed patch v2</desc>
            <filename>webkit-129145v2.patch</filename>
            <type>text/plain</type>
            <size>2950</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">RnJvbSA2MmI4MmE5MTA2ZGJkMWE1YTBjNTVkN2IwNDRhZjE3ZjViYjRhY2Q4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUb21hcyBQb3BlbGEgPHRwb3BlbGFAcmVkaGF0LmNvbT4KRGF0
ZTogTW9uLCAzIE1hciAyMDE0IDEwOjE5OjQ3ICswMTAwClN1YmplY3Q6IFtQQVRDSF0gMjAxNC0w
My0wMyAgVG9tYXMgUG9wZWxhICA8dHBvcGVsYUByZWRoYXQuY29tPgoKICAgICAgICBbR1RLXSB3
ZWJraXRfZG9tX3JhbmdlX2NvbXBhcmVfYm91bmRhcnlfcG9pbnRzIGZhaWxzIHdoZW4gMCBpcyBw
YXNzZWQgYXMgaG93IHBhcmFtZXRlcgogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjkxNDUKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CgogICAgICAgIFdoaWxlIGdlbmVyYXRpbmcgR09iamVjdCBET00gQVBJIHRoZSBnZW5lcmF0b3Ig
c2hvdWxkIHNraXAgbm9uIHBvaW50ZXIKICAgICAgICB0eXBlcyB3aGlsZSBnZW5lcmF0aW5nIHRo
ZSBnX3JldHVybl92YWxfaWZfZmFpbCBtYWNyby4KICAgICAgICBUaGlzIHdpbGwgYXZvaWQgdGhl
IHNpdHVhdGlvbiB3aGVuIFJhbmdlLlNUQVJUX1RPX1NUQVJUIGlzIGRlZmluZWQgYXMgMCwKICAg
ICAgICB0aHVzIHRoZSB3ZWJraXRfZG9tX3JhbmdlX2NvbXBhcmVfYm91bmRhcnlfcG9pbnRzIGZ1
bmN0aW9uIHdpbGwgZmFpbAogICAgICAgIGV2ZXJ5dGltZSBpdCBpcyBjYWxsZWQgd2l0aCAwIGFz
IGhvdyB2YWx1ZS4KCiAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2Jq
ZWN0LnBtOgogICAgICAgIChHZW5lcmF0ZUZ1bmN0aW9uKToKLS0tCiBTb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTYgKysrKysrKysrKysr
KysrKwogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVj
dC5wbSB8ICA1ICsrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDMgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGYwYjIzZjYuLjcwOWRjNzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOSBAQAorMjAxNC0wMy0wMyAgVG9tYXMgUG9wZWxhICA8dHBvcGVsYUByZWRoYXQu
Y29tPgorCisgICAgICAgIFtHVEtdIHdlYmtpdF9kb21fcmFuZ2VfY29tcGFyZV9ib3VuZGFyeV9w
b2ludHMgZmFpbHMgd2hlbiAwIGlzIHBhc3NlZCBhcyBob3cgcGFyYW1ldGVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjkxNDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGlsZSBnZW5lcmF0aW5nIEdP
YmplY3QgRE9NIEFQSSB0aGUgZ2VuZXJhdG9yIHNob3VsZCBza2lwIG5vbiBwb2ludGVyCisgICAg
ICAgIHR5cGVzIHdoaWxlIGdlbmVyYXRpbmcgdGhlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIG1hY3Jv
LgorICAgICAgICBUaGlzIHdpbGwgYXZvaWQgdGhlIHNpdHVhdGlvbiB3aGVuIFJhbmdlLlNUQVJU
X1RPX1NUQVJUIGlzIGRlZmluZWQgYXMgMCwKKyAgICAgICAgdGh1cyB0aGUgd2Via2l0X2RvbV9y
YW5nZV9jb21wYXJlX2JvdW5kYXJ5X3BvaW50cyBmdW5jdGlvbiB3aWxsIGZhaWwKKyAgICAgICAg
ZXZlcnl0aW1lIGl0IGlzIGNhbGxlZCB3aXRoIDAgYXMgaG93IHZhbHVlLgorCisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKKyAgICAgICAgKEdlbmVy
YXRlRnVuY3Rpb24pOgorCiAyMDE0LTAzLTAzICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNh
bHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTXVsdGltZWRpYSBjb250cm9scyBj
YXB0aW9ucyBpY29uIG5lZWRzIGl0cyBvd24gbWV0YXBob3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCmluZGV4IDFi
Y2ZiYWMuLmM4YWI5NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQpAQCAtMTA1Myw5ICsxMDUzLDggQEAgc3Vi
IEdlbmVyYXRlRnVuY3Rpb24gewogICAgIGZvcmVhY2ggbXkgJHBhcmFtIChAeyRmdW5jdGlvbi0+
cGFyYW1ldGVyc30pIHsKICAgICAgICAgbXkgJHBhcmFtTmFtZSA9ICRwYXJhbS0+bmFtZTsKICAg
ICAgICAgbXkgJHBhcmFtSURMVHlwZSA9ICRwYXJhbS0+dHlwZTsKLSAgICAgICAgbXkgJHBhcmFt
VHlwZUlzUHJpbWl0aXZlID0gJGNvZGVHZW5lcmF0b3ItPklzUHJpbWl0aXZlVHlwZSgkcGFyYW1J
RExUeXBlKTsKLSAgICAgICAgbXkgJHBhcmFtSXNHRE9NVHlwZSA9IElzR0RPTUNsYXNzVHlwZSgk
cGFyYW1JRExUeXBlKTsKLSAgICAgICAgaWYgKCEkcGFyYW1UeXBlSXNQcmltaXRpdmUpIHsKKyAg
ICAgICAgbXkgJHBhcmFtVHlwZUlzUG9pbnRlciA9ICEkY29kZUdlbmVyYXRvci0+SXNOb25Qb2lu
dGVyVHlwZSgkcGFyYW1JRExUeXBlKTsKKyAgICAgICAgaWYgKCRwYXJhbVR5cGVJc1BvaW50ZXIp
IHsKICAgICAgICAgICAgICRnUmV0dXJuTWFjcm8gPSBHZXRHUmV0dXJuTWFjcm8oJHBhcmFtTmFt
ZSwgJHBhcmFtSURMVHlwZSwgJHJldHVyblR5cGUsICRmdW5jdGlvbk5hbWUpOwogICAgICAgICAg
ICAgcHVzaChAY0JvZHksICRnUmV0dXJuTWFjcm8pOwogICAgICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>