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

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

Issue 10837230: Move StoragePartition into content/public and remove BrowserContext::GetDOMStorageContext(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove DISALLOW_COPY_AND_ASSIGN, and change RPH::CreateMessageFilters() to not suddenly isolate all… Created 8 years, 4 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 "chrome/browser/sessions/session_restore.h" 5 #include "chrome/browser/sessions/session_restore.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <list> 8 #include <list>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 25 matching lines...) Expand all
36 #include "chrome/common/chrome_notification_types.h" 36 #include "chrome/common/chrome_notification_types.h"
37 #include "content/public/browser/child_process_security_policy.h" 37 #include "content/public/browser/child_process_security_policy.h"
38 #include "content/public/browser/dom_storage_context.h" 38 #include "content/public/browser/dom_storage_context.h"
39 #include "content/public/browser/navigation_controller.h" 39 #include "content/public/browser/navigation_controller.h"
40 #include "content/public/browser/notification_registrar.h" 40 #include "content/public/browser/notification_registrar.h"
41 #include "content/public/browser/notification_service.h" 41 #include "content/public/browser/notification_service.h"
42 #include "content/public/browser/render_process_host.h" 42 #include "content/public/browser/render_process_host.h"
43 #include "content/public/browser/render_widget_host.h" 43 #include "content/public/browser/render_widget_host.h"
44 #include "content/public/browser/render_widget_host_view.h" 44 #include "content/public/browser/render_widget_host_view.h"
45 #include "content/public/browser/session_storage_namespace.h" 45 #include "content/public/browser/session_storage_namespace.h"
46 #include "content/public/browser/storage_partition.h"
46 #include "content/public/browser/web_contents.h" 47 #include "content/public/browser/web_contents.h"
47 #include "content/public/browser/web_contents_view.h" 48 #include "content/public/browser/web_contents_view.h"
48 #include "net/base/network_change_notifier.h" 49 #include "net/base/network_change_notifier.h"
49 #include "webkit/glue/glue_serialize.h" 50 #include "webkit/glue/glue_serialize.h"
50 51
51 #if defined(OS_CHROMEOS) 52 #if defined(OS_CHROMEOS)
52 #include "chrome/browser/chromeos/boot_times_loader.h" 53 #include "chrome/browser/chromeos/boot_times_loader.h"
53 #endif 54 #endif
54 55
55 using content::NavigationController; 56 using content::NavigationController;
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 UMA_HISTOGRAM_CUSTOM_TIMES( 732 UMA_HISTOGRAM_CUSTOM_TIMES(
732 "SessionRestore.TimeToProcessSessions", 733 "SessionRestore.TimeToProcessSessions",
733 time_to_process_sessions, 734 time_to_process_sessions,
734 base::TimeDelta::FromMilliseconds(10), 735 base::TimeDelta::FromMilliseconds(10),
735 base::TimeDelta::FromSeconds(1000), 736 base::TimeDelta::FromSeconds(1000),
736 100); 737 100);
737 738
738 if (windows->empty()) { 739 if (windows->empty()) {
739 // Restore was unsuccessful. The DOM storage system can also delete its 740 // Restore was unsuccessful. The DOM storage system can also delete its
740 // data, since no session restore will happen at a later point in time. 741 // data, since no session restore will happen at a later point in time.
741 content::BrowserContext::GetDefaultDOMStorageContext(profile_)-> 742 content::BrowserContext::GetDefaultStoragePartition(profile_)->
742 StartScavengingUnusedSessionStorage(); 743 GetDOMStorageContext()->StartScavengingUnusedSessionStorage();
743 return FinishedTabCreation(false, false); 744 return FinishedTabCreation(false, false);
744 } 745 }
745 746
746 #if defined(OS_CHROMEOS) 747 #if defined(OS_CHROMEOS)
747 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( 748 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker(
748 "SessionRestore-CreatingTabs-Start", false); 749 "SessionRestore-CreatingTabs-Start", false);
749 #endif 750 #endif
750 StartTabCreation(); 751 StartTabCreation();
751 752
752 // After the for loop this contains the last TABBED_BROWSER. Is null if no 753 // After the for loop this contains the last TABBED_BROWSER. Is null if no
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 // If last_browser is NULL and urls_to_open_ is non-empty, 826 // If last_browser is NULL and urls_to_open_ is non-empty,
826 // FinishedTabCreation will create a new TabbedBrowser and add the urls to 827 // FinishedTabCreation will create a new TabbedBrowser and add the urls to
827 // it. 828 // it.
828 Browser* finished_browser = FinishedTabCreation(true, has_tabbed_browser); 829 Browser* finished_browser = FinishedTabCreation(true, has_tabbed_browser);
829 if (finished_browser) 830 if (finished_browser)
830 last_browser = finished_browser; 831 last_browser = finished_browser;
831 832
832 // sessionStorages needed for the session restore have now been recreated 833 // sessionStorages needed for the session restore have now been recreated
833 // by RestoreTab. Now it's safe for the DOM storage system to start 834 // by RestoreTab. Now it's safe for the DOM storage system to start
834 // deleting leftover data. 835 // deleting leftover data.
835 content::BrowserContext::GetDefaultDOMStorageContext(profile_)-> 836 content::BrowserContext::GetDefaultStoragePartition(profile_)->
836 StartScavengingUnusedSessionStorage(); 837 GetDOMStorageContext()->StartScavengingUnusedSessionStorage();
837 return last_browser; 838 return last_browser;
838 } 839 }
839 840
840 // Record an app launch event (if appropriate) for a tab which is about to 841 // Record an app launch event (if appropriate) for a tab which is about to
841 // be restored. Callers should ensure that selected_index is within the 842 // be restored. Callers should ensure that selected_index is within the
842 // bounds of tab.navigations before calling. 843 // bounds of tab.navigations before calling.
843 void RecordAppLaunchForTab(Browser* browser, 844 void RecordAppLaunchForTab(Browser* browser,
844 const SessionTab& tab, 845 const SessionTab& tab,
845 int selected_index) { 846 int selected_index) {
846 DCHECK(selected_index >= 0 && 847 DCHECK(selected_index >= 0 &&
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 0, 885 0,
885 std::min(selected_index, 886 std::min(selected_index,
886 static_cast<int>(tab.navigations.size() - 1))); 887 static_cast<int>(tab.navigations.size() - 1)));
887 888
888 RecordAppLaunchForTab(browser, tab, selected_index); 889 RecordAppLaunchForTab(browser, tab, selected_index);
889 890
890 // Associate sessionStorage (if any) to the restored tab. 891 // Associate sessionStorage (if any) to the restored tab.
891 scoped_refptr<content::SessionStorageNamespace> session_storage_namespace; 892 scoped_refptr<content::SessionStorageNamespace> session_storage_namespace;
892 if (!tab.session_storage_persistent_id.empty()) { 893 if (!tab.session_storage_persistent_id.empty()) {
893 session_storage_namespace = 894 session_storage_namespace =
894 content::BrowserContext::GetDefaultDOMStorageContext(profile_)-> 895 content::BrowserContext::GetDefaultStoragePartition(profile_)->
895 RecreateSessionStorage(tab.session_storage_persistent_id); 896 GetDOMStorageContext()->RecreateSessionStorage(
897 tab.session_storage_persistent_id);
896 } 898 }
897 899
898 WebContents* web_contents = 900 WebContents* web_contents =
899 chrome::AddRestoredTab(browser, 901 chrome::AddRestoredTab(browser,
900 tab.navigations, 902 tab.navigations,
901 tab_index, 903 tab_index,
902 selected_index, 904 selected_index,
903 tab.extension_app_id, 905 tab.extension_app_id,
904 false, // select 906 false, // select
905 tab.pinned, 907 tab.pinned,
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
1102 if (active_session_restorers == NULL) 1104 if (active_session_restorers == NULL)
1103 return false; 1105 return false;
1104 for (std::set<SessionRestoreImpl*>::const_iterator it = 1106 for (std::set<SessionRestoreImpl*>::const_iterator it =
1105 active_session_restorers->begin(); 1107 active_session_restorers->begin();
1106 it != active_session_restorers->end(); ++it) { 1108 it != active_session_restorers->end(); ++it) {
1107 if ((*it)->profile() == profile) 1109 if ((*it)->profile() == profile)
1108 return true; 1110 return true;
1109 } 1111 }
1110 return false; 1112 return false;
1111 } 1113 }
OLDNEW
« no previous file with comments | « chrome/browser/profiles/profile_impl.cc ('k') | chrome/browser/ui/startup/session_crashed_prompt.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698