Adapted from https://bugs.gentoo.org/show_bug.cgi?id=588764

--- src/lightdm-webkit-greeter.c.orig	2016-01-10 20:42:31.000000000 +0100
+++ src/lightdm-webkit-greeter.c	2017-12-08 14:46:55.984757329 +0100
@@ -532,13 +532,14 @@
                          JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef * exception)
 {
   gchar *name = NULL;
+  GError *error = NULL;
 
   if (argumentCount > 0)
       name = arg_to_string (context, arguments[0], exception);
   else
       name = NULL;
 
-  lightdm_greeter_authenticate (GREETER, name);
+  lightdm_greeter_authenticate (GREETER, name, &error);
 
   g_free (name);
   return JSValueMakeNull (context);
@@ -549,7 +550,9 @@
                          JSObjectRef function,
                          JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef * exception)
 {
-  lightdm_greeter_authenticate_as_guest (GREETER);
+  GError *error = NULL;
+
+  lightdm_greeter_authenticate_as_guest (GREETER, &error);
   return JSValueMakeNull (context);
 }
 
@@ -580,6 +583,7 @@
             JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef * exception)
 {
   gchar *response;
+  GError *error = NULL;
 
   if (argumentCount != 1)
       return mkexception (context, exception, "Response not supplied");
@@ -588,7 +592,7 @@
   if (!response)
     return JSValueMakeNull (context);
 
-  lightdm_greeter_respond (GREETER, response);
+  lightdm_greeter_respond (GREETER, response, &error);
 
   g_free (response);
   return JSValueMakeNull (context);
@@ -599,7 +603,9 @@
                           JSObjectRef function,
                           JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef * exception)
 {
-  lightdm_greeter_cancel_authentication (GREETER);
+  GError *error = NULL;
+
+  lightdm_greeter_cancel_authentication (GREETER, &error);
   return JSValueMakeNull (context);
 }
 
@@ -723,6 +729,7 @@
                  JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef * exception)
 {
   gchar *language;
+  GError *error = NULL;
 
   if (argumentCount != 1)
       return mkexception (context, exception, "Language not supplied");
@@ -731,7 +738,7 @@
   if (!language)
     return JSValueMakeNull (context);
 
-  lightdm_greeter_set_language (GREETER, language);
+  lightdm_greeter_set_language (GREETER, language, &error);
 
   g_free (language);
   return JSValueMakeNull (context);
