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 |