WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
42046
connect-compositing-iframe2.html test sometimes shows blank iframe content
https://bugs.webkit.org/show_bug.cgi?id=42046
Summary
connect-compositing-iframe2.html test sometimes shows blank iframe content
Simon Fraser (smfr)
Reported
2010-07-11 11:57:07 PDT
If you reload connect-compositing-iframe2.html after some other test files, sometimes the iframe content is missing.
Attachments
Patch
(7.97 KB, patch)
2010-07-29 21:04 PDT
,
Simon Fraser (smfr)
no flags
Details
Formatted Diff
Diff
Patch
(9.48 KB, patch)
2010-07-30 15:24 PDT
,
Simon Fraser (smfr)
darin
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Simon Fraser (smfr)
Comment 1
2010-07-29 17:03:11 PDT
The SyntheticStyleChange is getting clobbered by a FullStyleChange when the class attribute changes, with the result that we don't call styleChanged on the RenderLayer.
Simon Fraser (smfr)
Comment 2
2010-07-29 21:04:06 PDT
Created
attachment 63024
[details]
Patch
Simon Fraser (smfr)
Comment 3
2010-07-29 21:26:33 PDT
Mitz says that setNeedsStyleRecalc() should ASSERT(changeType != NoStyleChange).
WebKit Review Bot
Comment 4
2010-07-29 22:37:31 PDT
Attachment 63024
[details]
did not build on chromium: Build output:
http://queues.webkit.org/results/3592609
Darin Adler
Comment 5
2010-07-29 23:30:31 PDT
Comment on
attachment 63024
[details]
Patch Two thoughts on how to refine this further: 1) setNeedsStyleRecalc no longer seems like a great name to me since this doesn't set a flag named "setNeedsStyleRecalc". It's still a bit like setNeedsDisplayInRect, so I guess we can leave the name along. But maybe we can find a better name. 2) setNeedsStyleRecalc should assert that changeType is != NoStyleChange, in case we missed any callers who need to call the new function. The setStyleChange function can't be called outside of Node.cpp because it's defined inside the file and marked inline. Thus if you want to call it from clearNeedsStyleRecalc you need to either move Node::setStyleChange to the header or move the body of clearNeedsStyleRecalc into the .cpp file and make it non-inline. Or you could write this: void clearNeedsStyleRecalc() { m_nodeFlags &= ~StyleChangeMask; } Which would have the added benefit of being more efficient. review- since it breaks the build as-is
Simon Fraser (smfr)
Comment 6
2010-07-30 08:41:45 PDT
(In reply to
comment #5
)
> The setStyleChange function can't be called outside of Node.cpp because it's defined inside the file and marked inline. Thus if you want to call it from clearNeedsStyleRecalc you need to either move Node::setStyleChange to the header or move the body of clearNeedsStyleRecalc into the .cpp file and make it non-inline.
I added + void clearNeedsStyleRecalc() { setStyleChange(NoStyleChange); } to Node.h. This patch builds just fine (all the tests pass with it). I agree with the rest of your feedback.
Simon Fraser (smfr)
Comment 7
2010-07-30 10:42:26 PDT
(In reply to
comment #6
)
> This patch builds just fine (all the tests pass with it). I agree with the rest of your feedback.
Ah, but I didn't build Release, so the inline didn't kick in. I see now.
Simon Fraser (smfr)
Comment 8
2010-07-30 15:24:24 PDT
Created
attachment 63111
[details]
Patch
Simon Fraser (smfr)
Comment 9
2010-07-30 16:02:50 PDT
http://trac.webkit.org/changeset/64383
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