Fix a bunch more bindings errors.
diff --git a/Android.v8.mk b/Android.v8.mk
index bd7673f..ed88874 100644
--- a/Android.v8.mk
+++ b/Android.v8.mk
@@ -168,6 +168,7 @@
$(BINDING_C_INCLUDES) \
$(base_intermediates)/WebCore/ \
$(base_intermediates)/WebCore/bindings \
+ $(base_intermediates)/WebCore/css \
$(base_intermediates)/JavaScriptCore
ifeq ($(ENABLE_SVG), true)
diff --git a/V8Binding/V8Binding.derived.mk b/V8Binding/V8Binding.derived.mk
index bc5d5ad..b639b8b 100644
--- a/V8Binding/V8Binding.derived.mk
+++ b/V8Binding/V8Binding.derived.mk
@@ -374,7 +374,20 @@
$(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(WEBCORE_PATH) perl -I$(WEBCORE_PATH)/bindings/scripts $(WEBCORE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --include html/canvas --outputdir $(dir $@) $<
$(GEN): $(intermediates)/bindings/V8%.h : $(WEBCORE_PATH)/html/canvas/%.idl $(js_binding_scripts)
- $(transform-generated-source)
+ $(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
+
+GEN := \
+ $(intermediates)/bindings/V8InspectorBackend.h \
+ $(intermediates)/bindings/V8JavaScriptCallFrame.h
+
+$(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(WEBCORE_PATH) perl -I$(WEBCORE_PATH)/bindings/scripts $(WEBCORE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --outputdir $(dir $@) $<
+$(GEN): $(intermediates)/bindings/V8%.h : $(WEBCORE_PATH)/inspector/%.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
diff --git a/WebCore/Android.v8.mk b/WebCore/Android.v8.mk
index 210a352..f257618 100644
--- a/WebCore/Android.v8.mk
+++ b/WebCore/Android.v8.mk
@@ -540,8 +540,7 @@
platform/graphics/transforms/TransformationMatrix.cpp \
platform/graphics/transforms/TranslateTransformOperation.cpp \
\
- platform/image-decoders/skia/GIFImageDecoder.cpp \
- platform/image-decoders/skia/GIFImageReader.cpp \
+ platform/image-decoders/skia/ImageDecoderSkia.cpp \
\
platform/network/AuthenticationChallengeBase.cpp \
platform/network/Credential.cpp \
diff --git a/WebCore/bindings/v8/ChildThreadDOMData.h b/WebCore/bindings/v8/ChildThreadDOMData.h
index 5097c86..ab90e5b 100644
--- a/WebCore/bindings/v8/ChildThreadDOMData.h
+++ b/WebCore/bindings/v8/ChildThreadDOMData.h
@@ -39,6 +39,8 @@
class ChildThreadDOMData : public DOMData {
public:
ChildThreadDOMData();
+ virtual ~ChildThreadDOMData() { }
+
DOMDataStore& getStore();
private:
diff --git a/WebCore/bindings/v8/DOMData.h b/WebCore/bindings/v8/DOMData.h
index 5effe7c..07e14e5 100644
--- a/WebCore/bindings/v8/DOMData.h
+++ b/WebCore/bindings/v8/DOMData.h
@@ -45,6 +45,7 @@
class DOMData : public Noncopyable {
public:
DOMData();
+ virtual ~DOMData() { }
static DOMData* getCurrent();
static DOMData* getCurrentMainThread(); // Caller must be on the main thread.
diff --git a/WebCore/bindings/v8/DerivedSourcesAllInOne.cpp b/WebCore/bindings/v8/DerivedSourcesAllInOne.cpp
index 4962a92..e84a71b 100644
--- a/WebCore/bindings/v8/DerivedSourcesAllInOne.cpp
+++ b/WebCore/bindings/v8/DerivedSourcesAllInOne.cpp
@@ -28,10 +28,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// This source file coalesces the HTML elements into a single object file to
+// This source file coalesces the V8 derived sources into a single object file to
// reduce bloat and allow us to link release builds on 32-bit Windows.
-#include "bindings/V8AbstractWorker.cpp"
#include "bindings/V8Attr.cpp"
#include "bindings/V8BarInfo.cpp"
#include "bindings/V8CanvasGradient.cpp"
@@ -61,16 +60,11 @@
#include "bindings/V8CSSValueList.cpp"
#include "bindings/V8CSSVariablesDeclaration.cpp"
#include "bindings/V8CSSVariablesRule.cpp"
-#include "bindings/V8Database.cpp"
#include "bindings/V8DataGridColumn.cpp"
#include "bindings/V8DataGridColumnList.cpp"
-#include "bindings/V8DedicatedWorkerContext.cpp"
#include "bindings/V8Document.cpp"
#include "bindings/V8DocumentFragment.cpp"
#include "bindings/V8DocumentType.cpp"
-#if ENABLE(OFFLINE_WEB_APPLICATIONS)
-#include "bindings/V8DOMApplicationCache.cpp"
-#endif
#include "bindings/V8DOMCoreException.cpp"
#include "bindings/V8DOMImplementation.cpp"
#include "bindings/V8DOMParser.cpp"
@@ -185,17 +179,49 @@
#include "bindings/V8Rect.cpp"
#include "bindings/V8RGBColor.cpp"
#include "bindings/V8Screen.cpp"
-#include "bindings/V8SharedWorker.cpp"
+#include "bindings/V8StyleSheet.cpp"
+#include "bindings/V8StyleSheetList.cpp"
+#include "bindings/V8Text.cpp"
+#include "bindings/V8TextEvent.cpp"
+#include "bindings/V8TextMetrics.cpp"
+#include "bindings/V8TimeRanges.cpp"
+#include "bindings/V8TreeWalker.cpp"
+#include "bindings/V8UIEvent.cpp"
+#include "bindings/V8ValidityState.cpp"
+#include "bindings/V8WebKitAnimationEvent.cpp"
+#include "bindings/V8WebKitCSSKeyframeRule.cpp"
+#include "bindings/V8WebKitCSSKeyframesRule.cpp"
+#include "bindings/V8WebKitCSSMatrix.cpp"
+#include "bindings/V8WebKitCSSTransformValue.cpp"
+#include "bindings/V8WebKitPoint.cpp"
+#include "bindings/V8WebKitTransitionEvent.cpp"
+#include "bindings/V8WheelEvent.cpp"
+#include "bindings/V8XMLHttpRequest.cpp"
+#include "bindings/V8XMLHttpRequestException.cpp"
+#include "bindings/V8XMLHttpRequestProgressEvent.cpp"
+#include "bindings/V8XMLHttpRequestUpload.cpp"
+#include "bindings/V8XMLSerializer.cpp"
+
+
+#if ENABLE(DATABASE)
+#include "bindings/V8Database.cpp"
#include "bindings/V8SQLError.cpp"
#include "bindings/V8SQLResultSet.cpp"
#include "bindings/V8SQLResultSetRowList.cpp"
#include "bindings/V8SQLTransaction.cpp"
+#endif
+
+
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+#include "bindings/V8DOMApplicationCache.cpp"
+#endif
+
#if ENABLE(DOM_STORAGE)
#include "bindings/V8Storage.cpp"
#include "bindings/V8StorageEvent.cpp"
#endif
-#include "bindings/V8StyleSheet.cpp"
-#include "bindings/V8StyleSheetList.cpp"
+
+#if ENABLE(SVG)
#include "bindings/V8SVGAElement.cpp"
#include "bindings/V8SVGAltGlyphElement.cpp"
#include "bindings/V8SVGAngle.cpp"
@@ -306,33 +332,26 @@
#include "bindings/V8SVGUseElement.cpp"
#include "bindings/V8SVGViewElement.cpp"
#include "bindings/V8SVGZoomEvent.cpp"
-#include "bindings/V8Text.cpp"
-#include "bindings/V8TextEvent.cpp"
-#include "bindings/V8TextMetrics.cpp"
-#include "bindings/V8TimeRanges.cpp"
-#include "bindings/V8TreeWalker.cpp"
-#include "bindings/V8UIEvent.cpp"
-#include "bindings/V8ValidityState.cpp"
-#include "bindings/V8WebKitAnimationEvent.cpp"
-#include "bindings/V8WebKitCSSKeyframeRule.cpp"
-#include "bindings/V8WebKitCSSKeyframesRule.cpp"
-#include "bindings/V8WebKitCSSMatrix.cpp"
-#include "bindings/V8WebKitCSSTransformValue.cpp"
-#include "bindings/V8WebKitPoint.cpp"
-#include "bindings/V8WebKitTransitionEvent.cpp"
-#include "bindings/V8WheelEvent.cpp"
+#endif
+
+#if ENABLE(WORKERS)
+#include "bindings/V8AbstractWorker.cpp"
+#include "bindings/V8DedicatedWorkerContext.cpp"
+#include "bindings/V8SharedWorker.cpp"
#include "bindings/V8Worker.cpp"
#include "bindings/V8WorkerContext.cpp"
#include "bindings/V8WorkerLocation.cpp"
#include "bindings/V8WorkerNavigator.cpp"
-#include "bindings/V8XMLHttpRequest.cpp"
-#include "bindings/V8XMLHttpRequestException.cpp"
-#include "bindings/V8XMLHttpRequestProgressEvent.cpp"
-#include "bindings/V8XMLHttpRequestUpload.cpp"
-#include "bindings/V8XMLSerializer.cpp"
+#endif
+
+#if ENABLE(XPATH)
#include "bindings/V8XPathEvaluator.cpp"
#include "bindings/V8XPathException.cpp"
#include "bindings/V8XPathExpression.cpp"
#include "bindings/V8XPathNSResolver.cpp"
#include "bindings/V8XPathResult.cpp"
+#endif
+
+#if ENABLE(XSLT)
#include "bindings/V8XSLTProcessor.cpp"
+#endif
diff --git a/WebCore/bindings/v8/V8Index.cpp b/WebCore/bindings/v8/V8Index.cpp
index 05d4a3a..6e65d92 100644
--- a/WebCore/bindings/v8/V8Index.cpp
+++ b/WebCore/bindings/v8/V8Index.cpp
@@ -62,7 +62,6 @@
#include "V8CSSVariablesRule.h"
#include "V8DataGridColumn.h"
#include "V8DataGridColumnList.h"
-#include "V8Database.h"
#include "V8Document.h"
#include "V8DocumentFragment.h"
#include "V8DocumentType.h"
@@ -186,26 +185,16 @@
#include "V8Range.h"
#include "V8RangeException.h"
#include "V8Rect.h"
-#include "V8SQLError.h"
-#include "V8SQLResultSet.h"
-#include "V8SQLResultSetRowList.h"
-#include "V8SQLTransaction.h"
-#include "V8NodeIterator.h"
+#iinclude "V8NodeIterator.h"
#include "V8TextMetrics.h"
#include "V8TreeWalker.h"
#include "V8StyleSheetList.h"
#include "V8DOMImplementation.h"
-#include "V8XPathResult.h"
-#include "V8XPathException.h"
-#include "V8XPathExpression.h"
-#include "V8XPathNSResolver.h"
#include "V8XMLHttpRequest.h"
#include "V8XMLHttpRequestException.h"
#include "V8XMLHttpRequestProgressEvent.h"
#include "V8XMLHttpRequestUpload.h"
#include "V8XMLSerializer.h"
-#include "V8XPathEvaluator.h"
-#include "V8XSLTProcessor.h"
#include "V8RGBColor.h"
#include "V8VoidCallback.h"
@@ -213,6 +202,14 @@
#include "V8DOMApplicationCache.h"
#endif
+#if ENABLE(DATABASE)
+#include "V8Database.h"
+#include "V8SQLError.h"
+#include "V8SQLResultSet.h"
+#include "V8SQLResultSetRowList.h"
+#include "V8SQLTransaction.h"
+#endif
+
#if ENABLE(DOM_STORAGE)
#include "V8Storage.h"
#include "V8StorageEvent.h"
@@ -403,6 +400,18 @@
#include "V8TouchEvent.h"
#endif
+#if ENABLE(XPATH)
+#include "V8XPathResult.h"
+#include "V8XPathException.h"
+#include "V8XPathExpression.h"
+#include "V8XPathEvaluator.h"
+#include "V8XPathNSResolver.h"
+#endif
+
+#if ENABLE(XSLT)
+#include "V8XSLTProcessor.h"
+#endif
+
namespace WebCore {
FunctionTemplateFactory V8ClassIndex::GetFactory(V8WrapperType type)
diff --git a/WebCore/bindings/v8/V8Index.h b/WebCore/bindings/v8/V8Index.h
index 1df015f..711a704 100644
--- a/WebCore/bindings/v8/V8Index.h
+++ b/WebCore/bindings/v8/V8Index.h
@@ -388,12 +388,6 @@
V(XMLHTTPREQUESTEXCEPTION, XMLHttpRequestException) \
V(XMLHTTPREQUESTPROGRESSEVENT, XMLHttpRequestProgressEvent) \
V(XMLSERIALIZER, XMLSerializer) \
- V(XPATHEVALUATOR, XPathEvaluator) \
- V(XPATHEXCEPTION, XPathException) \
- V(XPATHEXPRESSION, XPathExpression) \
- V(XPATHNSRESOLVER, XPathNSResolver) \
- V(XPATHRESULT, XPathResult) \
- V(XSLTPROCESSOR, XSLTProcessor) \
ACTIVE_DOM_OBJECT_TYPES(V) \
APPLICATIONCACHE_NONNODE_WRAPPER_TYPES(V) \
DATAGRID_NONNODE_TYPES(V) \
@@ -401,6 +395,24 @@
SHARED_WORKER_NONNODE_WRAPPER_TYPES(V) \
WORKER_NONNODE_WRAPPER_TYPES(V)
+#if ENABLE(XPATH)
+#define DOM_OBJECT_XPATH_TYPES(V) \
+ V(XPATHEVALUATOR, XPathEvaluator) \
+ V(XPATHEXCEPTION, XPathException) \
+ V(XPATHEXPRESSION, XPathExpression) \
+ V(XPATHNSRESOLVER, XPathNSResolver) \
+ V(XPATHRESULT, XPathResult)
+#else
+#define DOM_OBJECT_XPATH_TYPES(V)
+#endif
+
+#if ENABLE(XSLT)
+#define DOM_OBJECT_XSLT_TYPES(V) \
+ V(XSLTPROCESSOR, XSLTProcessor)
+#else
+#define DOM_OBJECT_XSLT_TYPES(V)
+#endif
+
#if ENABLE(DATABASE)
#define DOM_OBJECT_DATABASE_TYPES(V) \
V(DATABASE, Database) \
@@ -452,7 +464,9 @@
DOM_OBJECT_TYPES_2(V) \
DOM_OBJECT_DATABASE_TYPES(V) \
DOM_OBJECT_STORAGE_TYPES(V) \
- DOM_OBJECT_WORKERS_TYPES(V)
+ DOM_OBJECT_WORKERS_TYPES(V) \
+ DOM_OBJECT_XPATH_TYPES(V) \
+ DOM_OBJECT_XSLT_TYPES(V)
#elif PLATFORM(ANDROID)
#define DOM_OBJECT_TYPES(V) \
DOM_OBJECT_TYPES_1(V) \
diff --git a/WebCore/bindings/v8/V8Proxy.cpp b/WebCore/bindings/v8/V8Proxy.cpp
index 1e0658f..b13fc77 100644
--- a/WebCore/bindings/v8/V8Proxy.cpp
+++ b/WebCore/bindings/v8/V8Proxy.cpp
@@ -46,8 +46,6 @@
#include "V8Index.h"
#include "V8IsolatedWorld.h"
-#include <algorithm>
-#include <utility>
#include <v8.h>
#include <v8-debug.h>
#include <wtf/Assertions.h>
diff --git a/WebCore/bindings/v8/V8Proxy.h b/WebCore/bindings/v8/V8Proxy.h
index 66a788e..d2c0181 100644
--- a/WebCore/bindings/v8/V8Proxy.h
+++ b/WebCore/bindings/v8/V8Proxy.h
@@ -48,10 +48,7 @@
#include <wtf/PassRefPtr.h> // so generated bindings don't have to
#include <wtf/Vector.h>
-#include <iterator>
-#include <list>
-
-#ifdef ENABLE_DOM_STATS_COUNTERS && PLATFORM(CHROMIUM)
+#if defined(ENABLE_DOM_STATS_COUNTERS) && PLATFORM(CHROMIUM)
#include "ChromiumBridge.h"
#define INC_STATS(name) ChromiumBridge::incrementStatsCounter(name)
#else
@@ -148,7 +145,7 @@
int group;
v8::Extension* extension;
};
- typedef std::list<V8ExtensionInfo> V8ExtensionList;
+ typedef WTF::Vector<V8ExtensionInfo> V8ExtensionList;
class V8Proxy {
public: