summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlpromero <lpromero@chromium.org>2015-09-04 05:20:35 -0700
committerCommit bot <commit-bot@chromium.org>2015-09-04 12:21:33 +0000
commita2e65bc70f86c2e7413426d78ae4995207674ddd (patch)
tree6c7ca6d45ba7d6c6d85ebc078bdc06b7827040b3
parentaa88a4d6ab99bc35c9efd4d5d3d4c35a6838e202 (diff)
downloadchromium_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.h6
-rw-r--r--ios/chrome/browser/ui/uikit_ui_util.mm14
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();
}