| 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 #include <atlbase.h> | 5 #include <atlbase.h> |
| 6 #include <atlapp.h> | 6 #include <atlapp.h> |
| 7 #include <atlcrack.h> | 7 #include <atlcrack.h> |
| 8 #include <atlmisc.h> | 8 #include <atlmisc.h> |
| 9 #include <atlwin.h> | 9 #include <atlwin.h> |
| 10 | 10 |
| 11 #include "base/bind.h" |
| 12 #include "base/bind_helpers.h" |
| 11 #include "base/string_number_conversions.h" | 13 #include "base/string_number_conversions.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
| 13 #include "testing/gmock/include/gmock/gmock.h" | 15 #include "testing/gmock/include/gmock/gmock.h" |
| 14 #include "chrome_frame/infobars/infobar_content.h" | 16 #include "chrome_frame/infobars/infobar_content.h" |
| 15 #include "chrome_frame/infobars/internal/displaced_window_manager.h" | 17 #include "chrome_frame/infobars/internal/displaced_window_manager.h" |
| 16 #include "chrome_frame/infobars/internal/host_window_manager.h" | 18 #include "chrome_frame/infobars/internal/host_window_manager.h" |
| 17 #include "chrome_frame/infobars/internal/infobar_window.h" | 19 #include "chrome_frame/infobars/internal/infobar_window.h" |
| 18 #include "chrome_frame/infobars/internal/subclassing_window_with_delegate.h" | 20 #include "chrome_frame/infobars/internal/subclassing_window_with_delegate.h" |
| 19 #include "chrome_frame/test/chrome_frame_test_utils.h" | 21 #include "chrome_frame/test/chrome_frame_test_utils.h" |
| 20 | 22 |
| 21 DISABLE_RUNNABLE_METHOD_REFCOUNT(InfobarContent::Frame); | |
| 22 DISABLE_RUNNABLE_METHOD_REFCOUNT(InfobarManager); | |
| 23 | |
| 24 namespace { | 23 namespace { |
| 25 | 24 |
| 26 RECT kInitialParentWindowRect = {20, 20, 300, 300}; | 25 RECT kInitialParentWindowRect = {20, 20, 300, 300}; |
| 27 RECT kInitialChildWindowRect = {20, 20, 280, 280}; | 26 RECT kInitialChildWindowRect = {20, 20, 280, 280}; |
| 28 | 27 |
| 29 MATCHER_P(EqualRect, expected, "") { | 28 MATCHER_P(EqualRect, expected, "") { |
| 30 return ::EqualRect(expected, arg); | 29 return ::EqualRect(expected, arg); |
| 31 } | 30 } |
| 32 | 31 |
| 33 ACTION_P2(RespondToNcCalcSize, result, rect) { | 32 ACTION_P2(RespondToNcCalcSize, result, rect) { |
| (...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 ACTION_P(CheckSetFlag, flag) { | 396 ACTION_P(CheckSetFlag, flag) { |
| 398 ASSERT_FALSE(*flag); | 397 ASSERT_FALSE(*flag); |
| 399 *flag = true; | 398 *flag = true; |
| 400 } | 399 } |
| 401 | 400 |
| 402 ACTION_P(ResetFlag, flag) { | 401 ACTION_P(ResetFlag, flag) { |
| 403 *flag = false; | 402 *flag = false; |
| 404 } | 403 } |
| 405 | 404 |
| 406 ACTION_P2(AsynchronousCloseOnFrame, loop, frame) { | 405 ACTION_P2(AsynchronousCloseOnFrame, loop, frame) { |
| 407 loop->PostDelayedTask( | 406 loop->PostTask(FROM_HERE, base::Bind(&InfobarContent::Frame::CloseInfobar, |
| 408 FROM_HERE, | 407 base::Unretained(*frame))); |
| 409 NewRunnableMethod(*frame, &InfobarContent::Frame::CloseInfobar), | |
| 410 0); | |
| 411 } | 408 } |
| 412 | 409 |
| 413 ACTION_P2(AsynchronousHideOnManager, loop, manager) { | 410 ACTION_P2(AsynchronousHideOnManager, loop, manager) { |
| 414 loop->PostDelayedTask( | 411 loop->PostTask(FROM_HERE, base::Bind(&InfobarManager::Hide, |
| 415 FROM_HERE, | 412 base::Unretained(manager), TOP_INFOBAR)); |
| 416 NewRunnableMethod(manager, &InfobarManager::Hide, TOP_INFOBAR), | |
| 417 0); | |
| 418 } | 413 } |
| 419 | 414 |
| 420 }; // namespace | 415 }; // namespace |
| 421 | 416 |
| 422 // The test ensures that the content is sized at least once in each of the | 417 // The test ensures that the content is sized at least once in each of the |
| 423 // following ranges while fully opening and closing: | 418 // following ranges while fully opening and closing: |
| 424 // | 419 // |
| 425 // [0, infobar_height / 2) | 420 // [0, infobar_height / 2) |
| 426 // [infobar_height / 2, infobar_height) | 421 // [infobar_height / 2, infobar_height) |
| 427 // [infobar_height, infobar_height] | 422 // [infobar_height, infobar_height] |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 599 | 594 |
| 600 message_loop.RunFor(10); // seconds | 595 message_loop.RunFor(10); // seconds |
| 601 | 596 |
| 602 window.DestroyWindow(); | 597 window.DestroyWindow(); |
| 603 | 598 |
| 604 ASSERT_FALSE(message_loop.WasTimedOut()); | 599 ASSERT_FALSE(message_loop.WasTimedOut()); |
| 605 } | 600 } |
| 606 | 601 |
| 607 // TODO(erikwright): Write test for variations on return from default | 602 // TODO(erikwright): Write test for variations on return from default |
| 608 // OnNcCalcValidRects | 603 // OnNcCalcValidRects |
| OLD | NEW |