Reland 129925 - ash: Icon cache for app list to save shadow generation time.
commit19544b20ba420f75d613c38035140c4c12db0d7f
authorxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Sat, 31 Mar 2012 03:39:05 +0000 (31 03:39 +0000)
committerxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Sat, 31 Mar 2012 03:39:05 +0000 (31 03:39 +0000)
treea85766d2fe79863a198511d08da0ebba947e48e9
parentc288ca0597d6259501104da2f804b9359cab86bb
Reland 129925 - ash: Icon cache for app list to save shadow generation time.

- Add an IconCache that stores processed (resized and shadow-generated) image,
  keyed by source image + desired size;
- The cache is created with AppList controller and destroyed when controller is
  gone;
- Controller marks all entries in cache unused before showing the UI and purges
  all unused entry after dismissing UI;
- In item view, try cache first to get processed image before scheduling job,
  and update cache when background processing comes back;

BUG=120961
TEST=Verify fix for issue 120961.

Review URL: http://codereview.chromium.org/9934006

TBR=sky@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9968024

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130035 0039d316-1c4b-4281-b951-d872f2087c98
ash/app_list/app_list.cc
ash/app_list/app_list_item_view.cc
ash/app_list/icon_cache.cc [new file with mode: 0644]
ash/app_list/icon_cache.h [new file with mode: 0644]
ash/ash.gyp