<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>49025</bug_id>
          
          <creation_ts>2010-11-04 14:25:20 -0700</creation_ts>
          <short_desc>CodeGeneratorV8.pm produced code that fails to compile.</short_desc>
          <delta_ts>2010-11-05 05:21:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Android</rep_platform>
          <op_sys>Android</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter>jreck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>steveblock</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>304869</commentid>
    <comment_count>0</comment_count>
    <who name="">jreck</who>
    <bug_when>2010-11-04 14:25:20 -0700</bug_when>
    <thetext>I have the following two build errors with code produced by CodeGeneratorV8.pm:

target thumb C++: libwebcore &lt;= 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 &apos;v8::Handle&lt;v8::Value&gt; WebCore::SVGZoomEventInternal::zoomRectScreenAttrGetter(v8::Local&lt;v8::String&gt;, const v8::AccessorInfo&amp;)&apos;:
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGZoomEvent.cpp:52: error: incomplete type &apos;WebCore::SVGPropertyTearOff&lt;WebCore::FloatRect&gt;&apos; 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 &lt;= 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: &apos;FloatRect&apos; 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: &apos;FloatRect&apos; 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: &apos;FloatRect&apos; 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 &apos;static int* WebCore::V8SVGRect::toNative(v8::Handle&lt;v8::Object&gt;)&apos;:
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: &apos;FloatRect&apos; 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 &apos;&gt;&apos; before &apos;*&apos; token
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: expected &apos;(&apos; before &apos;*&apos; token
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: expected primary-expression before &apos;&gt;&apos; token
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: expected &apos;)&apos; before &apos;;&apos; 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: &apos;FloatRect&apos; 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: &apos;FloatRect&apos; 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: &apos;FloatRect&apos; 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 &apos;v8::Handle&lt;v8::Value&gt; WebCore::toV8(int)&apos;:
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:71: error: request for member &apos;get&apos; in &apos;impl&apos;, which is of non-class type &apos;int&apos;
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function &apos;v8::Handle&lt;v8::Value&gt; WebCore::SVGRectInternal::xAttrGetter(v8::Local&lt;v8::String&gt;, const v8::AccessorInfo&amp;)&apos;:
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:46: error: cannot convert &apos;int*&apos; to &apos;WebCore::SVGPropertyTearOff&lt;WebCore::FloatRect&gt;*&apos; in initialization
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function &apos;void WebCore::SVGRectInternal::xAttrSetter(v8::Local&lt;v8::String&gt;, v8::Local&lt;v8::Value&gt;, const v8::AccessorInfo&amp;)&apos;:
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:59: error: cannot convert &apos;int*&apos; to &apos;WebCore::SVGPropertyTearOff&lt;WebCore::FloatRect&gt;*&apos; in initialization
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function &apos;v8::Handle&lt;v8::Value&gt; WebCore::SVGRectInternal::yAttrGetter(v8::Local&lt;v8::String&gt;, const v8::AccessorInfo&amp;)&apos;:
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:71: error: cannot convert &apos;int*&apos; to &apos;WebCore::SVGPropertyTearOff&lt;WebCore::FloatRect&gt;*&apos; in initialization
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function &apos;void WebCore::SVGRectInternal::yAttrSetter(v8::Local&lt;v8::String&gt;, v8::Local&lt;v8::Value&gt;, const v8::AccessorInfo&amp;)&apos;:
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:84: error: cannot convert &apos;int*&apos; to &apos;WebCore::SVGPropertyTearOff&lt;WebCore::FloatRect&gt;*&apos; in initialization
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function &apos;v8::Handle&lt;v8::Value&gt; WebCore::SVGRectInternal::widthAttrGetter(v8::Local&lt;v8::String&gt;, const v8::AccessorInfo&amp;)&apos;:
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:96: error: cannot convert &apos;int*&apos; to &apos;WebCore::SVGPropertyTearOff&lt;WebCore::FloatRect&gt;*&apos; in initialization
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function &apos;void WebCore::SVGRectInternal::widthAttrSetter(v8::Local&lt;v8::String&gt;, v8::Local&lt;v8::Value&gt;, const v8::AccessorInfo&amp;)&apos;:
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:109: error: cannot convert &apos;int*&apos; to &apos;WebCore::SVGPropertyTearOff&lt;WebCore::FloatRect&gt;*&apos; in initialization
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function &apos;v8::Handle&lt;v8::Value&gt; WebCore::SVGRectInternal::heightAttrGetter(v8::Local&lt;v8::String&gt;, const v8::AccessorInfo&amp;)&apos;:
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:121: error: cannot convert &apos;int*&apos; to &apos;WebCore::SVGPropertyTearOff&lt;WebCore::FloatRect&gt;*&apos; in initialization
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function &apos;void WebCore::SVGRectInternal::heightAttrSetter(v8::Local&lt;v8::String&gt;, v8::Local&lt;v8::Value&gt;, const v8::AccessorInfo&amp;)&apos;:
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:134: error: cannot convert &apos;int*&apos; to &apos;WebCore::SVGPropertyTearOff&lt;WebCore::FloatRect&gt;*&apos; 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 &apos;v8::Handle&lt;v8::Object&gt; WebCore::V8SVGRect::wrapSlow(WebCore::SVGPropertyTearOff&lt;WebCore::FloatRect&gt;*)&apos; does not match any in class &apos;WebCore::V8SVGRect&apos;
out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:51: error: candidate is: static v8::Handle&lt;v8::Object&gt; 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&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304873</commentid>
    <comment_count>1</comment_count>
      <attachid>72981</attachid>
    <who name="">jreck</who>
    <bug_when>2010-11-04 14:28:17 -0700</bug_when>
    <thetext>Created attachment 72981
