Chromium Code Reviews| 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 b768c1e4344e0b4008b594cd268242d4ce07cf79..778d97ac440c6e7a28686ea35993d247ec0d80c0 100644 |
| --- a/ios/chrome/browser/ui/browser_view_controller.mm |
| +++ b/ios/chrome/browser/ui/browser_view_controller.mm |
| @@ -83,6 +83,8 @@ |
| #import "ios/chrome/browser/tabs/tab_snapshotting_delegate.h" |
| #import "ios/chrome/browser/ui/activity_services/share_protocol.h" |
| #import "ios/chrome/browser/ui/activity_services/share_to_data.h" |
| +#import "ios/chrome/browser/ui/activity_services/share_to_data_builder.h" |
| +#import "ios/chrome/browser/ui/activity_services/chrome_activity_item_thumbnail_generator.h" |
|
Olivier
2017/01/20 10:14:00
alphabetical order
jif
2017/01/24 10:29:50
Done.
|
| #import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h" |
| #import "ios/chrome/browser/ui/authentication/re_signin_infobar_delegate.h" |
| #import "ios/chrome/browser/ui/background_generator.h" |
| @@ -595,8 +597,6 @@ NSString* const kReadingListSnackbarCategory = @"ReadingListSnackbarCategory"; |
| - (void)installDelegatesForTab:(Tab*)tab; |
| // Closes the current tab, with animation if applicable. |
| - (void)closeCurrentTab; |
| -// Returns an autoreleased share to data for |tab|. |
| -- (ShareToData*)shareToDataForTab:(Tab*)tab; |
| // Shows the menu to initiate sharing |data|. |
| - (void)sharePageWithData:(ShareToData*)data; |
| // Convenience method to share the current page. |
| @@ -4135,28 +4135,9 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver { |
| } |
| } |
| -- (ShareToData*)shareToDataForTab:(Tab*)tab { |
| - // For crash documented in crbug.com/503955, tab.url which is being passed |
| - // as a reference parameter caused a crash due to invalid address which |
| - // which suggests that |tab| may be deallocated along the way. Check that |
| - // tab is still valid by checking webState which would be deallocated if |
| - // tab is being closed. |
| - if (!tab.webState) |
| - return nil; |
| - DCHECK(tab); |
| - // If the original page title exists, it is expected to match the tab title. |
| - // If this ever changes, then a decision has to be made on which one should |
| - // be used for sharing. |
| - DCHECK(!tab.originalTitle || [tab.originalTitle isEqualToString:tab.title]); |
| - BOOL isPagePrintable = [tab viewForPrinting] != nil; |
| - return [[[ShareToData alloc] initWithURL:tab.url |
| - title:tab.title |
| - isOriginalTitle:(tab.originalTitle != nil) |
| - isPagePrintable:isPagePrintable] autorelease]; |
| -} |
| - |
| - (void)sharePage { |
| - ShareToData* data = [self shareToDataForTab:[_model currentTab]]; |
| + ShareToData* data = |
| + activity_services::ShareToDataFromTab([_model currentTab]); |
| if (data) |
| [self sharePageWithData:data]; |
| } |