| Index: ios/chrome/browser/ui/browser_view_controller.mm
|
| diff --git a/ios/chrome/browser/ui/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view_controller.mm
|
| index f6623048705ccd76ded971a33c1cfbb103683fdb..655d0e8b2cdda4ed81b9d8274d34bda637ea2e2e 100644
|
| --- a/ios/chrome/browser/ui/browser_view_controller.mm
|
| +++ b/ios/chrome/browser/ui/browser_view_controller.mm
|
| @@ -36,6 +36,7 @@
|
| #include "base/strings/sys_string_conversions.h"
|
| #include "components/bookmarks/browser/base_bookmark_model_observer.h"
|
| #include "components/bookmarks/browser/bookmark_model.h"
|
| +#include "components/image_fetcher/ios/ios_image_data_fetcher_wrapper.h"
|
| #include "components/infobars/core/infobar_manager.h"
|
| #include "components/prefs/pref_service.h"
|
| #include "components/reading_list/core/reading_list_switches.h"
|
| @@ -167,7 +168,6 @@
|
| #import "ios/web/navigation/crw_session_entry.h"
|
| #include "ios/web/navigation/navigation_manager_impl.h"
|
| #include "ios/web/public/active_state_manager.h"
|
| -#include "ios/web/public/image_fetcher/image_data_fetcher.h"
|
| #include "ios/web/public/navigation_item.h"
|
| #import "ios/web/public/navigation_manager.h"
|
| #include "ios/web/public/referrer_util.h"
|
| @@ -445,7 +445,7 @@ NSString* const kNativeControllerTemporaryKey = @"NativeControllerTemporaryKey";
|
| base::scoped_nsprotocol<UIView<VoiceSearchBar>*> _voiceSearchBar;
|
|
|
| // The image fetcher used to save images and perform image-based searches.
|
| - std::unique_ptr<web::ImageDataFetcher> _imageFetcher;
|
| + std::unique_ptr<image_fetcher::IOSImageDataFetcherWrapper> _imageFetcher;
|
|
|
| // Card side swipe view.
|
| base::scoped_nsobject<CardSideSwipeView> _sideSwipeView;
|
| @@ -905,8 +905,6 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
|
| DCHECK(factory);
|
| _propertyReleaser_BrowserViewController.Init(self,
|
| [BrowserViewController class]);
|
| - _imageFetcher = base::MakeUnique<web::ImageDataFetcher>(
|
| - web::WebThread::GetBlockingPool());
|
| _dependencyFactory.reset([factory retain]);
|
| _nativeControllersForTabIDs.reset(
|
| [[NSMapTable strongToWeakObjectsMapTable] retain]);
|
| @@ -1658,7 +1656,8 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
|
|
|
| [self registerForNotifications];
|
|
|
| - _imageFetcher->SetRequestContextGetter(_browserState->GetRequestContext());
|
| + _imageFetcher = base::MakeUnique<image_fetcher::IOSImageDataFetcherWrapper>(
|
| + _browserState->GetRequestContext(), web::WebThread::GetBlockingPool());
|
| _dominantColorCache.reset([[NSMutableDictionary alloc] init]);
|
|
|
| // Register for bookmark changed notification (BookmarkModel may be null
|
| @@ -3054,15 +3053,14 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
|
| referrer:(const web::Referrer)referrer {
|
| DCHECK(url.is_valid());
|
| base::WeakNSObject<BrowserViewController> weakSelf(self);
|
| - web::ImageFetchedCallback callback =
|
| - ^(const GURL& original_url, int response_code, NSData* data) {
|
| - GURL originalURL(original_url.spec());
|
| - DCHECK(data);
|
| - dispatch_async(dispatch_get_main_queue(), ^{
|
| - [weakSelf searchByImageData:data atURL:originalURL];
|
| - });
|
| - };
|
| - _imageFetcher->StartDownload(
|
| + const GURL image_source_url = url;
|
| + image_fetcher::IOSImageDataFetcherCallback callback = ^(NSData* data) {
|
| + DCHECK(data);
|
| + dispatch_async(dispatch_get_main_queue(), ^{
|
| + [weakSelf searchByImageData:data atURL:image_source_url];
|
| + });
|
| + };
|
| + _imageFetcher->FetchImageDataWebpDecoded(
|
| url, callback, web::ReferrerHeaderValueForNavigation(url, referrer),
|
| web::PolicyForNavigation(url, referrer));
|
| }
|
| @@ -3112,13 +3110,12 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
|
| referrer:(const web::Referrer&)referrer {
|
| DCHECK(url.is_valid());
|
|
|
| - web::ImageFetchedCallback callback =
|
| - ^(const GURL& original_url, int response_code, NSData* data) {
|
| - DCHECK(data);
|
| + image_fetcher::IOSImageDataFetcherCallback callback = ^(NSData* data) {
|
| + DCHECK(data);
|
|
|
| - [self managePermissionAndSaveImage:data];
|
| - };
|
| - _imageFetcher->StartDownload(
|
| + [self managePermissionAndSaveImage:data];
|
| + };
|
| + _imageFetcher->FetchImageDataWebpDecoded(
|
| url, callback, web::ReferrerHeaderValueForNavigation(url, referrer),
|
| web::PolicyForNavigation(url, referrer));
|
| }
|
|
|