WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 32381
48529
Assert in FrameView::paintContents if Tiled backing store is used.
https://bugs.webkit.org/show_bug.cgi?id=48529
Summary
Assert in FrameView::paintContents if Tiled backing store is used.
Viatcheslav Ostapenko
Reported
2010-10-28 09:48:11 PDT
QtTestBrowser (and, I think, other browsers using tiled backing store implementation) assert in FrameView::paintContents (on ASSERT(!needsLayout());) if tiled backing store enabled with this call stack: 0 WebCore::FrameView::paintContents FrameView.cpp 1975 0x01cff399 1 WebCore::Frame::tiledBackingStorePaint Frame.cpp 856 0x01cf2d69 2 WebCore::Tile::updateBackBuffer TileQt.cpp 123 0x01fa337a 3 WebCore::TiledBackingStore::updateTileBuffers TiledBackingStore.cpp 117 0x01d72445 4 WebCore::TiledBackingStore::tileBufferUpdateTimerFired TiledBackingStore.cpp 366 0x01d73a23 5 WebCore::Timer<WebCore::TiledBackingStore>::fired Timer.h 98 0x01d77508 6 WebCore::ThreadTimers::sharedTimerFiredInternal ThreadTimers.cpp 112 0x01dc0602 7 WebCore::ThreadTimers::sharedTimerFired ThreadTimers.cpp 90 0x01dc0549 8 WebCore::SharedTimerQt::timerEvent SharedTimerQt.cpp 116 0x01fafedc 9 QObject::event qobject.cpp 1175 0x0445e924 10 QApplicationPrivate::notify_helper qapplication.cpp 4396 0x03837c3c 11 QApplication::notify qapplication.cpp 3798 0x0383ec6e 12 QCoreApplication::notifyInternal qcoreapplication.cpp 732 0x0444b99b 13 QCoreApplication::sendEvent qcoreapplication.h 215 0x0447d686 14 QTimerInfoList::activateTimers qeventdispatcher_unix.cpp 602 0x0447d686 15 timerSourceDispatch qeventdispatcher_glib.cpp 184 0x0447a504 16 g_main_context_dispatch /lib/libglib-2.0.so.0 0 0x04e575e5 17 ?? /lib/libglib-2.0.so.0 0 0x04e5b2d8 18 g_main_context_iteration /lib/libglib-2.0.so.0 0 0x04e5b4b8 19 QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 415 0x0447a1f5 20 QGuiEventDispatcherGlib::processEvents qguieventdispatcher_glib.cpp 204 0x038f5225 ... <More> If assert is removed, than garbage appears on tiles because they are not getting painted by FrameView::paintContents . To reproduce, start QtTestBrowser, start loading some big page (
http://dpreview.com
, for example) and scroll it up and down to invoke tile updates. Asserts come randomly in debug build.
Attachments
Proposed fix.
(5.42 KB, patch)
2010-10-28 10:27 PDT
,
Viatcheslav Ostapenko
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Viatcheslav Ostapenko
Comment 1
2010-10-28 10:27:51 PDT
Created
attachment 72205
[details]
Proposed fix.
Viatcheslav Ostapenko
Comment 2
2010-10-29 15:36:22 PDT
Comment on
attachment 72205
[details]
Proposed fix. Doesn't really fix the problem, but somehow hides it a bit, but still reproducible.
alan
Comment 3
2010-10-30 11:24:42 PDT
i think, it is a duplicate of this
https://bugs.webkit.org/show_bug.cgi?id=32381
and thus the proposed fix is really just hiding the problem.
Viatcheslav Ostapenko
Comment 4
2010-10-31 07:44:38 PDT
(In reply to
comment #3
)
> i think, it is a duplicate of this
https://bugs.webkit.org/show_bug.cgi?id=32381
> and thus the proposed fix is really just hiding the problem.
Thanks Zalan. It's really dupplicate. Also, tiled backing store enforces layout before tile update, so it worked fine before, when layout was really doing it's job. But I have a question - why do we enforce layout? Isn't it better to wait until layout will be completed? Enforcing layout breaks layout throttling and can affect loading performance.
Viatcheslav Ostapenko
Comment 5
2010-10-31 07:47:06 PDT
*** This bug has been marked as a duplicate of
bug 32381
***
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