WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
24539
Unresolved CSSMutableStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=24539
Summary
Unresolved CSSMutableStyleDeclaration
Norbert Leser
Reported
2009-03-11 19:32:17 PDT
Symbian linker cannot resolve CSSMutableStyleDeclaration class without explicit include of CSSMutableStyleDeclaration.h Proposed solution is to explicitly include the header file. See attached patch.
Attachments
Proposed fix for bug 24539
(989 bytes, patch)
2009-03-11 19:33 PDT
,
Norbert Leser
darin
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Norbert Leser
Comment 1
2009-03-11 19:33:04 PDT
Created
attachment 28515
[details]
Proposed fix for
bug 24539
Mark Rowe (bdash)
Comment 2
2009-03-11 19:39:03 PDT
Why is the forward-declaration of CSSMutableStyleDeclaration not sufficient?
Eric Seidel (no email)
Comment 3
2009-03-26 11:05:39 PDT
Comment on
attachment 28515
[details]
Proposed fix for
bug 24539
This looks fine. Because CSSMutableStyleDeclaration is used in a RefPtr<CSSMutableStyleDeclaration> other ports must require this header too. They're likely only not failing due to RemoveCSSPropertyCommand.halways being included after CSSMutableStyleDeclaration in the same file.
Darin Adler
Comment 4
2009-03-26 12:43:00 PDT
(In reply to
comment #3
)
> This looks fine. Because CSSMutableStyleDeclaration is used in a > RefPtr<CSSMutableStyleDeclaration> other ports must require this header too. > They're likely only not failing due to RemoveCSSPropertyCommand.halways being > included after CSSMutableStyleDeclaration in the same file.
Eric, I think that's wrong. Normally a forward declaration is sufficient even if the file does define a RefPtr, as long as the header doesn't contain any code that actually needs to manipulate the RefPtr. Are you sure this is a good change?
David Levin
Comment 5
2009-04-08 16:33:54 PDT
Comment on
attachment 28515
[details]
Proposed fix for
bug 24539
I'm clearing the r+ flag to remove this from the commit queue due to Drain's comment. It is waiting for a comment from Eric before it can be committed and he could add the r+ when he adds a comment.
Eric Seidel (no email)
Comment 6
2009-04-09 01:46:15 PDT
(In reply to
comment #4
)
> Eric, I think that's wrong. Normally a forward declaration is sufficient even > if the file does define a RefPtr, as long as the header doesn't contain any > code that actually needs to manipulate the RefPtr. Are you sure this is a good > change?
Again, this is one of those c++ questions where I'm gonna trust your (lengthy) c++ experience over my own... but in this case, I think the instantiation of PassRefPtr<CSSMutableStyleDeclaration> via: 6 static PassRefPtr<RemoveCSSPropertyCommand> create(Document* document, PassRefPtr<CSSMutableStyleDeclaration> style, CSSPropertyID property) 37 { 38 return adoptRef(new RemoveCSSPropertyCommand(document, style, property)); 39 } is going to require actually including CSSMutableStyleDeclaration.h so that PassRefPtr can see that CSSMutableStyleDeclaration actually has a ref() method, no? I'm still confused by why the Symbian build would fail here and no other port would, but I don't see including this header as harmful, if PassRefPtr<CSSMutableStyleDeclaration> instantiation does really require the full class definition.
Darin Adler
Comment 7
2009-04-09 08:38:36 PDT
(In reply to
comment #6
) Yes, the create function does require the CSSMutableStyleDeclaration class definition. So either that function needs to be moved to the .cpp file and made non-inline, or the include needs to be added.
Norbert Leser
Comment 8
2009-04-14 16:01:49 PDT
(In reply to
comment #7
)
> (In reply to
comment #6
) > > Yes, the create function does require the CSSMutableStyleDeclaration class > definition. So either that function needs to be moved to the .cpp file and made > non-inline, or the include needs to be added. >
I will leave it up to you guys to decide. Either of the proposed solutions seems to work in our (symbian linker) case.
Darin Adler
Comment 9
2009-05-11 16:54:50 PDT
http://trac.webkit.org/changeset/43523
Eric Seidel (no email)
Comment 10
2009-05-20 05:37:49 PDT
I missed a couple files when landing: Committing to
http://svn.webkit.org/repository/webkit/trunk
... A LayoutTests/platform/mac/fast/forms/search-styled-expected.checksum A LayoutTests/platform/mac/fast/forms/search-styled-expected.png Committed
r43904
Eric Seidel (no email)
Comment 11
2009-05-20 05:38:41 PDT
That comment was meant for
https://bugs.webkit.org/show_bug.cgi?id=25742
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug