Skip to content

Commit 1dd8abb

Browse files
committed
Further fixes for cross-iframe compatibility
1 parent 4875d01 commit 1dd8abb

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

packages/react-dom/src/client/ReactDOMSelection.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -157,16 +157,13 @@ function getModernOffsetsFromPoints(
157157
* @param {object} offsets
158158
*/
159159
function setModernOffsets(node, offsets) {
160-
var win = window;
161-
if (node.ownerDocument && node.ownerDocument.defaultView) {
162-
win = node.ownerDocument.defaultView;
163-
}
160+
var doc = node.ownerDocument || document;
164161

165-
if (!win.getSelection) {
162+
if (!doc.defaultView.getSelection) {
166163
return;
167164
}
168165

169-
var selection = win.getSelection();
166+
var selection = doc.defaultView.getSelection();
170167
var length = node[getTextContentAccessor()].length;
171168
var start = Math.min(offsets.start, length);
172169
var end = offsets.end === undefined ? start : Math.min(offsets.end, length);
@@ -192,7 +189,7 @@ function setModernOffsets(node, offsets) {
192189
) {
193190
return;
194191
}
195-
var range = document.createRange();
192+
var range = doc.createRange();
196193
range.setStart(startMarker.node, startMarker.offset);
197194
selection.removeAllRanges();
198195

packages/react-dom/src/events/SyntheticClipboardEvent.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ var SyntheticEvent = require('events/SyntheticEvent');
1515
*/
1616
var ClipboardEventInterface = {
1717
clipboardData: function(event) {
18-
return 'clipboardData' in event
19-
? event.clipboardData
20-
: window.clipboardData;
18+
if ('clipboardData' in event) {
19+
return event.clipboardData;
20+
}
21+
var doc = (event.target && event.target.ownerDocument) || document;
22+
return doc.defaultView.clipboardData;
2123
},
2224
};
2325

0 commit comments

Comments
 (0)