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

Side by Side Diff: Source/core/loader/FrameLoader.cpp

Issue 625583002: Properly suspend HTMLDocumentParser (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 6 years 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv ed. 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv ed.
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. (http://www.t orchmobile.com/) 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com>
6 * Copyright (C) Research In Motion Limited 2009. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2009. All rights reserved.
7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com> 7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com>
8 * Copyright (C) 2011 Google Inc. All rights reserved. 8 * Copyright (C) 2011 Google Inc. All rights reserved.
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 159
160 void FrameLoader::setDefersLoading(bool defers) 160 void FrameLoader::setDefersLoading(bool defers)
161 { 161 {
162 if (m_documentLoader) 162 if (m_documentLoader)
163 m_documentLoader->setDefersLoading(defers); 163 m_documentLoader->setDefersLoading(defers);
164 if (m_provisionalDocumentLoader) 164 if (m_provisionalDocumentLoader)
165 m_provisionalDocumentLoader->setDefersLoading(defers); 165 m_provisionalDocumentLoader->setDefersLoading(defers);
166 if (m_policyDocumentLoader) 166 if (m_policyDocumentLoader)
167 m_policyDocumentLoader->setDefersLoading(defers); 167 m_policyDocumentLoader->setDefersLoading(defers);
168 168
169 if (Document* document = m_frame->document()) {
170 if (defers)
171 document->suspendScheduledTasks();
172 else
173 document->resumeScheduledTasks();
174 }
175
169 if (!defers) { 176 if (!defers) {
170 if (m_deferredHistoryLoad.isValid()) { 177 if (m_deferredHistoryLoad.isValid()) {
171 loadHistoryItem(m_deferredHistoryLoad.m_item.get(), FrameLoadTypeBac kForward, 178 loadHistoryItem(m_deferredHistoryLoad.m_item.get(), FrameLoadTypeBac kForward,
172 m_deferredHistoryLoad.m_type, m_deferredHistoryLoad.m_cachePolic y); 179 m_deferredHistoryLoad.m_type, m_deferredHistoryLoad.m_cachePolic y);
173 m_deferredHistoryLoad = DeferredHistoryLoad(); 180 m_deferredHistoryLoad = DeferredHistoryLoad();
174 } 181 }
175 m_frame->navigationScheduler().startTimer(); 182 m_frame->navigationScheduler().startTimer();
176 scheduleCheckCompleted(); 183 scheduleCheckCompleted();
177 } 184 }
178 } 185 }
(...skipping 1277 matching lines...) Expand 10 before | Expand all | Expand 10 after
1456 // FIXME: We need a way to propagate sandbox flags to out-of-process frames. 1463 // FIXME: We need a way to propagate sandbox flags to out-of-process frames.
1457 Frame* parentFrame = m_frame->tree().parent(); 1464 Frame* parentFrame = m_frame->tree().parent();
1458 if (parentFrame && parentFrame->isLocalFrame()) 1465 if (parentFrame && parentFrame->isLocalFrame())
1459 flags |= toLocalFrame(parentFrame)->document()->sandboxFlags(); 1466 flags |= toLocalFrame(parentFrame)->document()->sandboxFlags();
1460 if (FrameOwner* frameOwner = m_frame->owner()) 1467 if (FrameOwner* frameOwner = m_frame->owner())
1461 flags |= frameOwner->sandboxFlags(); 1468 flags |= frameOwner->sandboxFlags();
1462 return flags; 1469 return flags;
1463 } 1470 }
1464 1471
1465 } // namespace blink 1472 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/html/parser/HTMLParserScheduler.cpp ('k') | Source/core/page/ScopedPageLoadDeferrer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698