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

Side by Side Diff: ios/chrome/browser/ui/browser_view_controller.mm

Issue 2677993002: Use IOSImageDataFetcherWrapper for favicon (Closed)
Patch Set: Cleanup WebState Created 3 years, 10 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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 #import "ios/chrome/browser/ui/browser_view_controller.h" 5 #import "ios/chrome/browser/ui/browser_view_controller.h"
6 6
7 #import <AssetsLibrary/AssetsLibrary.h> 7 #import <AssetsLibrary/AssetsLibrary.h>
8 #import <MobileCoreServices/MobileCoreServices.h> 8 #import <MobileCoreServices/MobileCoreServices.h>
9 #import <PassKit/PassKit.h> 9 #import <PassKit/PassKit.h>
10 #import <Photos/Photos.h> 10 #import <Photos/Photos.h>
(...skipping 3036 matching lines...) Expand 10 before | Expand all | Expand 10 after
3047 } 3047 }
3048 } 3048 }
3049 3049
3050 #pragma mark - Context menu methods 3050 #pragma mark - Context menu methods
3051 3051
3052 - (void)searchByImageAtURL:(const GURL&)url 3052 - (void)searchByImageAtURL:(const GURL&)url
3053 referrer:(const web::Referrer)referrer { 3053 referrer:(const web::Referrer)referrer {
3054 DCHECK(url.is_valid()); 3054 DCHECK(url.is_valid());
3055 base::WeakNSObject<BrowserViewController> weakSelf(self); 3055 base::WeakNSObject<BrowserViewController> weakSelf(self);
3056 const GURL image_source_url = url; 3056 const GURL image_source_url = url;
3057 image_fetcher::IOSImageDataFetcherCallback callback = ^(NSData* data) { 3057 image_fetcher::IOSImageDataFetcherCallback callback = ^(
3058 NSData* data, const int response_code) {
3059
3058 DCHECK(data); 3060 DCHECK(data);
3059 dispatch_async(dispatch_get_main_queue(), ^{ 3061 dispatch_async(dispatch_get_main_queue(), ^{
3060 [weakSelf searchByImageData:data atURL:image_source_url]; 3062 [weakSelf searchByImageData:data atURL:image_source_url];
3061 }); 3063 });
3062 }; 3064 };
3063 _imageFetcher->FetchImageDataWebpDecoded( 3065 _imageFetcher->FetchImageDataWebpDecoded(
3064 url, callback, web::ReferrerHeaderValueForNavigation(url, referrer), 3066 url, callback, web::ReferrerHeaderValueForNavigation(url, referrer),
3065 web::PolicyForNavigation(url, referrer)); 3067 web::PolicyForNavigation(url, referrer));
3066 } 3068 }
3067 3069
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
3103 search_args, templateUrlService->search_terms_data(), &post_content)); 3105 search_args, templateUrlService->search_terms_data(), &post_content));
3104 [self addSelectedTabWithURL:result 3106 [self addSelectedTabWithURL:result
3105 postData:&post_content 3107 postData:&post_content
3106 transition:ui::PAGE_TRANSITION_TYPED]; 3108 transition:ui::PAGE_TRANSITION_TYPED];
3107 } 3109 }
3108 3110
3109 - (void)saveImageAtURL:(const GURL&)url 3111 - (void)saveImageAtURL:(const GURL&)url
3110 referrer:(const web::Referrer&)referrer { 3112 referrer:(const web::Referrer&)referrer {
3111 DCHECK(url.is_valid()); 3113 DCHECK(url.is_valid());
3112 3114
3113 image_fetcher::IOSImageDataFetcherCallback callback = ^(NSData* data) { 3115 image_fetcher::IOSImageDataFetcherCallback callback =
3114 DCHECK(data); 3116 ^(NSData* data, const int response_code) {
3117 DCHECK(data);
3115 3118
3116 [self managePermissionAndSaveImage:data]; 3119 [self managePermissionAndSaveImage:data];
3117 }; 3120 };
3118 _imageFetcher->FetchImageDataWebpDecoded( 3121 _imageFetcher->FetchImageDataWebpDecoded(
3119 url, callback, web::ReferrerHeaderValueForNavigation(url, referrer), 3122 url, callback, web::ReferrerHeaderValueForNavigation(url, referrer),
3120 web::PolicyForNavigation(url, referrer)); 3123 web::PolicyForNavigation(url, referrer));
3121 } 3124 }
3122 3125
3123 - (void)managePermissionAndSaveImage:(NSData*)data { 3126 - (void)managePermissionAndSaveImage:(NSData*)data {
3124 switch ([PHPhotoLibrary authorizationStatus]) { 3127 switch ([PHPhotoLibrary authorizationStatus]) {
3125 // User was never asked for permission to access photos. 3128 // User was never asked for permission to access photos.
3126 case PHAuthorizationStatusNotDetermined: 3129 case PHAuthorizationStatusNotDetermined:
3127 [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) { 3130 [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
(...skipping 2016 matching lines...) Expand 10 before | Expand all | Expand 10 after
5144 5147
5145 - (UIView*)voiceSearchButton { 5148 - (UIView*)voiceSearchButton {
5146 return _voiceSearchButton; 5149 return _voiceSearchButton;
5147 } 5150 }
5148 5151
5149 - (id<LogoAnimationControllerOwner>)logoAnimationControllerOwner { 5152 - (id<LogoAnimationControllerOwner>)logoAnimationControllerOwner {
5150 return [self currentLogoAnimationControllerOwner]; 5153 return [self currentLogoAnimationControllerOwner];
5151 } 5154 }
5152 5155
5153 @end 5156 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698