<?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>29204</bug_id>
          
          <creation_ts>2009-09-11 12:34:04 -0700</creation_ts>
          <short_desc>Compile KeyframeList.cpp and AnimationBase.cpp in winscw compiler.</short_desc>
          <delta_ts>2011-12-05 09:35:04 -0800</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>S60 Emulator</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>
          
          <blocked>27065</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yongjun Zhang">yongjun.zhang</reporter>
          <assigned_to name="Yongjun Zhang">yongjun.zhang</assigned_to>
          <cc>kling</cc>
    
    <cc>laszlo.gombos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>146711</commentid>
    <comment_count>0</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-09-11 12:34:04 -0700</bug_when>
    <thetext>KeyframeList(RenderObject*, const AtomicString&amp;) is implemented in KeyframeList.h, and it calls KeyframeList::insert(float, PassRefPtr&lt;RenderStyle&gt;); the compiler tries to aggressively resolve RenderStyle::ref() in PassRefPtr&lt;T&gt;::PassRefPtr(T*) ctr, and it complains &quot;illegal use of incomplete class&quot; if RenderStyle.h is not included.

In AnimationBase.h, setAnimation(..) is inlined and RefPtr&lt;T&gt;::operator=(T*) is called in this function which fails to resolve Animation::ref().

One idea is to not inline ref() call in PassRefPtr and RefPtr, as suggested by https://bugs.webkit.org/show_bug?id=28054#c15 .  But this requires changes RefPtr &amp; PassRefPtr and it is not ideal (see comment https://bugs.webkit.org/show_bug?id=28054#c17).

It looks like only those two files uses inlined ref via RefPtr &amp; PassRefPtr in header files.  As a less intrusive way we can move the implementation of these two functions to respective cpp files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146712</commentid>
    <comment_count>1</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-09-11 12:37:24 -0700</bug_when>
    <thetext>sorry, the comment url should be:

https://bugs.webkit.org/show_bug.cgi?id=28054#c15

and 

https://bugs.webkit.org/show_bug.cgi?id=28054#c17</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146727</commentid>
    <comment_count>2</comment_count>
      <attachid>39472</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-09-11 13:27:46 -0700</bug_when>
    <thetext>Created attachment 39472
Move setAnimation() and KeyframeList() ctor to respective cpp files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146803</commentid>
    <comment_count>3</comment_count>
      <attachid>39472</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-11 16:45:28 -0700</bug_when>
    <thetext>Comment on attachment 39472
Move setAnimation() and KeyframeList() ctor to respective cpp files.

Why are these changes needed? And why are we supporting this broken compiler... ;)  The number of fixes needed to make winscw work seems to be growing without bound.

r-.  We need more explanation for each of these (seemingly arbitrary) changes, and ideally links to compiler bugs you&apos;ve filed with the winscw folks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146889</commentid>
    <comment_count>4</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-09-11 20:57:50 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 39472 [details])

Thanks a lot for the comment, Eric.

&gt; Why are these changes needed? And why are we supporting this broken compiler...

Winscw compiler (based on Codewarrior) is used in building apps running in S60 emulator, so far that is the only available emulator compiler for us :-(

&gt; ;)  The number of fixes needed to make winscw work seems to be growing without
&gt; bound.

We fully understand the concern; and we tried hard to make sure the changes are minimum and really necessary. Good news is all the winscw patches are submitted for review and looks like there won&apos;t be any further patches for this issue any more.

&gt; r-.  We need more explanation for each of these (seemingly arbitrary) changes,
&gt; and ideally links to compiler bugs you&apos;ve filed with the winscw folks.

There is a bug for it in winscw compiler bugzilla (https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812). It is essentially the same issue as https://bugs.webkit.org/show_bug?id=28054 except it is caused by ref(), not deref().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515140</commentid>
    <comment_count>5</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-12-05 09:35:04 -0800</bug_when>
    <thetext>WinSCW support is no longer an issue as Symbian support has been removed from WebKit trunk.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39472</attachid>
            <date>2009-09-11 13:27:46 -0700</date>
            <delta_ts>2010-06-10 20:09:20 -0700</delta_ts>
            <desc>Move setAnimation() and KeyframeList() ctor to respective cpp files.</desc>
            <filename>AnimationBase_KeyframeList.patch</filename>
            <type>text/plain</type>
            <size>3238</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODMxMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMDktMTEgIFlvbmdqdW4gWmhhbmcgIDx5b25nanVuLnpoYW5n
