[webkit] Fix HTMLMediaElement.canPlayType()

Before this change, trying to create an HTMLVideoElement would fail 
and returned undefined, which would cause JavaScript to abort when 
trying to call the canPlayType() method.

This change allows the element to be created, and thus allows 
canPlayType() to return false for all types.

Change-Id: I510aff51a738629bf4400d2fe5120f9a413f82e3
diff --git a/Source/WebCore/platform/graphics/MediaPlayer.cpp b/Source/WebCore/platform/graphics/MediaPlayer.cpp
index 8b51e60..12bad85 100644
--- a/Source/WebCore/platform/graphics/MediaPlayer.cpp
+++ b/Source/WebCore/platform/graphics/MediaPlayer.cpp
@@ -882,8 +882,12 @@
 
 bool MediaPlayer::isAvailable()
 {
+#if PLATFORM(FUCHSIA)
+    return true;
+#else
     return !installedMediaEngines().isEmpty();
-} 
+#endif
+}
 
 #if USE(NATIVE_FULLSCREEN_VIDEO)
 void MediaPlayer::enterFullscreen()
diff --git a/Source/cmake/OptionsFuchsia.cmake b/Source/cmake/OptionsFuchsia.cmake
index 25455ee..dc8a581 100644
--- a/Source/cmake/OptionsFuchsia.cmake
+++ b/Source/cmake/OptionsFuchsia.cmake
@@ -50,8 +50,8 @@
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATA_TRANSFER_ITEMS PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DETAILS_ELEMENT PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOM4_EVENTS_CONSTRUCTOR PRIVATE ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ENCRYPTED_MEDIA PRIVATE ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ENCRYPTED_MEDIA_V2 PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ENCRYPTED_MEDIA PRIVATE OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ENCRYPTED_MEDIA_V2 PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILTERS_LEVEL_2 PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FONT_LOAD_EVENTS PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FULLSCREEN_API PRIVATE ON)
@@ -111,12 +111,12 @@
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_ICON_LOADING PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_USERSELECT_ALL PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_USER_MESSAGE_HANDLERS PRIVATE ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO PRIVATE OFF) # Fuchsia
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK PRIVATE OFF) # Fuchsia
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO PUBLIC ON) # Fuchsia
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK PRIVATE ON) # Fuchsia
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATACUE_VALUE PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIEW_MODE_CSS_MEDIA PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL PRIVATE OFF) # Fuchsia
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO PRIVATE OFF) # Fuchsia
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO PRIVATE ON) # Fuchsia
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_REPLAY PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_SOCKETS PRIVATE ON)
 
@@ -154,6 +154,9 @@
 set(EVENT_LOOP_TYPE ${DEFAULT_EVENT_LOOP_TYPE} CACHE STRING "Implementation of event loop to be used in JavaScriptCore (one of ${ALL_EVENT_LOOP_TYPES})")
 
 set(ENABLE_WEBKIT ON)
+set(ENABLE_VIDEO ON)
+set(ENABLE_VIDEO_TRACK ON)
+set(ENABLE_MEDIA_CONTROLS_SCRIPT ON)
 set(ENABLE_WEBKIT2 OFF)
 set(ENABLE_API_TESTS OFF)
 set(ENABLE_SAMPLING_PROFILER OFF)
diff --git a/Tools/fuchsia/build_webkit.sh b/Tools/fuchsia/build_webkit.sh
index 7319200..6216e10 100755
--- a/Tools/fuchsia/build_webkit.sh
+++ b/Tools/fuchsia/build_webkit.sh
@@ -81,6 +81,8 @@
     --no-web-sockets \
     --no-3d-rendering \
     --no-css-compositing \
+    --video \
+    --video-track \
     --cmakeargs="-DCMAKE_TOOLCHAIN_FILE=$script_dir/FuchsiaClangToolchain.txt -DENABLE_XSLT=OFF -DENABLE_DRAG_SUPPORT=OFF -DENABLE_STATIC_JSC=ON"
 
 MANIFEST_FILE=$WEBKIT_BUILD/minibrowser_manifest.txt