2011-04-11 Anna Cavender <annacc@chromium.org>
authoralexis.menard@openbossa.org <alexis.menard@openbossa.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Apr 2011 23:11:00 +0000 (23:11 +0000)
committeralexis.menard@openbossa.org <alexis.menard@openbossa.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Apr 2011 23:11:00 +0000 (23:11 +0000)
        Reviewed by Eric Carlson.

        Setup ENABLE(TRACK) feature define
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * configure.ac:
2011-04-11  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Setup ENABLE(TRACK) feature define
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * Configurations/FeatureDefines.xcconfig:
2011-04-11  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * WebKit.xcodeproj/project.pbxproj:
2011-04-11  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
        https://bugs.webkit.org/show_bug.cgi?id=53556

        No new tests. No real functionality added just yet.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * features.pri:
        * html/HTMLAttributeNames.in:
        * html/HTMLTagNames.in:
        * html/HTMLTrackElement.cpp: Added.
        (WebCore::HTMLTrackElement::HTMLTrackElement):
        (WebCore::HTMLTrackElement::create):
        (WebCore::HTMLTrackElement::insertedIntoTree):
        (WebCore::HTMLTrackElement::willRemove):
        (WebCore::HTMLTrackElement::src):
        (WebCore::HTMLTrackElement::setSrc):
        (WebCore::HTMLTrackElement::kind):
        (WebCore::HTMLTrackElement::setKind):
        (WebCore::HTMLTrackElement::srclang):
        (WebCore::HTMLTrackElement::setSrclang):
        (WebCore::HTMLTrackElement::label):
        (WebCore::HTMLTrackElement::setLabel):
        (WebCore::HTMLTrackElement::isDefault):
        (WebCore::HTMLTrackElement::setIsDefault):
        (WebCore::HTMLTrackElement::isURLAttribute):
        * html/HTMLTrackElement.h: Added.
        * html/HTMLTrackElement.idl: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83527 268f45cc-cd09-0410-ab3c-d52691b4dbfc

21 files changed:
ChangeLog
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/CodeGenerators.pri
Source/WebCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/DerivedSources.make
Source/WebCore/GNUmakefile.am
Source/WebCore/GNUmakefile.list.am
Source/WebCore/WebCore.gypi
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/features.pri
Source/WebCore/html/HTMLAttributeNames.in
Source/WebCore/html/HTMLTagNames.in
Source/WebCore/html/HTMLTrackElement.cpp [new file with mode: 0644]
Source/WebCore/html/HTMLTrackElement.h [new file with mode: 0644]
Source/WebCore/html/HTMLTrackElement.idl [new file with mode: 0644]
Source/WebKit/ChangeLog
Source/WebKit/WebKit.xcodeproj/project.pbxproj
configure.ac

index bbdeb95..c6240cd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-04-11  Anna Cavender  <annacc@chromium.org>
+
+        Reviewed by Eric Carlson.
+
+        Setup ENABLE(TRACK) feature define
+        https://bugs.webkit.org/show_bug.cgi?id=53556
+
+        * configure.ac:
+
 2011-04-11  Varun Jain  <varunjain@chromium.org>
 
         Reviewed by Darin Fisher.
index eb4dd23..e343348 100644 (file)
@@ -1,3 +1,13 @@
+2011-04-11  Anna Cavender  <annacc@chromium.org>
+
+        Reviewed by Eric Carlson.
+
+        Setup ENABLE(TRACK) feature define
+        https://bugs.webkit.org/show_bug.cgi?id=53556
+
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2011-04-11  Geoffrey Garen  <ggaren@apple.com>
 
         Try to fix a few builds.
index 3f8a4b8..68a776e 100644 (file)
@@ -110,6 +110,7 @@ ENABLE_SVG_DOM_OBJC_BINDINGS_macosx = ENABLE_SVG_DOM_OBJC_BINDINGS;
 ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
 ENABLE_SVG_FOREIGN_OBJECT = ENABLE_SVG_FOREIGN_OBJECT;
 ENABLE_SVG_USE = ENABLE_SVG_USE;
+ENABLE_TRACK = ENABLE_TRACK;
 ENABLE_VIDEO = ENABLE_VIDEO;
 
 ENABLE_MEDIA_STATISTICS = ;
@@ -129,4 +130,4 @@ ENABLE_XHTMLMP = ;
 ENABLE_XPATH = ENABLE_XPATH;
 ENABLE_XSLT = ENABLE_XSLT;
 
-FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_QUOTA) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_QUOTA) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_TRACK) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
index fbc6e8a..600f1c5 100644 (file)
@@ -270,6 +270,7 @@ SET(WebCore_IDL_FILES
     html/HTMLTableSectionElement.idl
     html/HTMLTextAreaElement.idl
     html/HTMLTitleElement.idl
+    html/HTMLTrackElement.idl
     html/HTMLUListElement.idl
     html/HTMLVideoElement.idl
     html/ImageData.idl
@@ -1902,6 +1903,12 @@ IF (ENABLE_VIDEO)
     )
 ENDIF()
 
+IF (ENABLE_TRACK)
+    LIST(APPEND WebCore_SOURCES
+        html/HTMLTrackElement.cpp
+    )
+ENDIF()
+
 IF (ENABLE_WML)
     LIST(APPEND WebCore_SOURCES
         wml/WMLAElement.cpp
index 95cc144..12ce77d 100644 (file)
@@ -1,3 +1,42 @@
+2011-04-11  Anna Cavender  <annacc@chromium.org>
+
+        Reviewed by Eric Carlson.
+
+        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
+        https://bugs.webkit.org/show_bug.cgi?id=53556
+
+        No new tests. No real functionality added just yet.
+
+        * CMakeLists.txt:
+        * CodeGenerators.pri:
+        * Configurations/FeatureDefines.xcconfig:
+        * DerivedSources.make:
+        * GNUmakefile.am:
+        * GNUmakefile.list.am:
+        * WebCore.gypi:
+        * WebCore.xcodeproj/project.pbxproj:
+        * features.pri:
+        * html/HTMLAttributeNames.in:
+        * html/HTMLTagNames.in:
+        * html/HTMLTrackElement.cpp: Added.
+        (WebCore::HTMLTrackElement::HTMLTrackElement):
+        (WebCore::HTMLTrackElement::create):
+        (WebCore::HTMLTrackElement::insertedIntoTree):
+        (WebCore::HTMLTrackElement::willRemove):
+        (WebCore::HTMLTrackElement::src):
+        (WebCore::HTMLTrackElement::setSrc):
+        (WebCore::HTMLTrackElement::kind):
+        (WebCore::HTMLTrackElement::setKind):
+        (WebCore::HTMLTrackElement::srclang):
+        (WebCore::HTMLTrackElement::setSrclang):
+        (WebCore::HTMLTrackElement::label):
+        (WebCore::HTMLTrackElement::setLabel):
+        (WebCore::HTMLTrackElement::isDefault):
+        (WebCore::HTMLTrackElement::setIsDefault):
+        (WebCore::HTMLTrackElement::isURLAttribute):
+        * html/HTMLTrackElement.h: Added.
+        * html/HTMLTrackElement.idl: Added.
+
 2011-04-11  Ben Taylor  <bentaylor.solx86@gmail.com>
 
         Reviewed by David Levin.
index 142f4fe..247b0b6 100644 (file)
@@ -296,6 +296,7 @@ IDL_BINDINGS += \
     html/HTMLTableSectionElement.idl \
     html/HTMLTextAreaElement.idl \
     html/HTMLTitleElement.idl \
+    html/HTMLTrackElement.idl \
     html/HTMLUListElement.idl \
     html/HTMLVideoElement.idl \
     html/ImageData.idl \
index 05f258e..5b47a6d 100644 (file)
@@ -110,6 +110,7 @@ ENABLE_SVG_DOM_OBJC_BINDINGS_macosx = ENABLE_SVG_DOM_OBJC_BINDINGS;
 ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
 ENABLE_SVG_FOREIGN_OBJECT = ENABLE_SVG_FOREIGN_OBJECT;
 ENABLE_SVG_USE = ENABLE_SVG_USE;
+ENABLE_TRACK = ENABLE_TRACK;
 ENABLE_VIDEO = ENABLE_VIDEO;
 
 ENABLE_MEDIA_STATISTICS = ;
@@ -129,4 +130,4 @@ ENABLE_XHTMLMP = ;
 ENABLE_XPATH = ENABLE_XPATH;
 ENABLE_XSLT = ENABLE_XSLT;
 
-FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_TRACK) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
index 14e1969..76f1174 100644 (file)
@@ -275,6 +275,7 @@ DOM_CLASSES = \
     HTMLTableSectionElement \
     HTMLTextAreaElement \
     HTMLTitleElement \
+    HTMLTrackElement \
     HTMLUListElement \
     HTMLVideoElement \
     IDBAny \
@@ -776,6 +777,10 @@ ifeq ($(findstring ENABLE_VIDEO,$(FEATURE_DEFINES)), ENABLE_VIDEO)
     HTML_FLAGS := $(HTML_FLAGS) ENABLE_VIDEO=1
 endif
 
+ifeq ($(findstring ENABLE_TRACK,$(FEATURE_DEFINES)), ENABLE_TRACK)
+    HTML_FLAGS := $(HTML_FLAGS) ENABLE_TRACK=0
+endif
+
 ifdef HTML_FLAGS
 
 HTMLElementFactory.cpp HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in
index c431160..c60a98e 100644 (file)
@@ -332,6 +332,16 @@ webcore_cppflags += -DENABLE_FULLSCREEN_API=1
 endif # END ENABLE_FULLSCREEN_API
 
 # ----
+# Track Support
+# ----
+if ENABLE_TRACK
+FEATURE_DEFINES += ENABLE_TRACK=1
+webcore_cppflags += -DENABLE_TRACK=1
+else
+webcore_cppflags += -DENABLE_TRACK=0
+endif # END ENABLE_TRACK
+
+# ----
 # XHTML-MP Support
 # ----
 if ENABLE_XHTMLMP
index 6016a8b..9a19f7a 100644 (file)
@@ -335,6 +335,8 @@ webcore_built_sources += \
        DerivedSources/WebCore/JSHTMLTextAreaElement.h \
        DerivedSources/WebCore/JSHTMLTitleElement.cpp \
        DerivedSources/WebCore/JSHTMLTitleElement.h \
+       DerivedSources/WebCore/JSHTMLTrackElement.cpp \
+       DerivedSources/WebCore/JSHTMLTrackElement.h \
        DerivedSources/WebCore/JSHTMLUListElement.cpp \
        DerivedSources/WebCore/JSHTMLUListElement.h \
        DerivedSources/WebCore/JSHTMLVideoElement.cpp \
index 38e7dac..bb66e36 100644 (file)
             'html/HTMLTableSectionElement.idl',
             'html/HTMLTextAreaElement.idl',
             'html/HTMLTitleElement.idl',
+            'html/HTMLTrackElement.idl',
             'html/HTMLUListElement.idl',
             'html/HTMLVideoElement.idl',
             'html/ImageData.idl',
             'html/HTMLTextAreaElement.cpp',
             'html/HTMLTitleElement.cpp',
             'html/HTMLTitleElement.h',
+            'html/HTMLTrackElement.cpp',
+            'html/HTMLTrackElement.h',
             'html/HTMLUListElement.cpp',
             'html/HTMLUListElement.h',
             'html/HTMLVideoElement.cpp',
index a82332f..888b5f7 100644 (file)
                B0149E7E11A4B21500196A7B /* AsyncImageResizer.h in Headers */ = {isa = PBXBuildFile; fileRef = B0149E7A11A4B21500196A7B /* AsyncImageResizer.h */; };
                B0149E7F11A4B21500196A7B /* ImageResizerThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B0149E7B11A4B21500196A7B /* ImageResizerThread.cpp */; };
                B0149E8011A4B21500196A7B /* ImageResizerThread.h in Headers */ = {isa = PBXBuildFile; fileRef = B0149E7C11A4B21500196A7B /* ImageResizerThread.h */; };
