DescriptionDo not (re)start NavigatorGamepad updating once detached.
Following r187750, NavigatorGamepad uses DOMWindowProperty::frame()
to access its window and document, dispatching and handling events
via those when activated and receiving platform event updates.
With Oilpan enabled, a DOMWindowProperty instance will be informed
of frame & document detachment via willDetachGlobalObjectFromFrame(),
with the frame remaining alive until the next GC sweep. Without
Oilpan, frame destruction is synchronous.
Consequently, a NavigatorGamepad with a now-detached frame() should
not reactivate itself, as the weak frame() reference will become
null once the next GC has struck. NavigatorGamepad relies on
frame() being non-null when activated.
Insist on the frame being non-detached to (re)activate. The
difference in behavior from the previous check is only observable
with Oilpan enabled, hence no need to make it suitably conditional.
R=haraken
BUG=340522
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=187811
Patch Set 1 #Patch Set 2 : Simply refuse to (re)start updating when detached #Messages
Total messages: 6 (2 generated)
|