| OLD | NEW |
| 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 3031 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3042 } | 3042 } |
| 3043 } | 3043 } |
| 3044 | 3044 |
| 3045 #pragma mark - Context menu methods | 3045 #pragma mark - Context menu methods |
| 3046 | 3046 |
| 3047 - (void)searchByImageAtURL:(const GURL&)url | 3047 - (void)searchByImageAtURL:(const GURL&)url |
| 3048 referrer:(const web::Referrer)referrer { | 3048 referrer:(const web::Referrer)referrer { |
| 3049 DCHECK(url.is_valid()); | 3049 DCHECK(url.is_valid()); |
| 3050 base::WeakNSObject<BrowserViewController> weakSelf(self); | 3050 base::WeakNSObject<BrowserViewController> weakSelf(self); |
| 3051 const GURL image_source_url = url; | 3051 const GURL image_source_url = url; |
| 3052 image_fetcher::IOSImageDataFetcherCallback callback = ^(NSData* data) { | 3052 image_fetcher::IOSImageDataFetcherCallback callback = ^( |
| 3053 NSData* data, const int response_code) { |
| 3054 |
| 3053 DCHECK(data); | 3055 DCHECK(data); |
| 3054 dispatch_async(dispatch_get_main_queue(), ^{ | 3056 dispatch_async(dispatch_get_main_queue(), ^{ |
| 3055 [weakSelf searchByImageData:data atURL:image_source_url]; | 3057 [weakSelf searchByImageData:data atURL:image_source_url]; |
| 3056 }); | 3058 }); |
| 3057 }; | 3059 }; |
| 3058 _imageFetcher->FetchImageDataWebpDecoded( | 3060 _imageFetcher->FetchImageDataWebpDecoded( |
| 3059 url, callback, web::ReferrerHeaderValueForNavigation(url, referrer), | 3061 url, callback, web::ReferrerHeaderValueForNavigation(url, referrer), |
| 3060 web::PolicyForNavigation(url, referrer)); | 3062 web::PolicyForNavigation(url, referrer)); |
| 3061 } | 3063 } |
| 3062 | 3064 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3098 search_args, templateUrlService->search_terms_data(), &post_content)); | 3100 search_args, templateUrlService->search_terms_data(), &post_content)); |
| 3099 [self addSelectedTabWithURL:result | 3101 [self addSelectedTabWithURL:result |
| 3100 postData:&post_content | 3102 postData:&post_content |
| 3101 transition:ui::PAGE_TRANSITION_TYPED]; | 3103 transition:ui::PAGE_TRANSITION_TYPED]; |
| 3102 } | 3104 } |
| 3103 | 3105 |
| 3104 - (void)saveImageAtURL:(const GURL&)url | 3106 - (void)saveImageAtURL:(const GURL&)url |
| 3105 referrer:(const web::Referrer&)referrer { | 3107 referrer:(const web::Referrer&)referrer { |
| 3106 DCHECK(url.is_valid()); | 3108 DCHECK(url.is_valid()); |
| 3107 | 3109 |
| 3108 image_fetcher::IOSImageDataFetcherCallback callback = ^(NSData* data) { | 3110 image_fetcher::IOSImageDataFetcherCallback callback = |
| 3109 DCHECK(data); | 3111 ^(NSData* data, const int response_code) { |
| 3112 DCHECK(data); |
| 3110 | 3113 |
| 3111 [self managePermissionAndSaveImage:data]; | 3114 [self managePermissionAndSaveImage:data]; |
| 3112 }; | 3115 }; |
| 3113 _imageFetcher->FetchImageDataWebpDecoded( | 3116 _imageFetcher->FetchImageDataWebpDecoded( |
| 3114 url, callback, web::ReferrerHeaderValueForNavigation(url, referrer), | 3117 url, callback, web::ReferrerHeaderValueForNavigation(url, referrer), |
| 3115 web::PolicyForNavigation(url, referrer)); | 3118 web::PolicyForNavigation(url, referrer)); |
| 3116 } | 3119 } |
| 3117 | 3120 |
| 3118 - (void)managePermissionAndSaveImage:(NSData*)data { | 3121 - (void)managePermissionAndSaveImage:(NSData*)data { |
| 3119 switch ([PHPhotoLibrary authorizationStatus]) { | 3122 switch ([PHPhotoLibrary authorizationStatus]) { |
| 3120 // User was never asked for permission to access photos. | 3123 // User was never asked for permission to access photos. |
| 3121 case PHAuthorizationStatusNotDetermined: | 3124 case PHAuthorizationStatusNotDetermined: |
| 3122 [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) { | 3125 [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) { |
| (...skipping 2021 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 |
| OLD | NEW |