summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/display_lock/display_lock_document_state.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/display_lock/display_lock_document_state.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/display_lock/display_lock_document_state.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/chromium/third_party/blink/renderer/core/display_lock/display_lock_document_state.cc b/chromium/third_party/blink/renderer/core/display_lock/display_lock_document_state.cc
index 9aa3952d054..54eb5ac5601 100644
--- a/chromium/third_party/blink/renderer/core/display_lock/display_lock_document_state.cc
+++ b/chromium/third_party/blink/renderer/core/display_lock/display_lock_document_state.cc
@@ -222,8 +222,17 @@ DisplayLockDocumentState::ScopedForceActivatableDisplayLocks::
ScopedForceActivatableDisplayLocks(DisplayLockDocumentState* state)
: state_(state) {
if (++state_->activatable_display_locks_forced_ == 1) {
- for (auto context : state_->display_lock_contexts_)
- context->DidForceActivatableDisplayLocks();
+ for (auto context : state_->display_lock_contexts_) {
+ if (context->HasElement()) {
+ context->DidForceActivatableDisplayLocks();
+ } else {
+ NOTREACHED()
+ << "The DisplayLockContext's element has been garbage collected or"
+ << " otherwise deleted, but the DisplayLockContext is still alive!"
+ << " This shouldn't happen and could cause a crash. See"
+ << " crbug.com/1230206";
+ }
+ }
}
}