Changeset 242677 in webkit
- Timestamp:
- Mar 9, 2019, 7:26:10 PM (7 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
page/DOMWindow.cpp (modified) (3 diffs)
-
page/DOMWindow.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r242676 r242677 1 2019-03-09 Chris Dumez <cdumez@apple.com> 2 3 Add assertions to help debug crash under DOMWindowExtension::suspendForPageCache() 4 https://bugs.webkit.org/show_bug.cgi?id=195488 5 6 Reviewed by Ryosuke Niwa. 7 8 Try and figure out how the document can be detached from its frame while we're suspending 9 DOMWindowExtensions. 10 11 * page/DOMWindow.cpp: 12 (WebCore::DOMWindow::willDetachDocumentFromFrame): 13 (WebCore::DOMWindow::suspendForPageCache): 14 * page/DOMWindow.h: 15 1 16 2019-03-09 Chris Dumez <cdumez@apple.com> 2 17 -
trunk/Source/WebCore/page/DOMWindow.cpp
r242676 r242677 120 120 #include <wtf/NeverDestroyed.h> 121 121 #include <wtf/Ref.h> 122 #include <wtf/SetForScope.h> 122 123 #include <wtf/Variant.h> 123 124 #include <wtf/text/WTFString.h> … … 474 475 return; 475 476 477 RELEASE_ASSERT(!m_isSuspendingObservers); 478 476 479 // It is necessary to copy m_observers to a separate vector because the Observer may 477 480 // unregister themselves from the DOMWindow as a result of the call to willDetachGlobalObjectFromFrame. … … 522 525 void DOMWindow::suspendForPageCache() 523 526 { 527 SetForScope<bool> isSuspendingObservers(m_isSuspendingObservers, true); 528 RELEASE_ASSERT(frame()); 529 524 530 for (auto* observer : copyToVector(m_observers)) { 525 531 if (m_observers.contains(observer)) 526 532 observer->suspendForPageCache(); 527 533 } 534 RELEASE_ASSERT(frame()); 528 535 529 536 m_suspendedForDocumentSuspension = true; -
trunk/Source/WebCore/page/DOMWindow.h
r242676 r242677 394 394 bool m_shouldPrintWhenFinishedLoading { false }; 395 395 bool m_suspendedForDocumentSuspension { false }; 396 bool m_isSuspendingObservers { false }; 396 397 Optional<bool> m_canShowModalDialogOverride; 397 398
Note:
See TracChangeset
for help on using the changeset viewer.