Index: ios/chrome/browser/ui/promos/promo_view_controller.h |
diff --git a/ios/chrome/browser/ui/promos/promo_view_controller.h b/ios/chrome/browser/ui/promos/promo_view_controller.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fd737d760ccafafb1e5e2bc0b21ccdcef9508e34 |
--- /dev/null |
+++ b/ios/chrome/browser/ui/promos/promo_view_controller.h |
@@ -0,0 +1,29 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef IOS_CHROME_BROWSER_UI_PROMOS_PROMO_VIEW_CONTROLLER_H_ |
+#define IOS_CHROME_BROWSER_UI_PROMOS_PROMO_VIEW_CONTROLLER_H_ |
+ |
+#import <UIKit/UIKit.h> |
+ |
+#import "base/mac/scoped_nsobject.h" |
+ |
+// Protocol for promotion view controllers. |
+// |
+// Note: On iPhone, this controller supports portrait orientation only. It |
+// should always be presented in an |OrientationLimitingNavigationController|. |
+@protocol PromoViewController |
+ |
+// Returns whether or not a promo of the class type should be displayed. |
+// Subclasses should override this method. Base implementation returns NO. |
++ (BOOL)shouldBePresentedForBrowserState:(ios::ChromeBrowserState*)browserState; |
+ |
+// Returns an autoreleased subclass object, which will be displayed. |
+// Sublasses should override this method. Base implementation returns nil. |
++ (UIViewController*)controllerToPresentForBrowserState: |
+ (ios::ChromeBrowserState*)browserState; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_BROWSER_UI_PROMOS_PROMO_VIEW_CONTROLLER_H_ |