Fix WebUI crash in single-column mode on prehistoric browsers (#13267)
Fixes #13266
This commit is contained in:
		@@ -82,15 +82,19 @@ export default class ScrollableList extends PureComponent {
 | 
				
			|||||||
  lastScrollWasSynthetic = false;
 | 
					  lastScrollWasSynthetic = false;
 | 
				
			||||||
  scrollToTopOnMouseIdle = false;
 | 
					  scrollToTopOnMouseIdle = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _getScrollingElement = () => {
 | 
				
			||||||
 | 
					    if (this.props.bindToDocument) {
 | 
				
			||||||
 | 
					      return (document.scrollingElement || document.body);
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					      return this.node;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  setScrollTop = newScrollTop => {
 | 
					  setScrollTop = newScrollTop => {
 | 
				
			||||||
    if (this.getScrollTop() !== newScrollTop) {
 | 
					    if (this.getScrollTop() !== newScrollTop) {
 | 
				
			||||||
      this.lastScrollWasSynthetic = true;
 | 
					      this.lastScrollWasSynthetic = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (this.props.bindToDocument) {
 | 
					      this._getScrollingElement().scrollTop = newScrollTop;
 | 
				
			||||||
        document.scrollingElement.scrollTop = newScrollTop;
 | 
					 | 
				
			||||||
      } else {
 | 
					 | 
				
			||||||
        this.node.scrollTop = newScrollTop;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -151,15 +155,15 @@ export default class ScrollableList extends PureComponent {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  getScrollTop = () => {
 | 
					  getScrollTop = () => {
 | 
				
			||||||
    return this.props.bindToDocument ? document.scrollingElement.scrollTop : this.node.scrollTop;
 | 
					    return this._getScrollingElement().scrollTop;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  getScrollHeight = () => {
 | 
					  getScrollHeight = () => {
 | 
				
			||||||
    return this.props.bindToDocument ? document.scrollingElement.scrollHeight : this.node.scrollHeight;
 | 
					    return this._getScrollingElement().scrollHeight;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  getClientHeight = () => {
 | 
					  getClientHeight = () => {
 | 
				
			||||||
    return this.props.bindToDocument ? document.scrollingElement.clientHeight : this.node.clientHeight;
 | 
					    return this._getScrollingElement().clientHeight;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  updateScrollBottom = (snapshot) => {
 | 
					  updateScrollBottom = (snapshot) => {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user