Index: chrome/browser/ui/views/autofill/autofill_popup_base_view_browsertest.cc |
diff --git a/chrome/browser/ui/views/autofill/autofill_popup_base_view_browsertest.cc b/chrome/browser/ui/views/autofill/autofill_popup_base_view_browsertest.cc |
index 5d9e4da043ec12c9a0af8cc800893de136ac4079..b767efe39ff583c55ba76371bc5f70686ad13fbb 100644 |
--- a/chrome/browser/ui/views/autofill/autofill_popup_base_view_browsertest.cc |
+++ b/chrome/browser/ui/views/autofill/autofill_popup_base_view_browsertest.cc |
@@ -7,6 +7,7 @@ |
#include "chrome/browser/ui/autofill/autofill_popup_view_delegate.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_window.h" |
+#include "chrome/browser/ui/tabs/tab_strip_model.h" |
#include "chrome/test/base/in_process_browser_test.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -41,14 +42,16 @@ class AutofillPopupBaseViewTest : public InProcessBrowserTest { |
virtual ~AutofillPopupBaseViewTest() {} |
virtual void SetUpOnMainThread() OVERRIDE { |
- gfx::NativeWindow window = browser()->window()->GetNativeWindow(); |
+ gfx::NativeView native_view = |
+ browser()->tab_strip_model()->GetActiveWebContents()->GetNativeView(); |
EXPECT_CALL(mock_delegate_, container_view()) |
- .WillRepeatedly(Return(window)); |
+ .WillRepeatedly(Return(native_view)); |
EXPECT_CALL(mock_delegate_, ViewDestroyed()); |
- view_ = new AutofillPopupBaseView( |
- &mock_delegate_, |
- views::Widget::GetWidgetForNativeWindow(window)); |
+ view_ = |
+ new AutofillPopupBaseView(&mock_delegate_, |
+ views::Widget::GetWidgetForNativeWindow( |
+ browser()->window()->GetNativeWindow())); |
} |
void ShowView() { |
@@ -128,4 +131,17 @@ IN_PROC_BROWSER_TEST_F(AutofillPopupBaseViewTest, DoubleClickTest) { |
EXPECT_FALSE(static_cast<views::View*>(view_)->OnMousePressed(mouse_down)); |
} |
+// Regression test for crbug.com/391316 |
+IN_PROC_BROWSER_TEST_F(AutofillPopupBaseViewTest, CorrectBoundsTest) { |
+ gfx::Rect bounds(100, 150, 5, 5); |
+ EXPECT_CALL(mock_delegate_, popup_bounds()).WillRepeatedly(ReturnRef(bounds)); |
+ |
+ ShowView(); |
+ |
+ gfx::Point display_point = |
+ static_cast<views::View*>(view_)->GetBoundsInScreen().origin(); |
+ gfx::Point expected_point = bounds.origin(); |
+ EXPECT_EQ(expected_point, display_point); |
+} |
+ |
} // namespace autofill |