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

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

Issue 3325012: Fix SessionStorage (Closed)
Patch Set: kill the last (new) dcheck Created 10 years, 3 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
« no previous file with comments | « chrome/browser/browser.h ('k') | chrome/browser/browser_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/browser.h" 5 #include "chrome/browser/browser.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <shellapi.h> 8 #include <shellapi.h>
9 #include <windows.h> 9 #include <windows.h>
10 #endif // OS_WIN 10 #endif // OS_WIN
(...skipping 944 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 ToolbarSizeChanged(NULL, is_animating); 955 ToolbarSizeChanged(NULL, is_animating);
956 } 956 }
957 957
958 TabContents* Browser::AddRestoredTab( 958 TabContents* Browser::AddRestoredTab(
959 const std::vector<TabNavigation>& navigations, 959 const std::vector<TabNavigation>& navigations,
960 int tab_index, 960 int tab_index,
961 int selected_navigation, 961 int selected_navigation,
962 const std::string& extension_app_id, 962 const std::string& extension_app_id,
963 bool select, 963 bool select,
964 bool pin, 964 bool pin,
965 bool from_last_session) { 965 bool from_last_session,
966 TabContents* new_tab = new TabContents(profile(), NULL, 966 SessionStorageNamespace* session_storage_namespace) {
967 MSG_ROUTING_NONE, tabstrip_model_.GetSelectedTabContents()); 967 TabContents* new_tab = new TabContents(
968 profile(), NULL, MSG_ROUTING_NONE,
969 tabstrip_model_.GetSelectedTabContents(), session_storage_namespace);
968 new_tab->SetExtensionAppById(extension_app_id); 970 new_tab->SetExtensionAppById(extension_app_id);
969 new_tab->controller().RestoreFromState(navigations, selected_navigation, 971 new_tab->controller().RestoreFromState(navigations, selected_navigation,
970 from_last_session); 972 from_last_session);
971 973
972 bool really_pin = 974 bool really_pin =
973 (pin && tab_index == tabstrip_model()->IndexOfFirstNonMiniTab()); 975 (pin && tab_index == tabstrip_model()->IndexOfFirstNonMiniTab());
974 tabstrip_model_.InsertTabContentsAt( 976 tabstrip_model_.InsertTabContentsAt(
975 tab_index, new_tab, 977 tab_index, new_tab,
976 select ? TabStripModel::ADD_SELECTED : TabStripModel::ADD_NONE); 978 select ? TabStripModel::ADD_SELECTED : TabStripModel::ADD_NONE);
977 if (really_pin) 979 if (really_pin)
(...skipping 15 matching lines...) Expand all
993 if (session_service) 995 if (session_service)
994 session_service->TabRestored(&new_tab->controller(), really_pin); 996 session_service->TabRestored(&new_tab->controller(), really_pin);
995 } 997 }
996 return new_tab; 998 return new_tab;
997 } 999 }
998 1000
999 void Browser::ReplaceRestoredTab( 1001 void Browser::ReplaceRestoredTab(
1000 const std::vector<TabNavigation>& navigations, 1002 const std::vector<TabNavigation>& navigations,
1001 int selected_navigation, 1003 int selected_navigation,
1002 bool from_last_session, 1004 bool from_last_session,
1003 const std::string& extension_app_id) { 1005 const std::string& extension_app_id,
1006 SessionStorageNamespace* session_storage_namespace) {
1004 TabContents* replacement = new TabContents(profile(), NULL, 1007 TabContents* replacement = new TabContents(profile(), NULL,
1005 MSG_ROUTING_NONE, tabstrip_model_.GetSelectedTabContents()); 1008 MSG_ROUTING_NONE, tabstrip_model_.GetSelectedTabContents(),
1009 session_storage_namespace);
1006 replacement->SetExtensionAppById(extension_app_id); 1010 replacement->SetExtensionAppById(extension_app_id);
1007 replacement->controller().RestoreFromState(navigations, selected_navigation, 1011 replacement->controller().RestoreFromState(navigations, selected_navigation,
1008 from_last_session); 1012 from_last_session);
1009 1013
1010 tabstrip_model_.ReplaceNavigationControllerAt( 1014 tabstrip_model_.ReplaceNavigationControllerAt(
1011 tabstrip_model_.selected_index(), 1015 tabstrip_model_.selected_index(),
1012 &replacement->controller()); 1016 &replacement->controller());
1013 } 1017 }
1014 1018
1015 bool Browser::CanRestoreTab() { 1019 bool Browser::CanRestoreTab() {
(...skipping 1251 matching lines...) Expand 10 before | Expand all | Expand 10 after
2267 2271
2268 int Browser::GetDragActions() const { 2272 int Browser::GetDragActions() const {
2269 return TAB_TEAROFF_ACTION | (tab_count() > 1 ? TAB_MOVE_ACTION : 0); 2273 return TAB_TEAROFF_ACTION | (tab_count() > 1 ? TAB_MOVE_ACTION : 0);
2270 } 2274 }
2271 2275
2272 TabContents* Browser::CreateTabContentsForURL( 2276 TabContents* Browser::CreateTabContentsForURL(
2273 const GURL& url, const GURL& referrer, Profile* profile, 2277 const GURL& url, const GURL& referrer, Profile* profile,
2274 PageTransition::Type transition, bool defer_load, 2278 PageTransition::Type transition, bool defer_load,
2275 SiteInstance* instance) const { 2279 SiteInstance* instance) const {
2276 TabContents* contents = new TabContents(profile, instance, 2280 TabContents* contents = new TabContents(profile, instance,
2277 MSG_ROUTING_NONE, tabstrip_model_.GetSelectedTabContents()); 2281 MSG_ROUTING_NONE, tabstrip_model_.GetSelectedTabContents(), NULL);
2278 2282
2279 if (!defer_load) { 2283 if (!defer_load) {
2280 // Load the initial URL before adding the new tab contents to the tab strip 2284 // Load the initial URL before adding the new tab contents to the tab strip
2281 // so that the tab contents has navigation state. 2285 // so that the tab contents has navigation state.
2282 contents->controller().LoadURL(url, referrer, transition); 2286 contents->controller().LoadURL(url, referrer, transition);
2283 } 2287 }
2284 2288
2285 return contents; 2289 return contents;
2286 } 2290 }
2287 2291
(...skipping 1728 matching lines...) Expand 10 before | Expand all | Expand 10 after
4016 } 4020 }
4017 4021
4018 void Browser::TabRestoreServiceDestroyed(TabRestoreService* service) { 4022 void Browser::TabRestoreServiceDestroyed(TabRestoreService* service) {
4019 if (!tab_restore_service_) 4023 if (!tab_restore_service_)
4020 return; 4024 return;
4021 4025
4022 DCHECK_EQ(tab_restore_service_, service); 4026 DCHECK_EQ(tab_restore_service_, service);
4023 tab_restore_service_->RemoveObserver(this); 4027 tab_restore_service_->RemoveObserver(this);
4024 tab_restore_service_ = NULL; 4028 tab_restore_service_ = NULL;
4025 } 4029 }
OLDNEW
« no previous file with comments | « chrome/browser/browser.h ('k') | chrome/browser/browser_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698