Index: ios/chrome/browser/ui/stack_view/card_stack_layout_manager.mm |
diff --git a/ios/chrome/browser/ui/stack_view/card_stack_layout_manager.mm b/ios/chrome/browser/ui/stack_view/card_stack_layout_manager.mm |
index cb84a71508bccad891fa04d33e11d4065b279637..decc4986f08a2fefc75c69a46f1cadeb053e5001 100644 |
--- a/ios/chrome/browser/ui/stack_view/card_stack_layout_manager.mm |
+++ b/ios/chrome/browser/ui/stack_view/card_stack_layout_manager.mm |
@@ -9,9 +9,15 @@ |
#include "base/logging.h" |
#include "ios/chrome/browser/ui/rtl_geometry.h" |
+#import "ios/chrome/browser/ui/stack_view/card_view.h" |
#import "ios/chrome/browser/ui/stack_view/stack_card.h" |
+#import "ios/chrome/browser/ui/stack_view/title_label.h" |
#import "ios/chrome/browser/ui/ui_util.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
namespace { |
// The maximum number of cards that should be staggered at a collapse point. |
@@ -34,7 +40,14 @@ const CGFloat kScrollAwayFromNeighborAmount = 200; |
} // namespace |
-@interface CardStackLayoutManager () |
+@interface CardStackLayoutManager () { |
+ NSMutableArray* cards_; |
+ // YES if the previous call to one of {|scrollCardAtIndex|, |
+ // |handleMultitouchWithFirstDelta|} was to the former method; NO otherwise. |
+ BOOL treatOverExtensionAsScroll_; |
+ NSUInteger previousFirstPinchCardIndex_; |
+ NSUInteger previousSecondPinchCardIndex_; |
+} |
// Exposes |kMinStackStaggerAmount| for tests. |
- (CGFloat)minStackStaggerAmount; |
@@ -194,7 +207,7 @@ const CGFloat kScrollAwayFromNeighborAmount = 200; |
- (id)init { |
if ((self = [super init])) { |
- cards_.reset([[NSMutableArray alloc] init]); |
+ cards_ = [[NSMutableArray alloc] init]; |
layoutIsVertical_ = YES; |
lastStartStackCardIndex_ = -1; |
firstEndStackCardIndex_ = -1; |
@@ -247,7 +260,7 @@ const CGFloat kScrollAwayFromNeighborAmount = 200; |
NSUInteger i = 0; |
CGFloat previousFirstCardOffset = 0; |
CGFloat newFirstCardOffset = 0; |
- for (StackCard* card in cards_.get()) { |
+ for (StackCard* card in cards_) { |
CGFloat offset = [self cardOffsetOnLayoutAxis:card]; |
card.size = cardSize_; |
CGFloat newOffset = offset; |
@@ -289,7 +302,7 @@ const CGFloat kScrollAwayFromNeighborAmount = 200; |
- (void)setLayoutAxisPosition:(CGFloat)position { |
layoutAxisPosition_ = position; |
- for (StackCard* card in cards_.get()) { |
+ for (StackCard* card in cards_) { |
LayoutRect layout = card.layout; |
if (layoutIsVertical_) |
layout.position.leading = position - 0.5 * layout.size.width; |
@@ -1128,7 +1141,7 @@ const CGFloat kScrollAwayFromNeighborAmount = 200; |
} |
- (void)setSynchronizeCardViews:(BOOL)synchronizeViews { |
- for (StackCard* card in cards_.get()) { |
+ for (StackCard* card in cards_) { |
card.synchronizeView = synchronizeViews; |
} |
} |