diff options
author | lpromero <lpromero@chromium.org> | 2015-09-04 05:20:35 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-09-04 12:21:33 +0000 |
commit | a2e65bc70f86c2e7413426d78ae4995207674ddd (patch) | |
tree | 6c7ca6d45ba7d6c6d85ebc078bdc06b7827040b3 | |
parent | aa88a4d6ab99bc35c9efd4d5d3d4c35a6838e202 (diff) | |
download | chromium_src-a2e65bc70f86c2e7413426d78ae4995207674ddd.zip chromium_src-a2e65bc70f86c2e7413426d78ae4995207674ddd.tar.gz chromium_src-a2e65bc70f86c2e7413426d78ae4995207674ddd.tar.bz2 |
Add convenience methods for checking horizontal size class.
This CL adds methods to check for horizontal size class of views, view
controllers, etc.
BUG=527404
R=justincohen@chromium.org,rohitrao@chromium.org
Review URL: https://codereview.chromium.org/1329713002
Cr-Commit-Position: refs/heads/master@{#347211}
(cherry picked from commit ab739017d7ca888b9aba780b2f90afe318153c53)
TBR=justincohen@chromium.org,rohitrao@chromium.org
NOTRY=true
NOPRESUBMIT=true
Review URL: https://codereview.chromium.org/1321533006
Cr-Commit-Position: refs/branch-heads/2490@{#160}
Cr-Branched-From: 7790a3535f2a81a03685eca31a32cf69ae0c114f-refs/heads/master@{#344925}
-rw-r--r-- | ios/chrome/browser/ui/uikit_ui_util.h | 6 | ||||
-rw-r--r-- | ios/chrome/browser/ui/uikit_ui_util.mm | 14 |
2 files changed, 17 insertions, 3 deletions
diff --git a/ios/chrome/browser/ui/uikit_ui_util.h b/ios/chrome/browser/ui/uikit_ui_util.h index db6af6c..220a8bd4 100644 --- a/ios/chrome/browser/ui/uikit_ui_util.h +++ b/ios/chrome/browser/ui/uikit_ui_util.h @@ -176,10 +176,16 @@ void AddSameCenterYConstraint(UIView* parentView, UIView* subview1, UIView* subview2); +// Whether the |environment| has a compact horizontal size class. +bool IsCompact(id<UITraitEnvironment> environment); + // Whether the main application window's rootViewController has a compact // horizontal size class. bool IsCompact(); +// Whether the |environment| has a compact iPad horizontal size class. +bool IsCompactTablet(id<UITraitEnvironment> environment); + // Whether the main application window's rootViewController has a compact // iPad horizontal size class. bool IsCompactTablet(); diff --git a/ios/chrome/browser/ui/uikit_ui_util.mm b/ios/chrome/browser/ui/uikit_ui_util.mm index 6f0ac49..f5b315c8 100644 --- a/ios/chrome/browser/ui/uikit_ui_util.mm +++ b/ios/chrome/browser/ui/uikit_ui_util.mm @@ -517,10 +517,9 @@ void AddSameCenterYConstraint(UIView* parentView, constant:0]]; } -bool IsCompact() { +bool IsCompact(id<UITraitEnvironment> environment) { if (base::ios::IsRunningOnIOS8OrLater()) { - UIWindow* keyWindow = [UIApplication sharedApplication].keyWindow; - return [keyWindow.traitCollection horizontalSizeClass] == + return environment.traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassCompact; } else { // Prior to iOS 8, iPad is always regular, iPhone is always compact. @@ -528,6 +527,15 @@ bool IsCompact() { } } +bool IsCompact() { + UIWindow* keyWindow = [UIApplication sharedApplication].keyWindow; + return IsCompact(keyWindow); +} + +bool IsCompactTablet(id<UITraitEnvironment> environment) { + return IsIPadIdiom() && IsCompact(environment); +} + bool IsCompactTablet() { return IsIPadIdiom() && IsCompact(); } |