Commit f2fac2fb authored by edchin's avatar edchin Committed by Commit Bot

[ios pointer support] signin_promo_view

iOS 13.4 introduces new APIs for mouse cursor support on iPad.

Buttons should react to pointer hover. This CL enables the default
hover effect on signin_promo_view buttons.

signed out. Open bookmarks. Check hover pointer effect on
"Sign into Chrome" and close buttons.

Test: iPad-only. Enable pointer support flag. Account should be
Bug: 1073961
Change-Id: Iece3506e0c98142383d9fa6814f4956c4af43136
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2166414Reviewed-by: default avatarJérôme Lebel <jlebel@chromium.org>
Commit-Queue: edchin <edchin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#762783}
parent c3cffa63
...@@ -23,6 +23,7 @@ source_set("cells") { ...@@ -23,6 +23,7 @@ source_set("cells") {
"//build:branding_buildflags", "//build:branding_buildflags",
"//ios/chrome/app/strings", "//ios/chrome/app/strings",
"//ios/chrome/browser", "//ios/chrome/browser",
"//ios/chrome/browser/ui:feature_flags",
"//ios/chrome/browser/ui/collection_view/cells", "//ios/chrome/browser/ui/collection_view/cells",
"//ios/chrome/browser/ui/colors", "//ios/chrome/browser/ui/colors",
"//ios/chrome/browser/ui/commands", "//ios/chrome/browser/ui/commands",
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#import "ios/chrome/browser/ui/authentication/cells/signin_promo_view.h" #import "ios/chrome/browser/ui/authentication/cells/signin_promo_view.h"
#include "base/feature_list.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/mac/foundation_util.h" #include "base/mac/foundation_util.h"
#include "build/branding_buildflags.h" #include "build/branding_buildflags.h"
...@@ -11,6 +12,7 @@ ...@@ -11,6 +12,7 @@
#import "ios/chrome/browser/ui/authentication/cells/signin_promo_view_constants.h" #import "ios/chrome/browser/ui/authentication/cells/signin_promo_view_constants.h"
#import "ios/chrome/browser/ui/authentication/cells/signin_promo_view_delegate.h" #import "ios/chrome/browser/ui/authentication/cells/signin_promo_view_delegate.h"
#import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h"
#include "ios/chrome/browser/ui/ui_feature_flags.h"
#import "ios/chrome/browser/ui/util/uikit_ui_util.h" #import "ios/chrome/browser/ui/util/uikit_ui_util.h"
#import "ios/chrome/common/ui/colors/UIColor+cr_semantic_colors.h" #import "ios/chrome/common/ui/colors/UIColor+cr_semantic_colors.h"
#import "ios/chrome/common/ui/colors/semantic_color_names.h" #import "ios/chrome/common/ui/colors/semantic_color_names.h"
...@@ -110,6 +112,13 @@ const CGFloat kImageViewWidthHeight = 32; ...@@ -110,6 +112,13 @@ const CGFloat kImageViewWidthHeight = 32;
action:@selector(onPrimaryButtonAction:) action:@selector(onPrimaryButtonAction:)
forControlEvents:UIControlEventTouchUpInside]; forControlEvents:UIControlEventTouchUpInside];
_primaryButton.contentEdgeInsets = primaryButtonInsets; _primaryButton.contentEdgeInsets = primaryButtonInsets;
#if defined(__IPHONE_13_4)
if (@available(iOS 13.4, *)) {
if (base::FeatureList::IsEnabled(kPointerSupport)) {
_primaryButton.pointerInteractionEnabled = YES;
}
}
#endif // defined(__IPHONE_13_4)
// Create and setup seconday button. // Create and setup seconday button.
UIButton* secondaryButton; UIButton* secondaryButton;
...@@ -125,6 +134,13 @@ const CGFloat kImageViewWidthHeight = 32; ...@@ -125,6 +134,13 @@ const CGFloat kImageViewWidthHeight = 32;
[_secondaryButton addTarget:self [_secondaryButton addTarget:self
action:@selector(onSecondaryButtonAction:) action:@selector(onSecondaryButtonAction:)
forControlEvents:UIControlEventTouchUpInside]; forControlEvents:UIControlEventTouchUpInside];
#if defined(__IPHONE_13_4)
if (@available(iOS 13.4, *)) {
if (base::FeatureList::IsEnabled(kPointerSupport)) {
_secondaryButton.pointerInteractionEnabled = YES;
}
}
#endif // defined(__IPHONE_13_4)
// Vertical stackView containing all previous view. // Vertical stackView containing all previous view.
UIStackView* verticalStackView = UIStackView* verticalStackView =
...@@ -147,6 +163,13 @@ const CGFloat kImageViewWidthHeight = 32; ...@@ -147,6 +163,13 @@ const CGFloat kImageViewWidthHeight = 32;
[_closeButton setImage:[UIImage imageNamed:@"signin_promo_close_gray"] [_closeButton setImage:[UIImage imageNamed:@"signin_promo_close_gray"]
forState:UIControlStateNormal]; forState:UIControlStateNormal];
_closeButton.hidden = YES; _closeButton.hidden = YES;
#if defined(__IPHONE_13_4)
if (@available(iOS 13.4, *)) {
if (base::FeatureList::IsEnabled(kPointerSupport)) {
_closeButton.pointerInteractionEnabled = YES;
}
}
#endif // defined(__IPHONE_13_4)
[self addSubview:_closeButton]; [self addSubview:_closeButton];
[NSLayoutConstraint activateConstraints:@[ [NSLayoutConstraint activateConstraints:@[
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment