Title: [115341] trunk
Revision
115341
Author
[email protected]
Date
2012-04-26 12:48:31 -0700 (Thu, 26 Apr 2012)

Log Message

[EFL] Enable VIDEO_TRACK feature
https://bugs.webkit.org/show_bug.cgi?id=84830

Patch by Christophe Dumez <[email protected]> on 2012-04-26
Reviewed by Gustavo Noronha Silva.

.:

Enable VIDEO_TRACK feature by default on EFL port.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/WebCore:

Enable support for VIDEO_TRACK feature by default for EFL port.

* UseJSC.cmake:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):

Source/WebKit:

Enable VIDEO_TRACK feature by default for EFL port.

* PlatformEfl.cmake:

Source/WebKit/efl:

Add functions on the ewk_view to toggle runtime support for text
tracks in HTML5 video.

* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
(ewk_view_setting_should_display_subtitles_get):
(ewk_view_setting_should_display_subtitles_set):
(ewk_view_setting_should_display_captions_get):
(ewk_view_setting_should_display_captions_set):
(ewk_view_setting_should_display_text_descriptions_get):
(ewk_view_setting_should_display_text_descriptions_set):
* ewk/ewk_view.h:

Tools:

Enable VIDEO_TRACK by default on EFL port whenever build-webkit is
used.

* Scripts/build-webkit:

LayoutTests:

Unskip test cases which requires the VIDEO_TRACK feature now that it
is enabled by default for EFL port.

* platform/efl/Skipped:

Modified Paths

Diff

Modified: trunk/ChangeLog (115340 => 115341)


--- trunk/ChangeLog	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/ChangeLog	2012-04-26 19:48:31 UTC (rev 115341)
@@ -1,3 +1,16 @@
+2012-04-26  Christophe Dumez  <[email protected]>
+
+        [EFL] Enable VIDEO_TRACK feature
+        https://bugs.webkit.org/show_bug.cgi?id=84830
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Enable VIDEO_TRACK feature by default on EFL port.
+
+        * Source/cmake/OptionsEfl.cmake:
+        * Source/cmake/WebKitFeatures.cmake:
+        * Source/cmakeconfig.h.cmake:
+
 2012-04-24  Kent Tamura  <[email protected]>
 
         Calendar Picker: Resize to minimal size to fit the content

Modified: trunk/LayoutTests/ChangeLog (115340 => 115341)


--- trunk/LayoutTests/ChangeLog	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/LayoutTests/ChangeLog	2012-04-26 19:48:31 UTC (rev 115341)
@@ -1,3 +1,15 @@
+2012-04-26  Christophe Dumez  <[email protected]>
+
+        [EFL] Enable VIDEO_TRACK feature
+        https://bugs.webkit.org/show_bug.cgi?id=84830
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Unskip test cases which requires the VIDEO_TRACK feature now that it
+        is enabled by default for EFL port.
+
+        * platform/efl/Skipped:
+
 2012-04-03  Robert Hogan  <[email protected]>
 
         new-webkit-run-tests: handle ref tests from the CSS test suite

Modified: trunk/LayoutTests/platform/efl/Skipped (115340 => 115341)


--- trunk/LayoutTests/platform/efl/Skipped	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/LayoutTests/platform/efl/Skipped	2012-04-26 19:48:31 UTC (rev 115341)
@@ -783,11 +783,6 @@
 # The EFL port has no support for webaudio
 webaudio
 
-# The EFL port has no support for <track> with *.vtt
-media/track
-fast/events/constructors/track-event-constructor.html
-http/tests/security/text-track-crossorigin.html
-
 # The EFL port has no support for loading a PDF as an image
 fast/images/pdf-as-background.html
 fast/images/pdf-as-image-landscape.html

Modified: trunk/Source/WebCore/ChangeLog (115340 => 115341)


--- trunk/Source/WebCore/ChangeLog	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Source/WebCore/ChangeLog	2012-04-26 19:48:31 UTC (rev 115341)
@@ -1,3 +1,16 @@
+2012-04-26  Christophe Dumez  <[email protected]>
+
+        [EFL] Enable VIDEO_TRACK feature
+        https://bugs.webkit.org/show_bug.cgi?id=84830
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Enable support for VIDEO_TRACK feature by default for EFL port.
+
+        * UseJSC.cmake:
+        * bindings/generic/RuntimeEnabledFeatures.cpp:
+        (WebCore):
+
 2012-04-26  Antti Koivisto  <[email protected]>
 
         Implement StyleSheetInternal copying

Modified: trunk/Source/WebCore/UseJSC.cmake (115340 => 115341)


--- trunk/Source/WebCore/UseJSC.cmake	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Source/WebCore/UseJSC.cmake	2012-04-26 19:48:31 UTC (rev 115341)
@@ -230,6 +230,16 @@
     )
 ENDIF ()
 
+IF (ENABLE_VIDEO_TRACK)
+    LIST(APPEND WebCore_SOURCES
+        bindings/js/JSTextTrackCueCustom.cpp
+        bindings/js/JSTextTrackCustom.cpp
+        bindings/js/JSTextTrackListCustom.cpp
+        bindings/js/JSTrackCustom.cpp
+        bindings/js/JSTrackEventCustom.cpp
+    )
+ENDIF ()
+
 IF (ENABLE_SHARED_WORKERS)
     LIST(APPEND WebCore_SOURCES
         bindings/js/JSSharedWorkerCustom.cpp

Modified: trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp (115340 => 115341)


--- trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp	2012-04-26 19:48:31 UTC (rev 115341)
@@ -179,7 +179,7 @@
 #endif
 
 #if ENABLE(VIDEO_TRACK)
-#if PLATFORM(MAC) || PLATFORM(GTK)
+#if PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(EFL)
     bool RuntimeEnabledFeatures::isVideoTrackEnabled = true;
 #else
     bool RuntimeEnabledFeatures::isVideoTrackEnabled = false;

Modified: trunk/Source/WebKit/ChangeLog (115340 => 115341)


--- trunk/Source/WebKit/ChangeLog	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Source/WebKit/ChangeLog	2012-04-26 19:48:31 UTC (rev 115341)
@@ -1,3 +1,14 @@
+2012-04-26  Christophe Dumez  <[email protected]>
+
+        [EFL] Enable VIDEO_TRACK feature
+        https://bugs.webkit.org/show_bug.cgi?id=84830
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Enable VIDEO_TRACK feature by default for EFL port.
+
+        * PlatformEfl.cmake:
+
 2012-04-20  Mike Lattanzio  <[email protected]>
 
         [BlackBerry] Expose WebViewportArguments to WebPageClient

Modified: trunk/Source/WebKit/PlatformEfl.cmake (115340 => 115341)


--- trunk/Source/WebKit/PlatformEfl.cmake	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Source/WebKit/PlatformEfl.cmake	2012-04-26 19:48:31 UTC (rev 115341)
@@ -44,6 +44,12 @@
 )
 ENDIF()
 
+IF (ENABLE_VIDEO_TRACK)
+  LIST(APPEND WebKit_INCLUDE_DIRECTORIES
+    "${WEBCORE_DIR}/html/track"
+  )
+ENDIF ()
+
 IF (WTF_USE_FREETYPE)
   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/platform/graphics/freetype"

Modified: trunk/Source/WebKit/efl/ChangeLog (115340 => 115341)


--- trunk/Source/WebKit/efl/ChangeLog	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Source/WebKit/efl/ChangeLog	2012-04-26 19:48:31 UTC (rev 115341)
@@ -1,3 +1,24 @@
+2012-04-26  Christophe Dumez  <[email protected]>
+
+        [EFL] Enable VIDEO_TRACK feature
+        https://bugs.webkit.org/show_bug.cgi?id=84830
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Add functions on the ewk_view to toggle runtime support for text
+        tracks in HTML5 video.
+
+        * ewk/ewk_view.cpp:
+        (_Ewk_View_Private_Data):
+        (_ewk_view_priv_new):
+        (ewk_view_setting_should_display_subtitles_get):
+        (ewk_view_setting_should_display_subtitles_set):
+        (ewk_view_setting_should_display_captions_get):
+        (ewk_view_setting_should_display_captions_set):
+        (ewk_view_setting_should_display_text_descriptions_get):
+        (ewk_view_setting_should_display_text_descriptions_set):
+        * ewk/ewk_view.h:
+
 2012-04-26  Sudarsana Nagineni  <[email protected]>
 
         [EFL] [DRT] LayoutTestController needs implementation of setJavaScriptProfilingEnabled

