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

Side by Side Diff: chrome/browser/sync/test/integration/sessions_helper.h

Issue 2753753005: [sync] WebContentsObserver based sessions notifications (Closed)
Patch Set: use base:MakeUnique, alphabetize 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_SESSIONS_HELPER_H_ 5 #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_SESSIONS_HELPER_H_
6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SESSIONS_HELPER_H_ 6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SESSIONS_HELPER_H_
7 7
8 #include <algorithm> 8 #include <algorithm>
9 #include <map> 9 #include <map>
10 #include <memory> 10 #include <memory>
(...skipping 22 matching lines...) Expand all
33 33
34 // Checks that window count and foreign session count are 0. 34 // Checks that window count and foreign session count are 0.
35 bool CheckInitialState(int index); 35 bool CheckInitialState(int index);
36 36
37 // Returns number of open windows for a profile. 37 // Returns number of open windows for a profile.
38 int GetNumWindows(int index); 38 int GetNumWindows(int index);
39 39
40 // Returns number of foreign sessions for a profile. 40 // Returns number of foreign sessions for a profile.
41 int GetNumForeignSessions(int index); 41 int GetNumForeignSessions(int index);
42 42
43 // Fills the sessions vector with the model associator's foreign session data. 43 // Fills the sessions vector with the SyncableService's foreign session data.
44 // Caller owns |sessions|, but not SyncedSessions objects within. 44 // Caller owns |sessions|, but not SyncedSessions objects within.
45 // Returns true if foreign sessions were found, false otherwise. 45 // Returns true if foreign sessions were found, false otherwise.
46 bool GetSessionData(int index, SyncedSessionVector* sessions); 46 bool GetSessionData(int index, SyncedSessionVector* sessions);
47 47
48 // Compares a foreign session based on the first session window. 48 // Compares a foreign session based on the first session window.
49 // Returns true based on the comparison of the session windows. 49 // Returns true based on the comparison of the session windows.
50 bool CompareSyncedSessions(const sync_sessions::SyncedSession* lhs, 50 bool CompareSyncedSessions(const sync_sessions::SyncedSession* lhs,
51 const sync_sessions::SyncedSession* rhs); 51 const sync_sessions::SyncedSession* rhs);
52 52
53 // Sort a SyncedSession vector using our custom SyncedSession comparator. 53 // Sort a SyncedSession vector using our custom SyncedSession comparator.
(...skipping 16 matching lines...) Expand all
70 bool WindowsMatch(const SessionWindowMap& win1, const ScopedWindowMap& win2); 70 bool WindowsMatch(const SessionWindowMap& win1, const ScopedWindowMap& win2);
71 71
72 // Retrieves the foreign sessions for a particular profile and compares them 72 // Retrieves the foreign sessions for a particular profile and compares them
73 // with a reference SessionWindow list. 73 // with a reference SessionWindow list.
74 // Returns true if the session windows of the foreign session matches the 74 // Returns true if the session windows of the foreign session matches the
75 // reference. 75 // reference.
76 bool CheckForeignSessionsAgainst(int index, 76 bool CheckForeignSessionsAgainst(int index,
77 const std::vector<ScopedWindowMap>& windows); 77 const std::vector<ScopedWindowMap>& windows);
78 78
79 // Open a single tab in the browser at |index| and block until the 79 // Open a single tab in the browser at |index| and block until the
80 // session model associator is aware of it. Returns true upon success, false 80 // session SyncableService is aware of it. Returns true upon success, false
81 // otherwise. 81 // otherwise.
82 bool OpenTab(int index, const GURL& url); 82 bool OpenTab(int index, const GURL& url);
83 83
84 // See OpenTab, except that the tab is opened in position |tab_index|. 84 // See OpenTab, except that the tab is opened in position |tab_index|.
85 // If |tab_index| is -1 or greater than the number of tabs, the tab will be 85 // If |tab_index| is -1 or greater than the number of tabs, the tab will be
86 // appended to the end of the strip. i.e. if tab_index is 3 for a tab strip of 86 // appended to the end of the strip. i.e. if tab_index is 3 for a tab strip of
87 // size 1, the new tab will be in position 1. 87 // size 1, the new tab will be in position 1.
88 bool OpenTabAtIndex(int index, int tab_index, const GURL& url); 88 bool OpenTabAtIndex(int index, int tab_index, const GURL& url);
89 89
90 // Like OpenTab, but opens |url| from the tab at |index_of_source_tab| using
91 // |disposition|.
92 bool OpenTabFromSourceIndex(int index,
93 int index_of_source_tab,
94 const GURL& url,
95 WindowOpenDisposition disposition);
96
97 // Open multiple tabs and block until the session SyncableService is aware
98 // of all of them. Returns true on success, false on failure.
99 bool OpenMultipleTabs(int index, const std::vector<GURL>& urls);
100
90 // Moves the tab in position |tab_index| in the TabStrip for browser at 101 // Moves the tab in position |tab_index| in the TabStrip for browser at
91 // |from_index| to the TabStrip for browser at |to_index|. 102 // |from_index| to the TabStrip for browser at |to_index|.
92 void MoveTab(int from_index, int to_index, int tab_index); 103 void MoveTab(int from_index, int to_index, int tab_index);
93 104
94 // Navigate the active tab for browser in position |index| to the given 105 // Navigate the active tab for browser in position |index| to the given
95 // url, and blocks until the session model associator is aware of it. 106 // url, and blocks until the session SyncableService is aware of it.
96 // WARNING: it's dangerous to assume this will return for any arbitrary URL. 107 // WARNING: it's dangerous to assume this will return for any arbitrary URL.
97 // For URLs that don't resolve to a valid server response, this can block 108 // For URLs that don't resolve to a valid server response, this can block
98 // indefinitely. Use a data uri or the embedded_test_server to ensure that this 109 // indefinitely. Use a data uri or the embedded_test_server to ensure that this
99 // doesn't happen. 110 // doesn't happen.
100 bool NavigateTab(int index, const GURL& url); 111 bool NavigateTab(int index, const GURL& url);
101 112
102 // Navigate the active tab for browser in position |index| back by one; 113 // Navigate the active tab for browser in position |index| back by one;
103 // if this isn't possible, does nothing 114 // if this isn't possible, does nothing
104 void NavigateTabBack(int index); 115 void NavigateTabBack(int index);
105 116
106 // Navigate the active tab for browser in position |index| forward by 117 // Navigate the active tab for browser in position |index| forward by
107 // one; if this isn't possible, does nothing 118 // one; if this isn't possible, does nothing
108 void NavigateTabForward(int index); 119 void NavigateTabForward(int index);
109 120
110 // Open multiple tabs and block until the session model associator is aware 121 // Wait for a session change to |web_contents| to propagate to the model
111 // of all of them. Returns true on success, false on failure. 122 // associator. Will return true once |url| has been found, or false if it times
112 bool OpenMultipleTabs(int index, const std::vector<GURL>& urls); 123 // out while waiting.
124 bool WaitForTabToLoad(int index,
125 const GURL& url,
126 content::WebContents* web_contents);
113 127
114 // Wait for a session change to propagate to the model associator. Will not 128 // Wait for each url in |urls| to load. The ordering of |urls| is assumed to
115 // return until each url in |urls| has been found. 129 // match the ordering of the corresponding tabs.
116 bool WaitForTabsToLoad(int index, const std::vector<GURL>& urls); 130 bool WaitForTabsToLoad(int index, const std::vector<GURL>& urls);
117 131
118 // Check if the session model associator's knows that the current open tab 132 // Check if the session SyncableService knows that the current open tab
119 // has this url. 133 // has this url.
120 bool ModelAssociatorHasTabWithUrl(int index, const GURL& url); 134 bool SessionsSyncManagerHasTabWithURL(int index, const GURL& url);
121 135
122 // Stores a pointer to the local session for a given profile in |session|. 136 // Stores a pointer to the local session for a given profile in |session|.
123 // Returns true on success, false on failure. 137 // Returns true on success, false on failure.
124 bool GetLocalSession(int index, const sync_sessions::SyncedSession** session); 138 bool GetLocalSession(int index, const sync_sessions::SyncedSession** session);
125 139
126 // Deletes the foreign session with tag |session_tag| from the profile specified 140 // Deletes the foreign session with tag |session_tag| from the profile specified
127 // by |index|. This will affect all synced clients. 141 // by |index|. This will affect all synced clients.
128 // Note: We pass the session_tag in by value to ensure it's not a reference 142 // Note: We pass the session_tag in by value to ensure it's not a reference
129 // to the session tag within the SyncedSession we plan to delete. 143 // to the session tag within the SyncedSession we plan to delete.
130 void DeleteForeignSession(int index, std::string session_tag); 144 void DeleteForeignSession(int index, std::string session_tag);
(...skipping 11 matching lines...) Expand all
142 // StatusChangeChecker implementation. 156 // StatusChangeChecker implementation.
143 bool IsExitConditionSatisfied() override; 157 bool IsExitConditionSatisfied() override;
144 std::string GetDebugMessage() const override; 158 std::string GetDebugMessage() const override;
145 159
146 private: 160 private:
147 int index_; 161 int index_;
148 const std::vector<sessions_helper::ScopedWindowMap>& windows_; 162 const std::vector<sessions_helper::ScopedWindowMap>& windows_;
149 }; 163 };
150 164
151 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SESSIONS_HELPER_H_ 165 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SESSIONS_HELPER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698