| 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/tab_content_manager.h" | 5 #include "chrome/browser/android/compositor/tab_content_manager.h" |
| 6 | 6 |
| 7 #include <android/bitmap.h> | 7 #include <android/bitmap.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 | 192 |
| 193 void TabContentManager::OnFinishDecompressThumbnail(int tab_id, | 193 void TabContentManager::OnFinishDecompressThumbnail(int tab_id, |
| 194 bool success, | 194 bool success, |
| 195 SkBitmap bitmap) { | 195 SkBitmap bitmap) { |
| 196 JNIEnv* env = base::android::AttachCurrentThread(); | 196 JNIEnv* env = base::android::AttachCurrentThread(); |
| 197 ScopedJavaLocalRef<jobject> java_bitmap; | 197 ScopedJavaLocalRef<jobject> java_bitmap; |
| 198 if (success) | 198 if (success) |
| 199 java_bitmap = gfx::ConvertToJavaBitmap(&bitmap); | 199 java_bitmap = gfx::ConvertToJavaBitmap(&bitmap); |
| 200 | 200 |
| 201 Java_TabContentManager_notifyDecompressBitmapFinished( | 201 Java_TabContentManager_notifyDecompressBitmapFinished( |
| 202 env, weak_java_tab_content_manager_.get(env).obj(), tab_id, | 202 env, weak_java_tab_content_manager_.get(env), tab_id, java_bitmap); |
| 203 java_bitmap.obj()); | |
| 204 } | 203 } |
| 205 | 204 |
| 206 jboolean TabContentManager::HasFullCachedThumbnail( | 205 jboolean TabContentManager::HasFullCachedThumbnail( |
| 207 JNIEnv* env, | 206 JNIEnv* env, |
| 208 const JavaParamRef<jobject>& obj, | 207 const JavaParamRef<jobject>& obj, |
| 209 jint tab_id) { | 208 jint tab_id) { |
| 210 return thumbnail_cache_->Get(tab_id, false, false) != nullptr; | 209 return thumbnail_cache_->Get(tab_id, false, false) != nullptr; |
| 211 } | 210 } |
| 212 | 211 |
| 213 void TabContentManager::CacheTab(JNIEnv* env, | 212 void TabContentManager::CacheTab(JNIEnv* env, |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 decompress_done_callback); | 303 decompress_done_callback); |
| 305 } | 304 } |
| 306 | 305 |
| 307 void TabContentManager::OnUIResourcesWereEvicted() { | 306 void TabContentManager::OnUIResourcesWereEvicted() { |
| 308 thumbnail_cache_->OnUIResourcesWereEvicted(); | 307 thumbnail_cache_->OnUIResourcesWereEvicted(); |
| 309 } | 308 } |
| 310 | 309 |
| 311 void TabContentManager::OnFinishedThumbnailRead(int tab_id) { | 310 void TabContentManager::OnFinishedThumbnailRead(int tab_id) { |
| 312 JNIEnv* env = base::android::AttachCurrentThread(); | 311 JNIEnv* env = base::android::AttachCurrentThread(); |
| 313 Java_TabContentManager_notifyListenersOfThumbnailChange( | 312 Java_TabContentManager_notifyListenersOfThumbnailChange( |
| 314 env, weak_java_tab_content_manager_.get(env).obj(), tab_id); | 313 env, weak_java_tab_content_manager_.get(env), tab_id); |
| 315 } | 314 } |
| 316 | 315 |
| 317 void TabContentManager::PutThumbnailIntoCache(int tab_id, | 316 void TabContentManager::PutThumbnailIntoCache(int tab_id, |
| 318 float thumbnail_scale, | 317 float thumbnail_scale, |
| 319 const SkBitmap& bitmap) { | 318 const SkBitmap& bitmap) { |
| 320 TabReadbackRequestMap::iterator readback_iter = | 319 TabReadbackRequestMap::iterator readback_iter = |
| 321 pending_tab_readbacks_.find(tab_id); | 320 pending_tab_readbacks_.find(tab_id); |
| 322 | 321 |
| 323 if (readback_iter != pending_tab_readbacks_.end()) | 322 if (readback_iter != pending_tab_readbacks_.end()) |
| 324 pending_tab_readbacks_.erase(tab_id); | 323 pending_tab_readbacks_.erase(tab_id); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 344 jboolean use_approximation_thumbnail) { | 343 jboolean use_approximation_thumbnail) { |
| 345 TabContentManager* manager = new TabContentManager( | 344 TabContentManager* manager = new TabContentManager( |
| 346 env, obj, default_cache_size, approximation_cache_size, | 345 env, obj, default_cache_size, approximation_cache_size, |
| 347 compression_queue_max_size, write_queue_max_size, | 346 compression_queue_max_size, write_queue_max_size, |
| 348 use_approximation_thumbnail); | 347 use_approximation_thumbnail); |
| 349 return reinterpret_cast<intptr_t>(manager); | 348 return reinterpret_cast<intptr_t>(manager); |
| 350 } | 349 } |
| 351 | 350 |
| 352 } // namespace android | 351 } // namespace android |
| 353 } // namespace chrome | 352 } // namespace chrome |
| OLD | NEW |