Index: content/shell/renderer/test_runner/gamepad_controller.cc |
diff --git a/content/shell/renderer/test_runner/gamepad_controller.cc b/content/shell/renderer/test_runner/gamepad_controller.cc |
deleted file mode 100644 |
index c3ecd407b4c66bf30092eb496f6ec329af868920..0000000000000000000000000000000000000000 |
--- a/content/shell/renderer/test_runner/gamepad_controller.cc |
+++ /dev/null |
@@ -1,249 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "content/shell/renderer/test_runner/gamepad_controller.h" |
- |
-#include "content/shell/renderer/test_runner/web_test_delegate.h" |
-#include "gin/arguments.h" |
-#include "gin/handle.h" |
-#include "gin/object_template_builder.h" |
-#include "gin/wrappable.h" |
-#include "third_party/WebKit/public/platform/WebGamepadListener.h" |
-#include "third_party/WebKit/public/web/WebFrame.h" |
-#include "third_party/WebKit/public/web/WebKit.h" |
-#include "v8/include/v8.h" |
- |
-using blink::WebFrame; |
-using blink::WebGamepad; |
-using blink::WebGamepads; |
- |
-namespace content { |
- |
-class GamepadControllerBindings |
- : public gin::Wrappable<GamepadControllerBindings> { |
- public: |
- static gin::WrapperInfo kWrapperInfo; |
- |
- static void Install(base::WeakPtr<GamepadController> controller, |
- blink::WebFrame* frame); |
- |
- private: |
- explicit GamepadControllerBindings( |
- base::WeakPtr<GamepadController> controller); |
- ~GamepadControllerBindings() override; |
- |
- // gin::Wrappable. |
- gin::ObjectTemplateBuilder GetObjectTemplateBuilder( |
- v8::Isolate* isolate) override; |
- |
- void Connect(int index); |
- void DispatchConnected(int index); |
- void Disconnect(int index); |
- void SetId(int index, const std::string& src); |
- void SetButtonCount(int index, int buttons); |
- void SetButtonData(int index, int button, double data); |
- void SetAxisCount(int index, int axes); |
- void SetAxisData(int index, int axis, double data); |
- |
- base::WeakPtr<GamepadController> controller_; |
- |
- DISALLOW_COPY_AND_ASSIGN(GamepadControllerBindings); |
-}; |
- |
-gin::WrapperInfo GamepadControllerBindings::kWrapperInfo = { |
- gin::kEmbedderNativeGin}; |
- |
-// static |
-void GamepadControllerBindings::Install( |
- base::WeakPtr<GamepadController> controller, |
- WebFrame* frame) { |
- v8::Isolate* isolate = blink::mainThreadIsolate(); |
- v8::HandleScope handle_scope(isolate); |
- v8::Local<v8::Context> context = frame->mainWorldScriptContext(); |
- if (context.IsEmpty()) |
- return; |
- |
- v8::Context::Scope context_scope(context); |
- |
- gin::Handle<GamepadControllerBindings> bindings = |
- gin::CreateHandle(isolate, new GamepadControllerBindings(controller)); |
- if (bindings.IsEmpty()) |
- return; |
- v8::Local<v8::Object> global = context->Global(); |
- global->Set(gin::StringToV8(isolate, "gamepadController"), bindings.ToV8()); |
-} |
- |
-GamepadControllerBindings::GamepadControllerBindings( |
- base::WeakPtr<GamepadController> controller) |
- : controller_(controller) {} |
- |
-GamepadControllerBindings::~GamepadControllerBindings() {} |
- |
-gin::ObjectTemplateBuilder GamepadControllerBindings::GetObjectTemplateBuilder( |
- v8::Isolate* isolate) { |
- return gin::Wrappable<GamepadControllerBindings>::GetObjectTemplateBuilder( |
- isolate) |
- .SetMethod("connect", &GamepadControllerBindings::Connect) |
- .SetMethod("dispatchConnected", &GamepadControllerBindings::DispatchConnected) |
- .SetMethod("disconnect", &GamepadControllerBindings::Disconnect) |
- .SetMethod("setId", &GamepadControllerBindings::SetId) |
- .SetMethod("setButtonCount", &GamepadControllerBindings::SetButtonCount) |
- .SetMethod("setButtonData", &GamepadControllerBindings::SetButtonData) |
- .SetMethod("setAxisCount", &GamepadControllerBindings::SetAxisCount) |
- .SetMethod("setAxisData", &GamepadControllerBindings::SetAxisData); |
-} |
- |
-void GamepadControllerBindings::Connect(int index) { |
- if (controller_) |
- controller_->Connect(index); |
-} |
- |
-void GamepadControllerBindings::DispatchConnected(int index) { |
- if (controller_) |
- controller_->DispatchConnected(index); |
-} |
- |
-void GamepadControllerBindings::Disconnect(int index) { |
- if (controller_) |
- controller_->Disconnect(index); |
-} |
- |
-void GamepadControllerBindings::SetId(int index, const std::string& src) { |
- if (controller_) |
- controller_->SetId(index, src); |
-} |
- |
-void GamepadControllerBindings::SetButtonCount(int index, int buttons) { |
- if (controller_) |
- controller_->SetButtonCount(index, buttons); |
-} |
- |
-void GamepadControllerBindings::SetButtonData(int index, |
- int button, |
- double data) { |
- if (controller_) |
- controller_->SetButtonData(index, button, data); |
-} |
- |
-void GamepadControllerBindings::SetAxisCount(int index, int axes) { |
- if (controller_) |
- controller_->SetAxisCount(index, axes); |
-} |
- |
-void GamepadControllerBindings::SetAxisData(int index, int axis, double data) { |
- if (controller_) |
- controller_->SetAxisData(index, axis, data); |
-} |
- |
-// static |
-base::WeakPtr<GamepadController> GamepadController::Create( |
- WebTestDelegate* delegate) { |
- CHECK(delegate); |
- |
- GamepadController* controller = new GamepadController(); |
- delegate->SetGamepadProvider(controller); |
- return controller->weak_factory_.GetWeakPtr(); |
-} |
- |
-GamepadController::GamepadController() |
- : listener_(nullptr), weak_factory_(this) { |
- Reset(); |
-} |
- |
-GamepadController::~GamepadController() { |
-} |
- |
-void GamepadController::Reset() { |
- memset(&gamepads_, 0, sizeof(gamepads_)); |
-} |
- |
-void GamepadController::Install(WebFrame* frame) { |
- GamepadControllerBindings::Install(weak_factory_.GetWeakPtr(), frame); |
-} |
- |
-void GamepadController::SampleGamepads(blink::WebGamepads& gamepads) { |
- memcpy(&gamepads, &gamepads_, sizeof(blink::WebGamepads)); |
-} |
- |
-void GamepadController::SetListener(blink::WebGamepadListener* listener) { |
- listener_ = listener; |
-} |
- |
-void GamepadController::Connect(int index) { |
- if (index < 0 || index >= static_cast<int>(WebGamepads::itemsLengthCap)) |
- return; |
- gamepads_.items[index].connected = true; |
- gamepads_.length = 0; |
- for (unsigned i = 0; i < WebGamepads::itemsLengthCap; ++i) { |
- if (gamepads_.items[i].connected) |
- gamepads_.length = i + 1; |
- } |
-} |
- |
-void GamepadController::DispatchConnected(int index) { |
- if (index < 0 || index >= static_cast<int>(WebGamepads::itemsLengthCap) |
- || !gamepads_.items[index].connected) |
- return; |
- const WebGamepad& pad = gamepads_.items[index]; |
- if (listener_) |
- listener_->didConnectGamepad(index, pad); |
-} |
- |
-void GamepadController::Disconnect(int index) { |
- if (index < 0 || index >= static_cast<int>(WebGamepads::itemsLengthCap)) |
- return; |
- WebGamepad& pad = gamepads_.items[index]; |
- pad.connected = false; |
- gamepads_.length = 0; |
- for (unsigned i = 0; i < WebGamepads::itemsLengthCap; ++i) { |
- if (gamepads_.items[i].connected) |
- gamepads_.length = i + 1; |
- } |
- if (listener_) |
- listener_->didDisconnectGamepad(index, pad); |
-} |
- |
-void GamepadController::SetId(int index, const std::string& src) { |
- if (index < 0 || index >= static_cast<int>(WebGamepads::itemsLengthCap)) |
- return; |
- const char* p = src.c_str(); |
- memset(gamepads_.items[index].id, 0, sizeof(gamepads_.items[index].id)); |
- for (unsigned i = 0; *p && i < WebGamepad::idLengthCap - 1; ++i) |
- gamepads_.items[index].id[i] = *p++; |
-} |
- |
-void GamepadController::SetButtonCount(int index, int buttons) { |
- if (index < 0 || index >= static_cast<int>(WebGamepads::itemsLengthCap)) |
- return; |
- if (buttons < 0 || buttons >= static_cast<int>(WebGamepad::buttonsLengthCap)) |
- return; |
- gamepads_.items[index].buttonsLength = buttons; |
-} |
- |
-void GamepadController::SetButtonData(int index, int button, double data) { |
- if (index < 0 || index >= static_cast<int>(WebGamepads::itemsLengthCap)) |
- return; |
- if (button < 0 || button >= static_cast<int>(WebGamepad::buttonsLengthCap)) |
- return; |
- gamepads_.items[index].buttons[button].value = data; |
- gamepads_.items[index].buttons[button].pressed = data > 0.1f; |
-} |
- |
-void GamepadController::SetAxisCount(int index, int axes) { |
- if (index < 0 || index >= static_cast<int>(WebGamepads::itemsLengthCap)) |
- return; |
- if (axes < 0 || axes >= static_cast<int>(WebGamepad::axesLengthCap)) |
- return; |
- gamepads_.items[index].axesLength = axes; |
-} |
- |
-void GamepadController::SetAxisData(int index, int axis, double data) { |
- if (index < 0 || index >= static_cast<int>(WebGamepads::itemsLengthCap)) |
- return; |
- if (axis < 0 || axis >= static_cast<int>(WebGamepad::axesLengthCap)) |
- return; |
- gamepads_.items[index].axes[axis] = data; |
-} |
- |
-} // namespace content |