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

Side by Side Diff: chrome/browser/sessions/session_service_unittest.cc

Issue 11085053: Improving window auto management between workspaces (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed Created 8 years, 2 months 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) 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
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
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
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
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698