Index: ios/clean/chrome/browser/browser_coordinator.h |
diff --git a/ios/clean/chrome/browser/browser_coordinator.h b/ios/clean/chrome/browser/browser_coordinator.h |
index 6b0654307f7d1262944b5c8d76179dbb32051637..0cb5aeea081b6e24c74ee60ffb013ed0bcfb9795 100644 |
--- a/ios/clean/chrome/browser/browser_coordinator.h |
+++ b/ios/clean/chrome/browser/browser_coordinator.h |
@@ -30,15 +30,19 @@ class Browser; |
@property(nonatomic, assign) Browser* browser; |
// The basic lifecycle methods for coordinators are -start and -stop. These |
-// are blank template methods; child classes are expected to implement them and |
-// do not need to invoke the superclass methods. |
+// implementations only notify the parent coordinator when this coordinator did |
+// start and will stop. Child classes are expected to override and call the |
+// superclass method at the end of -start and at the beginning of -stop. |
+ |
// Starts the user interaction managed by the receiver. Typical implementations |
// will create a view controller and then use |baseViewController| to present |
-// it. |
-- (void)start; |
+// it. This method needs to be called at the end of the overriding |
+// implementation. |
+- (void)start NS_REQUIRES_SUPER; |
-// Stops the user interaction managed by the receiver. |
-- (void)stop; |
+// Stops the user interaction managed by the receiver. This method needs to be |
+// called at the beginning of the overriding implementation. |
+- (void)stop NS_REQUIRES_SUPER; |
@end |