From 55bc393f726ddf3def83ca5a43cfc38a45d2e421 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Mon, 29 Jul 2019 21:16:30 +0100 Subject: [PATCH] [Flare] Ensure we check for bad polyfill when creating responders (#16243) --- packages/shared/createEventResponder.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/shared/createEventResponder.js b/packages/shared/createEventResponder.js index 9dfe11cfb2..cd21bfc9b0 100644 --- a/packages/shared/createEventResponder.js +++ b/packages/shared/createEventResponder.js @@ -8,6 +8,7 @@ import type {ReactEventResponder} from 'shared/ReactTypes'; import {REACT_RESPONDER_TYPE} from 'shared/ReactSymbols'; +import {hasBadMapPolyfill} from './hasBadMapPolyfill'; export default function createEventResponder( displayName: string, @@ -35,7 +36,10 @@ export default function createEventResponder( rootEventTypes: rootEventTypes || null, targetEventTypes: targetEventTypes || null, }; - if (__DEV__) { + // We use responder as a Map key later on. When we have a bad + // polyfill, then we can't use it as a key as the polyfill tries + // to add a property to the object. + if (__DEV__ && !hasBadMapPolyfill) { Object.freeze(eventResponder); } return eventResponder;