WebCore:
authorjchaffraix@webkit.org <jchaffraix@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 May 2008 20:38:48 +0000 (20:38 +0000)
committerjchaffraix@webkit.org <jchaffraix@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 May 2008 20:38:48 +0000 (20:38 +0000)
2008-05-16  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated

        Make video tags use a header guard so that make_names.pl for factory generation.

        - Add video tag guard in HTMLTagNames.in & give an extraDefines parameter to make_names.pl
        when generating HTMLNames.

        - Modify the different build systems to accomodate the new parameter.

        - Small make_names.pl clean up (mainly code generated coding style issue).

        * DerivedSources.make: Add HTML_FLAGS and pass it to make_names.pl
        if it is defined (similar to SVG)

        * GNUmakefile.am: Add HTML_FEATURES & HTML_FLAGS and pass it to
        make_names.pl if HTML_FLAGS is defined.

        * WebCore.pro: Pass $${DEFINES} to make_names.pl.

        * dom/make_names.pl:
        * html/HTMLElement.cpp:
        (WebCore::inlineTagList): Add ENABLE(VIDEO) guard.
        * html/HTMLTagNames.in: Ditto.

2008-05-16  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated

        * configure.ac: Add HTML_FLAGS and set it when video is enabled.

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

ChangeLog
WebCore/ChangeLog
WebCore/DerivedSources.make
WebCore/GNUmakefile.am
WebCore/WebCore.pro
WebCore/dom/make_names.pl
WebCore/html/HTMLElement.cpp
WebCore/html/HTMLTagNames.in
configure.ac

index ab10a61..1d2253b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-05-16  Julien Chaffraix  <jchaffraix@webkit.org>
+
+        Reviewed by Eric.
+
+        Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated
+
+        * configure.ac: Add HTML_FLAGS and set it when video is enabled.
+
 2008-05-15  Ariya Hidayat  <ariya.hidayat@trolltech.com>
 
         Reviewed by Simon.
index 0c42441..a7f9aa1 100644 (file)
@@ -1,3 +1,31 @@
+2008-05-16  Julien Chaffraix  <jchaffraix@webkit.org>
+
+        Reviewed by Eric.
+
+        Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated
+
+        Make video tags use a header guard so that make_names.pl for factory generation.
+
+        - Add video tag guard in HTMLTagNames.in & give an extraDefines parameter to make_names.pl
+        when generating HTMLNames.
+
+        - Modify the different build systems to accomodate the new parameter.
+
+        - Small make_names.pl clean up (mainly code generated coding style issue).
+
+        * DerivedSources.make: Add HTML_FLAGS and pass it to make_names.pl
+        if it is defined (similar to SVG) 
+
+        * GNUmakefile.am: Add HTML_FEATURES & HTML_FLAGS and pass it to
+        make_names.pl if HTML_FLAGS is defined.
+
+        * WebCore.pro: Pass $${DEFINES} to make_names.pl.
+
+        * dom/make_names.pl: 
+        * html/HTMLElement.cpp:
+        (WebCore::inlineTagList): Add ENABLE(VIDEO) guard.
+        * html/HTMLTagNames.in: Ditto.
+
 2008-05-16  Anders Carlsson  <andersca@apple.com>
 
         Reviewed by Mitz.
index 68f589d..5322e54 100644 (file)
@@ -501,10 +501,24 @@ UserAgentStyleSheets.h : css/make-css-file-arrays.pl $(USER_AGENT_STYLE_SHEETS)
 
 # HTML tag and attribute names
 
+ifeq ($(findstring ENABLE_VIDEO,$(FEATURE_DEFINES)), ENABLE_VIDEO)
+       HTML_FLAGS := $(HTML_FLAGS) ENABLE_VIDEO=1
+endif
+
+ifdef HTML_FLAGS
+
+HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in
+       perl $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --extraDefines "$(HTML_FLAGS)" \
+            --namespace HTML --namespacePrefix xhtml --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xhtml" --attrsNullNamespace --output .
+
+else
+
 HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in
        perl $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in \
             --namespace HTML --namespacePrefix xhtml --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xhtml" --attrsNullNamespace --output .
 
