I have the following two build errors with code produced by CodeGeneratorV8.pm: target thumb C++: libwebcore <= out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGZoomEvent.cpp out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGZoomEvent.cpp: In function 'v8::Handle<v8::Value> WebCore::SVGZoomEventInternal::zoomRectScreenAttrGetter(v8::Local<v8::String>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGZoomEvent.cpp:52: error: incomplete type 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>' used in nested name specifier make: *** [out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGZoomEvent.o] Error 1 and target thumb C++: libwebcore <= out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp In file included from out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:23: out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:42: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:42: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:46: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:46: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:51: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:51: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h: In static member function 'static int* WebCore::V8SVGRect::toNative(v8::Handle<v8::Object>)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: expected '>' before '*' token out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: expected '(' before '*' token out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: expected primary-expression before '>' token out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: expected ')' before ';' token out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h: At global scope: out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:55: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:55: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:63: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:63: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:69: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:69: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:69: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h: In function 'v8::Handle<v8::Value> WebCore::toV8(int)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:71: error: request for member 'get' in 'impl', which is of non-class type 'int' out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'v8::Handle<v8::Value> WebCore::SVGRectInternal::xAttrGetter(v8::Local<v8::String>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:46: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'void WebCore::SVGRectInternal::xAttrSetter(v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:59: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'v8::Handle<v8::Value> WebCore::SVGRectInternal::yAttrGetter(v8::Local<v8::String>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:71: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'void WebCore::SVGRectInternal::yAttrSetter(v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:84: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'v8::Handle<v8::Value> WebCore::SVGRectInternal::widthAttrGetter(v8::Local<v8::String>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:96: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'void WebCore::SVGRectInternal::widthAttrSetter(v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:109: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'v8::Handle<v8::Value> WebCore::SVGRectInternal::heightAttrGetter(v8::Local<v8::String>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:121: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'void WebCore::SVGRectInternal::heightAttrSetter(v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:134: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: At global scope: out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:185: error: prototype for 'v8::Handle<v8::Object> WebCore::V8SVGRect::wrapSlow(WebCore::SVGPropertyTearOff<WebCore::FloatRect>*)' does not match any in class 'WebCore::V8SVGRect' out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:51: error: candidate is: static v8::Handle<v8::Object> WebCore::V8SVGRect::wrapSlow(int*) make: *** [out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.o] Error 1 make: Leaving directory `/usr/local/google/webkitmerge'
Created attachment 72981 [details] Added missing include and forward declaration where needed.
Comment on attachment 72981 [details] Added missing include and forward declaration where needed. Looks fine, why does it build on Chrome/V8 though? Hmm, anyhow, r+ as it's a build fix for you.
Comment on attachment 72981 [details] Added missing include and forward declaration where needed. Clearing flags on attachment: 72981 Committed r71396: <http://trac.webkit.org/changeset/71396>
All reviewed patches have been landed. Closing bug.
> Looks fine, why does it build on Chrome/V8 though? Hmm, anyhow, r+ as it's a build fix for you. We've run into similar problems on Android before. Usually it's because Chromium picks up the required headers through other headers guarded by feature defines not enabled on Android.