| // Copyright (c) 2012 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. |
| |
| var testRunner = testRunner || {}; |
| var accessibilityController = accessibilityController || {}; |
| var gamepadController = gamepadController || {}; |
| var eventSender = eventSender || {}; |
| var textInputController = textInputController || {}; |
| |
| (function() { |
| native function GetWorkerThreadCount(); |
| native function NotifyDone(); |
| native function OverridePreference(); |
| native function SetDumpAsText(); |
| native function SetDumpChildFramesAsText(); |
| native function SetPrinting(); |
| native function SetShouldStayOnPageAfterHandlingBeforeUnload(); |
| native function SetWaitUntilDone(); |
| |
| native function NotImplemented(); |
| |
| var DefaultHandler = function(name) { |
| var handler = { |
| get: function(receiver, property) { |
| NotImplemented(name, property); |
| return function() {} |
| } |
| } |
| return Proxy.create(handler); |
| } |
| |
| var TestRunner = function() { |
| Object.defineProperty(this, |
| "workerThreadCount", |
| {value: GetWorkerThreadCount}); |
| Object.defineProperty(this, |
| "overridePreference", |
| {value: OverridePreference}); |
| Object.defineProperty(this, "notifyDone", {value: NotifyDone}); |
| Object.defineProperty(this, "dumpAsText", {value: SetDumpAsText}); |
| Object.defineProperty(this, |
| "dumpChildFramesAsText", |
| {value: SetDumpChildFramesAsText}); |
| Object.defineProperty(this, "setPrinting", {value: SetPrinting}); |
| Object.defineProperty( |
| this, |
| "setShouldStayOnPageAfterHandlingBeforeUnload", |
| {value: SetShouldStayOnPageAfterHandlingBeforeUnload}); |
| Object.defineProperty(this, "waitUntilDone", {value: SetWaitUntilDone}); |
| } |
| TestRunner.prototype = DefaultHandler("testRunner"); |
| testRunner = new TestRunner(); |
| |
| var AccessibilityController = function() {} |
| AccessibilityController.prototype = DefaultHandler("accessibilityController"); |
| accessibilityController = new AccessibilityController(); |
| |
| var GamepadController = function() {} |
| GamepadController.prototype = DefaultHandler("gamepadController"); |
| gamepadController = new GamepadController(); |
| |
| var EventSender = function() {} |
| EventSender.prototype = DefaultHandler("eventSender"); |
| eventSender = new EventSender(); |
| |
| var TextInputController = function() {} |
| TextInputController.prototype = DefaultHandler("textInputController"); |
| textInputController = new TextInputController(); |
| })(); |