<?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>153786</bug_id>
          
          <creation_ts>2016-02-02 06:31:35 -0800</creation_ts>
          <short_desc>[GTK] Use G_TYPE_ERROR instead of G_TYPE_POINTER for GError parameters of signals</short_desc>
          <delta_ts>2016-02-18 19:51:08 -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>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Iñaki García Etxebarria">garetxe</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1161260</commentid>
    <comment_count>0</comment_count>
    <who name="Iñaki García Etxebarria">garetxe</who>
    <bug_when>2016-02-02 06:31:35 -0800</bug_when>
    <thetext>The type for the &quot;load-failed&quot; signal of WebKitWebView (in WebKit2):
http://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#WebKitWebView-load-failed
is

gboolean
user_function (WebKitWebView  *web_view,
               WebKitLoadEvent load_event,
               gchar          *failing_uri,
               gpointer        error,
               gpointer        user_data)

Notice that the fourth argument, &quot;error&quot;, is of type GError*, but its type is given to be a generic gpointer. This is inconvenient for language bindings, since the type of &quot;error&quot;, being a raw pointer, needs to be cast by hand to GError before being usable.

The analogous signal in WebKit1 (? The API before WebKit2), WebkitWebView::load-error has the corresponding argument appropriately marked as &quot;GError*&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161316</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-02-02 10:44:24 -0800</bug_when>
    <thetext>I think it&apos;s safe to fix this?

I noticed this but left it alone thinking we might break bindings if we change it. If bindings folks want us to change it....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161318</commentid>
    <comment_count>2</comment_count>
    <who name="Iñaki García Etxebarria">garetxe</who>
    <bug_when>2016-02-02 10:52:46 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; I noticed this but left it alone thinking we might break bindings if we
&gt; change it. If bindings folks want us to change it....

Just FYI, I am the maintainer of the gobject-introspection (GI) bindings for Haskell (which includes the GI-based WebKit2 bindings), and it would certainly be desirable to fix this for us, even if it is an API break.

But I cannot speak for other languages, of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166004</commentid>
    <comment_count>3</comment_count>
      <attachid>271655</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-18 05:53:04 -0800</bug_when>
    <thetext>Created attachment 271655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166005</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-18 05:54:53 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166006</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-18 05:55:00 -0800</bug_when>
    <thetext>Attachment 271655 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitPrintOperation.cpp:205:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitPrintOperation.cpp:207:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp:269:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp:271:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:1083:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:1087:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp:198:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp:200:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 8 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166009</commentid>
    <comment_count>6</comment_count>
      <attachid>271655</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-02-18 06:05:26 -0800</bug_when>
    <thetext>Comment on attachment 271655
Patch

Something to think about in the future, from https://developer.gnome.org/gobject/unstable/howto-signals.html:

&quot;The C signal marshaller should always be NULL, in which case the best marshaller for the given closure type will be chosen by GLib. This may be an internal marshaller specific to the closure type, or g_cclosure_marshal_generic, which implements generic conversion of arrays of parameters to C callback invocations. GLib used to require the user to write or generate a type-specific marshaller and pass that, but that has been deprecated in favour of automatic selection of marshallers.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166032</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-18 08:12:28 -0800</bug_when>
    <thetext>Committed r196755: &lt;http://trac.webkit.org/changeset/196755&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166289</commentid>
    <comment_count>8</comment_count>
    <who name="Iñaki García Etxebarria">garetxe</who>
    <bug_when>2016-02-18 19:51:08 -0800</bug_when>
    <thetext>Wonderful, thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271655</attachid>
            <date>2016-02-18 05:53:04 -0800</date>
            <delta_ts>2016-02-18 06:05:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-error-signals.diff</filename>
            <type>text/plain</type>
            <size>4899</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA2ZTdhZjI4Li5kNTdmMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTYtMDItMTggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFVzZSBHX1RZUEVfRVJST1IgaW5zdGVhZCBvZiBHX1RZUEVfUE9J
