Reviewed by Darin Adler.
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Feb 2012 20:02:34 +0000 (20:02 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Feb 2012 20:02:34 +0000 (20:02 +0000)
Simplify the code that creates a new tile layer by getting a reference to the RetainPtr<WebTileLayer>&
slot in the hash map and assign directly into it.

* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::revalidateTiles):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106483 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/ca/mac/TileCache.mm

index 6b98ca7..c53d0fe 100644 (file)
@@ -1,5 +1,15 @@
 2012-02-01  Anders Carlsson  <andersca@apple.com>
 
+        Reviewed by Darin Adler.
+
+        Simplify the code that creates a new tile layer by getting a reference to the RetainPtr<WebTileLayer>&
+        slot in the hash map and assign directly into it.
+
+        * platform/graphics/ca/mac/TileCache.mm:
+        (WebCore::TileCache::revalidateTiles):
+
+2012-02-01  Anders Carlsson  <andersca@apple.com>
+
         Tile cache doesn't have an upper limit
         https://bugs.webkit.org/show_bug.cgi?id=77564
         <rdar://problem/10710744>
index 672746f..2550b3d 100644 (file)
@@ -295,16 +295,15 @@ void TileCache::revalidateTiles()
         for (int x = topLeft.x(); x <= bottomRight.x(); ++x) {
             TileIndex tileIndex(x, y);
 
-            pair<TileMap::iterator, bool> result = m_tiles.add(tileIndex, 0);
-            if (result.first->second) {
+            RetainPtr<WebTileLayer>& tileLayer = m_tiles.add(tileIndex, 0).first->second;
+            if (tileLayer) {
                 // We already have a layer for this tile.
                 continue;
             }
 
             didCreateNewTiles = true;
 
-            RetainPtr<WebTileLayer> tileLayer = createTileLayer();
-            result.first->second = tileLayer.get();
+            tileLayer = createTileLayer();
 
             [tileLayer.get() setNeedsDisplay];
             [tileLayer.get() setPosition:CGPointMake(x * m_tileSize.width(), y * m_tileSize.height())];