Modified: trunk/Source/WebKit/efl/ewk/ewk_view.cpp (115340 => 115341)


--- trunk/Source/WebKit/efl/ewk/ewk_view.cpp	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Source/WebKit/efl/ewk/ewk_view.cpp	2012-04-26 19:48:31 UTC (rev 115341)
@@ -211,6 +211,11 @@
         bool encodingDetector : 1;
         bool scriptsCanOpenWindows : 1;
         bool scriptsCanCloseWindows : 1;
+#if ENABLE(VIDEO_TRACK)
+        bool shouldDisplayCaptions : 1;
+        bool shouldDisplaySubtitles : 1;
+        bool shouldDisplayTextDescriptions: 1;
+#endif
         bool resizableTextareas : 1;
         bool privateBrowsing : 1;
         bool caretBrowsing : 1;
@@ -718,6 +723,11 @@
     priv->settings.enableXSSAuditor = priv->pageSettings->xssAuditorEnabled();
     priv->settings.scriptsCanOpenWindows = priv->pageSettings->_javascript_CanOpenWindowsAutomatically();
     priv->settings.scriptsCanCloseWindows = priv->pageSettings->allowScriptsToCloseWindows();
+#if ENABLE(VIDEO_TRACK)
+    priv->settings.shouldDisplayCaptions = priv->pageSettings->shouldDisplayCaptions();
+    priv->settings.shouldDisplaySubtitles = priv->pageSettings->shouldDisplaySubtitles();
+    priv->settings.shouldDisplayTextDescriptions = priv->pageSettings->shouldDisplayTextDescriptions();
+#endif
     priv->settings.resizableTextareas = priv->pageSettings->textAreasAreResizable();
     priv->settings.privateBrowsing = priv->pageSettings->privateBrowsingEnabled();
     priv->settings.caretBrowsing = priv->pageSettings->caretBrowsingEnabled();
@@ -4089,6 +4099,78 @@
     }
 }
 
