Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion scripts/fiber/tests-passing.txt
Original file line number Diff line number Diff line change
Expand Up @@ -868,7 +868,6 @@ src/renderers/dom/shared/__tests__/ReactBrowserEventEmitter-test.js
* should work with event plugins without dependencies
* should work with event plugins with dependencies
* should bubble onTouchTap
* should not crash ensureScrollValueMonitoring when createEvent returns null

src/renderers/dom/shared/__tests__/ReactDOM-test.js
* allows a DOM element to be used with a string
Expand Down
38 changes: 0 additions & 38 deletions src/renderers/dom/shared/ReactBrowserEventEmitter.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@

var EventPluginRegistry = require('EventPluginRegistry');
var ReactEventEmitterMixin = require('ReactEventEmitterMixin');
var ViewportMetrics = require('ViewportMetrics');

var getVendorPrefixedEventName = require('getVendorPrefixedEventName');
var isEventSupported = require('isEventSupported');
Expand Down Expand Up @@ -73,9 +72,7 @@ var isEventSupported = require('isEventSupported');
* React Core . General Purpose Event Plugin System
*/

var hasEventPageXY;
var alreadyListeningTo = {};
var isMonitoringScrollValue = false;
var reactTopListenersCounter = 0;

// For events like 'submit' which don't consistently bubble (which we trap at a
Expand Down Expand Up @@ -344,41 +341,6 @@ var ReactBrowserEventEmitter = Object.assign({}, ReactEventEmitterMixin, {
handle,
);
},

/**
* Protect against document.createEvent() returning null
* Some popup blocker extensions appear to do this:
* https://github.com/facebook/react/issues/6887
*/
supportsEventPageXY: function() {
if (!document.createEvent) {
return false;
}
var ev = document.createEvent('MouseEvent');
return ev != null && 'pageX' in ev;
},

/**
* Listens to window scroll and resize events. We cache scroll values so that
* application code can access them without triggering reflows.
*
* ViewportMetrics is only used by SyntheticMouse/TouchEvent and only when
* pageX/pageY isn't supported (legacy browsers).
*
* NOTE: Scroll events do not bubble.
*
* @see http://www.quirksmode.org/dom/events/scroll.html
*/
ensureScrollValueMonitoring: function() {
if (hasEventPageXY === undefined) {
hasEventPageXY = ReactBrowserEventEmitter.supportsEventPageXY();
}
if (!hasEventPageXY && !isMonitoringScrollValue) {
var refresh = ViewportMetrics.refreshScrollValues;
ReactBrowserEventEmitter.ReactEventListener.monitorScrollValue(refresh);
isMonitoringScrollValue = true;
}
},
});

module.exports = ReactBrowserEventEmitter;
Original file line number Diff line number Diff line change
Expand Up @@ -435,20 +435,4 @@ describe('ReactBrowserEventEmitter', () => {
expect(idCallOrder[1] === PARENT).toBe(true);
expect(idCallOrder[2] === GRANDPARENT).toBe(true);
});

it('should not crash ensureScrollValueMonitoring when createEvent returns null', () => {
var originalCreateEvent = document.createEvent;
document.createEvent = function() {
return null;
};
spyOn(document, 'createEvent');

try {
var hasEventPageXY = ReactBrowserEventEmitter.supportsEventPageXY();
expect(document.createEvent.calls.count()).toBe(1);
expect(hasEventPageXY).toBe(false);
} finally {
document.createEvent = originalCreateEvent;
}
});
});
5 changes: 1 addition & 4 deletions src/renderers/dom/shared/eventPlugins/TapEventPlugin.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ var EventPluginUtils = require('EventPluginUtils');
var EventPropagators = require('EventPropagators');
var SyntheticUIEvent = require('SyntheticUIEvent');
var TouchEventUtils = require('fbjs/lib/TouchEventUtils');
var ViewportMetrics = require('ViewportMetrics');

var isStartish = EventPluginUtils.isStartish;
var isEndish = EventPluginUtils.isEndish;
Expand Down Expand Up @@ -74,9 +73,7 @@ function getAxisCoordOfEvent(
if (singleTouch) {
return singleTouch[axis.page];
}
return axis.page in nativeEvent
? nativeEvent[axis.page]
: nativeEvent[axis.client] + ViewportMetrics[axis.envScroll];
return nativeEvent[axis.page];
}

function getDistance(coords: CoordinatesType, nativeEvent: _Touch): number {
Expand Down
14 changes: 2 additions & 12 deletions src/renderers/dom/shared/syntheticEvents/SyntheticMouseEvent.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
'use strict';

var SyntheticUIEvent = require('SyntheticUIEvent');
var ViewportMetrics = require('ViewportMetrics');

var getEventModifierState = require('getEventModifierState');

Expand All @@ -25,6 +24,8 @@ var MouseEventInterface = {
screenY: null,
clientX: null,
clientY: null,
pageX: null,
pageY: null,
ctrlKey: null,
shiftKey: null,
altKey: null,
Expand All @@ -51,17 +52,6 @@ var MouseEventInterface = {
? event.toElement
: event.fromElement);
},
// "Proprietary" Interface.
pageX: function(event) {
return 'pageX' in event
? event.pageX
: event.clientX + ViewportMetrics.currentScrollLeft;
},
pageY: function(event) {
return 'pageY' in event
? event.pageY
: event.clientY + ViewportMetrics.currentScrollTop;
},
};

/**
Expand Down
25 changes: 0 additions & 25 deletions src/renderers/dom/shared/utils/ViewportMetrics.js

This file was deleted.

2 changes: 0 additions & 2 deletions src/renderers/dom/stack/client/ReactMount.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
var DOMLazyTree = require('DOMLazyTree');
var DOMProperty = require('DOMProperty');
var React = require('react');
var ReactBrowserEventEmitter = require('ReactBrowserEventEmitter');
var ReactCurrentOwner = require('react/lib/ReactCurrentOwner');
var ReactDOMComponentTree = require('ReactDOMComponentTree');
var ReactDOMContainerInfo = require('ReactDOMContainerInfo');
Expand Down Expand Up @@ -382,7 +381,6 @@ var ReactMount = {
'_registerComponent(...): Target container is not a DOM element.',
);

ReactBrowserEventEmitter.ensureScrollValueMonitoring();
var componentInstance = instantiateReactComponent(nextElement, false);

if (callback) {
Expand Down