+               B164F82E1345779E00BC777F /* HTMLTrackElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = B164F82D1345779E00BC777F /* HTMLTrackElement.idl */; };
                B1827493134CA4C100B98C2D /* CallbackFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1827492134CA4C100B98C2D /* CallbackFunction.cpp */; };
                B1D5ECB5134B58DA0087C78F /* CallbackFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = B1D5ECB4134B58DA0087C78F /* CallbackFunction.h */; };
                B1E54599134629C10092A545 /* NavigatorUserMediaError.h in Headers */ = {isa = PBXBuildFile; fileRef = B1E5458D134629C10092A545 /* NavigatorUserMediaError.h */; };
                B0149E7A11A4B21500196A7B /* AsyncImageResizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AsyncImageResizer.h; sourceTree = "<group>"; };
                B0149E7B11A4B21500196A7B /* ImageResizerThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageResizerThread.cpp; sourceTree = "<group>"; };
                B0149E7C11A4B21500196A7B /* ImageResizerThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageResizerThread.h; sourceTree = "<group>"; };
+               B164F82D1345779E00BC777F /* HTMLTrackElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = HTMLTrackElement.idl; path = html/HTMLTrackElement.idl; sourceTree = "<group>"; };
                B1827492134CA4C100B98C2D /* CallbackFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CallbackFunction.cpp; sourceTree = "<group>"; };
                B1D5ECB4134B58DA0087C78F /* CallbackFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallbackFunction.h; sourceTree = "<group>"; };
                B1E5458D134629C10092A545 /* NavigatorUserMediaError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NavigatorUserMediaError.h; sourceTree = "<group>"; };
                                034768DFFF38A50411DB9C8B /* Products */,
                                1CDD44660BA9C80000F90147 /* Configurations */,
                                449195900FBE175B00D9F824 /* Exports */,
+                               B164F82D1345779E00BC777F /* HTMLTrackElement.idl */,
                        );
                        name = WebKit;
                        sourceTree = "<group>";
                                85136CA80AED665900F90A3D /* westResizeCursor.png in Resources */,
                                1AB1AE7A0C051FDE00139F4F /* zoomInCursor.png in Resources */,
                                1AB1AE7B0C051FDE00139F4F /* zoomOutCursor.png in Resources */,
