Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |
| 5 * (http://www.torchmobile.com/) | 5 * (http://www.torchmobile.com/) |
| 6 * Copyright (C) 2009 Adam Barth. All rights reserved. | 6 * Copyright (C) 2009 Adam Barth. All rights reserved. |
| 7 * | 7 * |
| 8 * Redistribution and use in source and binary forms, with or without | 8 * Redistribution and use in source and binary forms, with or without |
| 9 * modification, are permitted provided that the following conditions | 9 * modification, are permitted provided that the following conditions |
| 10 * are met: | 10 * are met: |
| (...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 500 if (!frame_->Loader().StateMachine()->CommittedFirstRealDocumentLoad() && | 500 if (!frame_->Loader().StateMachine()->CommittedFirstRealDocumentLoad() && |
| 501 frame_->Loader().ProvisionalDocumentLoader() && | 501 frame_->Loader().ProvisionalDocumentLoader() && |
| 502 frame_->Loader().ProvisionalDocumentLoader()->DidStart()) { | 502 frame_->Loader().ProvisionalDocumentLoader()->DidStart()) { |
| 503 frame_->Loader().StopAllLoaders(); | 503 frame_->Loader().StopAllLoaders(); |
| 504 if (!frame_->GetPage()) | 504 if (!frame_->GetPage()) |
| 505 return; | 505 return; |
| 506 } | 506 } |
| 507 | 507 |
| 508 Cancel(); | 508 Cancel(); |
| 509 redirect_ = redirect; | 509 redirect_ = redirect; |
| 510 if (redirect_->IsLocationChange()) | |
| 511 frame_->GetDocument()->SuppressLoadEvent(); | |
|
Nate Chapin
2017/04/11 23:25:50
Instead of the early-exit in Document::ImplicitClo
| |
| 510 StartTimer(); | 512 StartTimer(); |
| 511 } | 513 } |
| 512 | 514 |
| 513 void NavigationScheduler::StartTimer() { | 515 void NavigationScheduler::StartTimer() { |
| 514 if (!redirect_) | 516 if (!redirect_) |
| 515 return; | 517 return; |
| 516 | 518 |
| 517 DCHECK(frame_->GetPage()); | 519 DCHECK(frame_->GetPage()); |
| 518 if (navigate_task_handle_.IsActive()) | 520 if (navigate_task_handle_.IsActive()) |
| 519 return; | 521 return; |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 544 navigate_task_handle_.Cancel(); | 546 navigate_task_handle_.Cancel(); |
| 545 redirect_.Clear(); | 547 redirect_.Clear(); |
| 546 } | 548 } |
| 547 | 549 |
| 548 DEFINE_TRACE(NavigationScheduler) { | 550 DEFINE_TRACE(NavigationScheduler) { |
| 549 visitor->Trace(frame_); | 551 visitor->Trace(frame_); |
| 550 visitor->Trace(redirect_); | 552 visitor->Trace(redirect_); |
| 551 } | 553 } |
| 552 | 554 |
| 553 } // namespace blink | 555 } // namespace blink |
| OLD | NEW |