Chromium Code Reviews| Index: third_party/WebKit/Source/modules/gamepad/NavigatorGamepad.cpp |
| diff --git a/third_party/WebKit/Source/modules/gamepad/NavigatorGamepad.cpp b/third_party/WebKit/Source/modules/gamepad/NavigatorGamepad.cpp |
| index e148ac8cd68c293cec89db3a426e439f5b04f3f3..81aa202deefbf59d049b085d8eca65251d3d52ef 100644 |
| --- a/third_party/WebKit/Source/modules/gamepad/NavigatorGamepad.cpp |
| +++ b/third_party/WebKit/Source/modules/gamepad/NavigatorGamepad.cpp |
| @@ -82,7 +82,7 @@ NavigatorGamepad& NavigatorGamepad::from(Navigator& navigator) { |
| NavigatorGamepad* supplement = static_cast<NavigatorGamepad*>( |
| Supplement<Navigator>::from(navigator, supplementName())); |
| if (!supplement) { |
| - supplement = new NavigatorGamepad(navigator.frame()); |
| + supplement = new NavigatorGamepad(navigator); |
| provideTo(navigator, supplementName(), supplement); |
| } |
| return *supplement; |
| @@ -166,14 +166,16 @@ void NavigatorGamepad::dispatchOneEvent() { |
| m_dispatchOneEventRunner->runAsync(); |
| } |
| -NavigatorGamepad::NavigatorGamepad(LocalFrame* frame) |
| - : ContextLifecycleObserver(frame->document()), |
| - PlatformEventController(frame ? frame->page() : 0), |
| +NavigatorGamepad::NavigatorGamepad(Navigator& navigator) |
| + : Supplement<Navigator>(navigator), |
| + ContextLifecycleObserver(navigator.frame()->document()), |
|
sof
2017/01/23 08:05:31
ftr, crbug.com/683520 suggests that there's a miss
|
| + PlatformEventController(navigator.frame() ? navigator.frame()->page() |
| + : 0), |
| m_dispatchOneEventRunner(AsyncMethodRunner<NavigatorGamepad>::create( |
| this, |
| &NavigatorGamepad::dispatchOneEvent)) { |
| - if (frame) |
| - frame->domWindow()->registerEventListenerObserver(this); |
| + if (navigator.frame()) |
| + navigator.frame()->domWindow()->registerEventListenerObserver(this); |
| } |
| NavigatorGamepad::~NavigatorGamepad() {} |