| Index: cc/layer_tree_host_impl.cc
|
| diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc
|
| index e357999dcb264deb268a5c190e8f2662127359c6..06db701f3a9279b63d86d5ec7fdfe06c9e84883a 100644
|
| --- a/cc/layer_tree_host_impl.cc
|
| +++ b/cc/layer_tree_host_impl.cc
|
| @@ -972,11 +972,19 @@ void LayerTreeHostImpl::activatePendingTreeIfNeeded()
|
| // activate once all visible resources in pending tree are ready
|
| // or tile manager has no work scheduled for pending tree.
|
| if (activeTree()->RootLayer() &&
|
| - !pendingTree()->AreVisibleResourcesReady() &&
|
| - m_tileManager->HasPendingWorkScheduled(PENDING_TREE)) {
|
| - TRACE_EVENT_ASYNC_STEP0("cc",
|
| - "PendingTree", m_pendingTree.get(), "waiting");
|
| - return;
|
| + !pendingTree()->AreVisibleResourcesReady()) {
|
| + // In smoothness takes priority mode, the pending tree's priorities are
|
| + // ignored, so the tile manager may not have work for it even though it
|
| + // is simultaneously not ready to be activated.
|
| + if (m_tileManager->GlobalState().tree_priority ==
|
| + SMOOTHNESS_TAKES_PRIORITY ||
|
| + m_tileManager->HasPendingWorkScheduled(PENDING_TREE)) {
|
| + TRACE_EVENT_ASYNC_STEP0("cc",
|
| + "PendingTree",
|
| + m_pendingTree.get(),
|
| + "waiting");
|
| + return;
|
| + }
|
| }
|
|
|
| activatePendingTree();
|
|
|