Split gamepad provider from test runner controller

This is to remove dependencies from test runner on content

BUG=478250
[email protected]

Review URL: https://codereview.chromium.org/1133753003

Cr-Commit-Position: refs/heads/master@{#329769}
diff --git a/content/shell/renderer/test_runner/gamepad_controller.h b/content/shell/renderer/test_runner/gamepad_controller.h
index bd3edbb..ac4fbea 100644
--- a/content/shell/renderer/test_runner/gamepad_controller.h
+++ b/content/shell/renderer/test_runner/gamepad_controller.h
@@ -8,7 +8,6 @@
 #include <map>
 
 #include "base/memory/weak_ptr.h"
-#include "content/public/renderer/renderer_gamepad_provider.h"
 #include "third_party/WebKit/public/platform/WebGamepads.h"
 
 namespace blink {
@@ -20,21 +19,16 @@
 
 class WebTestDelegate;
 
-class GamepadController
-    : public base::SupportsWeakPtr<GamepadController>,
-      public RendererGamepadProvider {
+class GamepadController : public base::SupportsWeakPtr<GamepadController> {
  public:
   static base::WeakPtr<GamepadController> Create(WebTestDelegate* delegate);
-  ~GamepadController() override;
+  ~GamepadController();
 
   void Reset();
   void Install(blink::WebFrame* frame);
 
-  // RendererGamepadProvider implementation.
-  void SampleGamepads(blink::WebGamepads& gamepads) override;
-  bool OnControlMessageReceived(const IPC::Message& msg) override;
-  void SendStartMessage() override;
-  void SendStopMessage() override;
+  void SampleGamepads(blink::WebGamepads& gamepads);
+  void SetListener(blink::WebGamepadListener* listener);
 
  private:
   friend class GamepadControllerBindings;
@@ -56,6 +50,8 @@
   void SetAxisCount(int index, int axes);
   void SetAxisData(int index, int axis, double data);
 
+  blink::WebGamepadListener* listener_;
+
   blink::WebGamepads gamepads_;
 
   // Mapping from gamepad index to connection state.