OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/android/compositor/layer_title_cache.h" | 5 #include "chrome/browser/android/compositor/layer_title_cache.h" |
6 | 6 |
7 #include <android/bitmap.h> | 7 #include <android/bitmap.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 jint favicon_resource_id) { | 83 jint favicon_resource_id) { |
84 DecorationTitle* title_layer = layer_cache_.Lookup(tab_id); | 84 DecorationTitle* title_layer = layer_cache_.Lookup(tab_id); |
85 if (title_layer == nullptr && favicon_resource_id != -1) { | 85 if (title_layer == nullptr && favicon_resource_id != -1) { |
86 title_layer->SetFaviconResourceId(favicon_resource_id); | 86 title_layer->SetFaviconResourceId(favicon_resource_id); |
87 } | 87 } |
88 } | 88 } |
89 | 89 |
90 void LayerTitleCache::ClearExcept(JNIEnv* env, | 90 void LayerTitleCache::ClearExcept(JNIEnv* env, |
91 const JavaParamRef<jobject>& obj, | 91 const JavaParamRef<jobject>& obj, |
92 jint except_id) { | 92 jint except_id) { |
93 IDMap<DecorationTitle, IDMapOwnPointer>::iterator iter(&layer_cache_); | 93 IDMap<std::unique_ptr<DecorationTitle>>::iterator iter(&layer_cache_); |
94 for (; !iter.IsAtEnd(); iter.Advance()) { | 94 for (; !iter.IsAtEnd(); iter.Advance()) { |
95 const int id = iter.GetCurrentKey(); | 95 const int id = iter.GetCurrentKey(); |
96 if (id != except_id) | 96 if (id != except_id) |
97 layer_cache_.Remove(id); | 97 layer_cache_.Remove(id); |
98 } | 98 } |
99 } | 99 } |
100 | 100 |
101 DecorationTitle* LayerTitleCache::GetTitleLayer(int tab_id) { | 101 DecorationTitle* LayerTitleCache::GetTitleLayer(int tab_id) { |
102 if (!layer_cache_.Lookup(tab_id)) { | 102 if (!layer_cache_.Lookup(tab_id)) { |
103 JNIEnv* env = base::android::AttachCurrentThread(); | 103 JNIEnv* env = base::android::AttachCurrentThread(); |
104 Java_LayerTitleCache_buildUpdatedTitle(env, weak_java_title_cache_.get(env), | 104 Java_LayerTitleCache_buildUpdatedTitle(env, weak_java_title_cache_.get(env), |
105 tab_id); | 105 tab_id); |
106 } | 106 } |
107 | 107 |
108 return layer_cache_.Lookup(tab_id); | 108 return layer_cache_.Lookup(tab_id); |
109 } | 109 } |
110 | 110 |
111 void LayerTitleCache::SetResourceManager( | 111 void LayerTitleCache::SetResourceManager( |
112 ui::ResourceManager* resource_manager) { | 112 ui::ResourceManager* resource_manager) { |
113 resource_manager_ = resource_manager; | 113 resource_manager_ = resource_manager; |
114 | 114 |
115 IDMap<DecorationTitle, IDMapOwnPointer>::iterator iter(&layer_cache_); | 115 IDMap<std::unique_ptr<DecorationTitle>>::iterator iter(&layer_cache_); |
116 for (; !iter.IsAtEnd(); iter.Advance()) { | 116 for (; !iter.IsAtEnd(); iter.Advance()) { |
117 iter.GetCurrentValue()->SetResourceManager(resource_manager_); | 117 iter.GetCurrentValue()->SetResourceManager(resource_manager_); |
118 } | 118 } |
119 } | 119 } |
120 | 120 |
121 LayerTitleCache::~LayerTitleCache() { | 121 LayerTitleCache::~LayerTitleCache() { |
122 } | 122 } |
123 | 123 |
124 bool RegisterLayerTitleCache(JNIEnv* env) { | 124 bool RegisterLayerTitleCache(JNIEnv* env) { |
125 return RegisterNativesImpl(env); | 125 return RegisterNativesImpl(env); |
(...skipping 10 matching lines...) Expand all Loading... |
136 jint favicon_end_padding, | 136 jint favicon_end_padding, |
137 jint spinner_resource_id, | 137 jint spinner_resource_id, |
138 jint spinner_incognito_resource_id) { | 138 jint spinner_incognito_resource_id) { |
139 LayerTitleCache* cache = new LayerTitleCache( | 139 LayerTitleCache* cache = new LayerTitleCache( |
140 env, obj, fade_width, favicon_start_padding, favicon_end_padding, | 140 env, obj, fade_width, favicon_start_padding, favicon_end_padding, |
141 spinner_resource_id, spinner_incognito_resource_id); | 141 spinner_resource_id, spinner_incognito_resource_id); |
142 return reinterpret_cast<intptr_t>(cache); | 142 return reinterpret_cast<intptr_t>(cache); |
143 } | 143 } |
144 | 144 |
145 } // namespace android | 145 } // namespace android |
OLD | NEW |