| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/browser/extensions/api/sessions/sessions_api.h" | 5 #include "chrome/browser/extensions/api/sessions/sessions_api.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 465 // matches the provided ID and the entry type is Window. | 465 // matches the provided ID and the entry type is Window. |
| 466 is_window = is_window_entry(*entry); | 466 is_window = is_window_entry(*entry); |
| 467 break; | 467 break; |
| 468 } | 468 } |
| 469 } | 469 } |
| 470 | 470 |
| 471 sessions::LiveTabContext* context = | 471 sessions::LiveTabContext* context = |
| 472 BrowserLiveTabContext::FindContextForWebContents( | 472 BrowserLiveTabContext::FindContextForWebContents( |
| 473 browser->tab_strip_model()->GetActiveWebContents()); | 473 browser->tab_strip_model()->GetActiveWebContents()); |
| 474 std::vector<sessions::LiveTab*> restored_tabs = | 474 std::vector<sessions::LiveTab*> restored_tabs = |
| 475 tab_restore_service->RestoreEntryById(context, session_id.id(), UNKNOWN); | 475 tab_restore_service->RestoreEntryById(context, session_id.id(), |
| 476 WindowOpenDisposition::UNKNOWN); |
| 476 // If the ID is invalid, restored_tabs will be empty. | 477 // If the ID is invalid, restored_tabs will be empty. |
| 477 if (restored_tabs.empty()) { | 478 if (restored_tabs.empty()) { |
| 478 SetInvalidIdError(session_id.ToString()); | 479 SetInvalidIdError(session_id.ToString()); |
| 479 return false; | 480 return false; |
| 480 } | 481 } |
| 481 | 482 |
| 482 sessions::ContentLiveTab* first_tab = | 483 sessions::ContentLiveTab* first_tab = |
| 483 static_cast<sessions::ContentLiveTab*>(restored_tabs[0]); | 484 static_cast<sessions::ContentLiveTab*>(restored_tabs[0]); |
| 484 | 485 |
| 485 // Retrieve the window through any of the tabs in restored_tabs. | 486 // Retrieve the window through any of the tabs in restored_tabs. |
| (...skipping 21 matching lines...) Expand all Loading... |
| 507 } | 508 } |
| 508 | 509 |
| 509 const sessions::SessionTab* tab = NULL; | 510 const sessions::SessionTab* tab = NULL; |
| 510 if (open_tabs->GetForeignTab(session_id.session_tag(), | 511 if (open_tabs->GetForeignTab(session_id.session_tag(), |
| 511 session_id.id(), | 512 session_id.id(), |
| 512 &tab)) { | 513 &tab)) { |
| 513 TabStripModel* tab_strip = browser->tab_strip_model(); | 514 TabStripModel* tab_strip = browser->tab_strip_model(); |
| 514 content::WebContents* contents = tab_strip->GetActiveWebContents(); | 515 content::WebContents* contents = tab_strip->GetActiveWebContents(); |
| 515 | 516 |
| 516 content::WebContents* tab_contents = | 517 content::WebContents* tab_contents = |
| 517 SessionRestore::RestoreForeignSessionTab(contents, *tab, | 518 SessionRestore::RestoreForeignSessionTab( |
| 518 NEW_FOREGROUND_TAB); | 519 contents, *tab, WindowOpenDisposition::NEW_FOREGROUND_TAB); |
| 519 SetResultRestoredTab(tab_contents); | 520 SetResultRestoredTab(tab_contents); |
| 520 return true; | 521 return true; |
| 521 } | 522 } |
| 522 | 523 |
| 523 // Restoring a full window. | 524 // Restoring a full window. |
| 524 std::vector<const sessions::SessionWindow*> windows; | 525 std::vector<const sessions::SessionWindow*> windows; |
| 525 if (!open_tabs->GetForeignSession(session_id.session_tag(), &windows)) { | 526 if (!open_tabs->GetForeignSession(session_id.session_tag(), &windows)) { |
| 526 SetInvalidIdError(session_id.ToString()); | 527 SetInvalidIdError(session_id.ToString()); |
| 527 return false; | 528 return false; |
| 528 } | 529 } |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 625 return g_factory.Pointer(); | 626 return g_factory.Pointer(); |
| 626 } | 627 } |
| 627 | 628 |
| 628 void SessionsAPI::OnListenerAdded(const EventListenerInfo& details) { | 629 void SessionsAPI::OnListenerAdded(const EventListenerInfo& details) { |
| 629 sessions_event_router_.reset( | 630 sessions_event_router_.reset( |
| 630 new SessionsEventRouter(Profile::FromBrowserContext(browser_context_))); | 631 new SessionsEventRouter(Profile::FromBrowserContext(browser_context_))); |
| 631 EventRouter::Get(browser_context_)->UnregisterObserver(this); | 632 EventRouter::Get(browser_context_)->UnregisterObserver(this); |
| 632 } | 633 } |
| 633 | 634 |
| 634 } // namespace extensions | 635 } // namespace extensions |
| OLD | NEW |