| Index: third_party/WebKit/Source/core/events/EventTarget.cpp
|
| diff --git a/third_party/WebKit/Source/core/events/EventTarget.cpp b/third_party/WebKit/Source/core/events/EventTarget.cpp
|
| index c3d395b70091abac31014faee6c00a895e1481b3..97d112492da1a432c0c20e96f7ef7dc5bb20ba4c 100644
|
| --- a/third_party/WebKit/Source/core/events/EventTarget.cpp
|
| +++ b/third_party/WebKit/Source/core/events/EventTarget.cpp
|
| @@ -427,10 +427,14 @@ EventListener* EventTarget::GetAttributeEventListener(
|
| if (!listener_vector)
|
| return nullptr;
|
|
|
| + // The current-world accessibiliy check has a corner
|
| + // case which depends on knowing whether we're in
|
| + // a document parsing context or not.
|
| + Node* this_node = ToNode();
|
| + Document* document = this_node ? &this_node->GetDocument() : nullptr;
|
| for (auto& event_listener : *listener_vector) {
|
| EventListener* listener = event_listener.Listener();
|
| - if (listener->IsAttribute() &&
|
| - listener->BelongsToTheCurrentWorld(GetExecutionContext()))
|
| + if (listener->IsAttribute() && listener->BelongsToTheCurrentWorld(document))
|
| return listener;
|
| }
|
| return nullptr;
|
|
|