| Index: chrome/browser/chromeos/login/merge_session_throttle.cc
|
| diff --git a/chrome/browser/chromeos/login/merge_session_throttle.cc b/chrome/browser/chromeos/login/merge_session_throttle.cc
|
| index a77892a36c17049c0e64bf994a98a450eb7a1380..85f5d9928ecda4b7bfeec70ea8601ed01a30091c 100644
|
| --- a/chrome/browser/chromeos/login/merge_session_throttle.cc
|
| +++ b/chrome/browser/chromeos/login/merge_session_throttle.cc
|
| @@ -29,6 +29,8 @@ using content::WebContents;
|
|
|
| namespace {
|
|
|
| +const int kSessionThrottleWindowInSeconds = 10;
|
| +
|
| void ShowDeleayedLoadingPage(
|
| int render_process_id,
|
| int render_view_id,
|
| @@ -69,10 +71,11 @@ MergeSessionThrottle::~MergeSessionThrottle() {
|
| }
|
|
|
| void MergeSessionThrottle::WillStartRequest(bool* defer) {
|
| - if (!ShouldShowMergeSessionPage(request_->url()))
|
| + if (!ShouldShowMergeSessionPage(request_->url())) {
|
| return;
|
| + }
|
|
|
| - DVLOG(1) << "WillStartRequest: url=" << request_->url();
|
| + DVLOG(1) << "WillStartRequest: defer " << request_->url();
|
| BrowserThread::PostTask(
|
| BrowserThread::UI,
|
| FROM_HERE,
|
| @@ -95,9 +98,13 @@ void MergeSessionThrottle::OnBlockingPageComplete() {
|
| bool MergeSessionThrottle::ShouldShowMergeSessionPage(const GURL& url) const {
|
| // If we are loading google properties while merge session is in progress,
|
| // we will show delayed loading page instead.
|
| + chromeos::UserManager* manager = chromeos::UserManager::Get();
|
| + int64 session_duration = manager->GetSessionDurationInSeconds();
|
| return !net::NetworkChangeNotifier::IsOffline() &&
|
| - chromeos::UserManager::Get()->GetMergeSessionState() ==
|
| + manager->GetMergeSessionState() ==
|
| chromeos::UserManager::MERGE_STATUS_IN_PROCESS &&
|
| - google_util::IsGoogleHostname(url.host(),
|
| - google_util::ALLOW_SUBDOMAIN);
|
| + session_duration >= 0 &&
|
| + session_duration < kSessionThrottleWindowInSeconds &&
|
| + google_util::IsGoogleHostname(url.host(),
|
| + google_util::ALLOW_SUBDOMAIN);
|
| }
|
|
|