+Eina_Bool ewk_view_setting_should_display_subtitles_get(const Evas_Object *ewkView)
+{
+#if ENABLE(VIDEO_TRACK)
+    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+    return priv->settings.shouldDisplaySubtitles;
+#else
+    return false;
+#endif
+}
+
+Eina_Bool ewk_view_setting_should_display_captions_get(const Evas_Object *ewkView)
+{
+#if ENABLE(VIDEO_TRACK)
+    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+    return priv->settings.shouldDisplayCaptions;
+#else
+    return false;
+#endif
+}
+
+void ewk_view_setting_should_display_captions_set(Evas_Object *ewkView, Eina_Bool enable)
+{
+#if ENABLE(VIDEO_TRACK)
+    EWK_VIEW_SD_GET(ewkView, smartData);
+    EWK_VIEW_PRIV_GET(smartData, priv);
+    enable = !!enable;
+    if (priv->settings.shouldDisplayCaptions != enable) {
+        priv->pageSettings->setShouldDisplayCaptions(enable);
+        priv->settings.shouldDisplayCaptions = enable;
+    }
+#endif
+}
+
+void ewk_view_setting_should_display_subtitles_set(Evas_Object *ewkView, Eina_Bool enable)
+{
+#if ENABLE(VIDEO_TRACK)
+    EWK_VIEW_SD_GET(ewkView, smartData);
+    EWK_VIEW_PRIV_GET(smartData, priv);
+    enable = !!enable;
+    if (priv->settings.shouldDisplaySubtitles != enable) {
+        priv->pageSettings->setShouldDisplaySubtitles(enable);
+        priv->settings.shouldDisplaySubtitles = enable;
+    }
+#endif
+}
+
+Eina_Bool ewk_view_setting_should_display_text_descriptions_get(const Evas_Object *ewkView)
+{
+#if ENABLE(VIDEO_TRACK)
+    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+    return priv->settings.shouldDisplayTextDescriptions;
+#else
+    return false;
+#endif
+}
+
+void ewk_view_setting_should_display_text_descriptions_set(Evas_Object *ewkView, Eina_Bool enable)
+{
+#if ENABLE(VIDEO_TRACK)
+    EWK_VIEW_SD_GET(ewkView, smartData);
+    EWK_VIEW_PRIV_GET(smartData, priv);
+    enable = !!enable;
+    if (priv->settings.shouldDisplayTextDescriptions != enable) {
+        priv->pageSettings->setShouldDisplayTextDescriptions(enable);
+        priv->settings.shouldDisplayTextDescriptions = enable;
+    }
+#endif
+}
+
 #if USE(ACCELERATED_COMPOSITING)
 bool ewk_view_accelerated_compositing_object_create(Evas_Object* ewkView, Evas_Native_Surface* nativeSurface, const WebCore::IntRect& rect)
 {

Modified: trunk/Source/WebKit/efl/ewk/ewk_view.h (115340 => 115341)


--- trunk/Source/WebKit/efl/ewk/ewk_view.h	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Source/WebKit/efl/ewk/ewk_view.h	2012-04-26 19:48:31 UTC (rev 115341)
@@ -2463,6 +2463,69 @@
  */
 EAPI void ewk_view_setting_enable_xss_auditor_set(Evas_Object *o, Eina_Bool enable);
 
+/**
+ * Returns whether video captions display feature is enabled.
+ *
+ * @param o view object to query whether video captions display feature is enabled.
+ *
+ * @return @c EINA_TRUE if the video captions display feature is enabled,
+ *         @c EINA_FALSE if not or on failure.
+ */
+EAPI Eina_Bool ewk_view_setting_should_display_captions_get(const Evas_Object *o);
+
+/**
+ * Enables/disables the video captions display feature.
+ *
+ * The video captions display feature is part of track support for HTML5 video.
+ *
+ * @param o view object to set the video captions display feature.
+ * @param enable @c EINA_TRUE to enable the video captions display feature,
+ * @c EINA_FALSE to disable.
+ */
+EAPI void ewk_view_setting_should_display_captions_set(Evas_Object *o, Eina_Bool enable);
+
+/**
+ * Returns whether video subtitles display feature is enabled.
+ *
+ * @param o view object to query whether video subtitles display feature is enabled.
+ *
+ * @return @c EINA_TRUE if the video subtitles display feature is enabled,
+ *         @c EINA_FALSE if not or on failure.
+ */
+EAPI Eina_Bool ewk_view_setting_should_display_subtitles_get(const Evas_Object *o);
+
+/**
+ * Enables/disables the video subtitles display feature.
+ *
+ * The video subtitles display feature is part of track support for HTML5 video.
+ *
+ * @param o view object to set the video subtitles display feature.
+ * @param enable @c EINA_TRUE to enable the video subtitles display feature,
+ * @c EINA_FALSE to disable.
+ */
+EAPI void ewk_view_setting_should_display_subtitles_set(Evas_Object *o, Eina_Bool enable);
+
+/**
+ * Returns whether video text descriptions display feature is enabled.
+ *
+ * @param o view object to query whether video text descriptions display feature is enabled.
+ *
+ * @return @c EINA_TRUE if the video text descriptions display feature is enabled,
+ *         @c EINA_FALSE if not or on failure.
+ */
+EAPI Eina_Bool ewk_view_setting_should_display_text_descriptions_get(const Evas_Object *o);
+
+/**
+ * Enables/disables the video text descriptions display feature.
+ *
+ * The video text descriptions display feature is part of track support for HTML5 video.
+ *
+ * @param o view object to set the video text descriptions display feature.
+ * @param enable @c EINA_TRUE to enable the video text descriptions display feature,
+ * @c EINA_FALSE to disable.
+ */
+EAPI void ewk_view_setting_should_display_text_descriptions_set(Evas_Object *o, Eina_Bool enable);
+
 #ifdef __cplusplus
 }
 #endif

