aboutsummaryrefslogtreecommitdiff
path: root/node_modules/montage/ui/dom.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/montage/ui/dom.js')
-rwxr-xr-xnode_modules/montage/ui/dom.js30
1 files changed, 20 insertions, 10 deletions
diff --git a/node_modules/montage/ui/dom.js b/node_modules/montage/ui/dom.js
index 158b8a8f..f629ff18 100755
--- a/node_modules/montage/ui/dom.js
+++ b/node_modules/montage/ui/dom.js
@@ -220,8 +220,7 @@ try {
220 _webKitPoint = new WebKitPoint(0,0); 220 _webKitPoint = new WebKitPoint(0,0);
221} catch (e) {} 221} catch (e) {}
222 222
223if (_webKitPoint) { 223var webkitImplementation = function() {
224
225 exports.convertPointFromNodeToPage = function(element, point) { 224 exports.convertPointFromNodeToPage = function(element, point) {
226 if(point) { 225 if(point) {
227 _webKitPoint.x = point.x; 226 _webKitPoint.x = point.x;
@@ -230,8 +229,8 @@ if (_webKitPoint) {
230 _webKitPoint.x = 0; 229 _webKitPoint.x = 0;
231 _webKitPoint.y = 0; 230 _webKitPoint.y = 0;
232 } 231 }
233 _webKitPoint = webkitConvertPointFromNodeToPage(element, _webKitPoint); 232 point = webkitConvertPointFromNodeToPage(element, _webKitPoint);
234 return Point.create().init(_webKitPoint.x, _webKitPoint.y); 233 return point ? Point.create().init(point.x, point.y) : null;
235 }; 234 };
236 235
237 exports.convertPointFromPageToNode = function(element, point) { 236 exports.convertPointFromPageToNode = function(element, point) {
@@ -242,13 +241,15 @@ if (_webKitPoint) {
242 _webKitPoint.x = 0; 241 _webKitPoint.x = 0;
243 _webKitPoint.y = 0; 242 _webKitPoint.y = 0;
244 } 243 }
245 _webKitPoint = webkitConvertPointFromPageToNode(element, _webKitPoint); 244 point = webkitConvertPointFromPageToNode(element, _webKitPoint);
246 return Point.create().init(_webKitPoint.x, _webKitPoint.y); 245 return point ? Point.create().init(point.x, point.y) : null;
247 }; 246 };
248 247};
249} else { 248var shimImplementation = function() {
250
251 exports.convertPointFromNodeToPage = function(element, point) { 249 exports.convertPointFromNodeToPage = function(element, point) {
250 if (!element || typeof element.x !== "undefined") {
251 return null;
252 }
252 var offset; 253 var offset;
253 if (offset =_offsetForElement(element)) { 254 if (offset =_offsetForElement(element)) {
254 return Point.create().init((point ? point.x:0)+offset.left, (point ? point.y:0)+offset.top); 255 return Point.create().init((point ? point.x:0)+offset.left, (point ? point.y:0)+offset.top);
@@ -258,6 +259,9 @@ if (_webKitPoint) {
258 }; 259 };
259 260
260 exports.convertPointFromPageToNode = function(element, point) { 261 exports.convertPointFromPageToNode = function(element, point) {
262 if (!element || typeof element.x !== "undefined") {
263 return null;
264 }
261 var offset; 265 var offset;
262 if (offset =_offsetForElement(element)) { 266 if (offset =_offsetForElement(element)) {
263 return Point.create().init((point ? point.x:0)-offset.left, (point ? point.y:0)-offset.top); 267 return Point.create().init((point ? point.x:0)-offset.left, (point ? point.y:0)-offset.top);
@@ -265,4 +269,10 @@ if (_webKitPoint) {
265 return Point.create().init((point ? point.x:0), (point ? point.y:0)); 269 return Point.create().init((point ? point.x:0), (point ? point.y:0));
266 } 270 }
267 }; 271 };
268} \ No newline at end of file 272};
273
274if (_webKitPoint) {
275 webkitImplementation();
276} else {
277 shimImplementation();
278}