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

Side by Side Diff: chrome/browser/views/find_bar_win_uitest.cc

Issue 13130: Fix issue 5079: Incorrect "Active match ordinal" count during Find-in-page... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/app/chrome_dll_resource.h" 5 #include "chrome/app/chrome_dll_resource.h"
6 #include "chrome/browser/views/find_bar_win.h" 6 #include "chrome/browser/views/find_bar_win.h"
7 #include "chrome/test/automation/browser_proxy.h" 7 #include "chrome/test/automation/browser_proxy.h"
8 #include "chrome/test/automation/tab_proxy.h" 8 #include "chrome/test/automation/tab_proxy.h"
9 #include "chrome/test/automation/window_proxy.h" 9 #include "chrome/test/automation/window_proxy.h"
10 #include "chrome/test/ui/ui_test.h" 10 #include "chrome/test/ui/ui_test.h"
11 #include "net/url_request/url_request_unittest.h" 11 #include "net/url_request/url_request_unittest.h"
12 12
13 class FindInPageControllerTest : public UITest { 13 class FindInPageControllerTest : public UITest {
14 public: 14 public:
15 FindInPageControllerTest() { 15 FindInPageControllerTest() {
16 show_window_ = true; 16 show_window_ = true;
17 } 17 }
18 }; 18 };
19 19
20 const std::wstring kFramePage = L"files/find_in_page/frames.html"; 20 const std::wstring kFramePage = L"files/find_in_page/frames.html";
21 const std::wstring kFrameData = L"files/find_in_page/framedata_general.html";
21 const std::wstring kUserSelectPage = L"files/find_in_page/user-select.html"; 22 const std::wstring kUserSelectPage = L"files/find_in_page/user-select.html";
22 const std::wstring kCrashPage = L"files/find_in_page/crash_1341577.html"; 23 const std::wstring kCrashPage = L"files/find_in_page/crash_1341577.html";
23 const std::wstring kTooFewMatchesPage = L"files/find_in_page/bug_1155639.html"; 24 const std::wstring kTooFewMatchesPage = L"files/find_in_page/bug_1155639.html";
24 25
25 // This test loads a page with frames and starts FindInPage requests 26 // This test loads a page with frames and starts FindInPage requests
26 TEST_F(FindInPageControllerTest, FindInPageFrames) { 27 TEST_F(FindInPageControllerTest, FindInPageFrames) {
27 TestServer server(L"chrome/test/data"); 28 TestServer server(L"chrome/test/data");
28 29
29 // First we navigate to our frames page. 30 // First we navigate to our frames page.
30 GURL url = server.TestServerPageW(kFramePage); 31 GURL url = server.TestServerPageW(kFramePage);
31 scoped_ptr<TabProxy> tab(GetActiveTab()); 32 scoped_ptr<TabProxy> tab(GetActiveTab());
32 ASSERT_TRUE(tab->NavigateToURL(url)); 33 ASSERT_TRUE(tab->NavigateToURL(url));
33 WaitUntilTabCount(1); 34 WaitUntilTabCount(1);
34 35
35 // Try incremental search (mimicking user typing in). 36 // Try incremental search (mimicking user typing in).
36 EXPECT_EQ(18, tab->FindInPage(L"g", FWD, IGNORE_CASE, false)); 37 EXPECT_EQ(18, tab->FindInPage(L"g", FWD, IGNORE_CASE, false, NULL));
37 EXPECT_EQ(11, tab->FindInPage(L"go", FWD, IGNORE_CASE, false)); 38 EXPECT_EQ(11, tab->FindInPage(L"go", FWD, IGNORE_CASE, false, NULL));
38 EXPECT_EQ(04, tab->FindInPage(L"goo", FWD, IGNORE_CASE, false)); 39 EXPECT_EQ(04, tab->FindInPage(L"goo", FWD, IGNORE_CASE, false, NULL));
39 EXPECT_EQ(03, tab->FindInPage(L"goog", FWD, IGNORE_CASE, false)); 40 EXPECT_EQ(03, tab->FindInPage(L"goog", FWD, IGNORE_CASE, false, NULL));
40 EXPECT_EQ(02, tab->FindInPage(L"googl", FWD, IGNORE_CASE, false)); 41 EXPECT_EQ(02, tab->FindInPage(L"googl", FWD, IGNORE_CASE, false, NULL));
41 EXPECT_EQ(01, tab->FindInPage(L"google", FWD, IGNORE_CASE, false)); 42 EXPECT_EQ(01, tab->FindInPage(L"google", FWD, IGNORE_CASE, false, NULL));
42 EXPECT_EQ(00, tab->FindInPage(L"google!", FWD, IGNORE_CASE, false)); 43 EXPECT_EQ(00, tab->FindInPage(L"google!", FWD, IGNORE_CASE, false, NULL));
43 44
44 // Negative test (no matches should be found). 45 // Negative test (no matches should be found).
45 EXPECT_EQ(0, tab->FindInPage(L"Non-existing string", FWD, IGNORE_CASE, 46 EXPECT_EQ(0, tab->FindInPage(L"Non-existing string", FWD, IGNORE_CASE,
46 false)); 47 false, NULL));
47 48
48 // 'horse' only exists in the three right frames. 49 // 'horse' only exists in the three right frames.
49 EXPECT_EQ(3, tab->FindInPage(L"horse", FWD, IGNORE_CASE, false)); 50 EXPECT_EQ(3, tab->FindInPage(L"horse", FWD, IGNORE_CASE, false, NULL));
50 51
51 // 'cat' only exists in the first frame. 52 // 'cat' only exists in the first frame.
52 EXPECT_EQ(1, tab->FindInPage(L"cat", FWD, IGNORE_CASE, false)); 53 EXPECT_EQ(1, tab->FindInPage(L"cat", FWD, IGNORE_CASE, false, NULL));
53 54
54 // Try searching again, should still come up with 1 match. 55 // Try searching again, should still come up with 1 match.
55 EXPECT_EQ(1, tab->FindInPage(L"cat", FWD, IGNORE_CASE, false)); 56 EXPECT_EQ(1, tab->FindInPage(L"cat", FWD, IGNORE_CASE, false, NULL));
56 57
57 // Try searching backwards, ignoring case, should still come up with 1 match. 58 // Try searching backwards, ignoring case, should still come up with 1 match.
58 EXPECT_EQ(1, tab->FindInPage(L"CAT", BACK, IGNORE_CASE, false)); 59 EXPECT_EQ(1, tab->FindInPage(L"CAT", BACK, IGNORE_CASE, false, NULL));
59 60
60 // Try case sensitive, should NOT find it. 61 // Try case sensitive, should NOT find it.
61 EXPECT_EQ(0, tab->FindInPage(L"CAT", FWD, CASE_SENSITIVE, false)); 62 EXPECT_EQ(0, tab->FindInPage(L"CAT", FWD, CASE_SENSITIVE, false, NULL));
62 63
63 // Try again case sensitive, but this time with right case. 64 // Try again case sensitive, but this time with right case.
64 EXPECT_EQ(1, tab->FindInPage(L"dog", FWD, CASE_SENSITIVE, false)); 65 EXPECT_EQ(1, tab->FindInPage(L"dog", FWD, CASE_SENSITIVE, false, NULL));
65 66
66 // Try non-Latin characters ('Hreggvidur' with 'eth' for 'd' in left frame). 67 // Try non-Latin characters ('Hreggvidur' with 'eth' for 'd' in left frame).
67 EXPECT_EQ(1, tab->FindInPage(L"Hreggvi\u00F0ur", FWD, IGNORE_CASE, false)); 68 EXPECT_EQ(1, tab->FindInPage(L"Hreggvi\u00F0ur", FWD, IGNORE_CASE,
68 EXPECT_EQ(1, tab->FindInPage(L"Hreggvi\u00F0ur", FWD, CASE_SENSITIVE, false)); 69 false, NULL));
69 EXPECT_EQ(0, tab->FindInPage(L"hreggvi\u00F0ur", FWD, CASE_SENSITIVE, false)); 70 EXPECT_EQ(1, tab->FindInPage(L"Hreggvi\u00F0ur", FWD, CASE_SENSITIVE,
71 false, NULL));
72 EXPECT_EQ(0, tab->FindInPage(L"hreggvi\u00F0ur", FWD, CASE_SENSITIVE,
73 false, NULL));
74 }
75
76 // This test loads a single-frame page and makes sure the ordinal returned makes
77 // sense as we FindNext over all the items.
78 TEST_F(FindInPageControllerTest, FindInPageOrdinal) {
79 TestServer server(L"chrome/test/data");
80
81 // First we navigate to our frames page.
82 GURL url = server.TestServerPageW(kFrameData);
83 scoped_ptr<TabProxy> tab(GetActiveTab());
84 ASSERT_TRUE(tab->NavigateToURL(url));
85 WaitUntilTabCount(1);
86
87 // Search for 'o', which should make the first item active and return
88 // '1 in 3' (1st ordinal of a total of 3 matches).
89 int ordinal = 0;
90 EXPECT_EQ(3, tab->FindInPage(L"o", FWD, IGNORE_CASE, false, &ordinal));
91 EXPECT_EQ(1, ordinal);
92 // FindNext returns -1 for match count because it doesn't bother with
93 // recounting the number of matches. We don't care about the match count
94 // anyway in this case, we just want to check the ordinal.
95 EXPECT_EQ(-1, tab->FindInPage(L"o", FWD, IGNORE_CASE, true, &ordinal));
96 EXPECT_EQ(2, ordinal);
97 EXPECT_EQ(-1, tab->FindInPage(L"o", FWD, IGNORE_CASE, true, &ordinal));
98 EXPECT_EQ(3, ordinal);
99 // Go back one match.
100 EXPECT_EQ(-1, tab->FindInPage(L"o", BACK, IGNORE_CASE, true, &ordinal));
101 EXPECT_EQ(2, ordinal);
102 EXPECT_EQ(-1, tab->FindInPage(L"o", FWD, IGNORE_CASE, true, &ordinal));
103 EXPECT_EQ(3, ordinal);
104 // This should wrap to the top.
105 EXPECT_EQ(-1, tab->FindInPage(L"o", FWD, IGNORE_CASE, true, &ordinal));
106 EXPECT_EQ(1, ordinal);
107 // This should go back to the end.
108 EXPECT_EQ(-1, tab->FindInPage(L"o", BACK, IGNORE_CASE, true, &ordinal));
109 EXPECT_EQ(3, ordinal);
110 }
111
112 // This test loads a page with frames and makes sure the ordinal returned makes
113 // sense.
114 TEST_F(FindInPageControllerTest, FindInPageMultiFramesOrdinal) {
115 TestServer server(L"chrome/test/data");
116
117 // First we navigate to our frames page.
118 GURL url = server.TestServerPageW(kFramePage);
119 scoped_ptr<TabProxy> tab(GetActiveTab());
120 ASSERT_TRUE(tab->NavigateToURL(url));
121 WaitUntilTabCount(1);
122
123 // Search for 'a', which should make the first item active and return
124 // '1 in 7' (1st ordinal of a total of 7 matches).
125 int ordinal = 0;
126 EXPECT_EQ(7, tab->FindInPage(L"a", FWD, IGNORE_CASE, false, &ordinal));
127 EXPECT_EQ(1, ordinal);
128 // FindNext returns -1 for match count because it doesn't bother with
129 // recounting the number of matches. We don't care about the match count
130 // anyway in this case, we just want to check the ordinal.
131 EXPECT_EQ(-1, tab->FindInPage(L"a", FWD, IGNORE_CASE, true, &ordinal));
132 EXPECT_EQ(2, ordinal);
133 EXPECT_EQ(-1, tab->FindInPage(L"a", FWD, IGNORE_CASE, true, &ordinal));
134 EXPECT_EQ(3, ordinal);
135 EXPECT_EQ(-1, tab->FindInPage(L"a", FWD, IGNORE_CASE, true, &ordinal));
136 EXPECT_EQ(4, ordinal);
137 // Go back one, which should go back one frame.
138 EXPECT_EQ(-1, tab->FindInPage(L"a", BACK, IGNORE_CASE, true, &ordinal));
139 EXPECT_EQ(3, ordinal);
140 EXPECT_EQ(-1, tab->FindInPage(L"a", FWD, IGNORE_CASE, true, &ordinal));
141 EXPECT_EQ(4, ordinal);
142 EXPECT_EQ(-1, tab->FindInPage(L"a", FWD, IGNORE_CASE, true, &ordinal));
143 EXPECT_EQ(5, ordinal);
144 EXPECT_EQ(-1, tab->FindInPage(L"a", FWD, IGNORE_CASE, true, &ordinal));
145 EXPECT_EQ(6, ordinal);
146 EXPECT_EQ(-1, tab->FindInPage(L"a", FWD, IGNORE_CASE, true, &ordinal));
147 EXPECT_EQ(7, ordinal);
148 // Now we should wrap back to frame 1.
149 EXPECT_EQ(-1, tab->FindInPage(L"a", FWD, IGNORE_CASE, true, &ordinal));
150 EXPECT_EQ(1, ordinal);
151 // Now we should wrap back to frame last frame.
152 EXPECT_EQ(-1, tab->FindInPage(L"a", BACK, IGNORE_CASE, true, &ordinal));
153 EXPECT_EQ(7, ordinal);
70 } 154 }
71 155
72 // Load a page with no selectable text and make sure we don't crash. 156 // Load a page with no selectable text and make sure we don't crash.
73 TEST_F(FindInPageControllerTest, FindUnSelectableText) { 157 TEST_F(FindInPageControllerTest, FindUnSelectableText) {
74 TestServer server(L"chrome/test/data"); 158 TestServer server(L"chrome/test/data");
75 159
76 GURL url = server.TestServerPageW(kUserSelectPage); 160 GURL url = server.TestServerPageW(kUserSelectPage);
77 scoped_ptr<TabProxy> tab(GetActiveTab()); 161 scoped_ptr<TabProxy> tab(GetActiveTab());
78 ASSERT_TRUE(tab->NavigateToURL(url)); 162 ASSERT_TRUE(tab->NavigateToURL(url));
79 WaitUntilTabCount(1); 163 WaitUntilTabCount(1);
80 164
81 EXPECT_EQ(0, tab->FindInPage(L"text", FWD, IGNORE_CASE, false)); 165 EXPECT_EQ(0, tab->FindInPage(L"text", FWD, IGNORE_CASE, false, NULL));
82 EXPECT_EQ(0, tab->FindInPage(L"Non-existing string", FWD, IGNORE_CASE, 166 EXPECT_EQ(0, tab->FindInPage(L"Non-existing string", FWD, IGNORE_CASE,
83 false)); 167 false, NULL));
84 } 168 }
85 169
86 // Try to reproduce the crash seen in issue 1341577. 170 // Try to reproduce the crash seen in issue 1341577.
87 TEST_F(FindInPageControllerTest, FindCrash_Issue1341577) { 171 TEST_F(FindInPageControllerTest, FindCrash_Issue1341577) {
88 TestServer server(L"chrome/test/data"); 172 TestServer server(L"chrome/test/data");
89 173
90 GURL url = server.TestServerPageW(kCrashPage); 174 GURL url = server.TestServerPageW(kCrashPage);
91 scoped_ptr<TabProxy> tab(GetActiveTab()); 175 scoped_ptr<TabProxy> tab(GetActiveTab());
92 ASSERT_TRUE(tab->NavigateToURL(url)); 176 ASSERT_TRUE(tab->NavigateToURL(url));
93 WaitUntilTabCount(1); 177 WaitUntilTabCount(1);
94 178
95 // This would crash the tab. These must be the first two find requests issued 179 // This would crash the tab. These must be the first two find requests issued
96 // against the frame, otherwise an active frame pointer is set and it wont 180 // against the frame, otherwise an active frame pointer is set and it wont
97 // produce the crash. 181 // produce the crash.
98 EXPECT_EQ(1, tab->FindInPage(L"\u0D4C", FWD, IGNORE_CASE, false)); 182 EXPECT_EQ(1, tab->FindInPage(L"\u0D4C", FWD, IGNORE_CASE, false, NULL));
99 // FindNext returns -1 for match count because it doesn't bother with 183 // FindNext returns -1 for match count because it doesn't bother with
100 // recounting the number of matches. We don't care about the match count 184 // recounting the number of matches. We don't care about the match count
101 // anyway in this case, we just want to make sure it doesn't crash. 185 // anyway in this case, we just want to make sure it doesn't crash.
102 EXPECT_EQ(-1, tab->FindInPage(L"\u0D4C", FWD, IGNORE_CASE, true)); 186 EXPECT_EQ(-1, tab->FindInPage(L"\u0D4C", FWD, IGNORE_CASE, true, NULL));
103 187
104 // This should work fine. 188 // This should work fine.
105 EXPECT_EQ(1, tab->FindInPage(L"\u0D24\u0D46", FWD, IGNORE_CASE, false)); 189 EXPECT_EQ(1, tab->FindInPage(L"\u0D24\u0D46", FWD, IGNORE_CASE, false, NULL));
106 EXPECT_EQ(0, tab->FindInPage(L"nostring", FWD, IGNORE_CASE, false)); 190 EXPECT_EQ(0, tab->FindInPage(L"nostring", FWD, IGNORE_CASE, false, NULL));
107 } 191 }
108 192
109 // Test to make sure Find does the right thing when restarting from a timeout. 193 // Test to make sure Find does the right thing when restarting from a timeout.
110 // We used to have a problem where we'd stop finding matches when all of the 194 // We used to have a problem where we'd stop finding matches when all of the
111 // following conditions were true: 195 // following conditions were true:
112 // 1) The page has a lot of text to search. 196 // 1) The page has a lot of text to search.
113 // 2) The page contains more than one match. 197 // 2) The page contains more than one match.
114 // 3) It takes longer than the time-slice given to each Find operation (100 198 // 3) It takes longer than the time-slice given to each Find operation (100
115 // ms) to find one or more of those matches (so Find times out and has to try 199 // ms) to find one or more of those matches (so Find times out and has to try
116 // again from where it left off). 200 // again from where it left off).
117 TEST_F(FindInPageControllerTest, FindEnoughMatches_Issue1155639) { 201 TEST_F(FindInPageControllerTest, FindEnoughMatches_Issue1155639) {
118 TestServer server(L"chrome/test/data"); 202 TestServer server(L"chrome/test/data");
119 203
120 GURL url = server.TestServerPageW(kTooFewMatchesPage); 204 GURL url = server.TestServerPageW(kTooFewMatchesPage);
121 scoped_ptr<TabProxy> tab(GetActiveTab()); 205 scoped_ptr<TabProxy> tab(GetActiveTab());
122 ASSERT_TRUE(tab->NavigateToURL(url)); 206 ASSERT_TRUE(tab->NavigateToURL(url));
123 WaitUntilTabCount(1); 207 WaitUntilTabCount(1);
124 208
125 // This string appears 5 times at the bottom of a long page. If Find restarts 209 // This string appears 5 times at the bottom of a long page. If Find restarts
126 // properly after a timeout, it will find 5 matches, not just 1. 210 // properly after a timeout, it will find 5 matches, not just 1.
127 EXPECT_EQ(5, tab->FindInPage(L"008.xml", FWD, IGNORE_CASE, false)); 211 EXPECT_EQ(5, tab->FindInPage(L"008.xml", FWD, IGNORE_CASE, false, NULL));
128 } 212 }
129 213
130 // The find window should not change its location just because we open and close 214 // The find window should not change its location just because we open and close
131 // a new tab. 215 // a new tab.
132 TEST_F(FindInPageControllerTest, FindMovesOnTabClose_Issue1343052) { 216 TEST_F(FindInPageControllerTest, FindMovesOnTabClose_Issue1343052) {
133 fprintf(stderr, "Starting FindMovesOnTabClose_Issue1343052\n");
134 TestServer server(L"chrome/test/data"); 217 TestServer server(L"chrome/test/data");
135 218
136 fprintf(stderr, "TestServerPageW\n");
137 GURL url = server.TestServerPageW(kFramePage); 219 GURL url = server.TestServerPageW(kFramePage);
138 fprintf(stderr, "GetActiveTab A\n");
139 scoped_ptr<TabProxy> tabA(GetActiveTab()); 220 scoped_ptr<TabProxy> tabA(GetActiveTab());
140 fprintf(stderr, "Navigate A\n");
141 ASSERT_TRUE(tabA->NavigateToURL(url)); 221 ASSERT_TRUE(tabA->NavigateToURL(url));
142 fprintf(stderr, "WaitUntilTabCount(1) for A\n");
143 WaitUntilTabCount(1); 222 WaitUntilTabCount(1);
144 223
145 fprintf(stderr, "GetBrowserWindow(0)\n");
146 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); 224 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
147 ASSERT_TRUE(browser.get() != NULL); 225 ASSERT_TRUE(browser.get() != NULL);
148 226
149 // Toggle the bookmark bar state. 227 // Toggle the bookmark bar state.
150 fprintf(stderr, "ApplyAccelerator bookmark bar\n");
151 browser->ApplyAccelerator(IDC_SHOW_BOOKMARKS_BAR); 228 browser->ApplyAccelerator(IDC_SHOW_BOOKMARKS_BAR);
152 fprintf(stderr, "WaitForBookmarkVisibility\n");
153 EXPECT_TRUE(WaitForBookmarkBarVisibilityChange(browser.get(), true)); 229 EXPECT_TRUE(WaitForBookmarkBarVisibilityChange(browser.get(), true));
154 230
155 // Open the Find window and wait for it to animate. 231 // Open the Find window and wait for it to animate.
156 fprintf(stderr, "OpenFindInPage in A\n");
157 EXPECT_TRUE(tabA->OpenFindInPage()); 232 EXPECT_TRUE(tabA->OpenFindInPage());
158 fprintf(stderr, "WaitForWindowFullyVisible in A\n");
159 EXPECT_TRUE(WaitForFindWindowFullyVisible(tabA.get())); 233 EXPECT_TRUE(WaitForFindWindowFullyVisible(tabA.get()));
160 234
161 // Find its location. 235 // Find its location.
162 int x = -1, y = -1; 236 int x = -1, y = -1;
163 fprintf(stderr, "GetFindWindowLocation in A\n");
164 EXPECT_TRUE(tabA->GetFindWindowLocation(&x, &y)); 237 EXPECT_TRUE(tabA->GetFindWindowLocation(&x, &y));
165 238
166 // Open another tab (tab B). 239 // Open another tab (tab B).
167 fprintf(stderr, "AppendTab B\n");
168 EXPECT_TRUE(browser->AppendTab(url)); 240 EXPECT_TRUE(browser->AppendTab(url));
169 fprintf(stderr, "GetActiveTab B\n");
170 scoped_ptr<TabProxy> tabB(GetActiveTab()); 241 scoped_ptr<TabProxy> tabB(GetActiveTab());
171 242
172 // Close tab B. 243 // Close tab B.
173 fprintf(stderr, "Tab Close B\n");
174 EXPECT_TRUE(tabB->Close(true)); 244 EXPECT_TRUE(tabB->Close(true));
175 245
176 // See if the Find window has moved. 246 // See if the Find window has moved.
177 int new_x = -1, new_y = -1; 247 int new_x = -1, new_y = -1;
178 fprintf(stderr, "GetFindWindowLocation in A\n");
179 EXPECT_TRUE(tabA->GetFindWindowLocation(&new_x, &new_y)); 248 EXPECT_TRUE(tabA->GetFindWindowLocation(&new_x, &new_y));
180 249
181 EXPECT_EQ(x, new_x); 250 EXPECT_EQ(x, new_x);
182 EXPECT_EQ(y, new_y); 251 EXPECT_EQ(y, new_y);
183 252
184 // Now reset the bookmarks bar state and try the same again. 253 // Now reset the bookmarks bar state and try the same again.
185 fprintf(stderr, "ApplyAccelerator BookmarksBar\n");
186 browser->ApplyAccelerator(IDC_SHOW_BOOKMARKS_BAR); 254 browser->ApplyAccelerator(IDC_SHOW_BOOKMARKS_BAR);
187 fprintf(stderr, "WaitForBookmarkBarVisibilityChange\n");
188 EXPECT_TRUE(WaitForBookmarkBarVisibilityChange(browser.get(), false)); 255 EXPECT_TRUE(WaitForBookmarkBarVisibilityChange(browser.get(), false));
189 256
190 // Bookmark bar has moved, reset our coordinates. 257 // Bookmark bar has moved, reset our coordinates.
191 fprintf(stderr, "GetFindWindowLocation again\n");
192 EXPECT_TRUE(tabA->GetFindWindowLocation(&x, &y)); 258 EXPECT_TRUE(tabA->GetFindWindowLocation(&x, &y));
193 259
194 // Open another tab (tab C). 260 // Open another tab (tab C).
195 fprintf(stderr, "Append tab C\n");
196 EXPECT_TRUE(browser->AppendTab(url)); 261 EXPECT_TRUE(browser->AppendTab(url));
197 fprintf(stderr, "GetActiveTab C\n");
198 scoped_ptr<TabProxy> tabC(GetActiveTab()); 262 scoped_ptr<TabProxy> tabC(GetActiveTab());
199 263
200 // Close it. 264 // Close it.
201 fprintf(stderr, "Close tab C\n");
202 EXPECT_TRUE(tabC->Close(true)); 265 EXPECT_TRUE(tabC->Close(true));
203 266
204 // See if the Find window has moved. 267 // See if the Find window has moved.
205 fprintf(stderr, "GetFindWindowLocation yet again\n");
206 EXPECT_TRUE(tabA->GetFindWindowLocation(&new_x, &new_y)); 268 EXPECT_TRUE(tabA->GetFindWindowLocation(&new_x, &new_y));
207 269
208 EXPECT_EQ(x, new_x); 270 EXPECT_EQ(x, new_x);
209 EXPECT_EQ(y, new_y); 271 EXPECT_EQ(y, new_y);
210 fprintf(stderr, "Done!\n");
211 } 272 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698