| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/bind_helpers.h" | 6 #include "base/bind_helpers.h" |
| 7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/memory/scoped_vector.h" | 9 #include "base/memory/scoped_vector.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 ASSERT_TRUE(file_util::CreateDirectory(path_)); | 50 ASSERT_TRUE(file_util::CreateDirectory(path_)); |
| 51 path_ = path_.AppendASCII(b); | 51 path_ = path_.AppendASCII(b); |
| 52 | 52 |
| 53 SessionService* session_service = new SessionService(path_); | 53 SessionService* session_service = new SessionService(path_); |
| 54 helper_.set_service(session_service); | 54 helper_.set_service(session_service); |
| 55 | 55 |
| 56 service()->SetWindowType( | 56 service()->SetWindowType( |
| 57 window_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL); | 57 window_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL); |
| 58 service()->SetWindowBounds(window_id, | 58 service()->SetWindowBounds(window_id, |
| 59 window_bounds, | 59 window_bounds, |
| 60 ui::SHOW_STATE_NORMAL); | 60 ui::SHOW_STATE_NORMAL, |
| 61 false); |
| 61 } | 62 } |
| 62 | 63 |
| 63 // Upon notification, increment the sync_save_count variable | 64 // Upon notification, increment the sync_save_count variable |
| 64 void Observe(int type, | 65 void Observe(int type, |
| 65 const content::NotificationSource& source, | 66 const content::NotificationSource& source, |
| 66 const content::NotificationDetails& details) { | 67 const content::NotificationDetails& details) { |
| 67 ASSERT_EQ(type, chrome::NOTIFICATION_SESSION_SERVICE_SAVED); | 68 ASSERT_EQ(type, chrome::NOTIFICATION_SESSION_SERVICE_SAVED); |
| 68 sync_save_count_++; | 69 sync_save_count_++; |
| 69 } | 70 } |
| 70 | 71 |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 SessionTypesTestHelper::CreateNavigation("http://google2.com", "abcd"); | 143 SessionTypesTestHelper::CreateNavigation("http://google2.com", "abcd"); |
| 143 | 144 |
| 144 helper_.PrepareTabInWindow(window_id, tab1_id, 0, true); | 145 helper_.PrepareTabInWindow(window_id, tab1_id, 0, true); |
| 145 UpdateNavigation(window_id, tab1_id, *nav1, true); | 146 UpdateNavigation(window_id, tab1_id, *nav1, true); |
| 146 | 147 |
| 147 const gfx::Rect window2_bounds(3, 4, 5, 6); | 148 const gfx::Rect window2_bounds(3, 4, 5, 6); |
| 148 service()->SetWindowType( | 149 service()->SetWindowType( |
| 149 window2_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL); | 150 window2_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL); |
| 150 service()->SetWindowBounds(window2_id, | 151 service()->SetWindowBounds(window2_id, |
| 151 window2_bounds, | 152 window2_bounds, |
| 152 ui::SHOW_STATE_MAXIMIZED); | 153 ui::SHOW_STATE_MAXIMIZED, |
| 154 false); |
| 153 helper_.PrepareTabInWindow(window2_id, tab2_id, 0, true); | 155 helper_.PrepareTabInWindow(window2_id, tab2_id, 0, true); |
| 154 UpdateNavigation(window2_id, tab2_id, *nav2, true); | 156 UpdateNavigation(window2_id, tab2_id, *nav2, true); |
| 155 | 157 |
| 156 } | 158 } |
| 157 | 159 |
| 158 SessionService* service() { return helper_.service(); } | 160 SessionService* service() { return helper_.service(); } |
| 159 | 161 |
| 160 SessionBackend* backend() { return helper_.backend(); } | 162 SessionBackend* backend() { return helper_.backend(); } |
| 161 | 163 |
| 162 const gfx::Rect window_bounds; | 164 const gfx::Rect window_bounds; |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); | 338 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); |
| 337 | 339 |
| 338 helper_.PrepareTabInWindow(window_id, tab1_id, 0, true); | 340 helper_.PrepareTabInWindow(window_id, tab1_id, 0, true); |
| 339 UpdateNavigation(window_id, tab1_id, nav1, true); | 341 UpdateNavigation(window_id, tab1_id, nav1, true); |
| 340 | 342 |
| 341 const gfx::Rect window2_bounds(3, 4, 5, 6); | 343 const gfx::Rect window2_bounds(3, 4, 5, 6); |
| 342 service()->SetWindowType( | 344 service()->SetWindowType( |
| 343 window2_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL); | 345 window2_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL); |
| 344 service()->SetWindowBounds(window2_id, | 346 service()->SetWindowBounds(window2_id, |
| 345 window2_bounds, | 347 window2_bounds, |
| 346 ui::SHOW_STATE_NORMAL); | 348 ui::SHOW_STATE_NORMAL, |
| 349 false); |
| 347 helper_.PrepareTabInWindow(window2_id, tab2_id, 0, true); | 350 helper_.PrepareTabInWindow(window2_id, tab2_id, 0, true); |
| 348 | 351 |
| 349 ScopedVector<SessionWindow> windows; | 352 ScopedVector<SessionWindow> windows; |
| 350 ReadWindows(&(windows.get()), NULL); | 353 ReadWindows(&(windows.get()), NULL); |
| 351 | 354 |
| 352 ASSERT_EQ(1U, windows.size()); | 355 ASSERT_EQ(1U, windows.size()); |
| 353 ASSERT_EQ(0, windows[0]->selected_tab_index); | 356 ASSERT_EQ(0, windows[0]->selected_tab_index); |
| 354 ASSERT_EQ(1U, windows[0]->tabs.size()); | 357 ASSERT_EQ(1U, windows[0]->tabs.size()); |
| 355 ASSERT_EQ(window_id.id(), windows[0]->window_id.id()); | 358 ASSERT_EQ(window_id.id(), windows[0]->window_id.id()); |
| 356 | 359 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 TEST_F(SessionServiceTest, WindowCloseCommittedAfterNavigate) { | 400 TEST_F(SessionServiceTest, WindowCloseCommittedAfterNavigate) { |
| 398 SessionID window2_id; | 401 SessionID window2_id; |
| 399 SessionID tab_id; | 402 SessionID tab_id; |
| 400 SessionID tab2_id; | 403 SessionID tab2_id; |
| 401 ASSERT_NE(window2_id.id(), window_id.id()); | 404 ASSERT_NE(window2_id.id(), window_id.id()); |
| 402 | 405 |
| 403 service()->SetWindowType( | 406 service()->SetWindowType( |
| 404 window2_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL); | 407 window2_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL); |
| 405 service()->SetWindowBounds(window2_id, | 408 service()->SetWindowBounds(window2_id, |
| 406 window_bounds, | 409 window_bounds, |
| 407 ui::SHOW_STATE_NORMAL); | 410 ui::SHOW_STATE_NORMAL, |
| 411 false); |
| 408 | 412 |
| 409 TabNavigation nav1 = | 413 TabNavigation nav1 = |
| 410 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); | 414 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); |
| 411 TabNavigation nav2 = | 415 TabNavigation nav2 = |
| 412 SessionTypesTestHelper::CreateNavigation("http://google2.com", "abcd"); | 416 SessionTypesTestHelper::CreateNavigation("http://google2.com", "abcd"); |
| 413 | 417 |
| 414 helper_.PrepareTabInWindow(window_id, tab_id, 0, true); | 418 helper_.PrepareTabInWindow(window_id, tab_id, 0, true); |
| 415 UpdateNavigation(window_id, tab_id, nav1, true); | 419 UpdateNavigation(window_id, tab_id, nav1, true); |
| 416 | 420 |
| 417 helper_.PrepareTabInWindow(window2_id, tab2_id, 0, false); | 421 helper_.PrepareTabInWindow(window2_id, tab2_id, 0, false); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 441 | 445 |
| 442 SessionID window2_id; | 446 SessionID window2_id; |
| 443 SessionID tab_id; | 447 SessionID tab_id; |
| 444 SessionID tab2_id; | 448 SessionID tab2_id; |
| 445 ASSERT_NE(window2_id.id(), window_id.id()); | 449 ASSERT_NE(window2_id.id(), window_id.id()); |
| 446 | 450 |
| 447 service()->SetWindowType( | 451 service()->SetWindowType( |
| 448 window2_id, Browser::TYPE_POPUP, SessionService::TYPE_NORMAL); | 452 window2_id, Browser::TYPE_POPUP, SessionService::TYPE_NORMAL); |
| 449 service()->SetWindowBounds(window2_id, | 453 service()->SetWindowBounds(window2_id, |
| 450 window_bounds, | 454 window_bounds, |
| 451 ui::SHOW_STATE_NORMAL); | 455 ui::SHOW_STATE_NORMAL, |
| 456 false); |
| 452 | 457 |
| 453 TabNavigation nav1 = | 458 TabNavigation nav1 = |
| 454 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); | 459 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); |
| 455 TabNavigation nav2 = | 460 TabNavigation nav2 = |
| 456 SessionTypesTestHelper::CreateNavigation("http://google2.com", "abcd"); | 461 SessionTypesTestHelper::CreateNavigation("http://google2.com", "abcd"); |
| 457 | 462 |
| 458 helper_.PrepareTabInWindow(window_id, tab_id, 0, true); | 463 helper_.PrepareTabInWindow(window_id, tab_id, 0, true); |
| 459 UpdateNavigation(window_id, tab_id, nav1, true); | 464 UpdateNavigation(window_id, tab_id, nav1, true); |
| 460 | 465 |
| 461 helper_.PrepareTabInWindow(window2_id, tab2_id, 0, false); | 466 helper_.PrepareTabInWindow(window2_id, tab2_id, 0, false); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 481 | 486 |
| 482 SessionID window2_id; | 487 SessionID window2_id; |
| 483 SessionID tab_id; | 488 SessionID tab_id; |
| 484 SessionID tab2_id; | 489 SessionID tab2_id; |
| 485 ASSERT_NE(window2_id.id(), window_id.id()); | 490 ASSERT_NE(window2_id.id(), window_id.id()); |
| 486 | 491 |
| 487 service()->SetWindowType( | 492 service()->SetWindowType( |
| 488 window2_id, Browser::TYPE_POPUP, SessionService::TYPE_NORMAL); | 493 window2_id, Browser::TYPE_POPUP, SessionService::TYPE_NORMAL); |
| 489 service()->SetWindowBounds(window2_id, | 494 service()->SetWindowBounds(window2_id, |
| 490 window_bounds, | 495 window_bounds, |
| 491 ui::SHOW_STATE_NORMAL); | 496 ui::SHOW_STATE_NORMAL, |
| 497 false); |
| 492 | 498 |
| 493 TabNavigation nav1 = | 499 TabNavigation nav1 = |
| 494 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); | 500 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); |
| 495 TabNavigation nav2 = | 501 TabNavigation nav2 = |
| 496 SessionTypesTestHelper::CreateNavigation("http://google2.com", "abcd"); | 502 SessionTypesTestHelper::CreateNavigation("http://google2.com", "abcd"); |
| 497 | 503 |
| 498 helper_.PrepareTabInWindow(window_id, tab_id, 0, true); | 504 helper_.PrepareTabInWindow(window_id, tab_id, 0, true); |
| 499 UpdateNavigation(window_id, tab_id, nav1, true); | 505 UpdateNavigation(window_id, tab_id, nav1, true); |
| 500 | 506 |
| 501 helper_.PrepareTabInWindow(window2_id, tab2_id, 0, false); | 507 helper_.PrepareTabInWindow(window2_id, tab2_id, 0, false); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 530 TEST_F(SessionServiceTest, RestoreApp) { | 536 TEST_F(SessionServiceTest, RestoreApp) { |
| 531 SessionID window2_id; | 537 SessionID window2_id; |
| 532 SessionID tab_id; | 538 SessionID tab_id; |
| 533 SessionID tab2_id; | 539 SessionID tab2_id; |
| 534 ASSERT_NE(window2_id.id(), window_id.id()); | 540 ASSERT_NE(window2_id.id(), window_id.id()); |
| 535 | 541 |
| 536 service()->SetWindowType( | 542 service()->SetWindowType( |
| 537 window2_id, Browser::TYPE_POPUP, SessionService::TYPE_APP); | 543 window2_id, Browser::TYPE_POPUP, SessionService::TYPE_APP); |
| 538 service()->SetWindowBounds(window2_id, | 544 service()->SetWindowBounds(window2_id, |
| 539 window_bounds, | 545 window_bounds, |
| 540 ui::SHOW_STATE_NORMAL); | 546 ui::SHOW_STATE_NORMAL, |
| 547 false); |
| 541 service()->SetWindowAppName(window2_id, "TestApp"); | 548 service()->SetWindowAppName(window2_id, "TestApp"); |
| 542 | 549 |
| 543 TabNavigation nav1 = | 550 TabNavigation nav1 = |
| 544 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); | 551 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); |
| 545 TabNavigation nav2 = | 552 TabNavigation nav2 = |
| 546 SessionTypesTestHelper::CreateNavigation("http://google2.com", "abcd"); | 553 SessionTypesTestHelper::CreateNavigation("http://google2.com", "abcd"); |
| 547 | 554 |
| 548 helper_.PrepareTabInWindow(window_id, tab_id, 0, true); | 555 helper_.PrepareTabInWindow(window_id, tab_id, 0, true); |
| 549 UpdateNavigation(window_id, tab_id, nav1, true); | 556 UpdateNavigation(window_id, tab_id, nav1, true); |
| 550 | 557 |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 738 // Verifies SetWindowBounds maps SHOW_STATE_DEFAULT to SHOW_STATE_NORMAL. | 745 // Verifies SetWindowBounds maps SHOW_STATE_DEFAULT to SHOW_STATE_NORMAL. |
| 739 TEST_F(SessionServiceTest, DontPersistDefault) { | 746 TEST_F(SessionServiceTest, DontPersistDefault) { |
| 740 SessionID tab_id; | 747 SessionID tab_id; |
| 741 ASSERT_NE(window_id.id(), tab_id.id()); | 748 ASSERT_NE(window_id.id(), tab_id.id()); |
| 742 TabNavigation nav1 = | 749 TabNavigation nav1 = |
| 743 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); | 750 SessionTypesTestHelper::CreateNavigation("http://google.com", "abc"); |
| 744 helper_.PrepareTabInWindow(window_id, tab_id, 0, true); | 751 helper_.PrepareTabInWindow(window_id, tab_id, 0, true); |
| 745 UpdateNavigation(window_id, tab_id, nav1, true); | 752 UpdateNavigation(window_id, tab_id, nav1, true); |
| 746 service()->SetWindowBounds(window_id, | 753 service()->SetWindowBounds(window_id, |
| 747 window_bounds, | 754 window_bounds, |
| 748 ui::SHOW_STATE_DEFAULT); | 755 ui::SHOW_STATE_DEFAULT, |
| 756 false); |
| 749 | 757 |
| 750 ScopedVector<SessionWindow> windows; | 758 ScopedVector<SessionWindow> windows; |
| 751 ReadWindows(&(windows.get()), NULL); | 759 ReadWindows(&(windows.get()), NULL); |
| 752 ASSERT_EQ(1U, windows.size()); | 760 ASSERT_EQ(1U, windows.size()); |
| 753 EXPECT_EQ(ui::SHOW_STATE_NORMAL, windows[0]->show_state); | 761 EXPECT_EQ(ui::SHOW_STATE_NORMAL, windows[0]->show_state); |
| 754 } | 762 } |
| 755 | 763 |
| 756 TEST_F(SessionServiceTest, KeepPostDataWithoutPasswords) { | 764 TEST_F(SessionServiceTest, KeepPostDataWithoutPasswords) { |
| 757 SessionID tab_id; | 765 SessionID tab_id; |
| 758 ASSERT_NE(window_id.id(), tab_id.id()); | 766 ASSERT_NE(window_id.id(), tab_id.id()); |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 966 service()->ScheduleCommand( | 974 service()->ScheduleCommand( |
| 967 service()->CreateSetActiveWindowCommand(window_id)); | 975 service()->CreateSetActiveWindowCommand(window_id)); |
| 968 service()->ScheduleCommand( | 976 service()->ScheduleCommand( |
| 969 service()->CreateSetActiveWindowCommand(window2_id)); | 977 service()->CreateSetActiveWindowCommand(window2_id)); |
| 970 | 978 |
| 971 ScopedVector<SessionWindow> windows; | 979 ScopedVector<SessionWindow> windows; |
| 972 SessionID::id_type active_window_id = 0; | 980 SessionID::id_type active_window_id = 0; |
| 973 ReadWindows(&(windows.get()), &active_window_id); | 981 ReadWindows(&(windows.get()), &active_window_id); |
| 974 EXPECT_EQ(window2_id.id(), active_window_id); | 982 EXPECT_EQ(window2_id.id(), active_window_id); |
| 975 } | 983 } |
| OLD | NEW |