Title: [159411] trunk/Source/WebCore
Revision
159411
Author
[email protected]
Date
2013-11-18 03:05:47 -0800 (Mon, 18 Nov 2013)

Log Message

REGRESSION(r158821): [GTK] API break due to removed properties in GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=124489

Reviewed by Philippe Normand.

In r158821, several properties were changed from readonly to
CustomSetter. The GObject DOM bindings currently skips any
attribute having a custom getter or setter, and those properties
are not generated anymore. We should add support for generating
attributes having a custom getter or setter in GObject DOM
bindings generator, but to fix the ABI break now we bring the old
implementatiom back as custom implementation. This fixes the ABI
compatibility, but not the API since the GObject properties are
not generated.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_audio_track_get_kind):
(webkit_dom_audio_track_get_language):
(webkit_dom_text_track_get_kind):
(webkit_dom_text_track_get_language):
(webkit_dom_video_track_get_kind):
(webkit_dom_video_track_get_language):
* bindings/gobject/WebKitDOMCustom.h:
* bindings/gobject/WebKitDOMCustom.symbols:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (159410 => 159411)


--- trunk/Source/WebCore/ChangeLog	2013-11-18 10:22:11 UTC (rev 159410)
+++ trunk/Source/WebCore/ChangeLog	2013-11-18 11:05:47 UTC (rev 159411)
@@ -1,5 +1,32 @@
 2013-11-18  Carlos Garcia Campos  <[email protected]>
 
+        REGRESSION(r158821): [GTK] API break due to removed properties in GObject DOM bindings
+        https://bugs.webkit.org/show_bug.cgi?id=124489
+
+        Reviewed by Philippe Normand.
+
+        In r158821, several properties were changed from readonly to
+        CustomSetter. The GObject DOM bindings currently skips any
+        attribute having a custom getter or setter, and those properties
+        are not generated anymore. We should add support for generating
+        attributes having a custom getter or setter in GObject DOM
+        bindings generator, but to fix the ABI break now we bring the old
+        implementatiom back as custom implementation. This fixes the ABI
+        compatibility, but not the API since the GObject properties are
+        not generated.
+
+        * bindings/gobject/WebKitDOMCustom.cpp:
+        (webkit_dom_audio_track_get_kind):
+        (webkit_dom_audio_track_get_language):
+        (webkit_dom_text_track_get_kind):
+        (webkit_dom_text_track_get_language):
+        (webkit_dom_video_track_get_kind):
+        (webkit_dom_video_track_get_language):
+        * bindings/gobject/WebKitDOMCustom.h:
+        * bindings/gobject/WebKitDOMCustom.symbols:
+
+2013-11-18  Carlos Garcia Campos  <[email protected]>
+
         Unreviewed. Update GObject DOM symbols file after r158662.
 
         * bindings/gobject/webkitdom.symbols: Add missing prototypes.

Modified: trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp (159410 => 159411)


--- trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp	2013-11-18 10:22:11 UTC (rev 159410)
+++ trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp	2013-11-18 11:05:47 UTC (rev 159411)
@@ -20,6 +20,7 @@
 #include "WebKitDOMCustom.h"
 
 #include "JSMainThreadExecState.h"
+#include "WebKitDOMAudioTrackPrivate.h"
 #include "WebKitDOMBlob.h"
 #include "WebKitDOMDOMStringList.h"
 #include "WebKitDOMHTMLCollection.h"
@@ -34,7 +35,10 @@
 #include "WebKitDOMObject.h"
 #include "WebKitDOMPrivate.h"
 #include "WebKitDOMProcessingInstruction.h"
+#include "WebKitDOMTextTrackPrivate.h"
+#include "WebKitDOMVideoTrackPrivate.h"
 #include "WebKitDOMWebKitNamedFlow.h"
+#include "gobject/ConvertToUTF8String.h"
 
 using namespace WebKit;
 
@@ -64,6 +68,90 @@
 #endif /* ENABLE(VIDEO) */
 }
 