+                               B164F82E1345779E00BC777F /* HTMLTrackElement.idl in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
index 48d40a6..336278d 100644 (file)
@@ -76,6 +76,7 @@ contains(DEFINES, ENABLE_SINGLE_THREADED=1) {
 !contains(DEFINES, ENABLE_WEB_AUDIO=.): DEFINES += ENABLE_WEB_AUDIO=0
 !contains(DEFINES, ENABLE_WEBGL=.): DEFINES += ENABLE_WEBGL=0
 !contains(DEFINES, ENABLE_MEDIA_STATISTICS=.): DEFINES += ENABLE_MEDIA_STATISTICS=0
+!contains(DEFINES, ENABLE_TRACK=.): DEFINES += ENABLE_TRACK=0
 
 # SVG support
 !contains(DEFINES, ENABLE_SVG=0) {
@@ -230,4 +231,5 @@ contains(DEFINES, ENABLE_PROGRESS_TAG=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_P
 contains(DEFINES, ENABLE_GEOLOCATION=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_GEOLOCATION=1
 contains(DEFINES, ENABLE_BLOB=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_BLOB=1
 contains(DEFINES, ENABLE_MEDIA_STATISTICS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_MEDIA_STATISTICS=1
+contains(DEFINES, ENABLE_TRACK=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_TRACK=1
 contains(DEFINES, ENABLE_DATA_TRANSFER_ITEMS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_DATA_TRANSFER_ITEMS=1
index 9cee496..5e0fe7b 100644 (file)
@@ -85,6 +85,7 @@ coords
 data
 datetime
 declare
+default
 defer
 dir
 direction
@@ -118,6 +119,7 @@ incremental
 indeterminate
 ismap
 keytype
+kind
 label
 lang
 language
@@ -274,6 +276,7 @@ x-webkit-speech
 x-webkit-grammar
 spellcheck
 src
+srclang
 standby
 start
 step
index bea63e4..3430fba 100644 (file)
@@ -126,7 +126,7 @@ th interfaceName=HTMLTableCellElement
 thead interfaceName=HTMLTableSectionElement
 title
 tr interfaceName=HTMLTableRowElement
-track interfaceName=HTMLElement
+track wrapperOnlyIfMediaIsAvailable, conditional=TRACK
 tt interfaceName=HTMLElement
 u interfaceName=HTMLElement
 ul interfaceName=HTMLUListElement
diff --git a/Source/WebCore/html/HTMLTrackElement.cpp b/Source/WebCore/html/HTMLTrackElement.cpp
new file mode 100644 (file)
index 0000000..ea71bed
--- /dev/null
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2011 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(TRACK)
+#include "HTMLTrackElement.h"
+
+#include "HTMLMediaElement.h"
+#include "HTMLNames.h"
+#include "Logging.h"
+
+using namespace std;
+
+namespace WebCore {
+
+using namespace HTMLNames;
+
+inline HTMLTrackElement::HTMLTrackElement(const QualifiedName& tagName, Document* document)
+    : HTMLElement(tagName, document)
+{
+    LOG(Media, "HTMLTrackElement::HTMLTrackElement - %p", this);
+    ASSERT(hasTagName(trackTag));
+}
+
+PassRefPtr<HTMLTrackElement> HTMLTrackElement::create(const QualifiedName& tagName, Document* document)
+{
+    return adoptRef(new HTMLTrackElement(tagName, document));
+}
+
+void HTMLTrackElement::insertedIntoTree(bool deep)
+{
+    HTMLElement::insertedIntoTree(deep);
+    if (parentNode() && (parentNode()->hasTagName(audioTag) || parentNode()->hasTagName(videoTag))) {
+        // TODO(annacc):
+        // static_cast<HTMLMediaElement*>(parentNode())->trackWasAdded(this);
+    }
+}
+
+void HTMLTrackElement::willRemove()
+{
+    if (parentNode() && (parentNode()->hasTagName(audioTag) || parentNode()->hasTagName(videoTag))) {
+        // TODO(annacc):
+        // static_cast<HTMLMediaElement*>(parentNode())->trackWillBeRemoved(this);
+    }
+    HTMLElement::willRemove();
+}
+
+KURL HTMLTrackElement::src() const
+{
+    return document()->completeURL(getAttribute(srcAttr));
+}
+
+void HTMLTrackElement::setSrc(const String& url)
+{
+    setAttribute(srcAttr, url);
+}
+
+String HTMLTrackElement::kind() const
+{
+    return getAttribute(kindAttr);
+}
+
+void HTMLTrackElement::setKind(const String& kind)
+{
+    setAttribute(kindAttr, kind);
+}
+
+String HTMLTrackElement::srclang() const
+{
+    return getAttribute(srclangAttr);
+}
+
+void HTMLTrackElement::setSrclang(const String& srclang)
+{
+    setAttribute(srclangAttr, srclang);
+}
+
+String HTMLTrackElement::label() const
+{
+    return getAttribute(labelAttr);
+}
+
+void HTMLTrackElement::setLabel(const String& label)
+{
+    setAttribute(labelAttr, label);
+}
+
+bool HTMLTrackElement::isDefault() const
+{
+    return hasAttribute(defaultAttr);
+}
+
+void HTMLTrackElement::setIsDefault(bool isDefault)
+{
+    setBooleanAttribute(defaultAttr, isDefault);
+}
+
+bool HTMLTrackElement::isURLAttribute(Attribute* attribute) const
+{
+    return attribute->name() == srcAttr;
+}
+
+}
+
+#endif
diff --git a/Source/WebCore/html/HTMLTrackElement.h b/Source/WebCore/html/HTMLTrackElement.h
new file mode 100644 (file)
index 0000000..43dc54d
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2011 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef HTMLTrackElement_h
+#define HTMLTrackElement_h
+
+#if ENABLE(TRACK)
+
+#include "HTMLElement.h"
+
+namespace WebCore {
+
+class HTMLTrackElement : public HTMLElement {
+public:
+    static PassRefPtr<HTMLTrackElement> create(const QualifiedName&, Document*);
+
+    KURL src() const;
+    String kind() const;
+    String srclang() const;
+    String label() const;
+
+    bool isDefault() const;
+    void setKind(const String&);
+    void setSrc(const String&);
+    void setSrclang(const String&);
+    void setLabel(const String&);
+    void setIsDefault(bool);
+
+private:
+    HTMLTrackElement(const QualifiedName&, Document*);
+
+    virtual void insertedIntoTree(bool);
+    virtual void willRemove();
+    virtual bool isURLAttribute(Attribute*) const;
+};
+
+}
+
+#endif
+#endif
diff --git a/Source/WebCore/html/HTMLTrackElement.idl b/Source/WebCore/html/HTMLTrackElement.idl
new file mode 100644 (file)
index 0000000..7523c19
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2011 Google Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module html {
+interface [Conditional=TRACK] HTMLTrackElement : HTMLElement {
+    attribute [Reflect, URL] DOMString src;
+    attribute DOMString kind;
+    attribute DOMString srclang;
+    attribute DOMString label;
+    attribute [Reflect=default] boolean isDefault;
+
+    // readonly attribute TextTrack track;
+};
+}
index b3ef00a..737ecff 100644 (file)
@@ -1,3 +1,12 @@
+2011-04-11  Anna Cavender  <annacc@chromium.org>
+
+        Reviewed by Eric Carlson.
+
+        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
+        https://bugs.webkit.org/show_bug.cgi?id=53556
+
+        * WebKit.xcodeproj/project.pbxproj:
+
 2011-04-08  Geoffrey Garen  <ggaren@apple.com>
 
         Reviewed by Oliver Hunt.
index 0253400..87b5c4f 100644 (file)
                A864B3F6123ED9FA00C2A612 /* MailQuirksUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = A864B3E5123ED83D00C2A612 /* MailQuirksUserScript.js */; };
                AB9FBBBB0F8582B0006ADC43 /* WebDOMOperationsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = AB9FBBBA0F8582B0006ADC43 /* WebDOMOperationsInternal.h */; };
                ABDDF20D08EB0DDC001E1241 /* WebDownloadInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = ABDDF20C08EB0DDC001E1241 /* WebDownloadInternal.h */; };
+               B1A508C61314D292007180BB /* HTMLTrackElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B1A508C41314D292007180BB /* HTMLTrackElement.h */; };
+               B1A508C71314D292007180BB /* HTMLTrackElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1A508C51314D292007180BB /* HTMLTrackElement.cpp */; };
                B6CE5C24100BC5CE00219936 /* WebApplicationCache.mm in Sources */ = {isa = PBXBuildFile; fileRef = B68049720FFBCEC1009F7F62 /* WebApplicationCache.mm */; };
                B6CE5C25100BC5F500219936 /* WebApplicationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = B68049710FFBCEC1009F7F62 /* WebApplicationCache.h */; settings = {ATTRIBUTES = (Private, ); }; };
                B804176F1217A83100466BAE /* WebInspectorFrontend.h in Headers */ = {isa = PBXBuildFile; fileRef = B804176D1217A83100466BAE /* WebInspectorFrontend.h */; };
                A864B3E5123ED83D00C2A612 /* MailQuirksUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = MailQuirksUserScript.js; sourceTree = "<group>"; };
                AB9FBBBA0F8582B0006ADC43 /* WebDOMOperationsInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDOMOperationsInternal.h; sourceTree = "<group>"; };
                ABDDF20C08EB0DDC001E1241 /* WebDownloadInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDownloadInternal.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
+               B1A508C41314D292007180BB /* HTMLTrackElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLTrackElement.h; path = ../WebCore/html/HTMLTrackElement.h; sourceTree = SOURCE_ROOT; };
+               B1A508C51314D292007180BB /* HTMLTrackElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HTMLTrackElement.cpp; path = ../WebCore/html/HTMLTrackElement.cpp; sourceTree = SOURCE_ROOT; };
                B68049710FFBCEC1009F7F62 /* WebApplicationCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebApplicationCache.h; sourceTree = "<group>"; };
                B68049720FFBCEC1009F7F62 /* WebApplicationCache.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebApplicationCache.mm; sourceTree = "<group>"; };
                B804176D1217A83100466BAE /* WebInspectorFrontend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebInspectorFrontend.h; sourceTree = "<group>"; };
                                0867D69AFE84028FC02AAC07 /* Frameworks and Libraries */,
                                034768DFFF38A50411DB9C8B /* Products */,
                                1C904FCE0BA9DCF20081E9D0 /* Configurations */,
+                               B1A508C41314D292007180BB /* HTMLTrackElement.h */,
+                               B1A508C51314D292007180BB /* HTMLTrackElement.cpp */,
                        );
                        name = WebKit;
                        sourceTree = "<group>";
                                3ABB3C7A1309C3B500E93D94 /* WebStorageTrackerClient.h in Headers */,
                                BC42D324131ED1E00075FA4B /* WebLocalizableStringsInternal.h in Headers */,
                                B82958D3132707D0000D0E79 /* CorrectionPanel.h in Headers */,
+                               B1A508C61314D292007180BB /* HTMLTrackElement.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                3ABB3C7B1309C3B500E93D94 /* WebStorageTrackerClient.mm in Sources */,
                                BC42D34D131ED3880075FA4B /* WebLocalizableStringsInternal.mm in Sources */,
                                B82958D4132707D0000D0E79 /* CorrectionPanel.mm in Sources */,
+                               B1A508C71314D292007180BB /* HTMLTrackElement.cpp in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
index 5274ff6..9884dae 100644 (file)
@@ -522,6 +522,14 @@ AC_ARG_ENABLE(video,
               [],[enable_video="yes"])
 AC_MSG_RESULT([$enable_video])
 
+# check whether to enable HTML5 track support
+AC_MSG_CHECKING([whether to enable HTML5 track support])
+AC_ARG_ENABLE(track,
+              AC_HELP_STRING([--enable-track],
+                             [enable HTML5 track support [default=yes]]),
+              [],[enable_track="yes"])
+AC_MSG_RESULT([$enable_track])
+
 # check whether to enable media statistics support
 AC_MSG_CHECKING([whether to enable media statistics support])
 AC_ARG_ENABLE(media_statistics,
@@ -1072,6 +1080,7 @@ AM_CONDITIONAL([ENABLE_CLIENT_BASED_GEOLOCATION], [test "$enable_client_based_ge
 AM_CONDITIONAL([ENABLE_MATHML], [test "$enable_mathml" = "yes"])
 AM_CONDITIONAL([ENABLE_VIDEO],[test "$enable_video" = "yes"])
 AM_CONDITIONAL([ENABLE_MEDIA_STATISTICS],[test "$enable_media_statistics" = "yes"])
+AM_CONDITIONAL([ENABLE_TRACK],[test "$enable_track" = "yes"])
 AM_CONDITIONAL([ENABLE_FULLSCREEN_API],[test "$enable_fullscreen_api" = "yes"])
 AM_CONDITIONAL([ENABLE_NOTIFICATIONS],[test "$enable_notifications" = "yes"])
 AM_CONDITIONAL([ENABLE_ORIENTATION_EVENTS],[test "$enable_orientation_events" = "yes"])
@@ -1164,6 +1173,7 @@ Features:
  HTML5 sandboxed iframe support                           : $enable_sandbox
  HTML5 server-sent events support                         : $enable_eventsource
  HTML5 video element support                              : $enable_video
+ HTML5 track element support                              : $enable_track
  Fullscreen API support                                   : $enable_fullscreen_api
  Icon database support                                    : $enable_icon_database
  Image resizer support                                    : $enable_image_resizer