Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_TEST_BASE_UI_TEST_UTILS_H_ | 5 #ifndef CHROME_TEST_BASE_UI_TEST_UTILS_H_ |
| 6 #define CHROME_TEST_BASE_UI_TEST_UTILS_H_ | 6 #define CHROME_TEST_BASE_UI_TEST_UTILS_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <queue> | 10 #include <queue> |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 481 std::map<uintptr_t, U> details_; | 481 std::map<uintptr_t, U> details_; |
| 482 | 482 |
| 483 DISALLOW_COPY_AND_ASSIGN(WindowedNotificationObserverWithDetails); | 483 DISALLOW_COPY_AND_ASSIGN(WindowedNotificationObserverWithDetails); |
| 484 }; | 484 }; |
| 485 | 485 |
| 486 // Watches title changes on a tab, blocking until an expected title is set. | 486 // Watches title changes on a tab, blocking until an expected title is set. |
| 487 class TitleWatcher : public NotificationObserver { | 487 class TitleWatcher : public NotificationObserver { |
| 488 public: | 488 public: |
| 489 // |tab_contents| must be non-NULL and needs to stay alive for the | 489 // |tab_contents| must be non-NULL and needs to stay alive for the |
| 490 // entire lifetime of |this|. |expected_title| is the title that |this| | 490 // entire lifetime of |this|. |expected_title| is the title that |this| |
| 491 // will wait for. | 491 // will wait for. If it's not an empty string, |this| will wait for |
| 492 TitleWatcher(TabContents* tab_contents, const string16& expected_title); | 492 // |failure_title| is well. |
| 493 TitleWatcher(TabContents* tab_contents, const string16& expected_title, | |
| 494 const string16& failure_title); | |
| 493 virtual ~TitleWatcher(); | 495 virtual ~TitleWatcher(); |
| 494 | 496 |
| 495 // Waits until the title for the tab is set to the |expected_title| | 497 // Waits until the title for the tab is set to the |expected_title| or |
| 496 // passed into the constructor. | 498 // |failure_title| passed into the constructor or one of the titles added with |
| 499 // AddTitle. Returns true if |expected_title| was seen, and false if | |
| 500 // |failure_title| was seen. If both are seen, returns false, however, it's | |
| 501 // probably best not to rely of that to avoid any races. | |
|
Paweł Hajdan Jr.
2011/08/02 20:19:16
How about returning the last seen title when the m
mmenke
2011/08/02 21:04:40
Sounds good to me. Done. Went ahead and switched
| |
| 497 bool Wait() WARN_UNUSED_RESULT; | 502 bool Wait() WARN_UNUSED_RESULT; |
| 498 | 503 |
| 499 private: | 504 private: |
| 500 // NotificationObserver | 505 // NotificationObserver |
| 501 virtual void Observe(int type, | 506 virtual void Observe(int type, |
| 502 const NotificationSource& source, | 507 const NotificationSource& source, |
| 503 const NotificationDetails& details) OVERRIDE; | 508 const NotificationDetails& details) OVERRIDE; |
| 504 | 509 |
| 505 TabContents* expected_tab_; | 510 TabContents* expected_tab_; |
| 506 string16 expected_title_; | 511 string16 expected_title_; |
| 512 string16 failure_title_; | |
| 507 NotificationRegistrar notification_registrar_; | 513 NotificationRegistrar notification_registrar_; |
| 508 bool title_observed_; | 514 bool expected_title_observed_; |
| 515 bool failure_title_observed_; | |
| 509 bool quit_loop_on_observation_; | 516 bool quit_loop_on_observation_; |
| 510 | 517 |
| 511 DISALLOW_COPY_AND_ASSIGN(TitleWatcher); | 518 DISALLOW_COPY_AND_ASSIGN(TitleWatcher); |
| 512 }; | 519 }; |
| 513 | 520 |
| 514 // See SendKeyPressAndWait. This function additionally performs a check on the | 521 // See SendKeyPressAndWait. This function additionally performs a check on the |
| 515 // NotificationDetails using the provided Details<U>. | 522 // NotificationDetails using the provided Details<U>. |
| 516 template <class U> | 523 template <class U> |
| 517 bool SendKeyPressAndWaitWithDetails( | 524 bool SendKeyPressAndWaitWithDetails( |
| 518 const Browser* browser, | 525 const Browser* browser, |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 591 | 598 |
| 592 // Takes a snapshot of the entire page, according to the width and height | 599 // Takes a snapshot of the entire page, according to the width and height |
| 593 // properties of the DOM's document. Returns true on success. DOMAutomation | 600 // properties of the DOM's document. Returns true on success. DOMAutomation |
| 594 // must be enabled. | 601 // must be enabled. |
| 595 bool TakeEntirePageSnapshot(RenderViewHost* rvh, | 602 bool TakeEntirePageSnapshot(RenderViewHost* rvh, |
| 596 SkBitmap* bitmap) WARN_UNUSED_RESULT; | 603 SkBitmap* bitmap) WARN_UNUSED_RESULT; |
| 597 | 604 |
| 598 } // namespace ui_test_utils | 605 } // namespace ui_test_utils |
| 599 | 606 |
| 600 #endif // CHROME_TEST_BASE_UI_TEST_UTILS_H_ | 607 #endif // CHROME_TEST_BASE_UI_TEST_UTILS_H_ |
| OLD | NEW |