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

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

Issue 243703003: Removes win8_util (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: moar Created 6 years, 8 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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 #include "content/public/browser/web_contents.h" 49 #include "content/public/browser/web_contents.h"
50 #include "content/public/browser/web_contents_view.h" 50 #include "content/public/browser/web_contents_view.h"
51 #include "extensions/browser/extension_registry.h" 51 #include "extensions/browser/extension_registry.h"
52 #include "extensions/common/extension_set.h" 52 #include "extensions/common/extension_set.h"
53 #include "net/base/network_change_notifier.h" 53 #include "net/base/network_change_notifier.h"
54 54
55 #if defined(OS_CHROMEOS) 55 #if defined(OS_CHROMEOS)
56 #include "chrome/browser/chromeos/boot_times_loader.h" 56 #include "chrome/browser/chromeos/boot_times_loader.h"
57 #endif 57 #endif
58 58
59 #if defined(OS_WIN)
60 #include "win8/util/win8_util.h"
61 #endif
62
63 using content::NavigationController; 59 using content::NavigationController;
64 using content::RenderWidgetHost; 60 using content::RenderWidgetHost;
65 using content::WebContents; 61 using content::WebContents;
66 62
67 namespace { 63 namespace {
68 64
69 class SessionRestoreImpl; 65 class SessionRestoreImpl;
70 class TabLoader; 66 class TabLoader;
71 67
72 TabLoader* shared_tab_loader = NULL; 68 TabLoader* shared_tab_loader = NULL;
(...skipping 753 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 Browser* browser = NULL; 822 Browser* browser = NULL;
827 if (!has_tabbed_browser && (*i)->type == Browser::TYPE_TABBED) 823 if (!has_tabbed_browser && (*i)->type == Browser::TYPE_TABBED)
828 has_tabbed_browser = true; 824 has_tabbed_browser = true;
829 if (i == windows->begin() && (*i)->type == Browser::TYPE_TABBED && 825 if (i == windows->begin() && (*i)->type == Browser::TYPE_TABBED &&
830 browser_ && browser_->is_type_tabbed() && 826 browser_ && browser_->is_type_tabbed() &&
831 !browser_->profile()->IsOffTheRecord()) { 827 !browser_->profile()->IsOffTheRecord()) {
832 // The first set of tabs is added to the existing browser. 828 // The first set of tabs is added to the existing browser.
833 browser = browser_; 829 browser = browser_;
834 } else { 830 } else {
835 #if defined(OS_CHROMEOS) 831 #if defined(OS_CHROMEOS)
836 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( 832 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker(
837 "SessionRestore-CreateRestoredBrowser-Start", false); 833 "SessionRestore-CreateRestoredBrowser-Start", false);
838 #endif 834 #endif
839 // Show the first window if none are visible. 835 // Show the first window if none are visible.
840 ui::WindowShowState show_state = (*i)->show_state; 836 ui::WindowShowState show_state = (*i)->show_state;
841 if (!has_visible_browser) { 837 if (!has_visible_browser) {
842 show_state = ui::SHOW_STATE_NORMAL; 838 show_state = ui::SHOW_STATE_NORMAL;
843 has_visible_browser = true; 839 has_visible_browser = true;
844 } 840 }
845 browser = NULL; 841 browser = CreateRestoredBrowser(
846 #if defined(OS_WIN) 842 static_cast<Browser::Type>((*i)->type),
847 if (win8::IsSingleWindowMetroMode()) { 843 (*i)->bounds,
848 // We don't want to add tabs to the off the record browser. 844 show_state,
849 if (browser_ && !browser_->profile()->IsOffTheRecord()) { 845 (*i)->app_name);
850 browser = browser_;
851 } else {
852 browser = last_browser;
853 // last_browser should never be off the record either.
854 // We don't set browser higher above when browser_ is offtherecord,
855 // and CreateRestoredBrowser below, is never created offtherecord.
856 DCHECK(!browser || !browser->profile()->IsOffTheRecord());
857 }
858 // Metro should only have tabbed browsers.
859 // It never creates any non-tabbed browser, and thus should never
860 // restore non-tabbed items...
861 DCHECK(!browser || browser->is_type_tabbed());
862 DCHECK((*i)->type == Browser::TYPE_TABBED);
863 }
864 #endif
865 if (!browser) {
866 browser = CreateRestoredBrowser(
867 static_cast<Browser::Type>((*i)->type),
868 (*i)->bounds,
869 show_state,
870 (*i)->app_name);
871 }
872 #if defined(OS_CHROMEOS) 846 #if defined(OS_CHROMEOS)
873 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( 847 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker(
874 "SessionRestore-CreateRestoredBrowser-End", false); 848 "SessionRestore-CreateRestoredBrowser-End", false);
875 #endif 849 #endif
876 } 850 }
877 if ((*i)->type == Browser::TYPE_TABBED) 851 if ((*i)->type == Browser::TYPE_TABBED)
878 last_browser = browser; 852 last_browser = browser;
879 WebContents* active_tab = 853 WebContents* active_tab =
880 browser->tab_strip_model()->GetActiveWebContents(); 854 browser->tab_strip_model()->GetActiveWebContents();
881 int initial_tab_count = browser->tab_strip_model()->count(); 855 int initial_tab_count = browser->tab_strip_model()->count();
882 bool close_active_tab = clobber_existing_tab_ && 856 bool close_active_tab = clobber_existing_tab_ &&
883 i == windows->begin() && 857 i == windows->begin() &&
884 (*i)->type == Browser::TYPE_TABBED && 858 (*i)->type == Browser::TYPE_TABBED &&
(...skipping 26 matching lines...) Expand all
911 885
912 if (browser_to_activate && browser_to_activate->is_type_tabbed()) 886 if (browser_to_activate && browser_to_activate->is_type_tabbed())
913 last_browser = browser_to_activate; 887 last_browser = browser_to_activate;
914 888
915 if (last_browser && !urls_to_open_.empty()) 889 if (last_browser && !urls_to_open_.empty())
916 AppendURLsToBrowser(last_browser, urls_to_open_); 890 AppendURLsToBrowser(last_browser, urls_to_open_);
917 #if defined(OS_CHROMEOS) 891 #if defined(OS_CHROMEOS)
918 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( 892 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker(
919 "SessionRestore-CreatingTabs-End", false); 893 "SessionRestore-CreatingTabs-End", false);
920 #endif 894 #endif
921 if (browser_to_activate) { 895 if (browser_to_activate)
922 browser_to_activate->window()->Activate(); 896 browser_to_activate->window()->Activate();
923 #if defined(OS_WIN)
924 // On Win8 Metro, we merge all browsers together, so if we need to
925 // activate one of the previously separated window, we need to activate
926 // the tab. Also, selected_tab_to_activate can be -1 if we clobbered the
927 // tab that would have been activated.
928 // In that case we'll leave activation to last tab.
929 // The only current usage of clobber is for crash recovery, so it's fine.
930 if (win8::IsSingleWindowMetroMode() && selected_tab_to_activate != -1)
931 ShowBrowser(browser_to_activate, selected_tab_to_activate);
932 #endif
933 }
934 897
935 // If last_browser is NULL and urls_to_open_ is non-empty, 898 // If last_browser is NULL and urls_to_open_ is non-empty,
936 // FinishedTabCreation will create a new TabbedBrowser and add the urls to 899 // FinishedTabCreation will create a new TabbedBrowser and add the urls to
937 // it. 900 // it.
938 Browser* finished_browser = FinishedTabCreation(true, has_tabbed_browser); 901 Browser* finished_browser = FinishedTabCreation(true, has_tabbed_browser);
939 if (finished_browser) 902 if (finished_browser)
940 last_browser = finished_browser; 903 last_browser = finished_browser;
941 904
942 // sessionStorages needed for the session restore have now been recreated 905 // sessionStorages needed for the session restore have now been recreated
943 // by RestoreTab. Now it's safe for the DOM storage system to start 906 // by RestoreTab. Now it's safe for the DOM storage system to start
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
1272 if (!active_session_restorers) 1235 if (!active_session_restorers)
1273 return false; 1236 return false;
1274 for (std::set<SessionRestoreImpl*>::const_iterator it = 1237 for (std::set<SessionRestoreImpl*>::const_iterator it =
1275 active_session_restorers->begin(); 1238 active_session_restorers->begin();
1276 it != active_session_restorers->end(); ++it) { 1239 it != active_session_restorers->end(); ++it) {
1277 if ((*it)->synchronous()) 1240 if ((*it)->synchronous())
1278 return true; 1241 return true;
1279 } 1242 }
1280 return false; 1243 return false;
1281 } 1244 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698