TlRFUiBmb3IgR0Vycm9yIHBhcmFtZXRlcnMgb2Ygc2lnbmFscworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNzg2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQncyBiaW5hcnkgY29tcGF0aWJsZSBhbmQg
aXQncyBuZWVkZWQgYnkgYmluZGluZyBnZW5lcmF0b3IgdG8KKyAgICAgICAgcHJvcGVybHkgaWRl
bnRpZnkgdGhvc2UgcGFyYW1ldGVycyBhcyBHRXJyb3IuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXREb3dubG9hZC5jcHA6CisgICAgICAgICh3ZWJraXRfZG93bmxvYWRfY2xh
c3NfaW5pdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UHJpbnRPcGVyYXRp
b24uY3BwOgorICAgICAgICAod2Via2l0X3ByaW50X29wZXJhdGlvbl9jbGFzc19pbml0KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJSZXNvdXJjZS5jcHA6CisgICAgICAg
ICh3ZWJraXRfd2ViX3Jlc291cmNlX2NsYXNzX2luaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2NsYXNz
X2luaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3dlYmtpdDJtYXJzaGFsLmxpc3Q6
CisKIDIwMTYtMDItMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAg
ICAgIE1vZGVybiBJREI6IFJlbmFtZSBzb21lICJVbmlxdWVJREJEYXRhYmFzZSIgY2xhc3NlcyB0
aGF0IGNvbmZsaWN0IHdpdGggbmV3IGNsYXNzZXMgaW4gV2ViQ29yZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdERvd25sb2FkLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdERvd25sb2FkLmNwcAppbmRleCA0YjRl
Mzc0Li41YWQzY2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXREb3dubG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0RG93bmxvYWQuY3BwCkBAIC0yNjYsOSArMjY2LDkgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0X2Rvd25sb2FkX2NsYXNzX2luaXQoV2ViS2l0RG93bmxvYWRDbGFzcyogZG93bmxvYWRDbGFz
cykKICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNTKG9iamVjdENsYXNzKSwK
ICAgICAgICAgICAgICAgICAgICAgIEdfU0lHTkFMX1JVTl9MQVNULAogICAgICAgICAgICAgICAg
ICAgICAgMCwgMCwgMCwKLSAgICAgICAgICAgICAgICAgICAgIGdfY2Nsb3N1cmVfbWFyc2hhbF9W
T0lEX19QT0lOVEVSLAorICAgICAgICAgICAgICAgICAgICAgZ19jY2xvc3VyZV9tYXJzaGFsX1ZP
SURfX0JPWEVELAogICAgICAgICAgICAgICAgICAgICAgR19UWVBFX05PTkUsIDEsCi0gICAgICAg
ICAgICAgICAgICAgICBHX1RZUEVfUE9JTlRFUik7CisgICAgICAgICAgICAgICAgICAgICBHX1RZ
UEVfRVJST1IgfCBHX1NJR05BTF9UWVBFX1NUQVRJQ19TQ09QRSk7CiAKICAgICAvKioKICAgICAg
KiBXZWJLaXREb3dubG9hZDo6ZGVjaWRlLWRlc3RpbmF0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UHJpbnRPcGVyYXRpb24uY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UHJpbnRPcGVyYXRpb24uY3BwCmlu
ZGV4IGE2ZTUyNGIuLjZiZGRlYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFByaW50T3BlcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQcmludE9wZXJhdGlvbi5jcHAKQEAgLTIwMiw5ICsyMDIs
OSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfcHJpbnRfb3BlcmF0aW9uX2NsYXNzX2luaXQoV2ViS2l0
UHJpbnRPcGVyYXRpb25DbGFzcyogcHJpbnRPcAogICAgICAgICAgICAgICAgICAgICAgR19UWVBF
X0ZST01fQ0xBU1MoZ09iamVjdENsYXNzKSwKICAgICAgICAgICAgICAgICAgICAgIEdfU0lHTkFM
X1JVTl9MQVNULAogICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwKLSAgICAgICAgICAgICAg
ICAgICAgIGdfY2Nsb3N1cmVfbWFyc2hhbF9WT0lEX19QT0lOVEVSLAorICAgICAgICAgICAgICAg
ICAgICAgZ19jY2xvc3VyZV9tYXJzaGFsX1ZPSURfX0JPWEVELAogICAgICAgICAgICAgICAgICAg
ICAgR19UWVBFX05PTkUsIDEsCi0gICAgICAgICAgICAgICAgICAgICBHX1RZUEVfUE9JTlRFUik7
CisgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfRVJST1IgfCBHX1NJR05BTF9UWVBFX1NUQVRJ
Q19TQ09QRSk7CiB9CiAKICNpZiBIQVZFKEdUS19VTklYX1BSSU5USU5HKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViUmVzb3VyY2UuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViUmVzb3VyY2UuY3BwCmlu
ZGV4IGRiYTdmNzAuLmU5MDVhZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJSZXNvdXJjZS5jcHAKQEAgLTE5NSw5ICsxOTUsOSBAQCBz
dGF0aWMgdm9pZCB3ZWJraXRfd2ViX3Jlc291cmNlX2NsYXNzX2luaXQoV2ViS2l0V2ViUmVzb3Vy
Y2VDbGFzcyogcmVzb3VyY2VDbGFzcwogICAgICAgICAgICAgICAgICAgICAgR19UWVBFX0ZST01f
Q0xBU1Mob2JqZWN0Q2xhc3MpLAogICAgICAgICAgICAgICAgICAgICAgR19TSUdOQUxfUlVOX0xB
U1QsCiAgICAgICAgICAgICAgICAgICAgICAwLCAwLCAwLAotICAgICAgICAgICAgICAgICAgICAg
Z19jY2xvc3VyZV9tYXJzaGFsX1ZPSURfX1BPSU5URVIsCisgICAgICAgICAgICAgICAgICAgICBn
X2NjbG9zdXJlX21hcnNoYWxfVk9JRF9fQk9YRUQsCiAgICAgICAgICAgICAgICAgICAgICBHX1RZ
UEVfTk9ORSwgMSwKLSAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9QT0lOVEVSKTsKKyAgICAg
ICAgICAgICAgICAgICAgIEdfVFlQRV9FUlJPUiB8IEdfU0lHTkFMX1RZUEVfU1RBVElDX1NDT1BF
KTsKIAogICAgIC8qKgogICAgICAqIFdlYktpdFdlYlJlc291cmNlOjpmYWlsZWQtd2l0aC10bHMt
ZXJyb3JzOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3LmNwcAppbmRleCA0NzcwZGM0Li4xMmYzMjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMTA4MCwxMSArMTA4
MCwxMSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRXZWJW
aWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykKICAgICAgICAgICAgICAgICAgICAgIEdfU0lHTkFMX1JV
Tl9MQVNULAogICAgICAgICAgICAgICAgICAgICAgR19TVFJVQ1RfT0ZGU0VUKFdlYktpdFdlYlZp
ZXdDbGFzcywgbG9hZF9mYWlsZWQpLAogICAgICAgICAgICAgICAgICAgICAgZ19zaWduYWxfYWNj
dW11bGF0b3JfdHJ1ZV9oYW5kbGVkLCAwLAotICAgICAgICAgICAgICAgICAgICAgd2Via2l0X21h
cnNoYWxfQk9PTEVBTl9fRU5VTV9TVFJJTkdfUE9JTlRFUiwKKyAgICAgICAgICAgICAgICAgICAg
IGdfY2Nsb3N1cmVfbWFyc2hhbF9nZW5lcmljLAogICAgICAgICAgICAgICAgICAgICAgR19UWVBF
X0JPT0xFQU4sIDMsCiAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9MT0FEX0VWRU5U
LAogICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORywKLSAgICAgICAgICAgICAgICAg
ICAgIEdfVFlQRV9QT0lOVEVSKTsKKyAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9FUlJPUiB8
IEdfU0lHTkFMX1RZUEVfU1RBVElDX1NDT1BFKTsKIAogICAgIC8qKgogICAgICAqIFdlYktpdFdl
YlZpZXc6OmxvYWQtZmFpbGVkLXdpdGgtdGxzLWVycm9yczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3dlYmtpdDJtYXJzaGFsLmxpc3QgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay93ZWJraXQybWFyc2hhbC5saXN0CmluZGV4IGUxY2ZlMDcu
LmQ2Mzg2NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3dl
YmtpdDJtYXJzaGFsLmxpc3QKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
d2Via2l0Mm1hcnNoYWwubGlzdApAQCAtMSw2ICsxLDUgQEAKIEJPT0xFQU46Qk9YRUQKIEJPT0xF
QU46Qk9YRUQsU1RSSU5HCi1CT09MRUFOOkVOVU0sU1RSSU5HLFBPSU5URVIKIEJPT0xFQU46T0JK
RUNUCiBCT09MRUFOOk9CSkVDVCxCT1hFRCxPQkpFQ1QKIEJPT0xFQU46T0JKRUNULEVOVU0K
</data>
<flag name="review"
          id="296481"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>