Title: [159406] trunk/Source/WebCore
Revision
159406
Author
[email protected]
Date
2013-11-18 01:51:54 -0800 (Mon, 18 Nov 2013)

Log Message

REGRESSION(r159363): [GTK] API break in webkit_dom_html_media_element_set_current_time
https://bugs.webkit.org/show_bug.cgi?id=124485

Reviewed by Philippe Normand.

In r159363 currentTime attribute was changed to not raise
exceptions. This breaks the API of GObject DOM bindings because we
use a GError parameter for exceptions that has been removed.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_html_media_element_set_current_time): Custom
implementation that receives a GError for backwards
compatibility.
* bindings/gobject/WebKitDOMCustom.h:
* bindings/gobject/WebKitDOMCustom.symbols: Add
webkit_dom_html_media_element_set_current_time prototype.
* bindings/scripts/CodeGeneratorGObject.pm:
(SkipFunction): Skip
webkit_dom_html_media_element_set_current_time since we are adding
a custom implementation.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (159405 => 159406)


--- trunk/Source/WebCore/ChangeLog	2013-11-18 09:20:13 UTC (rev 159405)
+++ trunk/Source/WebCore/ChangeLog	2013-11-18 09:51:54 UTC (rev 159406)
@@ -1,3 +1,26 @@
+2013-11-18  Carlos Garcia Campos  <[email protected]>
+
+        REGRESSION(r159363): [GTK] API break in webkit_dom_html_media_element_set_current_time
+        https://bugs.webkit.org/show_bug.cgi?id=124485
+
+        Reviewed by Philippe Normand.
+
+        In r159363 currentTime attribute was changed to not raise
+        exceptions. This breaks the API of GObject DOM bindings because we
+        use a GError parameter for exceptions that has been removed.
+
+        * bindings/gobject/WebKitDOMCustom.cpp:
+        (webkit_dom_html_media_element_set_current_time): Custom
+        implementation that receives a GError for backwards
+        compatibility.
+        * bindings/gobject/WebKitDOMCustom.h:
+        * bindings/gobject/WebKitDOMCustom.symbols: Add
+        webkit_dom_html_media_element_set_current_time prototype.
+        * bindings/scripts/CodeGeneratorGObject.pm:
+        (SkipFunction): Skip
+        webkit_dom_html_media_element_set_current_time since we are adding
+        a custom implementation.
+
 2013-11-17  Alexey Proskuryakov  <[email protected]>
 
         Support exporting public RSASSA-PKCS1-v1_5 keys

Modified: trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp (159405 => 159406)


--- trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp	2013-11-18 09:20:13 UTC (rev 159405)
+++ trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp	2013-11-18 09:51:54 UTC (rev 159406)
@@ -19,6 +19,7 @@
 #include "config.h"
 #include "WebKitDOMCustom.h"
 
+#include "JSMainThreadExecState.h"
 #include "WebKitDOMBlob.h"
 #include "WebKitDOMDOMStringList.h"
 #include "WebKitDOMHTMLCollection.h"
@@ -26,6 +27,7 @@
 #include "WebKitDOMHTMLHeadElement.h"
 #include "WebKitDOMHTMLInputElement.h"
 #include "WebKitDOMHTMLInputElementPrivate.h"
+#include "WebKitDOMHTMLMediaElementPrivate.h"
 #include "WebKitDOMHTMLTextAreaElement.h"
 #include "WebKitDOMHTMLTextAreaElementPrivate.h"
 #include "WebKitDOMNodeList.h"
@@ -50,6 +52,18 @@
     return core(input)->lastChangeWasUserEdit();
 }
 
+void webkit_dom_html_media_element_set_current_time(WebKitDOMHTMLMediaElement* self, gdouble value, GError**)
+{
+#if ENABLE(VIDEO)
+    WebCore::JSMainThreadNullState state;
+    g_return_if_fail(WEBKIT_DOM_IS_HTML_MEDIA_ELEMENT(self));
+    WebCore::HTMLMediaElement* item = WebKit::core(self);
+    item->setCurrentTime(value);
+#else
+    WEBKIT_WARN_FEATURE_NOT_PRESENT("Video")
+#endif /* ENABLE(VIDEO) */
+}
+
 /* Compatibility */
 WebKitDOMBlob* webkit_dom_blob_webkit_slice(WebKitDOMBlob* self, gint64 start, gint64 end, const gchar* content_type)
 {

Modified: trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.h (159405 => 159406)


--- trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.h	2013-11-18 09:20:13 UTC (rev 159405)
+++ trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.h	2013-11-18 09:51:54 UTC (rev 159406)
@@ -34,6 +34,15 @@
 WEBKIT_API gboolean webkit_dom_html_text_area_element_is_edited(WebKitDOMHTMLTextAreaElement* input);
 
 /**
+ * webkit_dom_html_media_element_set_current_time:
+ * @self: A #WebKitDOMHTMLMediaElement
+ * @value: A #gdouble
+ * @error: #GError
+ *
+ */
+WEBKIT_API void webkit_dom_html_media_element_set_current_time(WebKitDOMHTMLMediaElement* self, gdouble value, GError** error);
+
+/**
  * webkit_dom_html_input_element_is_edited:
  * @input: A #WebKitDOMHTMLInputElement
  *

Modified: trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols (159405 => 159406)


--- trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols	2013-11-18 09:20:13 UTC (rev 159405)
+++ trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols	2013-11-18 09:51:54 UTC (rev 159406)
@@ -1,5 +1,6 @@
 gboolean webkit_dom_html_text_area_element_is_edited(WebKitDOMHTMLTextAreaElement*)
 gboolean webkit_dom_html_input_element_is_edited(WebKitDOMHTMLInputElement*)
+void webkit_dom_html_media_element_set_current_time(WebKitDOMHTMLMediaElement*, gdouble, GError**)
 WebKitDOMBlob* webkit_dom_blob_webkit_slice(WebKitDOMBlob*, gint64, gint64, const gchar*)
 gchar* webkit_dom_html_element_get_class_name(WebKitDOMHTMLElement*)
 void webkit_dom_html_element_set_class_name(WebKitDOMHTMLElement*, const gchar*)

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm (159405 => 159406)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm	2013-11-18 09:20:13 UTC (rev 159405)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm	2013-11-18 09:51:54 UTC (rev 159406)
@@ -278,6 +278,11 @@
         }
     }
 
+    # Skip functions for which we have a custom implementation due to API breaks
+    if ($functionName eq "webkit_dom_html_media_element_set_current_time") {
+        return 1;
+    }
+
     # This is for DataTransferItemList.idl add(File) method
     if ($functionName eq "webkit_dom_data_transfer_item_list_add" && @{$function->parameters} == 1) {
         return 1;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to