Index: third_party/WebKit/Source/modules/geometry/DOMPoint.js |
diff --git a/third_party/WebKit/Source/modules/geometry/DOMPoint.js b/third_party/WebKit/Source/modules/geometry/DOMPoint.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5bf493dfe551b141614383e824b6a2ffbd293326 |
--- /dev/null |
+++ b/third_party/WebKit/Source/modules/geometry/DOMPoint.js |
@@ -0,0 +1,56 @@ |
+// Copyright 2016 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. |
+ |
+(function(global, binding, v8) { |
+ 'use strict'; |
+ |
+ const defineProperty = global.Object.defineProperty; |
+ |
+ class DOMPoint extends DOMPointReadOnly { |
+ constructor(x = 0, y = 0, z = 0, w = 1) { |
+ super(x, y, z, w); |
+ |
+ defineProperty(this, 'x', { |
+ value: x, |
+ configurable: true, |
+ enumerable: true, |
+ writable: true |
+ }); |
+ |
+ defineProperty(this, 'y', { |
+ value: y, |
+ configurable: true, |
+ enumerable: true, |
+ writable: true |
+ }); |
+ |
+ defineProperty(this, 'z', { |
+ value: z, |
+ configurable: true, |
+ enumerable: true, |
+ writable: true |
+ }); |
+ |
+ defineProperty(this, 'w', { |
+ value: w, |
+ configurable: true, |
+ enumerable: true, |
+ writable: true |
+ }); |
+ } |
+ |
+ static fromPoint(init) { |
+ return new DOMPoint(init.x, init.y, init.z, init.w); |
+ } |
+ } |
+ |
+ binding.createDOMPoint = DOMPoint.fromPoint; |
+ |
+ defineProperty(global, 'DOMPoint', { |
+ value: DOMPoint, |
+ configurable: true, |
+ enumerable: false, |
+ writable: true |
+ }); |
+}); |