| OLD | NEW |
| 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 "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/file_util.h" | 6 #include "base/file_util.h" |
| 7 #include "chrome/app/chrome_dll_resource.h" | 7 #include "chrome/app/chrome_dll_resource.h" |
| 8 #include "chrome/browser/view_ids.h" | 8 #include "chrome/browser/view_ids.h" |
| 9 #include "chrome/common/chrome_paths.h" | 9 #include "chrome/common/chrome_paths.h" |
| 10 #include "chrome/common/chrome_switches.h" | 10 #include "chrome/common/chrome_switches.h" |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 protected: | 22 protected: |
| 23 TabDraggingTest() { | 23 TabDraggingTest() { |
| 24 show_window_ = true; | 24 show_window_ = true; |
| 25 } | 25 } |
| 26 }; | 26 }; |
| 27 | 27 |
| 28 // Automated UI test to open three tabs in a new window, and drag Tab_1 into | 28 // Automated UI test to open three tabs in a new window, and drag Tab_1 into |
| 29 // the position of Tab_2. | 29 // the position of Tab_2. |
| 30 // Disabled as per http://crbug.com/10941 | 30 // Disabled as per http://crbug.com/10941 |
| 31 TEST_F(TabDraggingTest, DISABLED_Tab1Tab2) { | 31 TEST_F(TabDraggingTest, DISABLED_Tab1Tab2) { |
| 32 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 32 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 33 ASSERT_TRUE(browser.get()); | 33 ASSERT_TRUE(browser.get()); |
| 34 scoped_ptr<WindowProxy> window(browser->GetWindow()); | 34 scoped_refptr<WindowProxy> window(browser->GetWindow()); |
| 35 ASSERT_TRUE(window.get()); | 35 ASSERT_TRUE(window.get()); |
| 36 | 36 |
| 37 // Get initial tab count. | 37 // Get initial tab count. |
| 38 int initial_tab_count = 0; | 38 int initial_tab_count = 0; |
| 39 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count)); | 39 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count)); |
| 40 ASSERT_TRUE(1 == initial_tab_count); | 40 ASSERT_TRUE(1 == initial_tab_count); |
| 41 | 41 |
| 42 // Get Tab_1 which comes with the browser window. | 42 // Get Tab_1 which comes with the browser window. |
| 43 scoped_ptr<TabProxy> tab1(browser->GetTab(0)); | 43 scoped_refptr<TabProxy> tab1(browser->GetTab(0)); |
| 44 ASSERT_TRUE(tab1.get()); | 44 ASSERT_TRUE(tab1.get()); |
| 45 GURL tab1_url; | 45 GURL tab1_url; |
| 46 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_url)); | 46 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_url)); |
| 47 | 47 |
| 48 // Add Tab_2. | 48 // Add Tab_2. |
| 49 GURL tab2_url("about:"); | 49 GURL tab2_url("about:"); |
| 50 ASSERT_TRUE(browser->AppendTab(tab2_url)); | 50 ASSERT_TRUE(browser->AppendTab(tab2_url)); |
| 51 scoped_ptr<TabProxy> tab2(browser->GetTab(1)); | 51 scoped_refptr<TabProxy> tab2(browser->GetTab(1)); |
| 52 ASSERT_TRUE(tab2.get()); | 52 ASSERT_TRUE(tab2.get()); |
| 53 | 53 |
| 54 // Add Tab_3. | 54 // Add Tab_3. |
| 55 GURL tab3_url("about:plugins"); | 55 GURL tab3_url("about:plugins"); |
| 56 ASSERT_TRUE(browser->AppendTab(tab3_url)); | 56 ASSERT_TRUE(browser->AppendTab(tab3_url)); |
| 57 scoped_ptr<TabProxy> tab3(browser->GetTab(2)); | 57 scoped_refptr<TabProxy> tab3(browser->GetTab(2)); |
| 58 ASSERT_TRUE(tab3.get()); | 58 ASSERT_TRUE(tab3.get()); |
| 59 | 59 |
| 60 // Make sure 3 tabs are open. | 60 // Make sure 3 tabs are open. |
| 61 ASSERT_TRUE(browser->WaitForTabCountToBecome(initial_tab_count + 2, | 61 ASSERT_TRUE(browser->WaitForTabCountToBecome(initial_tab_count + 2, |
| 62 10000)); | 62 10000)); |
| 63 | 63 |
| 64 // Get bounds for the tabs. | 64 // Get bounds for the tabs. |
| 65 gfx::Rect bounds1; | 65 gfx::Rect bounds1; |
| 66 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_TAB_0, &bounds1, false)); | 66 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_TAB_0, &bounds1, false)); |
| 67 EXPECT_LT(0, bounds1.x()); | 67 EXPECT_LT(0, bounds1.x()); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 POINT end; | 106 POINT end; |
| 107 start.x = bounds1.x() + bounds1.width()/2; | 107 start.x = bounds1.x() + bounds1.width()/2; |
| 108 start.y = bounds1.y() + bounds1.height()/2; | 108 start.y = bounds1.y() + bounds1.height()/2; |
| 109 end.x = start.x + 2*bounds1.width()/3; | 109 end.x = start.x + 2*bounds1.width()/3; |
| 110 end.y = start.y; | 110 end.y = start.y; |
| 111 ASSERT_TRUE(browser->SimulateDrag(start, end, | 111 ASSERT_TRUE(browser->SimulateDrag(start, end, |
| 112 views::Event::EF_LEFT_BUTTON_DOWN, | 112 views::Event::EF_LEFT_BUTTON_DOWN, |
| 113 false)); | 113 false)); |
| 114 | 114 |
| 115 // Now check for expected results. | 115 // Now check for expected results. |
| 116 tab1.reset(browser->GetTab(0)); | 116 tab1 = browser->GetTab(0); |
| 117 ASSERT_TRUE(tab1.get()); | 117 ASSERT_TRUE(tab1.get()); |
| 118 GURL tab1_new_url; | 118 GURL tab1_new_url; |
| 119 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_new_url)); | 119 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_new_url)); |
| 120 | 120 |
| 121 tab2.reset(browser->GetTab(1)); | 121 tab2 = browser->GetTab(1); |
| 122 ASSERT_TRUE(tab2.get()); | 122 ASSERT_TRUE(tab2.get()); |
| 123 GURL tab2_new_url; | 123 GURL tab2_new_url; |
| 124 ASSERT_TRUE(tab2->GetCurrentURL(&tab2_new_url)); | 124 ASSERT_TRUE(tab2->GetCurrentURL(&tab2_new_url)); |
| 125 | 125 |
| 126 EXPECT_EQ(tab1_url.spec(), tab2_new_url.spec()); | 126 EXPECT_EQ(tab1_url.spec(), tab2_new_url.spec()); |
| 127 EXPECT_EQ(tab2_url.spec(), tab1_new_url.spec()); | 127 EXPECT_EQ(tab2_url.spec(), tab1_new_url.spec()); |
| 128 } | 128 } |
| 129 | 129 |
| 130 // Drag Tab_1 into the position of Tab_3. | 130 // Drag Tab_1 into the position of Tab_3. |
| 131 // Disabled as per http://crbug.com/10941 | 131 // Disabled as per http://crbug.com/10941 |
| 132 TEST_F(TabDraggingTest, DISABLED_Tab1Tab3) { | 132 TEST_F(TabDraggingTest, DISABLED_Tab1Tab3) { |
| 133 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 133 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 134 ASSERT_TRUE(browser.get()); | 134 ASSERT_TRUE(browser.get()); |
| 135 scoped_ptr<WindowProxy> window(browser->GetWindow()); | 135 scoped_refptr<WindowProxy> window(browser->GetWindow()); |
| 136 ASSERT_TRUE(window.get()); | 136 ASSERT_TRUE(window.get()); |
| 137 | 137 |
| 138 // Get initial tab count. | 138 // Get initial tab count. |
| 139 int initial_tab_count = 0; | 139 int initial_tab_count = 0; |
| 140 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count)); | 140 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count)); |
| 141 ASSERT_TRUE(1 == initial_tab_count); | 141 ASSERT_TRUE(1 == initial_tab_count); |
| 142 | 142 |
| 143 // Get Tab_1 which comes with the browser window. | 143 // Get Tab_1 which comes with the browser window. |
| 144 scoped_ptr<TabProxy> tab1(browser->GetTab(0)); | 144 scoped_refptr<TabProxy> tab1(browser->GetTab(0)); |
| 145 ASSERT_TRUE(tab1.get()); | 145 ASSERT_TRUE(tab1.get()); |
| 146 GURL tab1_url; | 146 GURL tab1_url; |
| 147 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_url)); | 147 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_url)); |
| 148 | 148 |
| 149 // Add Tab_2. | 149 // Add Tab_2. |
| 150 GURL tab2_url("about:"); | 150 GURL tab2_url("about:"); |
| 151 ASSERT_TRUE(browser->AppendTab(tab2_url)); | 151 ASSERT_TRUE(browser->AppendTab(tab2_url)); |
| 152 scoped_ptr<TabProxy> tab2(browser->GetTab(1)); | 152 scoped_refptr<TabProxy> tab2(browser->GetTab(1)); |
| 153 ASSERT_TRUE(tab2.get()); | 153 ASSERT_TRUE(tab2.get()); |
| 154 | 154 |
| 155 // Add Tab_3. | 155 // Add Tab_3. |
| 156 GURL tab3_url("about:plugins"); | 156 GURL tab3_url("about:plugins"); |
| 157 ASSERT_TRUE(browser->AppendTab(tab3_url)); | 157 ASSERT_TRUE(browser->AppendTab(tab3_url)); |
| 158 scoped_ptr<TabProxy> tab3(browser->GetTab(2)); | 158 scoped_refptr<TabProxy> tab3(browser->GetTab(2)); |
| 159 ASSERT_TRUE(tab3.get()); | 159 ASSERT_TRUE(tab3.get()); |
| 160 | 160 |
| 161 // Make sure 3 tabs are open. | 161 // Make sure 3 tabs are open. |
| 162 ASSERT_TRUE(browser->WaitForTabCountToBecome(initial_tab_count + 2, | 162 ASSERT_TRUE(browser->WaitForTabCountToBecome(initial_tab_count + 2, |
| 163 10000)); | 163 10000)); |
| 164 | 164 |
| 165 // Get bounds for the tabs. | 165 // Get bounds for the tabs. |
| 166 gfx::Rect bounds1; | 166 gfx::Rect bounds1; |
| 167 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_TAB_0, &bounds1, false)); | 167 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_TAB_0, &bounds1, false)); |
| 168 EXPECT_LT(0, bounds1.x()); | 168 EXPECT_LT(0, bounds1.x()); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 POINT end; | 207 POINT end; |
| 208 start.x = bounds1.x() + bounds1.width()/2; | 208 start.x = bounds1.x() + bounds1.width()/2; |
| 209 start.y = bounds1.y() + bounds1.height()/2; | 209 start.y = bounds1.y() + bounds1.height()/2; |
| 210 end.x = start.x + bounds1.width()/2 + bounds2.width() + bounds3.width()/2; | 210 end.x = start.x + bounds1.width()/2 + bounds2.width() + bounds3.width()/2; |
| 211 end.y = start.y; | 211 end.y = start.y; |
| 212 ASSERT_TRUE(browser->SimulateDrag(start, end, | 212 ASSERT_TRUE(browser->SimulateDrag(start, end, |
| 213 views::Event::EF_LEFT_BUTTON_DOWN, | 213 views::Event::EF_LEFT_BUTTON_DOWN, |
| 214 false)); | 214 false)); |
| 215 | 215 |
| 216 // Now check for expected results. | 216 // Now check for expected results. |
| 217 tab1.reset(browser->GetTab(0)); | 217 tab1 = browser->GetTab(0); |
| 218 ASSERT_TRUE(tab1.get()); | 218 ASSERT_TRUE(tab1.get()); |
| 219 GURL tab1_new_url; | 219 GURL tab1_new_url; |
| 220 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_new_url)); | 220 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_new_url)); |
| 221 | 221 |
| 222 tab2.reset(browser->GetTab(1)); | 222 tab2 = browser->GetTab(1); |
| 223 ASSERT_TRUE(tab2.get()); | 223 ASSERT_TRUE(tab2.get()); |
| 224 GURL tab2_new_url; | 224 GURL tab2_new_url; |
| 225 ASSERT_TRUE(tab2->GetCurrentURL(&tab2_new_url)); | 225 ASSERT_TRUE(tab2->GetCurrentURL(&tab2_new_url)); |
| 226 | 226 |
| 227 tab3.reset(browser->GetTab(2)); | 227 tab3 = browser->GetTab(2); |
| 228 ASSERT_TRUE(tab3.get()); | 228 ASSERT_TRUE(tab3.get()); |
| 229 GURL tab3_new_url; | 229 GURL tab3_new_url; |
| 230 ASSERT_TRUE(tab3->GetCurrentURL(&tab3_new_url)); | 230 ASSERT_TRUE(tab3->GetCurrentURL(&tab3_new_url)); |
| 231 | 231 |
| 232 EXPECT_EQ(tab1_new_url.spec(), tab2_url.spec()); | 232 EXPECT_EQ(tab1_new_url.spec(), tab2_url.spec()); |
| 233 EXPECT_EQ(tab2_new_url.spec(), tab3_url.spec()); | 233 EXPECT_EQ(tab2_new_url.spec(), tab3_url.spec()); |
| 234 EXPECT_EQ(tab3_new_url.spec(), tab1_url.spec()); | 234 EXPECT_EQ(tab3_new_url.spec(), tab1_url.spec()); |
| 235 } | 235 } |
| 236 | 236 |
| 237 // Drag Tab_1 into the position of Tab_3, and press ESCAPE before releasing the | 237 // Drag Tab_1 into the position of Tab_3, and press ESCAPE before releasing the |
| 238 // left mouse button. | 238 // left mouse button. |
| 239 TEST_F(TabDraggingTest, Tab1Tab3Escape) { | 239 TEST_F(TabDraggingTest, Tab1Tab3Escape) { |
| 240 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 240 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 241 ASSERT_TRUE(browser.get()); | 241 ASSERT_TRUE(browser.get()); |
| 242 scoped_ptr<WindowProxy> window(browser->GetWindow()); | 242 scoped_refptr<WindowProxy> window(browser->GetWindow()); |
| 243 ASSERT_TRUE(window.get()); | 243 ASSERT_TRUE(window.get()); |
| 244 | 244 |
| 245 // Get initial tab count. | 245 // Get initial tab count. |
| 246 int initial_tab_count = 0; | 246 int initial_tab_count = 0; |
| 247 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count)); | 247 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count)); |
| 248 ASSERT_TRUE(1 == initial_tab_count); | 248 ASSERT_TRUE(1 == initial_tab_count); |
| 249 | 249 |
| 250 // Get Tab_1 which comes with the browser window. | 250 // Get Tab_1 which comes with the browser window. |
| 251 scoped_ptr<TabProxy> tab1(browser->GetTab(0)); | 251 scoped_refptr<TabProxy> tab1(browser->GetTab(0)); |
| 252 ASSERT_TRUE(tab1.get()); | 252 ASSERT_TRUE(tab1.get()); |
| 253 GURL tab1_url; | 253 GURL tab1_url; |
| 254 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_url)); | 254 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_url)); |
| 255 | 255 |
| 256 // Add Tab_2. | 256 // Add Tab_2. |
| 257 GURL tab2_url("about:"); | 257 GURL tab2_url("about:"); |
| 258 ASSERT_TRUE(browser->AppendTab(tab2_url)); | 258 ASSERT_TRUE(browser->AppendTab(tab2_url)); |
| 259 scoped_ptr<TabProxy> tab2(browser->GetTab(1)); | 259 scoped_refptr<TabProxy> tab2(browser->GetTab(1)); |
| 260 ASSERT_TRUE(tab2.get()); | 260 ASSERT_TRUE(tab2.get()); |
| 261 | 261 |
| 262 // Add Tab_3. | 262 // Add Tab_3. |
| 263 GURL tab3_url("about:plugins"); | 263 GURL tab3_url("about:plugins"); |
| 264 ASSERT_TRUE(browser->AppendTab(tab3_url)); | 264 ASSERT_TRUE(browser->AppendTab(tab3_url)); |
| 265 scoped_ptr<TabProxy> tab3(browser->GetTab(2)); | 265 scoped_refptr<TabProxy> tab3(browser->GetTab(2)); |
| 266 ASSERT_TRUE(tab3.get()); | 266 ASSERT_TRUE(tab3.get()); |
| 267 | 267 |
| 268 // Make sure 3 tabs are open. | 268 // Make sure 3 tabs are open. |
| 269 ASSERT_TRUE(browser->WaitForTabCountToBecome(initial_tab_count + 2, | 269 ASSERT_TRUE(browser->WaitForTabCountToBecome(initial_tab_count + 2, |
| 270 10000)); | 270 10000)); |
| 271 | 271 |
| 272 // Get bounds for the tabs. | 272 // Get bounds for the tabs. |
| 273 gfx::Rect bounds1; | 273 gfx::Rect bounds1; |
| 274 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_TAB_0, &bounds1, false)); | 274 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_TAB_0, &bounds1, false)); |
| 275 EXPECT_LT(0, bounds1.x()); | 275 EXPECT_LT(0, bounds1.x()); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 317 end.x = start.x + bounds1.width()/2 + bounds2.width() + bounds3.width()/2; | 317 end.x = start.x + bounds1.width()/2 + bounds2.width() + bounds3.width()/2; |
| 318 end.y = start.y; | 318 end.y = start.y; |
| 319 | 319 |
| 320 // Simulate drag with 'true' as the last parameter. This will interrupt | 320 // Simulate drag with 'true' as the last parameter. This will interrupt |
| 321 // in-flight with Escape. | 321 // in-flight with Escape. |
| 322 ASSERT_TRUE(browser->SimulateDrag(start, end, | 322 ASSERT_TRUE(browser->SimulateDrag(start, end, |
| 323 views::Event::EF_LEFT_BUTTON_DOWN, | 323 views::Event::EF_LEFT_BUTTON_DOWN, |
| 324 true)); | 324 true)); |
| 325 | 325 |
| 326 // Now check for expected results. | 326 // Now check for expected results. |
| 327 tab1.reset(browser->GetTab(0)); | 327 tab1 = browser->GetTab(0); |
| 328 ASSERT_TRUE(tab1.get()); | 328 ASSERT_TRUE(tab1.get()); |
| 329 GURL tab1_new_url; | 329 GURL tab1_new_url; |
| 330 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_new_url)); | 330 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_new_url)); |
| 331 | 331 |
| 332 tab2.reset(browser->GetTab(1)); | 332 tab2 = browser->GetTab(1); |
| 333 ASSERT_TRUE(tab2.get()); | 333 ASSERT_TRUE(tab2.get()); |
| 334 GURL tab2_new_url; | 334 GURL tab2_new_url; |
| 335 ASSERT_TRUE(tab2->GetCurrentURL(&tab2_new_url)); | 335 ASSERT_TRUE(tab2->GetCurrentURL(&tab2_new_url)); |
| 336 | 336 |
| 337 tab3.reset(browser->GetTab(2)); | 337 tab3 = browser->GetTab(2); |
| 338 ASSERT_TRUE(tab3.get()); | 338 ASSERT_TRUE(tab3.get()); |
| 339 GURL tab3_new_url; | 339 GURL tab3_new_url; |
| 340 ASSERT_TRUE(tab3->GetCurrentURL(&tab3_new_url)); | 340 ASSERT_TRUE(tab3->GetCurrentURL(&tab3_new_url)); |
| 341 | 341 |
| 342 // The tabs should be in their original positions. | 342 // The tabs should be in their original positions. |
| 343 EXPECT_EQ(tab1_new_url.spec(), tab1_url.spec()); | 343 EXPECT_EQ(tab1_new_url.spec(), tab1_url.spec()); |
| 344 EXPECT_EQ(tab2_new_url.spec(), tab2_url.spec()); | 344 EXPECT_EQ(tab2_new_url.spec(), tab2_url.spec()); |
| 345 EXPECT_EQ(tab3_new_url.spec(), tab3_url.spec()); | 345 EXPECT_EQ(tab3_new_url.spec(), tab3_url.spec()); |
| 346 } | 346 } |
| 347 | 347 |
| 348 // Drag Tab_2 out of the Tab strip. A new window should open with this tab. | 348 // Drag Tab_2 out of the Tab strip. A new window should open with this tab. |
| 349 TEST_F(TabDraggingTest, Tab2OutOfTabStrip) { | 349 TEST_F(TabDraggingTest, Tab2OutOfTabStrip) { |
| 350 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 350 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 351 ASSERT_TRUE(browser.get()); | 351 ASSERT_TRUE(browser.get()); |
| 352 scoped_ptr<WindowProxy> window(browser->GetWindow()); | 352 scoped_refptr<WindowProxy> window(browser->GetWindow()); |
| 353 ASSERT_TRUE(window.get()); | 353 ASSERT_TRUE(window.get()); |
| 354 | 354 |
| 355 // Get initial tab count. | 355 // Get initial tab count. |
| 356 int initial_tab_count = 0; | 356 int initial_tab_count = 0; |
| 357 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count)); | 357 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count)); |
| 358 ASSERT_TRUE(1 == initial_tab_count); | 358 ASSERT_TRUE(1 == initial_tab_count); |
| 359 | 359 |
| 360 // Get Tab_1 which comes with the browser window. | 360 // Get Tab_1 which comes with the browser window. |
| 361 scoped_ptr<TabProxy> tab1(browser->GetTab(0)); | 361 scoped_refptr<TabProxy> tab1(browser->GetTab(0)); |
| 362 ASSERT_TRUE(tab1.get()); | 362 ASSERT_TRUE(tab1.get()); |
| 363 GURL tab1_url; | 363 GURL tab1_url; |
| 364 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_url)); | 364 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_url)); |
| 365 | 365 |
| 366 // Add Tab_2. | 366 // Add Tab_2. |
| 367 GURL tab2_url("about:version"); | 367 GURL tab2_url("about:version"); |
| 368 ASSERT_TRUE(browser->AppendTab(tab2_url)); | 368 ASSERT_TRUE(browser->AppendTab(tab2_url)); |
| 369 scoped_ptr<TabProxy> tab2(browser->GetTab(1)); | 369 scoped_refptr<TabProxy> tab2(browser->GetTab(1)); |
| 370 ASSERT_TRUE(tab2.get()); | 370 ASSERT_TRUE(tab2.get()); |
| 371 | 371 |
| 372 // Add Tab_3. | 372 // Add Tab_3. |
| 373 GURL tab3_url("about:plugins"); | 373 GURL tab3_url("about:plugins"); |
| 374 ASSERT_TRUE(browser->AppendTab(tab3_url)); | 374 ASSERT_TRUE(browser->AppendTab(tab3_url)); |
| 375 scoped_ptr<TabProxy> tab3(browser->GetTab(2)); | 375 scoped_refptr<TabProxy> tab3(browser->GetTab(2)); |
| 376 ASSERT_TRUE(tab3.get()); | 376 ASSERT_TRUE(tab3.get()); |
| 377 | 377 |
| 378 // Make sure 3 tabs are opened. | 378 // Make sure 3 tabs are opened. |
| 379 ASSERT_TRUE(browser->WaitForTabCountToBecome(initial_tab_count + 2, | 379 ASSERT_TRUE(browser->WaitForTabCountToBecome(initial_tab_count + 2, |
| 380 10000)); | 380 10000)); |
| 381 | 381 |
| 382 // Make sure all the tab URL specs are different. | 382 // Make sure all the tab URL specs are different. |
| 383 ASSERT_TRUE(tab1_url != tab2_url); | 383 ASSERT_TRUE(tab1_url != tab2_url); |
| 384 ASSERT_TRUE(tab1_url != tab3_url); | 384 ASSERT_TRUE(tab1_url != tab3_url); |
| 385 ASSERT_TRUE(tab2_url != tab3_url); | 385 ASSERT_TRUE(tab2_url != tab3_url); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 ASSERT_TRUE(browser->SimulateDrag(start, end, | 444 ASSERT_TRUE(browser->SimulateDrag(start, end, |
| 445 views::Event::EF_LEFT_BUTTON_DOWN, | 445 views::Event::EF_LEFT_BUTTON_DOWN, |
| 446 false)); | 446 false)); |
| 447 | 447 |
| 448 // Now, first make sure that the old window has only two tabs remaining. | 448 // Now, first make sure that the old window has only two tabs remaining. |
| 449 int new_tab_count = 0; | 449 int new_tab_count = 0; |
| 450 ASSERT_TRUE(browser->GetTabCount(&new_tab_count)); | 450 ASSERT_TRUE(browser->GetTabCount(&new_tab_count)); |
| 451 ASSERT_EQ(2, new_tab_count); | 451 ASSERT_EQ(2, new_tab_count); |
| 452 | 452 |
| 453 // Get the two tabs - they are called Tab_1 and Tab_2 in the old window. | 453 // Get the two tabs - they are called Tab_1 and Tab_2 in the old window. |
| 454 tab1.reset(browser->GetTab(0)); | 454 tab1 = browser->GetTab(0); |
| 455 ASSERT_TRUE(tab1.get()); | 455 ASSERT_TRUE(tab1.get()); |
| 456 GURL tab1_new_url; | 456 GURL tab1_new_url; |
| 457 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_new_url)); | 457 ASSERT_TRUE(tab1->GetCurrentURL(&tab1_new_url)); |
| 458 | 458 |
| 459 tab2.reset(browser->GetTab(1)); | 459 tab2 = browser->GetTab(1); |
| 460 ASSERT_TRUE(tab2.get()); | 460 ASSERT_TRUE(tab2.get()); |
| 461 GURL tab2_new_url; | 461 GURL tab2_new_url; |
| 462 ASSERT_TRUE(tab2->GetCurrentURL(&tab2_new_url)); | 462 ASSERT_TRUE(tab2->GetCurrentURL(&tab2_new_url)); |
| 463 | 463 |
| 464 // Now check for proper shifting of tabs; i.e., Tab_3 in window 1 should | 464 // Now check for proper shifting of tabs; i.e., Tab_3 in window 1 should |
| 465 // shift left to the position of Tab_2; Tab_1 should stay where it was. | 465 // shift left to the position of Tab_2; Tab_1 should stay where it was. |
| 466 EXPECT_EQ(tab1_new_url.spec(), tab1_url.spec()); | 466 EXPECT_EQ(tab1_new_url.spec(), tab1_url.spec()); |
| 467 EXPECT_EQ(tab2_new_url.spec(), tab3_url.spec()); | 467 EXPECT_EQ(tab2_new_url.spec(), tab3_url.spec()); |
| 468 | 468 |
| 469 // Now check to make sure a new window has opened. | 469 // Now check to make sure a new window has opened. |
| 470 scoped_ptr<BrowserProxy> browser2(automation()->GetBrowserWindow(1)); | 470 scoped_refptr<BrowserProxy> browser2(automation()->GetBrowserWindow(1)); |
| 471 ASSERT_TRUE(browser2.get()); | 471 ASSERT_TRUE(browser2.get()); |
| 472 scoped_ptr<WindowProxy> window2(browser2->GetWindow()); | 472 scoped_refptr<WindowProxy> window2(browser2->GetWindow()); |
| 473 ASSERT_TRUE(window2.get()); | 473 ASSERT_TRUE(window2.get()); |
| 474 | 474 |
| 475 // Make sure that the new window has only one tab. | 475 // Make sure that the new window has only one tab. |
| 476 int tab_count_window_2 = 0; | 476 int tab_count_window_2 = 0; |
| 477 ASSERT_TRUE(browser2->GetTabCount(&tab_count_window_2)); | 477 ASSERT_TRUE(browser2->GetTabCount(&tab_count_window_2)); |
| 478 ASSERT_EQ(1, tab_count_window_2); | 478 ASSERT_EQ(1, tab_count_window_2); |
| 479 | 479 |
| 480 // Get Tab_1_2 which should be Tab_1 in Window 2. | 480 // Get Tab_1_2 which should be Tab_1 in Window 2. |
| 481 scoped_ptr<TabProxy> tab1_2(browser2->GetTab(0)); | 481 scoped_refptr<TabProxy> tab1_2(browser2->GetTab(0)); |
| 482 ASSERT_TRUE(tab1_2.get()); | 482 ASSERT_TRUE(tab1_2.get()); |
| 483 GURL tab1_2_url; | 483 GURL tab1_2_url; |
| 484 ASSERT_TRUE(tab1_2->GetCurrentURL(&tab1_2_url)); | 484 ASSERT_TRUE(tab1_2->GetCurrentURL(&tab1_2_url)); |
| 485 | 485 |
| 486 // Tab_1_2 of Window 2 should essentially be Tab_2 of Window 1. | 486 // Tab_1_2 of Window 2 should essentially be Tab_2 of Window 1. |
| 487 EXPECT_EQ(tab1_2_url.spec(), tab2_url.spec()); | 487 EXPECT_EQ(tab1_2_url.spec(), tab2_url.spec()); |
| 488 EXPECT_NE(tab1_2_url.spec(), tab1_url.spec()); | 488 EXPECT_NE(tab1_2_url.spec(), tab1_url.spec()); |
| 489 EXPECT_NE(tab1_2_url.spec(), tab3_url.spec()); | 489 EXPECT_NE(tab1_2_url.spec(), tab3_url.spec()); |
| 490 } | 490 } |
| OLD | NEW |