Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: ios/clean/chrome/browser/browser_coordinator+internal.h

Issue 2734333003: Child coordinators notify their parent upon -start and -stop. (Closed)
Patch Set: Feedback Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // ====== New Architecture ===== 5 // ====== New Architecture =====
6 // = This code is only used in the new iOS Chrome architecture. = 6 // = This code is only used in the new iOS Chrome architecture. =
7 // ============================================================================ 7 // ============================================================================
8 8
9 #ifndef IOS_CHROME_BROWSER_BROWSER_COORDINATOR_INTERNAL_H_ 9 #ifndef IOS_CHROME_BROWSER_BROWSER_COORDINATOR_INTERNAL_H_
10 #define IOS_CHROME_BROWSER_BROWSER_COORDINATOR_INTERNAL_H_ 10 #define IOS_CHROME_BROWSER_BROWSER_COORDINATOR_INTERNAL_H_
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 48
49 // Adds |coordinator| as a child, taking ownership of it, setting the receiver's 49 // Adds |coordinator| as a child, taking ownership of it, setting the receiver's
50 // viewController (if any) as the child's baseViewController, and setting 50 // viewController (if any) as the child's baseViewController, and setting
51 // the receiver's |browser| as the child's |browser|. 51 // the receiver's |browser| as the child's |browser|.
52 - (void)addChildCoordinator:(BrowserCoordinator*)coordinator; 52 - (void)addChildCoordinator:(BrowserCoordinator*)coordinator;
53 53
54 // Removes |coordinator| as a child, relinquishing ownership of it. If 54 // Removes |coordinator| as a child, relinquishing ownership of it. If
55 // |coordinator| isn't a child of the receiver, this method does nothing. 55 // |coordinator| isn't a child of the receiver, this method does nothing.
56 - (void)removeChildCoordinator:(BrowserCoordinator*)coordinator; 56 - (void)removeChildCoordinator:(BrowserCoordinator*)coordinator;
57 57
58 // Called when a child coordinator did start. This is a blank template method.
59 // Subclasses can override this method when they need to know when their
60 // children start.
61 - (void)childCoordinatorDidStart:(BrowserCoordinator*)childCoordinator;
62
63 // Called when a child coordinator will stop. This is a blank template method.
64 // Subclasses can override this method when they need to know when their
65 // children start.
66 - (void)childCoordinatorWillStop:(BrowserCoordinator*)childCoordinator;
67
58 // Methods for adding overlay coordinators. 68 // Methods for adding overlay coordinators.
59 69
60 // Returns YES if the receiver will take |overlayCoordinator| as a child. 70 // Returns YES if the receiver will take |overlayCoordinator| as a child.
61 // The default is to return YES only if the receiver has no children, if 71 // The default is to return YES only if the receiver has no children, if
62 // the receiver has a nil -overlayCoordinator, and if |overlayCoordinator| 72 // the receiver has a nil -overlayCoordinator, and if |overlayCoordinator|
63 // is not already overlaying. 73 // is not already overlaying.
64 - (BOOL)canAddOverlayCoordinator:(BrowserCoordinator*)overlayCoordinator; 74 - (BOOL)canAddOverlayCoordinator:(BrowserCoordinator*)overlayCoordinator;
65 75
66 // Adds |overlayCoordinator| as a child to the receiver, or if it cannot be 76 // Adds |overlayCoordinator| as a child to the receiver, or if it cannot be
67 // added, recursively add it to the receiver's child. If a receiver has 77 // added, recursively add it to the receiver's child. If a receiver has
68 // multiple children and returns YES from -canAddOverlayCoordinator:, it 78 // multiple children and returns YES from -canAddOverlayCoordinator:, it
69 // must override this method to determines how the overlay is added. 79 // must override this method to determines how the overlay is added.
70 // If neither the receiver or any child can add |overlayCoordinator|, then 80 // If neither the receiver or any child can add |overlayCoordinator|, then
71 // nothing happens. 81 // nothing happens.
72 - (void)addOverlayCoordinator:(BrowserCoordinator*)overlayCoordinator; 82 - (void)addOverlayCoordinator:(BrowserCoordinator*)overlayCoordinator;
73 83
74 // Removes the current overlay coordinator (if any) as a child from its 84 // Removes the current overlay coordinator (if any) as a child from its
75 // parent. 85 // parent.
76 - (void)removeOverlayCoordinator; 86 - (void)removeOverlayCoordinator;
77 87
78 @end 88 @end
79 89
80 #endif // IOS_CHROME_BROWSER_BROWSER_COORDINATOR_INTERNAL_H_ 90 #endif // IOS_CHROME_BROWSER_BROWSER_COORDINATOR_INTERNAL_H_
OLDNEW
« no previous file with comments | « ios/clean/chrome/browser/browser_coordinator.mm ('k') | ios/clean/chrome/browser/browser_coordinator_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698