| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2011 Google Inc. All rights reserved. | 2  * Copyright (C) 2011 Google Inc. All rights reserved. | 
| 3  * | 3  * | 
| 4  * Redistribution and use in source and binary forms, with or without | 4  * Redistribution and use in source and binary forms, with or without | 
| 5  * modification, are permitted provided that the following conditions | 5  * modification, are permitted provided that the following conditions | 
| 6  * are met: | 6  * are met: | 
| 7  * | 7  * | 
| 8  * 1.  Redistributions of source code must retain the above copyright | 8  * 1.  Redistributions of source code must retain the above copyright | 
| 9  *     notice, this list of conditions and the following disclaimer. | 9  *     notice, this list of conditions and the following disclaimer. | 
| 10  * 2.  Redistributions in binary form must reproduce the above copyright | 10  * 2.  Redistributions in binary form must reproduce the above copyright | 
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 257 | 257 | 
| 258 void TiledLayerChromium::pushPropertiesTo(CCLayerImpl* layer) | 258 void TiledLayerChromium::pushPropertiesTo(CCLayerImpl* layer) | 
| 259 { | 259 { | 
| 260     LayerChromium::pushPropertiesTo(layer); | 260     LayerChromium::pushPropertiesTo(layer); | 
| 261 | 261 | 
| 262     CCTiledLayerImpl* tiledLayer = static_cast<CCTiledLayerImpl*>(layer); | 262     CCTiledLayerImpl* tiledLayer = static_cast<CCTiledLayerImpl*>(layer); | 
| 263 | 263 | 
| 264     tiledLayer->setSkipsDraw(m_skipsDraw); | 264     tiledLayer->setSkipsDraw(m_skipsDraw); | 
| 265     tiledLayer->setContentsSwizzled(m_sampledTexelFormat != LayerTextureUpdater:
     :SampledTexelFormatRGBA); | 265     tiledLayer->setContentsSwizzled(m_sampledTexelFormat != LayerTextureUpdater:
     :SampledTexelFormatRGBA); | 
| 266     tiledLayer->setTilingData(*m_tiler); | 266     tiledLayer->setTilingData(*m_tiler); | 
|  | 267     Vector<UpdatableTile*> invalidTiles; | 
| 267 | 268 | 
| 268     for (CCLayerTilingData::TileMap::const_iterator iter = m_tiler->tiles().begi
     n(); iter != m_tiler->tiles().end(); ++iter) { | 269     for (CCLayerTilingData::TileMap::const_iterator iter = m_tiler->tiles().begi
     n(); iter != m_tiler->tiles().end(); ++iter) { | 
| 269         int i = iter->first.first; | 270         int i = iter->first.first; | 
| 270         int j = iter->first.second; | 271         int j = iter->first.second; | 
| 271         UpdatableTile* tile = static_cast<UpdatableTile*>(iter->second.get()); | 272         UpdatableTile* tile = static_cast<UpdatableTile*>(iter->second.get()); | 
| 272         if (!tile->managedTexture()->isValid(m_tiler->tileSize(), m_textureForma
     t)) | 273         if (!tile->managedTexture()->isValid(m_tiler->tileSize(), m_textureForma
     t)) { | 
|  | 274             invalidTiles.append(tile); | 
| 273             continue; | 275             continue; | 
|  | 276         } | 
| 274         if (tile->isDirty()) | 277         if (tile->isDirty()) | 
| 275             continue; | 278             continue; | 
| 276 | 279 | 
| 277         tiledLayer->pushTileProperties(i, j, tile->managedTexture()->textureId()
     , tile->m_opaqueRect); | 280         tiledLayer->pushTileProperties(i, j, tile->managedTexture()->textureId()
     , tile->m_opaqueRect); | 
| 278     } | 281     } | 
|  | 282     for (Vector<UpdatableTile*>::const_iterator iter = invalidTiles.begin(); ite
     r != invalidTiles.end(); ++iter) | 
|  | 283         m_tiler->takeTile((*iter)->i(), (*iter)->j()); | 
| 279 } | 284 } | 
| 280 | 285 | 
| 281 TextureManager* TiledLayerChromium::textureManager() const | 286 TextureManager* TiledLayerChromium::textureManager() const | 
| 282 { | 287 { | 
| 283     if (!layerTreeHost()) | 288     if (!layerTreeHost()) | 
| 284         return 0; | 289         return 0; | 
| 285     return layerTreeHost()->contentsTextureManager(); | 290     return layerTreeHost()->contentsTextureManager(); | 
| 286 } | 291 } | 
| 287 | 292 | 
| 288 UpdatableTile* TiledLayerChromium::tileAt(int i, int j) const | 293 UpdatableTile* TiledLayerChromium::tileAt(int i, int j) const | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
| 318     borderTexelOption = isNonCompositedContent ? CCLayerTilingData::NoBorderTexe
     ls : CCLayerTilingData::HasBorderTexels; | 323     borderTexelOption = isNonCompositedContent ? CCLayerTilingData::NoBorderTexe
     ls : CCLayerTilingData::HasBorderTexels; | 
