$(LOCAL_PATH)/bindings/scripts/generate-bindings.pl
# Add ACCELERATED_COMPOSITING=1 and ENABLE_3D_RENDERING=1 for layers support
-FEATURE_DEFINES := ENABLE_ORIENTATION_EVENTS=1 ENABLE_TOUCH_EVENTS=1 ENABLE_DATABASE=1 ENABLE_OFFLINE_WEB_APPLICATIONS=1 ENABLE_DOM_STORAGE=1 ENABLE_VIDEO=1 ENABLE_GEOLOCATION=1 ENABLE_CONNECTION=1 ENABLE_APPLICATION_INSTALLED=1 ENABLE_XPATH=1 ENABLE_XSLT=1 ENABLE_DEVICE_ORIENTATION=1 ENABLE_FILE_READER=1 ENABLE_BLOB_SLICE=1
+FEATURE_DEFINES := ENABLE_ORIENTATION_EVENTS=1 ENABLE_TOUCH_EVENTS=1 ENABLE_DATABASE=1 ENABLE_OFFLINE_WEB_APPLICATIONS=1 ENABLE_DOM_STORAGE=1 ENABLE_VIDEO=1 ENABLE_GEOLOCATION=1 ENABLE_CONNECTION=1 ENABLE_APPLICATION_INSTALLED=1 ENABLE_XPATH=1 ENABLE_XSLT=1 ENABLE_DEVICE_ORIENTATION=1 ENABLE_FILE_READER=1 ENABLE_BLOB=1
# The defines above should be identical to those for JSC.
FEATURE_DEFINES += V8_BINDING
$(intermediates)/bindings/V8DOMCoreException.h \
$(intermediates)/bindings/V8DOMImplementation.h \
$(intermediates)/bindings/V8DOMStringList.h \
+ $(intermediates)/bindings/V8DOMStringMap.h \
+ $(intermediates)/bindings/V8DeviceMotionEvent.h \
$(intermediates)/bindings/V8DeviceOrientationEvent.h \
$(intermediates)/bindings/V8Document.h \
$(intermediates)/bindings/V8DocumentFragment.h \
$(intermediates)/bindings/V8ErrorEvent.h \
$(intermediates)/bindings/V8Event.h \
$(intermediates)/bindings/V8EventException.h \
+ $(intermediates)/bindings/V8HashChangeEvent.h \
$(intermediates)/bindings/V8KeyboardEvent.h \
$(intermediates)/bindings/V8MessageChannel.h \
$(intermediates)/bindings/V8MessageEvent.h \
# above rules. Specifying this explicitly makes -j2 work.
$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
-# HTML
+# Fileapi
GEN := \
$(intermediates)/bindings/V8Blob.h \
- $(intermediates)/bindings/V8DOMFormData.h \
- $(intermediates)/bindings/V8DataGridColumn.h \
- $(intermediates)/bindings/V8DataGridColumnList.h \
+ $(intermediates)/bindings/V8BlobBuilder.h \
+ $(intermediates)/bindings/V8DOMFileSystem.h \
+ $(intermediates)/bindings/V8DOMFileSystemSync.h \
+ $(intermediates)/bindings/V8DirectoryEntry.h \
+ $(intermediates)/bindings/V8DirectoryEntrySync.h \
+ $(intermediates)/bindings/V8DirectoryReader.h \
+ $(intermediates)/bindings/V8DirectoryReaderSync.h \
+ $(intermediates)/bindings/V8EntriesCallback.h \
+ $(intermediates)/bindings/V8Entry.h \
+ $(intermediates)/bindings/V8EntryArray.h \
+ $(intermediates)/bindings/V8EntryArraySync.h \
+ $(intermediates)/bindings/V8EntryCallback.h \
+ $(intermediates)/bindings/V8EntrySync.h \
+ $(intermediates)/bindings/V8ErrorCallback.h \
$(intermediates)/bindings/V8File.h \
+ $(intermediates)/bindings/V8FileCallback.h \
+ $(intermediates)/bindings/V8FileEntry.h \
+ $(intermediates)/bindings/V8FileEntrySync.h \
$(intermediates)/bindings/V8FileError.h \
+ $(intermediates)/bindings/V8FileException.h \
$(intermediates)/bindings/V8FileList.h \
$(intermediates)/bindings/V8FileReader.h \
+ $(intermediates)/bindings/V8FileReaderSync.h \
+ $(intermediates)/bindings/V8FileSystemCallback.h \
+ $(intermediates)/bindings/V8FileWriter.h \
+ $(intermediates)/bindings/V8FileWriterCallback.h \
+ $(intermediates)/bindings/V8Flags.h \
+ $(intermediates)/bindings/V8Metadata.h \
+ $(intermediates)/bindings/V8MetadataCallback.h
+
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --include fileapi --outputdir $(dir $@) $<
+$(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/fileapi/%.idl $(js_binding_scripts)
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules. Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
+
+# HTML
+GEN := \
+ $(intermediates)/bindings/V8DOMFormData.h \
+ $(intermediates)/bindings/V8DOMSettableTokenList.h \
+ $(intermediates)/bindings/V8DOMTokenList.h \
+ $(intermediates)/bindings/V8DataGridColumn.h \
+ $(intermediates)/bindings/V8DataGridColumnList.h \
$(intermediates)/bindings/V8HTMLAllCollection.h \
$(intermediates)/bindings/V8HTMLAnchorElement.h \
$(intermediates)/bindings/V8HTMLAppletElement.h \
$(intermediates)/bindings/V8HTMLOptGroupElement.h \
$(intermediates)/bindings/V8HTMLOptionElement.h \
$(intermediates)/bindings/V8HTMLOptionsCollection.h \
+ $(intermediates)/bindings/V8HTMLOutputElement.h \
$(intermediates)/bindings/V8HTMLParagraphElement.h \
$(intermediates)/bindings/V8HTMLParamElement.h \
$(intermediates)/bindings/V8HTMLPreElement.h \
# Canvas
GEN := \
$(intermediates)/bindings/V8ArrayBuffer.h \
+ $(intermediates)/bindings/V8ArrayBufferView.h \
$(intermediates)/bindings/V8CanvasGradient.h \
- $(intermediates)/bindings/V8CanvasNumberArray.h \
$(intermediates)/bindings/V8CanvasPattern.h \
$(intermediates)/bindings/V8CanvasPixelArray.h \
$(intermediates)/bindings/V8CanvasRenderingContext.h \
$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
GEN := \
- $(intermediates)/bindings/V8MimeType.h \
- $(intermediates)/bindings/V8MimeTypeArray.h \
- $(intermediates)/bindings/V8Plugin.h \
- $(intermediates)/bindings/V8PluginArray.h
+ $(intermediates)/bindings/V8DOMMimeType.h \
+ $(intermediates)/bindings/V8DOMMimeTypeArray.h \
+ $(intermediates)/bindings/V8DOMPlugin.h \
+ $(intermediates)/bindings/V8DOMPluginArray.h
$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
$(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
$(intermediates)/bindings/V8DatabaseCallback.h \
$(intermediates)/bindings/V8DatabaseSync.h \
$(intermediates)/bindings/V8SQLError.h \
+ $(intermediates)/bindings/V8SQLException.h \
$(intermediates)/bindings/V8SQLResultSet.h \
$(intermediates)/bindings/V8SQLResultSetRowList.h \
$(intermediates)/bindings/V8SQLStatementCallback.h \
# Indexed Database
GEN := \
$(intermediates)/bindings/V8IDBAny.h \
+ $(intermediates)/bindings/V8IDBCursor.h \
$(intermediates)/bindings/V8IDBDatabaseError.h \
$(intermediates)/bindings/V8IDBDatabaseException.h \
- $(intermediates)/bindings/V8IDBDatabaseRequest.h \
+ $(intermediates)/bindings/V8IDBDatabase.h \
$(intermediates)/bindings/V8IDBErrorEvent.h \
$(intermediates)/bindings/V8IDBEvent.h \
- $(intermediates)/bindings/V8IDBIndexRequest.h \
+ $(intermediates)/bindings/V8IDBFactory.h \
+ $(intermediates)/bindings/V8IDBIndex.h \
+ $(intermediates)/bindings/V8IDBKey.h \
$(intermediates)/bindings/V8IDBKeyRange.h \
+ $(intermediates)/bindings/V8IDBObjectStore.h \
$(intermediates)/bindings/V8IDBRequest.h \
$(intermediates)/bindings/V8IDBSuccessEvent.h \
- $(intermediates)/bindings/V8IndexedDatabaseRequest.h
+ $(intermediates)/bindings/V8IDBTransaction.h
$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
$(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --include storage --outputdir $(dir $@) $<
$(intermediates)/bindings/V8SVGFEColorMatrixElement.h \
$(intermediates)/bindings/V8SVGFEComponentTransferElement.h \
$(intermediates)/bindings/V8SVGFECompositeElement.h \
+ $(intermediates)/bindings/V8SVGFEConvolveMatrixElement.h \
$(intermediates)/bindings/V8SVGFEDiffuseLightingElement.h \
$(intermediates)/bindings/V8SVGFEDisplacementMapElement.h \
$(intermediates)/bindings/V8SVGFEDistantLightElement.h \
$(intermediates)/bindings/V8SVGAnimatedLengthList.h \
$(intermediates)/bindings/V8SVGAnimatedNumber.h \
$(intermediates)/bindings/V8SVGAnimatedNumberList.h \
- $(intermediates)/bindings/V8SVGAnimatedPoints.h \
$(intermediates)/bindings/V8SVGAnimatedPreserveAspectRatio.h \
$(intermediates)/bindings/V8SVGAnimatedRect.h \
$(intermediates)/bindings/V8SVGAnimatedString.h \
# These headers are required by the V8 bindings even when Inspector is disabled
GEN := \
$(intermediates)/bindings/V8InjectedScriptHost.h \
- $(intermediates)/bindings/V8InspectorBackend.h \
+ $(intermediates)/bindings/V8Inspector.h \
$(intermediates)/bindings/V8InspectorFrontendHost.h \
$(intermediates)/bindings/V8ScriptProfile.h
LOCAL_GENERATED_SOURCES += $(GEN)
# SVG tag and attribute names
+
+# Note that if SVG is not used, we still need the headers and SVGNames.cpp as
+# the HTML5 parser still requires these. The factory .cpp files are also
+# generated in this case, but since these are not needed, they are excluded
+# from GEN so that they don't get compiled.
ifeq ($(ENABLE_SVG), true)
GEN:= $(intermediates)/SVGNames.cpp $(intermediates)/SVGNames.h $(intermediates)/SVGElementFactory.cpp $(intermediates)/SVGElementFactory.h $(intermediates)/V8SVGElementWrapperFactory.cpp $(intermediates)/V8SVGElementWrapperFactory.h
+else
+GEN:= $(intermediates)/SVGNames.cpp $(intermediates)/SVGNames.h $(intermediates)/SVGElementFactory.h $(intermediates)/V8SVGElementWrapperFactory.h
+endif
SVG_FLAGS:=ENABLE_SVG_ANIMATION=1 ENABLE_SVG_AS_IMAGE=1 ENABLE_SVG_FILTERS=1 ENABLE_SVG_FONTS=1 ENABLE_SVG_FOREIGN_OBJECT=1 ENABLE_SVG_USE=1
$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
$(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(PRIVATE_PATH)/svg/svgtags.in --attrs $(PRIVATE_PATH)/svg/svgattrs.in --extraDefines "$(SVG_FLAGS)" --factory --wrapperFactoryV8 --output $(dir $@)
$(GEN): $(LOCAL_PATH)/dom/make_names.pl $(LOCAL_PATH)/svg/svgtags.in $(LOCAL_PATH)/svg/svgattrs.in
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
-endif
+
+# MathML tag and attribute names
+
+# Note that MathML is never used but we still need the headers and
+# MathMLames.cpp as the HTML5 parser still requires these. The factory
+# .cpp files are also generated in this case, but since these are not
+# needed, they are excluded from GEN so that they don't get compiled.
+GEN:= $(intermediates)/MathMLNames.h $(intermediates)/MathMLNames.cpp $(intermediates)/MathMLElementFactory.h $(intermediates)/V8MathMLElementWrapperFactory.h
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(PRIVATE_PATH)/mathml/mathtags.in --attrs $(PRIVATE_PATH)/mathml/mathattrs.in --factory --wrapperFactoryV8 --output $(dir $@)
+$(GEN): $(LOCAL_PATH)/dom/make_names.pl $(LOCAL_PATH)/mathml/mathtags.in $(LOCAL_PATH)/mathml/mathattrs.in
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)