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

Side by Side Diff: chrome/browser/android/compositor/tab_content_manager.cc

Issue 2810813004: Hide fullscreen rotation jank (Closed)
Patch Set: Remove clearThumbnailPlaceholder fn Created 3 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 unified diff | Download patch
OLDNEW
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 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 std::list<int> priority_ids; 283 std::list<int> priority_ids;
284 jsize length = env->GetArrayLength(priority); 284 jsize length = env->GetArrayLength(priority);
285 jint* ints = env->GetIntArrayElements(priority, nullptr); 285 jint* ints = env->GetIntArrayElements(priority, nullptr);
286 for (jsize i = 0; i < length; ++i) 286 for (jsize i = 0; i < length; ++i)
287 priority_ids.push_back(static_cast<int>(ints[i])); 287 priority_ids.push_back(static_cast<int>(ints[i]));
288 288
289 env->ReleaseIntArrayElements(priority, ints, JNI_ABORT); 289 env->ReleaseIntArrayElements(priority, ints, JNI_ABORT);
290 thumbnail_cache_->UpdateVisibleIds(priority_ids, primary_tab_id); 290 thumbnail_cache_->UpdateVisibleIds(priority_ids, primary_tab_id);
291 } 291 }
292 292
293 void TabContentManager::RemoveTabThumbnail(JNIEnv* env, 293 void TabContentManager::NativeRemoveTabThumbnail(int tab_id) {
294 const JavaParamRef<jobject>& obj,
295 jint tab_id) {
296 TabReadbackRequestMap::iterator readback_iter = 294 TabReadbackRequestMap::iterator readback_iter =
297 pending_tab_readbacks_.find(tab_id); 295 pending_tab_readbacks_.find(tab_id);
298 if (readback_iter != pending_tab_readbacks_.end()) 296 if (readback_iter != pending_tab_readbacks_.end())
299 readback_iter->second->SetToDropAfterReadback(); 297 readback_iter->second->SetToDropAfterReadback();
300 thumbnail_cache_->Remove(tab_id); 298 thumbnail_cache_->Remove(tab_id);
301 } 299 }
302 300
301 void TabContentManager::RemoveTabThumbnail(JNIEnv* env,
302 const JavaParamRef<jobject>& obj,
303 jint tab_id) {
304 NativeRemoveTabThumbnail(tab_id);
305 }
306
303 void TabContentManager::GetDecompressedThumbnail( 307 void TabContentManager::GetDecompressedThumbnail(
304 JNIEnv* env, 308 JNIEnv* env,
305 const JavaParamRef<jobject>& obj, 309 const JavaParamRef<jobject>& obj,
306 jint tab_id) { 310 jint tab_id) {
307 base::Callback<void(bool, SkBitmap)> decompress_done_callback = 311 base::Callback<void(bool, SkBitmap)> decompress_done_callback =
308 base::Bind(&TabContentManager::OnFinishDecompressThumbnail, 312 base::Bind(&TabContentManager::OnFinishDecompressThumbnail,
309 weak_factory_.GetWeakPtr(), reinterpret_cast<int>(tab_id)); 313 weak_factory_.GetWeakPtr(), reinterpret_cast<int>(tab_id));
310 thumbnail_cache_->DecompressThumbnailFromFile(reinterpret_cast<int>(tab_id), 314 thumbnail_cache_->DecompressThumbnailFromFile(reinterpret_cast<int>(tab_id),
311 decompress_done_callback); 315 decompress_done_callback);
312 } 316 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 jint write_queue_max_size, 354 jint write_queue_max_size,
351 jboolean use_approximation_thumbnail) { 355 jboolean use_approximation_thumbnail) {
352 TabContentManager* manager = new TabContentManager( 356 TabContentManager* manager = new TabContentManager(
353 env, obj, default_cache_size, approximation_cache_size, 357 env, obj, default_cache_size, approximation_cache_size,
354 compression_queue_max_size, write_queue_max_size, 358 compression_queue_max_size, write_queue_max_size,
355 use_approximation_thumbnail); 359 use_approximation_thumbnail);
356 return reinterpret_cast<intptr_t>(manager); 360 return reinterpret_cast<intptr_t>(manager);
357 } 361 }
358 362
359 } // namespace android 363 } // namespace android
OLDNEW
« no previous file with comments | « chrome/browser/android/compositor/tab_content_manager.h ('k') | chrome/browser/android/tab_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698