Index: chrome/browser/sessions/session_restore.cc |
diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc |
index f44a89f8cfa46d721b628544054fcd24013d760a..19b1e539062e8d8c959dd01f6a926b0ea4b54bc0 100644 |
--- a/chrome/browser/sessions/session_restore.cc |
+++ b/chrome/browser/sessions/session_restore.cc |
@@ -1067,8 +1067,16 @@ class SessionRestoreImpl : public content::NotificationObserver { |
ui::WindowShowState show_state, |
const std::string& app_name) { |
Browser::CreateParams params(type, profile_, host_desktop_type_); |
- params.app_name = app_name; |
- params.initial_bounds = bounds; |
+ if (!app_name.empty()) { |
+ if (type == Browser::TYPE_TABBED) { |
+ LOG(ERROR) << "Unexpected restore type in SessionRestore"; |
+ type = Browser::TYPE_TRUSTED_POPUP; |
+ } |
+ params = Browser::CreateParams::CreateForApp( |
+ type, app_name, bounds, profile_, host_desktop_type_); |
+ } else { |
+ params.initial_bounds = bounds; |
+ } |
params.initial_show_state = show_state; |
params.is_session_restore = true; |
return new Browser(params); |