Index: ios/shared/chrome/browser/tabs/web_state_list.h |
diff --git a/ios/shared/chrome/browser/tabs/web_state_list.h b/ios/shared/chrome/browser/tabs/web_state_list.h |
index 6d537a7624b44c9adf5e054d708de0a8c61b4100..3190fa19893ae0b6e04373a11c931194ba154d82 100644 |
--- a/ios/shared/chrome/browser/tabs/web_state_list.h |
+++ b/ios/shared/chrome/browser/tabs/web_state_list.h |
@@ -10,8 +10,10 @@ |
#include "base/macros.h" |
#include "base/observer_list.h" |
+#include "ui/base/page_transition_types.h" |
class WebStateListObserver; |
+class WebStateListOrderController; |
namespace web { |
class WebState; |
@@ -73,6 +75,15 @@ class WebStateList { |
web::WebState* web_state, |
web::WebState* opener); |
+ // Adds a WebState at the best position in the WebStateList given the |
+ // specified insertion index, transition, etc. An optional opener for the new |
+ // WebState may be passed. Pass kInvalidIndex for |index| to append it to the |
marq (ping after 24h)
2017/02/17 13:33:00
I would have a mild preference for a separate Appe
sdefresne
2017/02/20 16:12:55
Done.
|
+ // WebStateList. |
+ void AddWebState(int index, |
+ ui::PageTransition transition, |
+ web::WebState* web_state, |
+ web::WebState* opener); |
+ |
// Moves the WebState at the specified index to another index. |
void MoveWebStateAt(int from_index, int to_index); |
@@ -117,6 +128,10 @@ class WebStateList { |
const WebStateOwnership web_state_ownership_; |
std::vector<std::unique_ptr<WebStateWrapper>> web_state_wrappers_; |
+ // An object that determines where new WebState should be inserted and where |
+ // selection should move when a WebState is detached. |
+ std::unique_ptr<WebStateListOrderController> order_controller_; |
+ |
// List of observers notified of changes to the model. |
base::ObserverList<WebStateListObserver, true> observers_; |