Skip to content

Commit a5dec72

Browse files
Ensure makeClipping and undoClipping properly restore an "auto" value. [#1063 state:resolved] (Victor, Andrew Dupont)
1 parent 45fe222 commit a5dec72

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/prototype/dom/layout.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1285,8 +1285,11 @@
12851285
var storage = Element.getStorage(element),
12861286
madeClipping = storage.get('prototype_made_clipping');
12871287

1288-
if (!madeClipping) {
1289-
var overflow = Element.getStyle(element, 'overflow') || 'auto';
1288+
// The "prototype_made_clipping" storage key is meant to hold the
1289+
// original CSS overflow value. A string value or `null` means that we've
1290+
// called `makeClipping` already. An `undefined` value means we haven't.
1291+
if (Object.isUndefined(madeClipping)) {
1292+
var overflow = Element.getStyle(element, 'overflow');
12901293
storage.set('prototype_made_clipping', overflow);
12911294
if (overflow !== 'hidden')
12921295
element.style.overflow = 'hidden';
@@ -1347,12 +1350,12 @@
13471350
var storage = Element.getStorage(element),
13481351
overflow = storage.get('prototype_made_clipping');
13491352

1350-
if (overflow) {
1353+
if (!Object.isUndefined(overflow)) {
13511354
storage.unset('prototype_made_clipping');
1352-
element.style.overflow = (overflow === 'auto') ? '' : overflow;
1355+
element.style.overflow = overflow || '';
13531356
}
13541357

1355-
return element;
1358+
return element;
13561359
}
13571360

13581361
/**

0 commit comments

Comments
 (0)