| Index: cc/CCPrioritizedTexture.cpp
 | 
| diff --git a/cc/CCPrioritizedTexture.cpp b/cc/CCPrioritizedTexture.cpp
 | 
| index 50db1cb432dc22ba5cf0112027cc1daeee66073a..270ceba292b5906d5fa4d939cc05dbb0180bd370 100644
 | 
| --- a/cc/CCPrioritizedTexture.cpp
 | 
| +++ b/cc/CCPrioritizedTexture.cpp
 | 
| @@ -8,6 +8,7 @@
 | 
|  
 | 
|  #include "CCPrioritizedTextureManager.h"
 | 
|  #include "CCPriorityCalculator.h"
 | 
| +#include "CCProxy.h"
 | 
|  #include <algorithm>
 | 
|  
 | 
|  using namespace std;
 | 
| @@ -119,4 +120,32 @@ void CCPrioritizedTexture::setToSelfManagedMemoryPlaceholder(size_t bytes)
 | 
|      m_bytes = bytes;
 | 
|  }
 | 
|  
 | 
| +CCPrioritizedTexture::Backing::Backing(unsigned id, IntSize size, GC3Denum format)
 | 
| +    : CCTexture(id, size, format)
 | 
| +    , m_owner(0)
 | 
| +    , m_priorityAtLastPriorityUpdate(CCPriorityCalculator::lowestPriority())
 | 
| +    , m_ownerExistedAtLastPriorityUpdate(false)
 | 
| +    , m_wasAbovePriorityCutoffAtLastPriorityUpdate(false)
 | 
| +{
 | 
| +}
 | 
| +
 | 
| +CCPrioritizedTexture::Backing::~Backing()
 | 
| +{
 | 
| +    ASSERT(!m_owner);
 | 
| +}
 | 
| +
 | 
| +void CCPrioritizedTexture::Backing::updatePriority()
 | 
| +{
 | 
| +    ASSERT(CCProxy::isImplThread() && CCProxy::isMainThreadBlocked());
 | 
| +    if (m_owner) {
 | 
| +        m_ownerExistedAtLastPriorityUpdate = true;
 | 
| +        m_priorityAtLastPriorityUpdate = m_owner->requestPriority();
 | 
| +        m_wasAbovePriorityCutoffAtLastPriorityUpdate = m_owner->isAbovePriorityCutoff();
 | 
| +    } else {
 | 
| +        m_ownerExistedAtLastPriorityUpdate = false;
 | 
| +        m_priorityAtLastPriorityUpdate = CCPriorityCalculator::lowestPriority();
 | 
| +        m_wasAbovePriorityCutoffAtLastPriorityUpdate = false;
 | 
| +    }
 | 
| +}
 | 
| +
 | 
|  } // namespace cc
 | 
| 
 |