Added missing include and forward declaration where needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305174</commentid>
    <comment_count>2</comment_count>
      <attachid>72981</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-05 01:11:55 -0700</bug_when>
    <thetext>Comment on attachment 72981
Added missing include and forward declaration where needed.

Looks fine, why does it build on Chrome/V8 though? Hmm, anyhow, r+ as it&apos;s a build fix for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305179</commentid>
    <comment_count>3</comment_count>
      <attachid>72981</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-05 01:29:38 -0700</bug_when>
    <thetext>Comment on attachment 72981
Added missing include and forward declaration where needed.

Clearing flags on attachment: 72981

Committed r71396: &lt;http://trac.webkit.org/changeset/71396&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305180</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-05 01:29:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305233</commentid>
    <comment_count>5</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-11-05 05:21:53 -0700</bug_when>
    <thetext>&gt; Looks fine, why does it build on Chrome/V8 though? Hmm, anyhow, r+ as it&apos;s a build fix for you.
We&apos;ve run into similar problems on Android before. Usually it&apos;s because Chromium picks up the required headers through other headers guarded by feature defines not enabled on Android.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72981</attachid>
            <date>2010-11-04 14:28:17 -0700</date>
            <delta_ts>2010-11-05 01:29:38 -0700</delta_ts>
            <desc>Added missing include and forward declaration where needed.</desc>
            <filename>codeGeneratorPatch</filename>
            <type>text/plain</type>
            <size>2071</size>
            <attacher>jreck</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTM1NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMTEtMDQgIEpvaG4gUmVjayAgPGpyZWNrQGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGNo
YW5nZSB0byBTVkdQcm9wZXJ0eVRlYXJPZmYgYnkgQ29kZUdlbmVyYXRvclY4LnBtIGNhdXNlZCB0
d28gYnVpbGQgZmFpbHVyZXMKKyAgICAgICAgZm9yIEFuZHJvaWQuIE9uZSB3YXMgYSBtaXNzaW5n
IFNWR1Byb3BlcnR5VGVhck9mZi5oIGluY2x1ZGUsIHRoZSBvdGhlciB3YXMgYSAKKyAgICAgICAg
bWlzc2luZyBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mIEZsb2F0UmVjdC4gU2VlbXMgdG8gYmUgdGhl
IHJlc3VsdCBvZjoKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ4MjA0CisKKyAgICAgICAgQnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDkwMjUKKworICAgICAgICBObyB0ZXN0cyBuZWVkZWQsIGZpeGVzIGJ1aWxkIGlz
c3VlLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisK
IDIwMTAtMTEtMDQgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JWOC5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvclY4LnBtCShyZXZpc2lvbiA3MTM1MykKKysrIFdlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0JKHdvcmtpbmcgY29weSkKQEAgLTI3OCw2ICsy
NzgsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRl
bnQsICJcbnRlbXBsYXRlPHR5cGVuYW1lIFByb3BlcnR5VHlwZT4gY2xhc3MgU1ZHTGlzdFByb3Bl
cnR5VGVhck9mZjtcbiIpOwogICAgICAgICB9CiAgICAgfQorICAgIHB1c2goQGhlYWRlckNvbnRl
bnQsICJcbmNsYXNzIEZsb2F0UmVjdDtcbiIpIGlmICRzdmdQcm9wZXJ0eVR5cGUgJiYgJHN2Z1By
b3BlcnR5VHlwZSBlcSAiRmxvYXRSZWN0IjsKICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiXG5j
bGFzcyAkY2xhc3NOYW1lIHtcbiIpOwogCiAgICAgbXkgJG5hdGl2ZVR5cGUgPSBHZXROYXRpdmVU
eXBlRm9yQ29udmVyc2lvbnMoJGRhdGFOb2RlLCAkaW50ZXJmYWNlTmFtZSk7CkBAIC05MjcsNiAr
OTI4LDcgQEAgRU5ECiAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgcmV0dXJu
IHRvVjgoc3RhdGljX2Nhc3Q8JHN2Z05hdGl2ZVR5cGUqPigkcmVzdWx0KSk7XG4iKTsKICAgICB9
IGVsc2lmICgkY29kZUdlbmVyYXRvci0+SXNTVkdUeXBlTmVlZGluZ1RlYXJPZmYoJGF0dHJUeXBl
KSBhbmQgbm90ICRpbXBsQ2xhc3NOYW1lID1+IC9MaXN0JC8pIHsKICAgICAgICAgJGltcGxJbmNs
dWRlc3siVjgkYXR0clR5cGUuaCJ9ID0gMTsKKyAgICAgICAgJGltcGxJbmNsdWRlc3siU1ZHUHJv
cGVydHlUZWFyT2ZmLmgifSA9IDE7CiAgICAgICAgIG15ICR0ZWFyT2ZmVHlwZSA9ICRjb2RlR2Vu
ZXJhdG9yLT5HZXRTVkdUeXBlTmVlZGluZ1RlYXJPZmYoJGF0dHJUeXBlKTsKICAgICAgICAgaWYg
KCR0ZWFyT2ZmVHlwZSA9fiAvU1ZHU3RhdGljTGlzdFByb3BlcnR5VGVhck9mZi8pIHsKICAgICAg
ICAgICAgIG15ICRleHRyYUltcCA9ICJHZXRPd25lckVsZW1lbnRGb3JUeXBlPCRpbXBsQ2xhc3NO
YW1lLCBJc0Rlcml2ZWRGcm9tU1ZHRWxlbWVudDwkaW1wbENsYXNzTmFtZT46OnZhbHVlPjo6b3du
ZXJFbGVtZW50KGltcCksICI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>