| 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 4dbebacbf6bb2d6dfc2a0163c18c5db5fbcdde5f..ac6893ac4bae674b370ddcecc950bd644295f84c 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;
|
| }
|
| }
|
|
|