| OLD | NEW |
| 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 "chrome/browser/google/google_url_tracker.h" | 5 #include "chrome/browser/google/google_url_tracker.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 TestNotificationObserver::~TestNotificationObserver() { | 87 TestNotificationObserver::~TestNotificationObserver() { |
| 88 } | 88 } |
| 89 | 89 |
| 90 void TestNotificationObserver::Observe( | 90 void TestNotificationObserver::Observe( |
| 91 int type, | 91 int type, |
| 92 const content::NotificationSource& source, | 92 const content::NotificationSource& source, |
| 93 const content::NotificationDetails& details) { | 93 const content::NotificationDetails& details) { |
| 94 notified_ = true; | 94 notified_ = true; |
| 95 } | 95 } |
| 96 | 96 |
| 97 |
| 97 // TestGoogleURLTrackerClient ------------------------------------------------- | 98 // TestGoogleURLTrackerClient ------------------------------------------------- |
| 98 | 99 |
| 99 class TestGoogleURLTrackerClient : public GoogleURLTrackerClient { | 100 class TestGoogleURLTrackerClient : public GoogleURLTrackerClient { |
| 100 public: | 101 public: |
| 101 TestGoogleURLTrackerClient(); | 102 TestGoogleURLTrackerClient(); |
| 102 virtual ~TestGoogleURLTrackerClient(); | 103 virtual ~TestGoogleURLTrackerClient(); |
| 103 | 104 |
| 104 virtual void SetListeningForNavigationStart(bool listen) OVERRIDE; | 105 virtual void SetListeningForNavigationStart(bool listen) OVERRIDE; |
| 105 virtual bool IsListeningForNavigationStart() OVERRIDE; | 106 virtual bool IsListeningForNavigationStart() OVERRIDE; |
| 106 | 107 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 118 } | 119 } |
| 119 | 120 |
| 120 void TestGoogleURLTrackerClient::SetListeningForNavigationStart(bool listen) { | 121 void TestGoogleURLTrackerClient::SetListeningForNavigationStart(bool listen) { |
| 121 observe_nav_start_ = listen; | 122 observe_nav_start_ = listen; |
| 122 } | 123 } |
| 123 | 124 |
| 124 bool TestGoogleURLTrackerClient::IsListeningForNavigationStart() { | 125 bool TestGoogleURLTrackerClient::IsListeningForNavigationStart() { |
| 125 return observe_nav_start_; | 126 return observe_nav_start_; |
| 126 } | 127 } |
| 127 | 128 |
| 129 |
| 128 // TestGoogleURLTrackerNavigationHelper --------------------------------------- | 130 // TestGoogleURLTrackerNavigationHelper --------------------------------------- |
| 129 | 131 |
| 130 class TestGoogleURLTrackerNavigationHelper | 132 class TestGoogleURLTrackerNavigationHelper |
| 131 : public GoogleURLTrackerNavigationHelper { | 133 : public GoogleURLTrackerNavigationHelper { |
| 132 public: | 134 public: |
| 133 TestGoogleURLTrackerNavigationHelper(); | 135 explicit TestGoogleURLTrackerNavigationHelper(GoogleURLTracker* tracker); |
| 134 virtual ~TestGoogleURLTrackerNavigationHelper(); | 136 virtual ~TestGoogleURLTrackerNavigationHelper(); |
| 135 | 137 |
| 136 virtual void SetGoogleURLTracker(GoogleURLTracker* tracker) OVERRIDE; | 138 virtual void SetListeningForNavigationCommit(bool listen) OVERRIDE; |
| 137 virtual void SetListeningForNavigationCommit( | 139 virtual bool IsListeningForNavigationCommit() OVERRIDE; |
| 138 const content::NavigationController* nav_controller, | 140 virtual void SetListeningForTabDestruction(bool listen) OVERRIDE; |
| 139 bool listen) OVERRIDE; | 141 virtual bool IsListeningForTabDestruction() OVERRIDE; |
| 140 virtual bool IsListeningForNavigationCommit( | |
| 141 const content::NavigationController* nav_controller) OVERRIDE; | |
| 142 virtual void SetListeningForTabDestruction( | |
| 143 const content::NavigationController* nav_controller, | |
| 144 bool listen) OVERRIDE; | |
| 145 virtual bool IsListeningForTabDestruction( | |
| 146 const content::NavigationController* nav_controller) OVERRIDE; | |
| 147 | 142 |
| 148 private: | 143 private: |
| 149 GoogleURLTracker* tracker_; | 144 bool listening_for_nav_commit_; |
| 150 std::set<const content::NavigationController*> | 145 bool listening_for_tab_destruction_; |
| 151 nav_controller_commit_listeners_; | 146 |
| 152 std::set<const content::NavigationController*> | 147 DISALLOW_COPY_AND_ASSIGN(TestGoogleURLTrackerNavigationHelper); |
| 153 nav_controller_tab_close_listeners_; | |
| 154 }; | 148 }; |
| 155 | 149 |
| 156 TestGoogleURLTrackerNavigationHelper::TestGoogleURLTrackerNavigationHelper() | 150 TestGoogleURLTrackerNavigationHelper::TestGoogleURLTrackerNavigationHelper( |
| 157 : tracker_(NULL) { | 151 GoogleURLTracker* tracker) |
| 152 : GoogleURLTrackerNavigationHelper(tracker), |
| 153 listening_for_nav_commit_(false), |
| 154 listening_for_tab_destruction_(false) { |
| 158 } | 155 } |
| 159 | 156 |
| 160 TestGoogleURLTrackerNavigationHelper:: | 157 TestGoogleURLTrackerNavigationHelper::~TestGoogleURLTrackerNavigationHelper() { |
| 161 ~TestGoogleURLTrackerNavigationHelper() { | |
| 162 } | |
| 163 | |
| 164 void TestGoogleURLTrackerNavigationHelper::SetGoogleURLTracker( | |
| 165 GoogleURLTracker* tracker) { | |
| 166 tracker_ = tracker; | |
| 167 } | 158 } |
| 168 | 159 |
| 169 void TestGoogleURLTrackerNavigationHelper::SetListeningForNavigationCommit( | 160 void TestGoogleURLTrackerNavigationHelper::SetListeningForNavigationCommit( |
| 170 const content::NavigationController* nav_controller, | |
| 171 bool listen) { | 161 bool listen) { |
| 172 if (listen) | 162 listening_for_nav_commit_ = listen; |
| 173 nav_controller_commit_listeners_.insert(nav_controller); | |
| 174 else | |
| 175 nav_controller_commit_listeners_.erase(nav_controller); | |
| 176 } | 163 } |
| 177 | 164 |
| 178 bool TestGoogleURLTrackerNavigationHelper::IsListeningForNavigationCommit( | 165 bool TestGoogleURLTrackerNavigationHelper::IsListeningForNavigationCommit() { |
| 179 const content::NavigationController* nav_controller) { | 166 return listening_for_nav_commit_; |
| 180 return nav_controller_commit_listeners_.count(nav_controller) > 0; | |
| 181 } | 167 } |
| 182 | 168 |
| 183 void TestGoogleURLTrackerNavigationHelper::SetListeningForTabDestruction( | 169 void TestGoogleURLTrackerNavigationHelper::SetListeningForTabDestruction( |
| 184 const content::NavigationController* nav_controller, | |
| 185 bool listen) { | 170 bool listen) { |
| 186 if (listen) | 171 listening_for_tab_destruction_ = listen; |
| 187 nav_controller_tab_close_listeners_.insert(nav_controller); | |
| 188 else | |
| 189 nav_controller_tab_close_listeners_.erase(nav_controller); | |
| 190 } | 172 } |
| 191 | 173 |
| 192 bool TestGoogleURLTrackerNavigationHelper::IsListeningForTabDestruction( | 174 bool TestGoogleURLTrackerNavigationHelper::IsListeningForTabDestruction() { |
| 193 const content::NavigationController* nav_controller) { | 175 return listening_for_tab_destruction_; |
| 194 return nav_controller_tab_close_listeners_.count(nav_controller) > 0; | |
| 195 } | 176 } |
| 196 | 177 |
| 197 } // namespace | 178 } // namespace |
| 198 | 179 |
| 199 | 180 |
| 200 // GoogleURLTrackerTest ------------------------------------------------------- | 181 // GoogleURLTrackerTest ------------------------------------------------------- |
| 201 | 182 |
| 202 // Ths class exercises GoogleURLTracker. In order to avoid instantiating more | 183 // Ths class exercises GoogleURLTracker. In order to avoid instantiating more |
| 203 // of the Chrome infrastructure than necessary, the GoogleURLTracker functions | 184 // of the Chrome infrastructure than necessary, the GoogleURLTracker functions |
| 204 // are carefully written so that many of the functions which take | 185 // are carefully written so that many of the functions which take |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 } | 222 } |
| 242 GURL google_url() const { return google_url_tracker_->google_url(); } | 223 GURL google_url() const { return google_url_tracker_->google_url(); } |
| 243 void SetLastPromptedGoogleURL(const GURL& url); | 224 void SetLastPromptedGoogleURL(const GURL& url); |
| 244 GURL GetLastPromptedGoogleURL(); | 225 GURL GetLastPromptedGoogleURL(); |
| 245 void SetNavigationPending(intptr_t unique_id, bool is_search); | 226 void SetNavigationPending(intptr_t unique_id, bool is_search); |
| 246 void CommitNonSearch(intptr_t unique_id); | 227 void CommitNonSearch(intptr_t unique_id); |
| 247 void CommitSearch(intptr_t unique_id, const GURL& search_url); | 228 void CommitSearch(intptr_t unique_id, const GURL& search_url); |
| 248 void CloseTab(intptr_t unique_id); | 229 void CloseTab(intptr_t unique_id); |
| 249 GoogleURLTrackerMapEntry* GetMapEntry(intptr_t unique_id); | 230 GoogleURLTrackerMapEntry* GetMapEntry(intptr_t unique_id); |
| 250 GoogleURLTrackerInfoBarDelegate* GetInfoBarDelegate(intptr_t unique_id); | 231 GoogleURLTrackerInfoBarDelegate* GetInfoBarDelegate(intptr_t unique_id); |
| 232 GoogleURLTrackerNavigationHelper* GetNavigationHelper(intptr_t unique_id); |
| 251 void ExpectDefaultURLs() const; | 233 void ExpectDefaultURLs() const; |
| 252 void ExpectListeningForCommit(intptr_t unique_id, bool listening); | 234 void ExpectListeningForCommit(intptr_t unique_id, bool listening); |
| 253 bool observer_notified() const { return observer_.notified(); } | 235 bool observer_notified() const { return observer_.notified(); } |
| 254 void clear_observer_notified() { observer_.clear_notified(); } | 236 void clear_observer_notified() { observer_.clear_notified(); } |
| 255 | 237 |
| 256 private: | 238 private: |
| 257 // Since |infobar_service| is really a magic number rather than an actual | 239 // Since |infobar_service| is really a magic number rather than an actual |
| 258 // object, we don't add the created infobar to it. Instead we will simulate | 240 // object, we don't add the created infobar to it. Instead we will simulate |
| 259 // any helper<->infobar interaction necessary. The returned object will be | 241 // any helper<->infobar interaction necessary. The returned object will be |
| 260 // cleaned up in OnInfoBarClosed(). | 242 // cleaned up in OnInfoBarClosed(). |
| 261 infobars::InfoBar* CreateTestInfoBar(InfoBarService* infobar_service, | 243 infobars::InfoBar* CreateTestInfoBar(InfoBarService* infobar_service, |
| 262 GoogleURLTracker* google_url_tracker, | 244 GoogleURLTracker* google_url_tracker, |
| 263 const GURL& search_url); | 245 const GURL& search_url); |
| 264 | 246 |
| 265 // These are required by the TestURLFetchers GoogleURLTracker will create (see | 247 // These are required by the TestURLFetchers GoogleURLTracker will create (see |
| 266 // test_url_fetcher_factory.h). | 248 // test_url_fetcher_factory.h). |
| 267 content::TestBrowserThreadBundle thread_bundle_; | 249 content::TestBrowserThreadBundle thread_bundle_; |
| 268 // Creating this allows us to call | 250 // Creating this allows us to call |
| 269 // net::NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests(). | 251 // net::NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests(). |
| 270 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_; | 252 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_; |
| 271 net::TestURLFetcherFactory fetcher_factory_; | 253 net::TestURLFetcherFactory fetcher_factory_; |
| 272 content::NotificationRegistrar registrar_; | 254 content::NotificationRegistrar registrar_; |
| 273 TestNotificationObserver observer_; | 255 TestNotificationObserver observer_; |
| 274 GoogleURLTrackerClient* client_; | 256 GoogleURLTrackerClient* client_; |
| 275 GoogleURLTrackerNavigationHelper* nav_helper_; | |
| 276 TestingProfile profile_; | 257 TestingProfile profile_; |
| 277 scoped_ptr<GoogleURLTracker> google_url_tracker_; | 258 scoped_ptr<GoogleURLTracker> google_url_tracker_; |
| 278 // This tracks the different "tabs" a test has "opened", so we can close them | 259 // This tracks the different "tabs" a test has "opened", so we can close them |
| 279 // properly before shutting down |google_url_tracker_|, which expects that. | 260 // properly before shutting down |google_url_tracker_|, which expects that. |
| 280 std::set<int> unique_ids_seen_; | 261 std::set<int> unique_ids_seen_; |
| 281 }; | 262 }; |
| 282 | 263 |
| 283 void GoogleURLTrackerTest::OnInfoBarClosed( | 264 void GoogleURLTrackerTest::OnInfoBarClosed( |
| 284 scoped_ptr<infobars::InfoBar> infobar, | 265 scoped_ptr<infobars::InfoBar> infobar, |
| 285 InfoBarService* infobar_service) { | 266 InfoBarService* infobar_service) { |
| (...skipping 17 matching lines...) Expand all Loading... |
| 303 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) { | 284 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) { |
| 304 GoogleURLTrackerFactory::GetInstance()-> | 285 GoogleURLTrackerFactory::GetInstance()-> |
| 305 RegisterUserPrefsOnBrowserContextForTest(&profile_); | 286 RegisterUserPrefsOnBrowserContextForTest(&profile_); |
| 306 } | 287 } |
| 307 | 288 |
| 308 GoogleURLTrackerTest::~GoogleURLTrackerTest() { | 289 GoogleURLTrackerTest::~GoogleURLTrackerTest() { |
| 309 } | 290 } |
| 310 | 291 |
| 311 void GoogleURLTrackerTest::SetUp() { | 292 void GoogleURLTrackerTest::SetUp() { |
| 312 network_change_notifier_.reset(net::NetworkChangeNotifier::CreateMock()); | 293 network_change_notifier_.reset(net::NetworkChangeNotifier::CreateMock()); |
| 313 // Ownership is passed to google_url_tracker_, but weak pointers are kept; | 294 // Ownership is passed to google_url_tracker_, but a weak pointer is kept; |
| 314 // this is safe since GoogleURLTracker keeps these objects for its lifetime. | 295 // this is safe since GoogleURLTracker keeps the client for its lifetime. |
| 315 client_ = new TestGoogleURLTrackerClient(); | 296 client_ = new TestGoogleURLTrackerClient(); |
| 316 nav_helper_ = new TestGoogleURLTrackerNavigationHelper(); | |
| 317 scoped_ptr<GoogleURLTrackerClient> client(client_); | 297 scoped_ptr<GoogleURLTrackerClient> client(client_); |
| 318 scoped_ptr<GoogleURLTrackerNavigationHelper> nav_helper(nav_helper_); | 298 google_url_tracker_.reset(new GoogleURLTracker( |
| 319 google_url_tracker_.reset( | 299 &profile_, client.Pass(), GoogleURLTracker::UNIT_TEST_MODE)); |
| 320 new GoogleURLTracker(&profile_, | |
| 321 client.Pass(), | |
| 322 nav_helper.Pass(), | |
| 323 GoogleURLTracker::UNIT_TEST_MODE)); | |
| 324 google_url_tracker_->infobar_creator_ = base::Bind( | 300 google_url_tracker_->infobar_creator_ = base::Bind( |
| 325 &GoogleURLTrackerTest::CreateTestInfoBar, base::Unretained(this)); | 301 &GoogleURLTrackerTest::CreateTestInfoBar, base::Unretained(this)); |
| 326 } | 302 } |
| 327 | 303 |
| 328 void GoogleURLTrackerTest::TearDown() { | 304 void GoogleURLTrackerTest::TearDown() { |
| 329 while (!unique_ids_seen_.empty()) | 305 while (!unique_ids_seen_.empty()) |
| 330 CloseTab(*unique_ids_seen_.begin()); | 306 CloseTab(*unique_ids_seen_.begin()); |
| 331 } | 307 } |
| 332 | 308 |
| 333 net::TestURLFetcher* GoogleURLTrackerTest::GetFetcher() { | 309 net::TestURLFetcher* GoogleURLTrackerTest::GetFetcher() { |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 void GoogleURLTrackerTest::SetNavigationPending(intptr_t unique_id, | 357 void GoogleURLTrackerTest::SetNavigationPending(intptr_t unique_id, |
| 382 bool is_search) { | 358 bool is_search) { |
| 383 if (is_search) { | 359 if (is_search) { |
| 384 google_url_tracker_->SearchCommitted(); | 360 google_url_tracker_->SearchCommitted(); |
| 385 // Note that the call above might not have actually registered a listener | 361 // Note that the call above might not have actually registered a listener |
| 386 // for navigation starts if the searchdomaincheck response was bogus. | 362 // for navigation starts if the searchdomaincheck response was bogus. |
| 387 } | 363 } |
| 388 unique_ids_seen_.insert(unique_id); | 364 unique_ids_seen_.insert(unique_id); |
| 389 if (client_->IsListeningForNavigationStart()) { | 365 if (client_->IsListeningForNavigationStart()) { |
| 390 google_url_tracker_->OnNavigationPending( | 366 google_url_tracker_->OnNavigationPending( |
| 391 reinterpret_cast<content::NavigationController*>(unique_id), | 367 scoped_ptr<GoogleURLTrackerNavigationHelper>( |
| 392 reinterpret_cast<InfoBarService*>(unique_id), unique_id); | 368 new TestGoogleURLTrackerNavigationHelper( |
| 369 google_url_tracker_.get())), |
| 370 reinterpret_cast<InfoBarService*>(unique_id), |
| 371 unique_id); |
| 393 } | 372 } |
| 394 } | 373 } |
| 395 | 374 |
| 396 void GoogleURLTrackerTest::CommitNonSearch(intptr_t unique_id) { | 375 void GoogleURLTrackerTest::CommitNonSearch(intptr_t unique_id) { |
| 397 GoogleURLTrackerMapEntry* map_entry = GetMapEntry(unique_id); | 376 GoogleURLTrackerMapEntry* map_entry = GetMapEntry(unique_id); |
| 398 if (!map_entry) | 377 if (!map_entry) |
| 399 return; | 378 return; |
| 400 | 379 |
| 401 ExpectListeningForCommit(unique_id, false); | 380 ExpectListeningForCommit(unique_id, false); |
| 402 | 381 |
| 403 // The infobar should be showing; otherwise the pending non-search should | 382 // The infobar should be showing; otherwise the pending non-search should |
| 404 // have closed it. | 383 // have closed it. |
| 405 ASSERT_TRUE(map_entry->has_infobar_delegate()); | 384 ASSERT_TRUE(map_entry->has_infobar_delegate()); |
| 406 | 385 |
| 407 // The pending_id should have been reset to 0 when the non-search became | 386 // The pending_id should have been reset to 0 when the non-search became |
| 408 // pending. | 387 // pending. |
| 409 EXPECT_EQ(0, map_entry->infobar_delegate()->pending_id()); | 388 EXPECT_EQ(0, map_entry->infobar_delegate()->pending_id()); |
| 410 | 389 |
| 411 // Committing the navigation would close the infobar. | 390 // Committing the navigation would close the infobar. |
| 412 map_entry->infobar_delegate()->Close(false); | 391 map_entry->infobar_delegate()->Close(false); |
| 413 } | 392 } |
| 414 | 393 |
| 415 void GoogleURLTrackerTest::CommitSearch(intptr_t unique_id, | 394 void GoogleURLTrackerTest::CommitSearch(intptr_t unique_id, |
| 416 const GURL& search_url) { | 395 const GURL& search_url) { |
| 417 DCHECK(search_url.is_valid()); | 396 DCHECK(search_url.is_valid()); |
| 418 if (nav_helper_->IsListeningForNavigationCommit( | 397 GoogleURLTrackerNavigationHelper* nav_helper = GetNavigationHelper(unique_id); |
| 419 reinterpret_cast<content::NavigationController*>(unique_id))) { | 398 if (nav_helper && nav_helper->IsListeningForNavigationCommit()) { |
| 420 google_url_tracker_->OnNavigationCommitted( | 399 google_url_tracker_->OnNavigationCommitted( |
| 421 reinterpret_cast<InfoBarService*>(unique_id), search_url); | 400 reinterpret_cast<InfoBarService*>(unique_id), search_url); |
| 422 } | 401 } |
| 423 } | 402 } |
| 424 | 403 |
| 425 void GoogleURLTrackerTest::CloseTab(intptr_t unique_id) { | 404 void GoogleURLTrackerTest::CloseTab(intptr_t unique_id) { |
| 426 unique_ids_seen_.erase(unique_id); | 405 unique_ids_seen_.erase(unique_id); |
| 427 content::NavigationController* nav_controller = | 406 GoogleURLTrackerNavigationHelper* nav_helper = GetNavigationHelper(unique_id); |
| 428 reinterpret_cast<content::NavigationController*>(unique_id); | 407 if (nav_helper && nav_helper->IsListeningForTabDestruction()) { |
| 429 if (nav_helper_->IsListeningForTabDestruction(nav_controller)) { | 408 google_url_tracker_->OnTabClosed(nav_helper); |
| 430 google_url_tracker_->OnTabClosed(nav_controller); | |
| 431 } else { | 409 } else { |
| 432 // Closing a tab with an infobar showing would close the infobar. | 410 // Closing a tab with an infobar showing would close the infobar. |
| 433 GoogleURLTrackerInfoBarDelegate* delegate = GetInfoBarDelegate(unique_id); | 411 GoogleURLTrackerInfoBarDelegate* delegate = GetInfoBarDelegate(unique_id); |
| 434 if (delegate) | 412 if (delegate) |
| 435 delegate->Close(false); | 413 delegate->Close(false); |
| 436 } | 414 } |
| 437 } | 415 } |
| 438 | 416 |
| 439 GoogleURLTrackerMapEntry* GoogleURLTrackerTest::GetMapEntry( | 417 GoogleURLTrackerMapEntry* GoogleURLTrackerTest::GetMapEntry( |
| 440 intptr_t unique_id) { | 418 intptr_t unique_id) { |
| 441 GoogleURLTracker::EntryMap::const_iterator i = | 419 GoogleURLTracker::EntryMap::const_iterator i = |
| 442 google_url_tracker_->entry_map_.find( | 420 google_url_tracker_->entry_map_.find( |
| 443 reinterpret_cast<InfoBarService*>(unique_id)); | 421 reinterpret_cast<InfoBarService*>(unique_id)); |
| 444 return (i == google_url_tracker_->entry_map_.end()) ? NULL : i->second; | 422 return (i == google_url_tracker_->entry_map_.end()) ? NULL : i->second; |
| 445 } | 423 } |
| 446 | 424 |
| 447 GoogleURLTrackerInfoBarDelegate* GoogleURLTrackerTest::GetInfoBarDelegate( | 425 GoogleURLTrackerInfoBarDelegate* GoogleURLTrackerTest::GetInfoBarDelegate( |
| 448 intptr_t unique_id) { | 426 intptr_t unique_id) { |
| 449 GoogleURLTrackerMapEntry* map_entry = GetMapEntry(unique_id); | 427 GoogleURLTrackerMapEntry* map_entry = GetMapEntry(unique_id); |
| 450 return map_entry ? map_entry->infobar_delegate() : NULL; | 428 return map_entry ? map_entry->infobar_delegate() : NULL; |
| 451 } | 429 } |
| 452 | 430 |
| 431 GoogleURLTrackerNavigationHelper* GoogleURLTrackerTest::GetNavigationHelper( |
| 432 intptr_t unique_id) { |
| 433 GoogleURLTrackerMapEntry* map_entry = GetMapEntry(unique_id); |
| 434 return map_entry ? map_entry->navigation_helper() : NULL; |
| 435 } |
| 436 |
| 453 void GoogleURLTrackerTest::ExpectDefaultURLs() const { | 437 void GoogleURLTrackerTest::ExpectDefaultURLs() const { |
| 454 EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); | 438 EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
| 455 EXPECT_EQ(GURL(), fetched_google_url()); | 439 EXPECT_EQ(GURL(), fetched_google_url()); |
| 456 } | 440 } |
| 457 | 441 |
| 458 void GoogleURLTrackerTest::ExpectListeningForCommit(intptr_t unique_id, | 442 void GoogleURLTrackerTest::ExpectListeningForCommit(intptr_t unique_id, |
| 459 bool listening) { | 443 bool listening) { |
| 460 GoogleURLTrackerMapEntry* map_entry = GetMapEntry(unique_id); | 444 GoogleURLTrackerMapEntry* map_entry = GetMapEntry(unique_id); |
| 461 if (map_entry) { | 445 if (map_entry) { |
| 462 EXPECT_EQ(listening, nav_helper_->IsListeningForNavigationCommit( | 446 EXPECT_EQ(listening, |
| 463 map_entry->navigation_controller())); | 447 map_entry->navigation_helper()->IsListeningForNavigationCommit()); |
| 464 } else { | 448 } else { |
| 465 EXPECT_FALSE(listening); | 449 EXPECT_FALSE(listening); |
| 466 } | 450 } |
| 467 } | 451 } |
| 468 | 452 |
| 469 infobars::InfoBar* GoogleURLTrackerTest::CreateTestInfoBar( | 453 infobars::InfoBar* GoogleURLTrackerTest::CreateTestInfoBar( |
| 470 InfoBarService* infobar_service, | 454 InfoBarService* infobar_service, |
| 471 GoogleURLTracker* google_url_tracker, | 455 GoogleURLTracker* google_url_tracker, |
| 472 const GURL& search_url) { | 456 const GURL& search_url) { |
| 473 return TestInfoBarDelegate::Create(this, infobar_service, google_url_tracker, | 457 return TestInfoBarDelegate::Create(this, infobar_service, google_url_tracker, |
| (...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1096 CommitSearch(2, GURL("http://www.google.co.uk/search?q=test2")); | 1080 CommitSearch(2, GURL("http://www.google.co.uk/search?q=test2")); |
| 1097 EXPECT_FALSE(GetInfoBarDelegate(1) == NULL); | 1081 EXPECT_FALSE(GetInfoBarDelegate(1) == NULL); |
| 1098 GoogleURLTrackerInfoBarDelegate* delegate2 = GetInfoBarDelegate(2); | 1082 GoogleURLTrackerInfoBarDelegate* delegate2 = GetInfoBarDelegate(2); |
| 1099 ASSERT_FALSE(delegate2 == NULL); | 1083 ASSERT_FALSE(delegate2 == NULL); |
| 1100 SetNavigationPending(1, true); | 1084 SetNavigationPending(1, true); |
| 1101 ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(1, true)); | 1085 ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(1, true)); |
| 1102 delegate2->Close(false); | 1086 delegate2->Close(false); |
| 1103 SetNavigationPending(1, false); | 1087 SetNavigationPending(1, false); |
| 1104 ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(1, false)); | 1088 ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(1, false)); |
| 1105 } | 1089 } |
| OLD | NEW |