QG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkyMDQKKworICAg
ICAgICBDb21waWxlIEtleWZyYW1lTGlzdC5jcHAgYW5kIEFuaW1hdGlvbkJhc2UuY3BwIGluIHdp
bnNjdyBjb21waWxlci4KKworICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2Uu
Y3BwOiBNb3ZlIHNldEFuaW1hdGlvbigpIGltcGxlbWVudGF0aW9uIHRvIGNwcCBmaWxlLgorICAg
ICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQmFzZTo6c2V0QW5pbWF0aW9uKToKKyAgICAgICAgKiBw
YWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L0tleWZyYW1lTGlzdC5jcHA6IE1vdmUgS2V5ZnJhbWVMaXN0KCkgY3RvciB0byBjcHAgZmlsZS4K
KyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lTGlzdDo6S2V5ZnJhbWVMaXN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvS2V5ZnJhbWVMaXN0Lmg6CisKIDIwMDktMDktMTEgIENhbWVyb24g
TWNDb3JtYWNrICA8Y2FtQG1jYy5pZC5hdT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNl
aWRlbC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAkocmV2
aXNpb24gNDgzMTEpCisrKyBXZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04NDEsNiArODQxLDExIEBAIGJvb2wgQW5pbWF0aW9uQmFzZTo6
YW5pbWF0aW9uc01hdGNoKGNvbnMKIHsKICAgICByZXR1cm4gbV9hbmltYXRpb24tPmFuaW1hdGlv
bnNNYXRjaChhbmltKTsKIH0KKyAgICAKK3ZvaWQgQW5pbWF0aW9uQmFzZTo6c2V0QW5pbWF0aW9u
KGNvbnN0IEFuaW1hdGlvbiogYW5pbSkgCit7CisgICAgbV9hbmltYXRpb24gPSBjb25zdF9jYXN0
PEFuaW1hdGlvbio+KGFuaW0pOyAKK30KIAogdm9pZCBBbmltYXRpb25CYXNlOjp1cGRhdGVTdGF0
ZU1hY2hpbmUoQW5pbVN0YXRlSW5wdXQgaW5wdXQsIGRvdWJsZSBwYXJhbSkKIHsKSW5kZXg6IFdl
YkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oCShyZXZpc2lvbiA0ODMxMSkKKysrIFdl
YkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzMsNyArMTMzLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBhbmltYXRpb25zTWF0Y2goY29uc3Qg
QW5pbWF0aW9uKikgY29uc3Q7CiAKLSAgICB2b2lkIHNldEFuaW1hdGlvbihjb25zdCBBbmltYXRp
b24qIGFuaW0pIHsgbV9hbmltYXRpb24gPSBjb25zdF9jYXN0PEFuaW1hdGlvbio+KGFuaW0pOyB9
CisgICAgdm9pZCBzZXRBbmltYXRpb24oY29uc3QgQW5pbWF0aW9uKiBhbmltKTsKIAogICAgIC8v
IFJldHVybiB0cnVlIGlmIHRoaXMgYW5pbWF0aW9uIGlzIG92ZXJyaWRkZW4uIFRoaXMgd2lsbCBv
bmx5IGJlIHRoZSBjYXNlIGZvcgogICAgIC8vIEltcGxpY2l0QW5pbWF0aW9ucyBhbmQgaXMgdXNl
ZCB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3Qgd2Ugc2hvdWxkIGZvcmNlCkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9LZXlmcmFtZUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL0tleWZyYW1lTGlzdC5jcHAJKHJldmlzaW9uIDQ4MzExKQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvS2V5ZnJhbWVMaXN0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjUsNiArMjUsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitLZXlmcmFtZUxpc3Q6
OktleWZyYW1lTGlzdChSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBBdG9taWNTdHJpbmcm
IGFuaW1hdGlvbk5hbWUpCisgICAgOiBtX2FuaW1hdGlvbk5hbWUoYW5pbWF0aW9uTmFtZSkKKyAg
ICAsIG1fcmVuZGVyZXIocmVuZGVyZXIpCit7CisgICAgaW5zZXJ0KDAsIDApOworICAgIGluc2Vy
dCgxLCAwKTsKK30KKyAgICAKIEtleWZyYW1lTGlzdDo6fktleWZyYW1lTGlzdCgpCiB7CiAgICAg
Y2xlYXIoKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0tleWZyYW1lTGlzdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0tleWZyYW1lTGlzdC5oCShyZXZp
c2lvbiA0ODMxMSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0tleWZyYW1lTGlzdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC01MSwxMyArNTEsNyBAQCBwdWJsaWM6CiAKIGNsYXNzIEtleWZyYW1l
TGlzdCB7CiBwdWJsaWM6Ci0gICAgS2V5ZnJhbWVMaXN0KFJlbmRlck9iamVjdCogcmVuZGVyZXIs
IGNvbnN0IEF0b21pY1N0cmluZyYgYW5pbWF0aW9uTmFtZSkKLSAgICAgICAgOiBtX2FuaW1hdGlv
bk5hbWUoYW5pbWF0aW9uTmFtZSkKLSAgICAgICAgLCBtX3JlbmRlcmVyKHJlbmRlcmVyKQotICAg
IHsKLSAgICAgICAgaW5zZXJ0KDAsIDApOwotICAgICAgICBpbnNlcnQoMSwgMCk7Ci0gICAgfQor
ICAgIEtleWZyYW1lTGlzdChSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBBdG9taWNTdHJp
bmcmIGFuaW1hdGlvbk5hbWUpOwogICAgIH5LZXlmcmFtZUxpc3QoKTsKICAgICAgICAgCiAgICAg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IEtleWZyYW1lTGlzdCYgbykgY29uc3Q7Cg==
</data>
<flag name="review"
          id="20569"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>