+endif
+
 XMLNames.cpp : dom/make_names.pl xml/xmlattrs.in
        perl $< --attrs $(WebCore)/xml/xmlattrs.in \
             --namespace XML --cppNamespace WebCore --namespaceURI "http://www.w3.org/XML/1998/namespace" --output .
index 54fac9d..61a76ae 100644 (file)
@@ -3,6 +3,7 @@ WebCore := $(srcdir)/WebCore
 
 FEATURE_DEFINES_JAVASCRIPT := LANGUAGE_JAVASCRIPT=1
 SVG_FEATURES :=
+HTML_FEATURES :=
 
 WEBCORE_CSS_PROPERTY_NAMES := $(WebCore)/css/CSSPropertyNames.in
 WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in
@@ -1311,6 +1312,7 @@ endif # END ENABLE_ICONDATABASE
 if ENABLE_VIDEO
 FEATURE_DEFINES_JAVASCRIPT += ENABLE_VIDEO=1
 
+HTML_FEATURES += ENABLE_VIDEO=1
 webcore_cppflags += -DENABLE_VIDEO=1
 
 if ENABLE_DEBUG
@@ -2208,8 +2210,13 @@ WebCore/bindings/js/%Table.cpp: $(srcdir)/WebCore/bindings/js/JSHTMLInputElement
 # HTML tag and attribute names
 DerivedSources/HTMLNames.h: DerivedSources/HTMLNames.cpp;
 
+if HTML_FLAGS
+DerivedSources/HTMLNames.cpp: $(WebCore)/dom/make_names.pl $(WebCore)/html/HTMLTagNames.in $(WebCore)/html/HTMLAttributeNames.in
+       $(PERL) $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --extraDefines "$(HTML_FEATURES)" --namespace HTML --namespacePrefix xhtml --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xhtml" --attrsNullNamespace --output $(GENSOURCES)
+else
 DerivedSources/HTMLNames.cpp: $(WebCore)/dom/make_names.pl $(WebCore)/html/HTMLTagNames.in $(WebCore)/html/HTMLAttributeNames.in
        $(PERL) $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --namespace HTML --namespacePrefix xhtml --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xhtml" --attrsNullNamespace --output $(GENSOURCES)
+endif # HTML_FLAGS
 
 DerivedSources/XMLNames.h: DerivedSources/XMLNames.cpp;
 
index 2bd5ea6..7470248 100644 (file)
@@ -1682,7 +1682,7 @@ QMAKE_EXTRA_TARGETS += grammar_h_dep
 
 # GENERATOR 5-A:
 htmlnames.output = $$GENERATED_SOURCES_DIR/HTMLNames.cpp
-htmlnames.commands = perl $$PWD/dom/make_names.pl --tags $$PWD/html/HTMLTagNames.in --attrs $$PWD/html/HTMLAttributeNames.in --namespace HTML --namespacePrefix xhtml --cppNamespace WebCore --namespaceURI 'http://www.w3.org/1999/xhtml' --attrsNullNamespace --preprocessor \"$${QMAKE_MOC} -E\" --output $$GENERATED_SOURCES_DIR
+htmlnames.commands = perl $$PWD/dom/make_names.pl --tags $$PWD/html/HTMLTagNames.in --attrs $$PWD/html/HTMLAttributeNames.in --extraDefines \"$${DEFINES}\" --namespace HTML --namespacePrefix xhtml --cppNamespace WebCore --namespaceURI 'http://www.w3.org/1999/xhtml' --attrsNullNamespace --preprocessor \"$${QMAKE_MOC} -E\" --output $$GENERATED_SOURCES_DIR
 htmlnames.input = HTML_NAMES
 htmlnames.dependency_type = TYPE_C
 htmlnames.CONFIG = target_predeps
index 6ccba87..16e3dc8 100755 (executable)
@@ -123,11 +123,11 @@ sub printConstructors
     my ($F, @names) = @_;
     print F "#if $guardFactoryWith\n" if $guardFactoryWith;
     for my $name (@names) {
-        my $upperCase = upperCaseName($name);
+        my $ucName = upperCaseName($name);
     
-        print F "${namespace}Element *${name}Constructor(Document *doc, bool createdByParser)\n";
+        print F "${namespace}Element* ${name}Constructor(Document* doc, bool createdByParser)\n";
         print F "{\n";
-        print F "    return new ${namespace}${upperCase}Element(${name}Tag, doc);\n";
+        print F "    return new ${namespace}${ucName}Element(${name}Tag, doc);\n";
         print F "}\n\n";
     }
     print F "#endif\n" if $guardFactoryWith;
