From e15a7d1f7ef6a56d2a2bbf53204064c27fc6e198 Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Tue, 10 May 2016 10:58:35 -0700 Subject: [PATCH] Revert "Don't wrap drag events in IE/Edge in dev builds" (#6741) (cherry picked from commit 98cb2f8507fe1a7120d7d2b2e517bca1ef332e5b) --- src/shared/utils/ReactErrorUtils.js | 42 ----------------------------- 1 file changed, 42 deletions(-) diff --git a/src/shared/utils/ReactErrorUtils.js b/src/shared/utils/ReactErrorUtils.js index 2746220920..cff46bc15e 100644 --- a/src/shared/utils/ReactErrorUtils.js +++ b/src/shared/utils/ReactErrorUtils.js @@ -11,8 +11,6 @@ 'use strict'; -var SyntheticDragEvent = require('SyntheticDragEvent'); - var caughtError = null; /** @@ -67,11 +65,6 @@ if (__DEV__) { typeof document.createEvent === 'function') { var fakeNode = document.createElement('react'); ReactErrorUtils.invokeGuardedCallback = function(name, func, a, b) { - if (!canWrapEvent(a)) { - invokeGuardedCallback(name, func, a, b); - return; - } - var boundFunc = func.bind(null, a, b); var evtType = `react-${name}`; fakeNode.addEventListener(evtType, boundFunc, false); @@ -81,41 +74,6 @@ if (__DEV__) { fakeNode.removeEventListener(evtType, boundFunc, false); }; } - - var cacheCanWrapEvent = null; - - /** - * IE and Edge don't allow access to the DataTransfer.dropEffect property when - * it's wrapped in another event. This function detects whether we're in an - * environment that behaves this way. - * - * @param {*} ev Event that is being tested - */ - function canWrapEvent(ev) { - if (!(ev instanceof SyntheticDragEvent)) { - return true; - } else if (cacheCanWrapEvent !== null) { - return cacheCanWrapEvent; - } - - var canAccessDropEffect = false; - function handleWrappedEvent() { - try { - ev.dataTransfer.dropEffect; // eslint-disable-line no-unused-expressions - canAccessDropEffect = true; - } catch (e) {} - } - - var wrappedEventName = 'react-wrappeddragevent'; - var wrappedEvent = document.createEvent('Event'); - wrappedEvent.initEvent(wrappedEventName, false, false); - fakeNode.addEventListener(wrappedEventName, handleWrappedEvent, false); - fakeNode.dispatchEvent(wrappedEvent); - fakeNode.removeEventListener(wrappedEventName, handleWrappedEvent, false); - - cacheCanWrapEvent = canAccessDropEffect; - return canAccessDropEffect; - } } module.exports = ReactErrorUtils;