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

Side by Side Diff: trunk/src/chrome/browser/translate/translate_manager_browsertest.cc

Issue 102163002: Revert 238283 "Infobar system refactor." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years 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 | Annotate | Revision Log
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 #include <algorithm> 5 #include <algorithm>
6 #include <set> 6 #include <set>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 } 146 }
147 147
148 InfoBarService* infobar_service() { 148 InfoBarService* infobar_service() {
149 return InfoBarService::FromWebContents(web_contents()); 149 return InfoBarService::FromWebContents(web_contents());
150 } 150 }
151 151
152 // Returns the translate infobar if there is 1 infobar and it is a translate 152 // Returns the translate infobar if there is 1 infobar and it is a translate
153 // infobar. 153 // infobar.
154 TranslateInfoBarDelegate* GetTranslateInfoBar() { 154 TranslateInfoBarDelegate* GetTranslateInfoBar() {
155 return (infobar_service()->infobar_count() == 1) ? 155 return (infobar_service()->infobar_count() == 1) ?
156 infobar_service()->infobar_at(0)->delegate()-> 156 infobar_service()->infobar_at(0)->AsTranslateInfoBarDelegate() : NULL;
157 AsTranslateInfoBarDelegate() : NULL;
158 } 157 }
159 158
160 // If there is 1 infobar and it is a translate infobar, closes it and returns 159 // If there is 1 infobar and it is a translate infobar, closes it and returns
161 // true. Returns false otherwise. 160 // true. Returns false otherwise.
162 bool CloseTranslateInfoBar() { 161 bool CloseTranslateInfoBar() {
163 InfoBarDelegate* infobar = GetTranslateInfoBar(); 162 InfoBarDelegate* infobar = GetTranslateInfoBar();
164 if (!infobar) 163 if (!infobar)
165 return false; 164 return false;
166 infobar->InfoBarDismissed(); // Simulates closing the infobar. 165 infobar->InfoBarDismissed(); // Simulates closing the infobar.
167 infobar_service()->RemoveInfoBar(infobar_service()->infobar_at(0)); 166 infobar_service()->RemoveInfoBar(infobar);
168 return true; 167 return true;
169 } 168 }
170 169
171 // Checks whether |infobar| has been removed and clears the removed infobar 170 // Checks whether |infobar| has been removed and clears the removed infobar
172 // list. 171 // list.
173 bool CheckInfoBarRemovedAndReset(InfoBarDelegate* delegate) { 172 bool CheckInfoBarRemovedAndReset(InfoBarDelegate* delegate) {
174 bool found = removed_infobars_.count(delegate) != 0; 173 bool found = removed_infobars_.count(delegate) != 0;
175 removed_infobars_.clear(); 174 removed_infobars_.clear();
176 return found; 175 return found;
177 } 176 }
178 177
179 void ExpireTranslateScriptImmediately() { 178 void ExpireTranslateScriptImmediately() {
180 TranslateManager::GetInstance()->SetTranslateScriptExpirationDelay(0); 179 TranslateManager::GetInstance()->SetTranslateScriptExpirationDelay(0);
181 } 180 }
182 181
183 // If there is 1 infobar and it is a translate infobar, deny translation and 182 // If there is 1 infobar and it is a translate infobar, deny translation and
184 // returns true. Returns false otherwise. 183 // returns true. Returns false otherwise.
185 bool DenyTranslation() { 184 bool DenyTranslation() {
186 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar(); 185 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
187 if (!infobar) 186 if (!infobar)
188 return false; 187 return false;
189 infobar->TranslationDeclined(); 188 infobar->TranslationDeclined();
190 infobar_service()->RemoveInfoBar(infobar_service()->infobar_at(0)); 189 infobar_service()->RemoveInfoBar(infobar);
191 return true; 190 return true;
192 } 191 }
193 192
194 void ReloadAndWait(bool successful_reload) { 193 void ReloadAndWait(bool successful_reload) {
195 NavEntryCommittedObserver nav_observer(web_contents()); 194 NavEntryCommittedObserver nav_observer(web_contents());
196 if (successful_reload) 195 if (successful_reload)
197 Reload(); 196 Reload();
198 else 197 else
199 FailedReload(); 198 FailedReload();
200 199
201 // Ensures it is really handled a reload. 200 // Ensures it is really handled a reload.
202 const content::LoadCommittedDetails& nav_details = 201 const content::LoadCommittedDetails& nav_details =
203 nav_observer.load_committed_details(); 202 nav_observer.load_committed_details();
204 EXPECT_TRUE(nav_details.entry != NULL); // There was a navigation. 203 EXPECT_TRUE(nav_details.entry != NULL); // There was a navigation.
205 EXPECT_EQ(content::NAVIGATION_TYPE_EXISTING_PAGE, nav_details.type); 204 EXPECT_EQ(content::NAVIGATION_TYPE_EXISTING_PAGE, nav_details.type);
206 205
207 // The TranslateManager class processes the navigation entry committed 206 // The TranslateManager class processes the navigation entry committed
208 // notification in a posted task; process that task. 207 // notification in a posted task; process that task.
209 base::MessageLoop::current()->RunUntilIdle(); 208 base::MessageLoop::current()->RunUntilIdle();
210 } 209 }
211 210
212 virtual void Observe(int type, 211 virtual void Observe(int type,
213 const content::NotificationSource& source, 212 const content::NotificationSource& source,
214 const content::NotificationDetails& details) { 213 const content::NotificationDetails& details) {
215 DCHECK_EQ(chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED, type); 214 DCHECK_EQ(chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED, type);
216 removed_infobars_.insert( 215 removed_infobars_.insert(
217 content::Details<InfoBar::RemovedDetails>(details)->first->delegate()); 216 content::Details<InfoBar::RemovedDetails>(details)->first);
218 } 217 }
219 218
220 MOCK_METHOD1(OnPreferenceChanged, void(const std::string&)); 219 MOCK_METHOD1(OnPreferenceChanged, void(const std::string&));
221 220
222 protected: 221 protected:
223 virtual void SetUp() { 222 virtual void SetUp() {
224 // Access the TranslateManager singleton so it is created before we call 223 // Access the TranslateManager singleton so it is created before we call
225 // ChromeRenderViewHostTestHarness::SetUp() to match what's done in Chrome, 224 // ChromeRenderViewHostTestHarness::SetUp() to match what's done in Chrome,
226 // where the TranslateManager is created before the WebContents. This 225 // where the TranslateManager is created before the WebContents. This
227 // matters as they both register for similar events and we want the 226 // matters as they both register for similar events and we want the
(...skipping 1384 matching lines...) Expand 10 before | Expand all | Expand 10 after
1612 content::WebContents* current_web_contents = 1611 content::WebContents* current_web_contents =
1613 browser()->tab_strip_model()->GetActiveWebContents(); 1612 browser()->tab_strip_model()->GetActiveWebContents();
1614 content::Source<content::WebContents> source(current_web_contents); 1613 content::Source<content::WebContents> source(current_web_contents);
1615 1614
1616 ui_test_utils::WindowedNotificationObserverWithDetails< 1615 ui_test_utils::WindowedNotificationObserverWithDetails<
1617 LanguageDetectionDetails> 1616 LanguageDetectionDetails>
1618 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, 1617 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
1619 source); 1618 source);
1620 fr_language_detected_signal.Wait(); 1619 fr_language_detected_signal.Wait();
1621 } 1620 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698