Commit 63684cf0 authored by edchin's avatar edchin Committed by Commit Bot

[ios] Add pointer interaction to translate infobar

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

Test: iPad-only. Ensure that translate infobar buttons (gear, close, source and destination languages) have hover effect.
Bug: 1073961
Change-Id: I77efa66691f1818f3d66222d1346387042b583ad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2199722Reviewed-by: default avatarChris Lu <thegreenfrog@chromium.org>
Commit-Queue: edchin <edchin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#768573}
parent a79f5b3b
...@@ -65,6 +65,7 @@ source_set("translate_ui") { ...@@ -65,6 +65,7 @@ source_set("translate_ui") {
"//components/strings:components_strings", "//components/strings:components_strings",
"//ios/chrome/app/strings:ios_strings_grit", "//ios/chrome/app/strings:ios_strings_grit",
"//ios/chrome/browser", "//ios/chrome/browser",
"//ios/chrome/browser/ui:feature_flags",
"//ios/chrome/browser/ui/colors", "//ios/chrome/browser/ui/colors",
"//ios/chrome/browser/ui/commands", "//ios/chrome/browser/ui/commands",
"//ios/chrome/browser/ui/fullscreen:ui", "//ios/chrome/browser/ui/fullscreen:ui",
......
...@@ -4,9 +4,11 @@ ...@@ -4,9 +4,11 @@
#import "ios/chrome/browser/ui/translate/translate_infobar_language_tab_view.h" #import "ios/chrome/browser/ui/translate/translate_infobar_language_tab_view.h"
#include "base/feature_list.h"
#import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h"
#import "ios/chrome/browser/ui/translate/translate_infobar_language_tab_strip_view.h" #import "ios/chrome/browser/ui/translate/translate_infobar_language_tab_strip_view.h"
#import "ios/chrome/browser/ui/translate/translate_infobar_language_tab_view_delegate.h" #import "ios/chrome/browser/ui/translate/translate_infobar_language_tab_view_delegate.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/semantic_color_names.h" #import "ios/chrome/common/ui/colors/semantic_color_names.h"
#import "ios/chrome/common/ui/elements/highlight_button.h" #import "ios/chrome/common/ui/elements/highlight_button.h"
...@@ -106,6 +108,14 @@ const CGFloat kButtonPadding = 12; ...@@ -106,6 +108,14 @@ const CGFloat kButtonPadding = 12;
forControlEvents:UIControlEventTouchUpInside]; forControlEvents:UIControlEventTouchUpInside];
[self addSubview:self.button]; [self addSubview:self.button];
#if defined(__IPHONE_13_4)
if (@available(iOS 13.4, *)) {
if (base::FeatureList::IsEnabled(kPointerSupport)) {
self.button.pointerInteractionEnabled = YES;
}
}
#endif // defined(__IPHONE_13_4)
AddSameConstraints(self, self.button); AddSameConstraints(self, self.button);
} }
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#import "ios/chrome/browser/ui/translate/translate_infobar_view.h" #import "ios/chrome/browser/ui/translate/translate_infobar_view.h"
#include "base/check.h" #include "base/check.h"
#include "base/feature_list.h"
#include "base/strings/sys_string_conversions.h" #include "base/strings/sys_string_conversions.h"
#include "components/strings/grit/components_strings.h" #include "components/strings/grit/components_strings.h"
#import "ios/chrome/browser/procedural_block_types.h" #import "ios/chrome/browser/procedural_block_types.h"
...@@ -17,6 +18,7 @@ ...@@ -17,6 +18,7 @@
#import "ios/chrome/browser/ui/translate/translate_infobar_language_tab_strip_view_delegate.h" #import "ios/chrome/browser/ui/translate/translate_infobar_language_tab_strip_view_delegate.h"
#import "ios/chrome/browser/ui/translate/translate_infobar_view_constants.h" #import "ios/chrome/browser/ui/translate/translate_infobar_view_constants.h"
#import "ios/chrome/browser/ui/translate/translate_infobar_view_delegate.h" #import "ios/chrome/browser/ui/translate/translate_infobar_view_delegate.h"
#include "ios/chrome/browser/ui/ui_feature_flags.h"
#import "ios/chrome/browser/ui/util/label_link_controller.h" #import "ios/chrome/browser/ui/util/label_link_controller.h"
#import "ios/chrome/browser/ui/util/layout_guide_names.h" #import "ios/chrome/browser/ui/util/layout_guide_names.h"
#import "ios/chrome/browser/ui/util/named_guide.h" #import "ios/chrome/browser/ui/util/named_guide.h"
...@@ -286,6 +288,15 @@ const CGFloat kIconTrailingMargin = 12; ...@@ -286,6 +288,15 @@ const CGFloat kIconTrailingMargin = 12;
self.dismissButton = dismissButton; self.dismissButton = dismissButton;
[contentView addSubview:self.dismissButton]; [contentView addSubview:self.dismissButton];
#if defined(__IPHONE_13_4)
if (@available(iOS 13.4, *)) {
if (base::FeatureList::IsEnabled(kPointerSupport)) {
self.optionsButton.pointerInteractionEnabled = YES;
self.dismissButton.pointerInteractionEnabled = YES;
}
}
#endif // defined(__IPHONE_13_4)
ApplyVisualConstraintsWithMetrics( ApplyVisualConstraintsWithMetrics(
@[ @[
@"H:|-(iconLeadingMargin)-[icon(iconSize)]-(iconTrailingMargin)-[languages][options(buttonSize)][dismiss(buttonSize)]|", @"H:|-(iconLeadingMargin)-[icon(iconSize)]-(iconTrailingMargin)-[languages][options(buttonSize)][dismiss(buttonSize)]|",
......
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