[Webkit-unassigned] [Bug 13913] New: FrameView::clear doesn't reset m_slowRepaintObjectCount leading to 'sticky' static background
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue May 29 16:00:38 PDT 2007
http://bugs.webkit.org/show_bug.cgi?id=13913
Summary: FrameView::clear doesn't reset m_slowRepaintObjectCount
leading to 'sticky' static background
Product: WebKit
Version: 522+ (nightly)
Platform: Macintosh
OS/Version: Mac OS X 10.4
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: New Bugs
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: freyther at handhelds.org
While exploring static background handling on the Gdk port. I found the
following issue and I think it applies to all ports.
Behaviour: Visit a site with a non static background, e.g http://www.kde.org
move to developer.gnome.org/doc/API/2.0/gtk/GtkWidget.html which has a static
background and then go back. On going back the static background is temporarily
'deleted' from FrameView::clear but it gets reset by FraneView::layout due
useSlowRepaint() returning true.
The two backtraces should illustrate the behaviour:
#0 WebCore::ScrollView::setStaticBackground (this=0x12e5c980, flag=false) at
../../../WebCore/platform/gdk/ScrollViewGdk.cpp:232
#1 0x0124b2c1 in WebCore::FrameView::clear (this=0x12e5c980) at
../../../WebCore/page/FrameView.cpp:184
#2 0x0120e5e3 in WebCore::FrameLoader::clear (this=0x1301ea00,
clearWindowProperties=true) at ../../../WebCore/loader/FrameLoader.cpp:781
#3 0x01213615 in WebCore::FrameLoader::begin (this=0x1301ea00,
url=@0x1301eba0) at ../../../WebCore/loader/FrameLoader.cpp:841
And then on layout:
#0 WebCore::ScrollView::setStaticBackground (this=0x12e5c980, flag=true) at
../../../WebCore/platform/gdk/ScrollViewGdk.cpp:232
#1 0x0124c73b in WebCore::FrameView::layout (this=0x12e5c980,
allowSubtree=true) at ../../../WebCore/page/FrameView.cpp:467
#2 0x01330328 in WebCore::FrameGdk::handleGdkEvent (this=0x12e56d30,
event=0xbfffd4c0) at ../../../WebCore/platform/gdk/FrameGdk.cpp:145
As you see on ::layout setStaicBackground(true) is getting called even if the
newly loaded page does not require it. This is due FrameViewPrivate::reset not
resetting m_slowRepaintObjectCount to zero. I can't judge what breaks when
setting m_slowRepaintObjectCount to zero on a reset, at least
ScrollView::setStaticBackground seems to have the 'right' value.
(Not creating a patch yet, I hope this gets reviewed anyway)
--
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list