From 5fa001b12c495c7b8f25703c0da2a7348ffcf2a6 Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Sat, 4 Jan 2014 11:50:34 -0700 Subject: [PATCH] Normalize view and detail properties --- .../syntheticEvents/SyntheticUIEvent.js | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/browser/syntheticEvents/SyntheticUIEvent.js b/src/browser/syntheticEvents/SyntheticUIEvent.js index e5b3bc6b08..45d873ab53 100644 --- a/src/browser/syntheticEvents/SyntheticUIEvent.js +++ b/src/browser/syntheticEvents/SyntheticUIEvent.js @@ -21,13 +21,30 @@ var SyntheticEvent = require('SyntheticEvent'); +var getEventTarget = require('getEventTarget'); + /** * @interface UIEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var UIEventInterface = { - view: null, - detail: null + view: function(event) { + if (event.view) { + return event.view; + } else { + var target = getEventTarget(event); + if (target != null && target.window === target) { + // target is a window object + return target; + } else { + var doc = target.ownerDocument; + return doc.defaultView || doc.parentWindow; + } + } + }, + detail: function(event) { + return event.detail || 0; + } }; /**