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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
76 #import "ios/chrome/browser/snapshots/snapshot_overlay_provider.h" | 76 #import "ios/chrome/browser/snapshots/snapshot_overlay_provider.h" |
77 #import "ios/chrome/browser/storekit_launcher.h" | 77 #import "ios/chrome/browser/storekit_launcher.h" |
78 #import "ios/chrome/browser/tabs/tab.h" | 78 #import "ios/chrome/browser/tabs/tab.h" |
79 #import "ios/chrome/browser/tabs/tab_dialog_delegate.h" | 79 #import "ios/chrome/browser/tabs/tab_dialog_delegate.h" |
80 #import "ios/chrome/browser/tabs/tab_headers_delegate.h" | 80 #import "ios/chrome/browser/tabs/tab_headers_delegate.h" |
81 #import "ios/chrome/browser/tabs/tab_model.h" | 81 #import "ios/chrome/browser/tabs/tab_model.h" |
82 #import "ios/chrome/browser/tabs/tab_model_observer.h" | 82 #import "ios/chrome/browser/tabs/tab_model_observer.h" |
83 #import "ios/chrome/browser/tabs/tab_snapshotting_delegate.h" | 83 #import "ios/chrome/browser/tabs/tab_snapshotting_delegate.h" |
84 #import "ios/chrome/browser/ui/activity_services/share_protocol.h" | 84 #import "ios/chrome/browser/ui/activity_services/share_protocol.h" |
85 #import "ios/chrome/browser/ui/activity_services/share_to_data.h" | 85 #import "ios/chrome/browser/ui/activity_services/share_to_data.h" |
86 #import "ios/chrome/browser/ui/activity_services/share_to_data_builder.h" | |
87 #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.
| |
86 #import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h" | 88 #import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h" |
87 #import "ios/chrome/browser/ui/authentication/re_signin_infobar_delegate.h" | 89 #import "ios/chrome/browser/ui/authentication/re_signin_infobar_delegate.h" |
88 #import "ios/chrome/browser/ui/background_generator.h" | 90 #import "ios/chrome/browser/ui/background_generator.h" |
89 #import "ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.h" | 91 #import "ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.h" |
90 #import "ios/chrome/browser/ui/browser_container_view.h" | 92 #import "ios/chrome/browser/ui/browser_container_view.h" |
91 #import "ios/chrome/browser/ui/browser_view_controller_dependency_factory.h" | 93 #import "ios/chrome/browser/ui/browser_view_controller_dependency_factory.h" |
92 #import "ios/chrome/browser/ui/chrome_web_view_factory.h" | 94 #import "ios/chrome/browser/ui/chrome_web_view_factory.h" |
93 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" | 95 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" |
94 #import "ios/chrome/browser/ui/commands/generic_chrome_command.h" | 96 #import "ios/chrome/browser/ui/commands/generic_chrome_command.h" |
95 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" | 97 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" |
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
588 - (void)showNoTabsUI; | 590 - (void)showNoTabsUI; |
589 // Dismisses the No-Tabs UI with animation. | 591 // Dismisses the No-Tabs UI with animation. |
590 - (void)dismissNoTabsUI; | 592 - (void)dismissNoTabsUI; |
591 | 593 |
592 // Shows the tools menu popup. | 594 // Shows the tools menu popup. |
593 - (void)showToolsMenuPopup; | 595 - (void)showToolsMenuPopup; |
594 // Add all delegates to the provided |tab|. | 596 // Add all delegates to the provided |tab|. |
595 - (void)installDelegatesForTab:(Tab*)tab; | 597 - (void)installDelegatesForTab:(Tab*)tab; |
596 // Closes the current tab, with animation if applicable. | 598 // Closes the current tab, with animation if applicable. |
597 - (void)closeCurrentTab; | 599 - (void)closeCurrentTab; |
598 // Returns an autoreleased share to data for |tab|. | |
599 - (ShareToData*)shareToDataForTab:(Tab*)tab; | |
600 // Shows the menu to initiate sharing |data|. | 600 // Shows the menu to initiate sharing |data|. |
601 - (void)sharePageWithData:(ShareToData*)data; | 601 - (void)sharePageWithData:(ShareToData*)data; |
602 // Convenience method to share the current page. | 602 // Convenience method to share the current page. |
603 - (void)sharePage; | 603 - (void)sharePage; |
604 // Prints the web page in the current tab. | 604 // Prints the web page in the current tab. |
605 - (void)print; | 605 - (void)print; |
606 // Shows the Online Help Page in a tab. | 606 // Shows the Online Help Page in a tab. |
607 - (void)showHelpPage; | 607 - (void)showHelpPage; |
608 // Show the bookmarks page. | 608 // Show the bookmarks page. |
609 - (void)showAllBookmarks; | 609 - (void)showAllBookmarks; |
(...skipping 3518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4128 // Do not animate close in iPad. | 4128 // Do not animate close in iPad. |
4129 if (!IsIPadIdiom()) { | 4129 if (!IsIPadIdiom()) { |
4130 [_contentArea addSubview:exitingPage]; | 4130 [_contentArea addSubview:exitingPage]; |
4131 ios_internal::page_animation_util::AnimateOutWithCompletion( | 4131 ios_internal::page_animation_util::AnimateOutWithCompletion( |
4132 exitingPage, 0, YES, IsPortrait(), ^{ | 4132 exitingPage, 0, YES, IsPortrait(), ^{ |
4133 [exitingPage removeFromSuperview]; | 4133 [exitingPage removeFromSuperview]; |
4134 }); | 4134 }); |
4135 } | 4135 } |
4136 } | 4136 } |
4137 | 4137 |
4138 - (ShareToData*)shareToDataForTab:(Tab*)tab { | |
4139 // For crash documented in crbug.com/503955, tab.url which is being passed | |
4140 // as a reference parameter caused a crash due to invalid address which | |
4141 // which suggests that |tab| may be deallocated along the way. Check that | |
4142 // tab is still valid by checking webState which would be deallocated if | |
4143 // tab is being closed. | |
4144 if (!tab.webState) | |
4145 return nil; | |
4146 DCHECK(tab); | |
4147 // If the original page title exists, it is expected to match the tab title. | |
4148 // If this ever changes, then a decision has to be made on which one should | |
4149 // be used for sharing. | |
4150 DCHECK(!tab.originalTitle || [tab.originalTitle isEqualToString:tab.title]); | |
4151 BOOL isPagePrintable = [tab viewForPrinting] != nil; | |
4152 return [[[ShareToData alloc] initWithURL:tab.url | |
4153 title:tab.title | |
4154 isOriginalTitle:(tab.originalTitle != nil) | |
4155 isPagePrintable:isPagePrintable] autorelease]; | |
4156 } | |
4157 | |
4158 - (void)sharePage { | 4138 - (void)sharePage { |
4159 ShareToData* data = [self shareToDataForTab:[_model currentTab]]; | 4139 ShareToData* data = |
4140 activity_services::ShareToDataFromTab([_model currentTab]); | |
4160 if (data) | 4141 if (data) |
4161 [self sharePageWithData:data]; | 4142 [self sharePageWithData:data]; |
4162 } | 4143 } |
4163 | 4144 |
4164 - (void)sharePageWithData:(ShareToData*)data { | 4145 - (void)sharePageWithData:(ShareToData*)data { |
4165 id<ShareProtocol> controller = [_dependencyFactory shareControllerInstance]; | 4146 id<ShareProtocol> controller = [_dependencyFactory shareControllerInstance]; |
4166 if ([controller isActive]) | 4147 if ([controller isActive]) |
4167 return; | 4148 return; |
4168 CGRect fromRect = [_toolbarController shareButtonAnchorRect]; | 4149 CGRect fromRect = [_toolbarController shareButtonAnchorRect]; |
4169 UIView* inView = [_toolbarController shareButtonView]; | 4150 UIView* inView = [_toolbarController shareButtonView]; |
(...skipping 967 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5137 | 5118 |
5138 - (UIView*)voiceSearchButton { | 5119 - (UIView*)voiceSearchButton { |
5139 return _voiceSearchButton; | 5120 return _voiceSearchButton; |
5140 } | 5121 } |
5141 | 5122 |
5142 - (id<LogoAnimationControllerOwner>)logoAnimationControllerOwner { | 5123 - (id<LogoAnimationControllerOwner>)logoAnimationControllerOwner { |
5143 return [self currentLogoAnimationControllerOwner]; | 5124 return [self currentLogoAnimationControllerOwner]; |
5144 } | 5125 } |
5145 | 5126 |
5146 @end | 5127 @end |
OLD | NEW |