[Webkit-unassigned] [Bug 29204] New: Compile KeyframeList.cpp and AnimationBase.cpp in winscw compiler.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Sep 11 12:34:04 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=29204

           Summary: Compile KeyframeList.cpp and AnimationBase.cpp in
                    winscw compiler.
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: S60 Emulator
        OS/Version: S60 3rd edition
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebCore Misc.
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: yongjun.zhang at nokia.com


KeyframeList(RenderObject*, const AtomicString&) is implemented in
KeyframeList.h, and it calls KeyframeList::insert(float,
PassRefPtr<RenderStyle>); the compiler tries to aggressively resolve
RenderStyle::ref() in PassRefPtr<T>::PassRefPtr(T*) ctr, and it complains
"illegal use of incomplete class" if RenderStyle.h is not included.

In AnimationBase.h, setAnimation(..) is inlined and RefPtr<T>::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 & 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 & PassRefPtr in
header files.  As a less intrusive way we can move the implementation of these
two functions to respective cpp files.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list