| 319 #endif | 324 #endif | 
| 320     setBorderTexelOption(borderTexelOption); | 325     setBorderTexelOption(borderTexelOption); | 
| 321 } | 326 } | 
| 322 | 327 | 
| 323 void TiledLayerChromium::invalidateRect(const IntRect& layerRect) | 328 void TiledLayerChromium::invalidateRect(const IntRect& layerRect) | 
| 324 { | 329 { | 
| 325     if (m_tiler->isEmpty() || layerRect.isEmpty() || m_skipsDraw) | 330     if (m_tiler->isEmpty() || layerRect.isEmpty() || m_skipsDraw) | 
| 326         return; | 331         return; | 
| 327 | 332 | 
| 328     int left, top, right, bottom; | 333     for (CCLayerTilingData::TileMap::const_iterator iter = m_tiler->tiles().begi
     n(); iter != m_tiler->tiles().end(); ++iter) { | 
| 329     m_tiler->layerRectToTileIndices(layerRect, left, top, right, bottom); | 334         UpdatableTile* tile = static_cast<UpdatableTile*>(iter->second.get()); | 
| 330     for (int j = top; j <= bottom; ++j) { | 335         ASSERT(tile); | 
| 331         for (int i = left; i <= right; ++i) { | 336         IntRect bound = m_tiler->tileRect(tile); | 
| 332             UpdatableTile* tile = tileAt(i, j); | 337         bound.intersect(layerRect); | 
| 333             if (!tile) | 338         tile->m_dirtyRect.unite(bound); | 
| 334                 continue; |  | 
| 335             IntRect bound = m_tiler->tileRect(tile); |  | 
| 336             bound.intersect(layerRect); |  | 
| 337             tile->m_dirtyRect.unite(bound); |  | 
| 338         } |  | 
| 339     } | 339     } | 
| 340 } | 340 } | 
| 341 | 341 | 
| 342 void TiledLayerChromium::protectVisibleTileTextures() | 342 void TiledLayerChromium::protectVisibleTileTextures() | 
| 343 { | 343 { | 
| 344     protectTileTextures(IntRect(IntPoint::zero(), contentBounds())); | 344     protectTileTextures(IntRect(IntPoint::zero(), contentBounds())); | 
| 345 } | 345 } | 
| 346 | 346 | 
| 347 void TiledLayerChromium::protectTileTextures(const IntRect& layerRect) | 347 void TiledLayerChromium::protectTileTextures(const IntRect& layerRect) | 
| 348 { | 348 { | 
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 586     // - only reserve idle paint tiles up to a memory reclaim threshold and | 586     // - only reserve idle paint tiles up to a memory reclaim threshold and | 
| 587     // - insure we play nicely with other layers | 587     // - insure we play nicely with other layers | 
| 588     prepaintRect.inflateX(m_tiler->tileSize().width()); | 588     prepaintRect.inflateX(m_tiler->tileSize().width()); | 
| 589     prepaintRect.inflateY(m_tiler->tileSize().height()); | 589     prepaintRect.inflateY(m_tiler->tileSize().height()); | 
| 590     prepaintRect.intersect(IntRect(IntPoint::zero(), contentBounds())); | 590     prepaintRect.intersect(IntRect(IntPoint::zero(), contentBounds())); | 
| 591     return prepaintRect; | 591     return prepaintRect; | 
| 592 } | 592 } | 
| 593 | 593 | 
| 594 } | 594 } | 
| 595 #endif // USE(ACCELERATED_COMPOSITING) | 595 #endif // USE(ACCELERATED_COMPOSITING) | 
| OLD | NEW | 
|---|