Modified: trunk/Source/cmake/OptionsEfl.cmake (115340 => 115341)


--- trunk/Source/cmake/OptionsEfl.cmake	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Source/cmake/OptionsEfl.cmake	2012-04-26 19:48:31 UTC (rev 115341)
@@ -77,6 +77,7 @@
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON)
 WEBKIT_OPTION_END()

Modified: trunk/Source/cmake/WebKitFeatures.cmake (115340 => 115341)


--- trunk/Source/cmake/WebKitFeatures.cmake	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Source/cmake/WebKitFeatures.cmake	2012-04-26 19:48:31 UTC (rev 115341)
@@ -84,6 +84,7 @@
     WEBKIT_OPTION_DEFINE(ENABLE_TOUCH_ICON_LOADING "Toggle Touch Icon Loading Support" OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_VIBRATION "Toggle Vibration API support" OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_VIDEO "Toggle Video support" OFF)
+    WEBKIT_OPTION_DEFINE(ENABLE_VIDEO_TRACK "Toggle Track support for HTML5 video" OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_WEBGL "Toggle 3D canvas (WebGL) support" OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_WEB_AUDIO "Toggle Web Audio support" OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_WEB_SOCKETS "Toggle Web Sockets support" ON)

Modified: trunk/Source/cmakeconfig.h.cmake (115340 => 115341)


--- trunk/Source/cmakeconfig.h.cmake	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Source/cmakeconfig.h.cmake	2012-04-26 19:48:31 UTC (rev 115341)
@@ -62,6 +62,7 @@
 #cmakedefine01 ENABLE_TOUCH_ICON_LOADING
 #cmakedefine01 ENABLE_VIBRATION
 #cmakedefine01 ENABLE_VIDEO
+#cmakedefine01 ENABLE_VIDEO_TRACK
 #cmakedefine01 ENABLE_VIEWPORT_REFLOW
 #cmakedefine01 ENABLE_WEBGL
 #cmakedefine01 ENABLE_WEB_SOCKETS

Modified: trunk/Tools/ChangeLog (115340 => 115341)


--- trunk/Tools/ChangeLog	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Tools/ChangeLog	2012-04-26 19:48:31 UTC (rev 115341)
@@ -1,3 +1,15 @@
+2012-04-26  Christophe Dumez  <[email protected]>
+
+        [EFL] Enable VIDEO_TRACK feature
+        https://bugs.webkit.org/show_bug.cgi?id=84830
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Enable VIDEO_TRACK by default on EFL port whenever build-webkit is
+        used.
+
+        * Scripts/build-webkit:
+
 2012-04-08  Robert Hogan  <[email protected]>
 
         new-webkit-run-tests: handle ref tests from the CSS test suite

Modified: trunk/Tools/Scripts/build-webkit (115340 => 115341)


--- trunk/Tools/Scripts/build-webkit	2012-04-26 19:21:22 UTC (rev 115340)
+++ trunk/Tools/Scripts/build-webkit	2012-04-26 19:48:31 UTC (rev 115341)
@@ -353,7 +353,7 @@
       define => "ENABLE_VIDEO", default => (isAppleWebKit() || isGtk() || isBlackBerry() || isEfl()), value => \$videoSupport },
 
     { option => "video-track", desc => "Toggle Video Track support",
-      define => "ENABLE_VIDEO_TRACK", default => (isAppleWebKit() || isGtk()), value => \$videoTrackSupport },
+      define => "ENABLE_VIDEO_TRACK", default => (isAppleWebKit() || isGtk() || isEfl()), value => \$videoTrackSupport },
 
     { option => "web-audio", desc => "Toggle Web Audio support",
       define => "ENABLE_WEB_AUDIO", default => 0, value=> \$webAudioSupport },
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to