| Index: chrome/browser/sessions/base_session_service.cc
|
| diff --git a/chrome/browser/sessions/base_session_service.cc b/chrome/browser/sessions/base_session_service.cc
|
| index f06a79cec38c02646d34ac6ae9bf1da50f7734b7..7948d1318b636ef947780519f5a7ec7421e10276 100644
|
| --- a/chrome/browser/sessions/base_session_service.cc
|
| +++ b/chrome/browser/sessions/base_session_service.cc
|
| @@ -14,6 +14,7 @@
|
| #include "chrome/browser/sessions/session_backend.h"
|
| #include "chrome/browser/sessions/session_types.h"
|
| #include "chrome/common/chrome_switches.h"
|
| +#include "chrome/common/url_constants.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/navigation_entry.h"
|
| #include "content/public/common/referrer.h"
|
| @@ -264,7 +265,11 @@ bool BaseSessionService::RestoreSetWindowAppNameCommand(
|
| }
|
|
|
| bool BaseSessionService::ShouldTrackEntry(const GURL& url) {
|
| - return url.is_valid();
|
| + // Blacklist chrome://quit and chrome://restart to avoid quit or restart
|
| + // loops.
|
| + return url.is_valid() && !(url.SchemeIs(chrome::kChromeUIScheme) &&
|
| + (url.host() == chrome::kChromeUIQuitHost ||
|
| + url.host() == chrome::kChromeUIRestartHost));
|
| }
|
|
|
| CancelableTaskTracker::TaskId
|
|
|