Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(569)

Unified Diff: chrome/browser/ui/cocoa/table_row_nsimage_cache.mm

Issue 2187993002: Remove the TableRowNSImageCache. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/table_row_nsimage_cache.mm
diff --git a/chrome/browser/ui/cocoa/table_row_nsimage_cache.mm b/chrome/browser/ui/cocoa/table_row_nsimage_cache.mm
deleted file mode 100644
index 6fddd2d0eb71630cb0a0875136fe75d23e7ef04e..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/cocoa/table_row_nsimage_cache.mm
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/cocoa/table_row_nsimage_cache.h"
-
-#include "base/logging.h"
-#include "ui/gfx/image/image_skia.h"
-#include "ui/gfx/image/image_skia_util_mac.h"
-
-TableRowNSImageCache::TableRowNSImageCache(Table* model)
- : model_(model),
- icon_images_([[NSPointerArray alloc] initWithOptions:
- NSPointerFunctionsStrongMemory |
- NSPointerFunctionsObjectPersonality]) {
- int count = model_->RowCount();
- [icon_images_ setCount:count];
-}
-
-TableRowNSImageCache::~TableRowNSImageCache() {}
-
-void TableRowNSImageCache::OnModelChanged() {
- int count = model_->RowCount();
- [icon_images_ setCount:0];
- [icon_images_ setCount:count];
-}
-
-void TableRowNSImageCache::OnItemsChanged(int start, int length) {
- DCHECK_LE(start + length, static_cast<int>([icon_images_ count]));
- for (int i = start; i < (start + length); ++i) {
- [icon_images_ replacePointerAtIndex:i withPointer:NULL];
- }
- DCHECK_EQ(model_->RowCount(),
- static_cast<int>([icon_images_ count]));
-}
-
-void TableRowNSImageCache::OnItemsAdded(int start, int length) {
- DCHECK_LE(start, static_cast<int>([icon_images_ count]));
-
- // -[NSPointerArray insertPointer:atIndex:] throws if index == count.
- // Instead expand the array with NULLs.
- if (start == static_cast<int>([icon_images_ count])) {
- [icon_images_ setCount:start + length];
- } else {
- for (int i = 0; i < length; ++i) {
- [icon_images_ insertPointer:NULL atIndex:start]; // Values slide up.
- }
- }
- DCHECK_EQ(model_->RowCount(),
- static_cast<int>([icon_images_ count]));
-}
-
-void TableRowNSImageCache::OnItemsRemoved(int start, int length) {
- DCHECK_LE(start + length, static_cast<int>([icon_images_ count]));
- for (int i = 0; i < length; ++i) {
- [icon_images_ removePointerAtIndex:start]; // Values slide down.
- }
- DCHECK_EQ(model_->RowCount(),
- static_cast<int>([icon_images_ count]));
-}
-
-NSImage* TableRowNSImageCache::GetImageForRow(int row) {
- DCHECK_EQ(model_->RowCount(),
- static_cast<int>([icon_images_ count]));
- DCHECK_GE(row, 0);
- DCHECK_LT(row, static_cast<int>([icon_images_ count]));
- NSImage* image = static_cast<NSImage*>([icon_images_ pointerAtIndex:row]);
- if (!image) {
- const gfx::ImageSkia image_skia_icon =
- model_->GetIcon(row);
- // This means GetIcon() will get called until it returns a non-empty image.
- // Empty images are intentionally not cached.
- if (!image_skia_icon.isNull()) {
- image = gfx::NSImageFromImageSkia(image_skia_icon);
- DCHECK(image);
- [icon_images_ replacePointerAtIndex:row withPointer:image];
- }
- }
- return image;
-}
-

Powered by Google App Engine
This is Rietveld 408576698