Commit b4c47b9a authored by Side Yilmaz's avatar Side Yilmaz Committed by Commit Bot

Add getImageFetcher function back to OmniboxQueryTileCoordinator.

This CL adds getImageFetcher function back to prevent crash causing not
profile set before getVisuals function is called. Regular profile is
used to create image fetcher when mImageFetcher is null. This is safe
since anytime switching to incognito will cause setProfile function is
called and image fetcher will be created with incognito profile.

Bug: 1119688
Change-Id: I826bde1a36a22ccf59243d0bab194c2ddf0659a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2366760
Commit-Queue: Side YILMAZ <sideyilmaz@chromium.org>
Reviewed-by: default avatarShakti Sahu <shaktisahu@chromium.org>
Reviewed-by: default avatarFilip Gorski <fgorski@chromium.org>
Cr-Commit-Position: refs/heads/master@{#800575}
parent 97c668d9
......@@ -107,9 +107,7 @@ public class OmniboxQueryTileCoordinator {
mImageFetcher = null;
}
mImageFetcher = ImageFetcherFactory.createImageFetcher(
ImageFetcherConfig.IN_MEMORY_WITH_DISK_CACHE, profile,
GlobalDiscardableReferencePool.getReferencePool(), MAX_IMAGE_CACHE_SIZE);
mImageFetcher = createImageFetcher(profile);
}
/** @return A {@link ImageTileCoordinator} instance. Creates if it doesn't exist yet. */
......@@ -142,7 +140,26 @@ public class OmniboxQueryTileCoordinator {
ImageFetcher.Params params = ImageFetcher.Params.createWithExpirationInterval(
queryTile.urls.get(0), ImageFetcher.QUERY_TILE_UMA_CLIENT_NAME, mTileWidth,
mTileWidth, QueryTileConstants.IMAGE_EXPIRATION_INTERVAL_MINUTES);
mImageFetcher.fetchImage(params, bitmap -> callback.onResult(Arrays.asList(bitmap)));
getImageFetcher().fetchImage(params, bitmap -> callback.onResult(Arrays.asList(bitmap)));
}
/** @return {@link ImageFetcher} instance. Only creates if needed. */
private ImageFetcher getImageFetcher() {
if (mImageFetcher == null) {
// This will be called only if there is no tab. Using regular profile is safe, since
// mImageFetcher is updated, when switching to incognito mode.
mImageFetcher = createImageFetcher(Profile.getLastUsedRegularProfile());
}
return mImageFetcher;
}
/**
* @param profile The profile to create image fetcher.
* @return an {@link ImageFetcher} instance for given profile.
*/
private ImageFetcher createImageFetcher(Profile profile) {
return ImageFetcherFactory.createImageFetcher(ImageFetcherConfig.IN_MEMORY_WITH_DISK_CACHE,
profile, GlobalDiscardableReferencePool.getReferencePool(), MAX_IMAGE_CACHE_SIZE);
}
private void onTileClicked(ImageTile tile) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment