Summary: | [chromium] Threaded compositor locks up when switching tabs | ||
---|---|---|---|
Product: | WebKit | Reporter: | Iain Merrick <husky> |
Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | husky, jamesr, nduca |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Linux |
Description
Iain Merrick
2012-03-13 08:55:28 PDT
Flags: --enable-threaded-compositing --force-compositing-mode The last call to CCSchedulerStateMachine::updateState() has: action: ACTION_NONE m_needsCommit: true m_commitState: COMMIT_STATE_UPDATING_RESOURCES m_visible: false nextAction() must be returning ACTION_NONE because shouldDraw() is false (we're not visible) and m_updateMoreResourcesPending is false. So it finished updating resource, but isn't drawing because we're not visible. It should draw when we become visible. However, the main thread is blocked on beginFrame(), waiting for the commit to complete. I guess that prevents the main thread from handling setVisible(true)? If so it seems like we need to dispatch setVisible directly to the impl thread. Alternatively, we could suppress background drawing some other way. I feel like doing it in the scheduler state machine is a source of bugs. I think this is dup. Feel free to un-dupe if the patch in 80910 doesn't address the problem. *** This bug has been marked as a duplicate of bug 80910 *** Yep, that fixes it! |