@@ -372,6 +372,8 @@ sub printDefinitions
 
 }
 
+## ElementFactory routines
+
 sub printFactoryCppFile
 {
     my $cppPath = shift;
@@ -397,10 +399,10 @@ print F <<END
 using namespace WebCore;
 using namespace ${cppNamespace}::${namespace}Names;
 
-typedef ${namespace}Element *(*ConstructorFunc)(Document *doc, bool createdByParser);
+typedef ${namespace}Element* (*ConstructorFunc)(Document* doc, bool createdByParser);
 typedef WTF::HashMap<AtomicStringImpl*, ConstructorFunc> FunctionMap;
 
-static FunctionMap *gFunctionMap = 0;
+static FunctionMapgFunctionMap = 0;
 
 namespace ${cppNamespace} {
 
@@ -429,7 +431,7 @@ print F "}\n";
 print F "#endif\n\n" if $guardFactoryWith;
 
 print F <<END
-${namespace}Element *${namespace}ElementFactory::create${namespace}Element(const QualifiedName& qName, Document* doc, bool createdByParser)
+${namespace}Element${namespace}ElementFactory::create${namespace}Element(const QualifiedName& qName, Document* doc, bool createdByParser)
 {
 END
 ;
@@ -506,8 +508,8 @@ namespace ${cppNamespace}
     class ${namespace}ElementFactory
     {
     public:
-        WebCore::Element *createElement(const WebCore::QualifiedName& qName, WebCore::Document *doc, bool createdByParser = true);
-        static ${namespace}Element *create${namespace}Element(const WebCore::QualifiedName& qName, WebCore::Document *doc, bool createdByParser = true);
+        WebCore::Element* createElement(const WebCore::QualifiedName& qName, WebCore::Document* doc, bool createdByParser = true);
+        static ${namespace}Element* create${namespace}Element(const WebCore::QualifiedName& qName, WebCore::Document* doc, bool createdByParser = true);
     };
 }
 
index be0e9a2..324a198 100644 (file)
@@ -815,8 +815,10 @@ HashSet<AtomicStringImpl*>* inlineTagList()
         tagList.add(delTag.localName().impl());
         tagList.add(nobrTag.localName().impl());
         tagList.add(wbrTag.localName().impl());
+#if ENABLE(VIDEO)
         tagList.add(audioTag.localName().impl());
         tagList.add(videoTag.localName().impl());
+#endif
     }
     return &tagList;
 }
index 816f88d..ab225d8 100644 (file)
@@ -4,7 +4,9 @@ acronym
 address
 applet
 area
+#if ENABLE_VIDEO
 audio
+#endif
 b
 base
 basefont
@@ -82,7 +84,9 @@ samp
 script
 select
 small
+#if ENABLE_VIDEO
 source
+#endif
 span
 strike
 strong
@@ -102,6 +106,8 @@ tt
 u
 ul
 var
+#if ENABLE_VIDEO
 video
+#endif
 wbr
 xmp
index 24488ef..fd64925 100644 (file)
@@ -488,6 +488,11 @@ if test "$enable_coverage" = "yes"; then
    AC_SUBST([COVERAGE_LDFLAGS])
 fi
 
+# check for HTML features
+if test "$enable_video" = "yes"; then
+    html_flags=yes
+fi
+
 # check for SVG features, enabling SVG if necessary
 if test "$enable_svg_animation" = "yes" || \
    test "$enable_svg_filters" = "yes" || \
@@ -543,6 +548,7 @@ AM_CONDITIONAL([ENABLE_SVG_USE],[test "$enable_svg_use_element" = "yes"])
 AM_CONDITIONAL([ENABLE_COVERAGE],[test "$enable_coverage" = "yes"])
 AM_CONDITIONAL([ENABLE_FAST_MALLOC],[test "$enable_fast_malloc" = "yes"])
 AM_CONDITIONAL([SVG_FLAGS],[test "$svg_flags" = "yes"])
+AM_CONDITIONAL([HTML_FLAGS],[test "$html_flags" = "yes"])
 
 AC_CONFIG_FILES([
 GNUmakefile