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

Unified Diff: ui/android/resources/resource_manager_impl.h

Issue 2293573002: Add tinted static UI resource cache (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nit Created 4 years, 3 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
« no previous file with comments | « ui/android/resources/resource_manager.h ('k') | ui/android/resources/resource_manager_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/android/resources/resource_manager_impl.h
diff --git a/ui/android/resources/resource_manager_impl.h b/ui/android/resources/resource_manager_impl.h
index 4e089898f3a67ec0bc73017ed03e7d4833d5c5fb..31d26f5f8f945b94305bb817d8ab30de1e1b5d4e 100644
--- a/ui/android/resources/resource_manager_impl.h
+++ b/ui/android/resources/resource_manager_impl.h
@@ -5,6 +5,8 @@
#ifndef UI_ANDROID_RESOURCES_RESOURCE_MANAGER_IMPL_H_
#define UI_ANDROID_RESOURCES_RESOURCE_MANAGER_IMPL_H_
+#include <memory>
+
#include "base/id_map.h"
#include "base/macros.h"
#include "ui/android/resources/resource_manager.h"
@@ -26,6 +28,9 @@ class UI_ANDROID_EXPORT ResourceManagerImpl : public ResourceManager {
// ResourceManager implementation.
base::android::ScopedJavaLocalRef<jobject> GetJavaObject() override;
Resource* GetResource(AndroidResourceType res_type, int res_id) override;
+ Resource* GetStaticResourceWithTint(
+ int res_id, int tint_color) override;
+ void RemoveUnusedTints(const std::unordered_set<int>& used_tints) override;
void PreloadResource(AndroidResourceType res_type, int res_id) override;
CrushedSpriteResource* GetCrushedSpriteResource(
int bitmap_res_id, int metadata_res_id) override;
@@ -60,6 +65,8 @@ class UI_ANDROID_EXPORT ResourceManagerImpl : public ResourceManager {
const base::android::JavaRef<jobject>& jobj,
jint bitmap_res_id,
const base::android::JavaRef<jobject>& bitmap);
+ void ClearTintedResourceCache(JNIEnv* env,
+ const base::android::JavaRef<jobject>& jobj);
static bool RegisterResourceManager(JNIEnv* env);
@@ -82,10 +89,13 @@ class UI_ANDROID_EXPORT ResourceManagerImpl : public ResourceManager {
typedef IDMap<Resource, IDMapOwnPointer> ResourceMap;
typedef IDMap<CrushedSpriteResource, IDMapOwnPointer>
CrushedSpriteResourceMap;
+ typedef std::unordered_map<int, std::unique_ptr<ResourceMap> >
+ TintedResourceMap;
cc::LayerTreeHost* host_;
ResourceMap resources_[ANDROID_RESOURCE_TYPE_COUNT];
CrushedSpriteResourceMap crushed_sprite_resources_;
+ TintedResourceMap tinted_resources_;
base::android::ScopedJavaGlobalRef<jobject> java_obj_;
« no previous file with comments | « ui/android/resources/resource_manager.h ('k') | ui/android/resources/resource_manager_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698