+gchar* webkit_dom_audio_track_get_kind(WebKitDOMAudioTrack* self)
+{
+#if ENABLE(VIDEO_TRACK)
+    WebCore::JSMainThreadNullState state;
+    g_return_val_if_fail(WEBKIT_DOM_IS_AUDIO_TRACK(self), 0);
+    WebCore::AudioTrack* item = WebKit::core(self);
+    gchar* result = convertToUTF8String(item->kind());
+    return result;
+#else
+    WEBKIT_WARN_FEATURE_NOT_PRESENT("Video Track")
+    return 0;
+#endif /* ENABLE(VIDEO_TRACK) */
+}
+
+gchar* webkit_dom_audio_track_get_language(WebKitDOMAudioTrack* self)
+{
+#if ENABLE(VIDEO_TRACK)
+    WebCore::JSMainThreadNullState state;
+    g_return_val_if_fail(WEBKIT_DOM_IS_AUDIO_TRACK(self), 0);
+    WebCore::AudioTrack* item = WebKit::core(self);
+    gchar* result = convertToUTF8String(item->language());
+    return result;
+#else
+    WEBKIT_WARN_FEATURE_NOT_PRESENT("Video Track")
+    return 0;
+#endif /* ENABLE(VIDEO_TRACK) */
+}
+
+gchar* webkit_dom_text_track_get_kind(WebKitDOMTextTrack* self)
+{
+#if ENABLE(VIDEO_TRACK)
+    WebCore::JSMainThreadNullState state;
+    g_return_val_if_fail(WEBKIT_DOM_IS_TEXT_TRACK(self), 0);
+    WebCore::TextTrack* item = WebKit::core(self);
+    gchar* result = convertToUTF8String(item->kind());
+    return result;
+#else
+    WEBKIT_WARN_FEATURE_NOT_PRESENT("Video Track")
+    return 0;
+#endif /* ENABLE(VIDEO_TRACK) */
+}
+
+gchar* webkit_dom_text_track_get_language(WebKitDOMTextTrack* self)
+{
+#if ENABLE(VIDEO_TRACK)
+    WebCore::JSMainThreadNullState state;
+    g_return_val_if_fail(WEBKIT_DOM_IS_TEXT_TRACK(self), 0);
+    WebCore::TextTrack* item = WebKit::core(self);
+    gchar* result = convertToUTF8String(item->language());
+    return result;
+#else
+    WEBKIT_WARN_FEATURE_NOT_PRESENT("Video Track")
+    return 0;
+#endif /* ENABLE(VIDEO_TRACK) */
+}
+
+gchar* webkit_dom_video_track_get_kind(WebKitDOMVideoTrack* self)
+{
+#if ENABLE(VIDEO_TRACK)
+    WebCore::JSMainThreadNullState state;
+    g_return_val_if_fail(WEBKIT_DOM_IS_VIDEO_TRACK(self), 0);
+    WebCore::VideoTrack* item = WebKit::core(self);
+    gchar* result = convertToUTF8String(item->kind());
+    return result;
+#else
+    WEBKIT_WARN_FEATURE_NOT_PRESENT("Video Track")
+    return 0;
+#endif /* ENABLE(VIDEO_TRACK) */
+}
+
+gchar* webkit_dom_video_track_get_language(WebKitDOMVideoTrack* self)
+{
+#if ENABLE(VIDEO_TRACK)
+    WebCore::JSMainThreadNullState state;
+    g_return_val_if_fail(WEBKIT_DOM_IS_VIDEO_TRACK(self), 0);
+    WebCore::VideoTrack* item = WebKit::core(self);
+    gchar* result = convertToUTF8String(item->language());
+    return result;
+#else
+    WEBKIT_WARN_FEATURE_NOT_PRESENT("Video Track")
+    return 0;
+#endif /* ENABLE(VIDEO_TRACK) */
+}
+
 /* 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 (159410 => 159411)


--- trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.h	2013-11-18 10:22:11 UTC (rev 159410)
+++ trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.h	2013-11-18 11:05:47 UTC (rev 159411)
@@ -51,6 +51,54 @@
 WEBKIT_API gboolean webkit_dom_html_input_element_is_edited(WebKitDOMHTMLInputElement* input);
 
 /**
+ * webkit_dom_audio_track_get_kind:
+ * @self: A #WebKitDOMAudioTrack
+ *
+ * Returns: A #gchar
+ */
+WEBKIT_API gchar* webkit_dom_audio_track_get_kind(WebKitDOMAudioTrack* self);
+
+/**
+ * webkit_dom_audio_track_get_language:
+ * @self: A #WebKitDOMAudioTrack
+ *
+ * Returns: A #gchar
+ */
+WEBKIT_API gchar* webkit_dom_audio_track_get_language(WebKitDOMAudioTrack* self);
+
+/**
+ * webkit_dom_text_track_get_kind:
+ * @self: A #WebKitDOMTextTrack
+ *
+ * Returns: A #gchar
+ */
+WEBKIT_API gchar* webkit_dom_text_track_get_kind(WebKitDOMTextTrack* self);
+
+/**
+ * webkit_dom_text_track_get_language:
+ * @self: A #WebKitDOMTextTrack
+ *
+ * Returns: A #gchar
+ */
+WEBKIT_API gchar* webkit_dom_text_track_get_language(WebKitDOMTextTrack* self);
+
+/**
+ * webkit_dom_video_track_get_kind:
+ * @self: A #WebKitDOMVideoTrack
+ *
+ * Returns: A #gchar
+ */
+WEBKIT_API gchar* webkit_dom_video_track_get_kind(WebKitDOMVideoTrack* self);
+
+/**
+ * webkit_dom_video_track_get_language:
+ * @self: A #WebKitDOMVideoTrack
+ *
+ * Returns: A #gchar
+ */
+WEBKIT_API gchar* webkit_dom_video_track_get_language(WebKitDOMVideoTrack* self);
+
+/**
  * webkit_dom_blob_webkit_slice:
  * @self: A #WebKitDOMBlob
  * @start: A #gint64

Modified: trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols (159410 => 159411)


--- trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols	2013-11-18 10:22:11 UTC (rev 159410)
+++ trunk/Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols	2013-11-18 11:05:47 UTC (rev 159411)
@@ -1,6 +1,12 @@
 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**)
+gchar* webkit_dom_audio_track_get_kind(WebKitDOMAudioTrack*)
+gchar* webkit_dom_audio_track_get_language(WebKitDOMAudioTrack*)
+gchar* webkit_dom_text_track_get_kind(WebKitDOMTextTrack*)
+gchar* webkit_dom_text_track_get_language(WebKitDOMTextTrack*)
+gchar* webkit_dom_video_track_get_kind(WebKitDOMVideoTrack*)
+gchar* webkit_dom_video_track_get_language(WebKitDOMVideoTrack*)
 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*)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to