mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
Instantiate elementResizeDetector instances lazily
This avoids references to browser globals during snapshot creation.
This commit is contained in:
committed by
Thomas Johansen
parent
a723614750
commit
b6e3806e77
@@ -1,4 +1,5 @@
|
||||
elementResizeDetector = require('element-resize-detector')({strategy: 'scroll'})
|
||||
ElementResizeDetector = require('element-resize-detector')
|
||||
elementResizeDetector = null
|
||||
|
||||
module.exports =
|
||||
class OverlayManager
|
||||
@@ -32,6 +33,7 @@ class OverlayManager
|
||||
unless overlayNode = cachedOverlay?.overlayNode
|
||||
overlayNode = document.createElement('atom-overlay')
|
||||
overlayNode.classList.add(klass) if klass?
|
||||
elementResizeDetector ?= ElementResizeDetector({strategy: 'scroll'})
|
||||
elementResizeDetector.listenTo(overlayNode, =>
|
||||
if overlayNode.parentElement?
|
||||
@measureOverlay(decorationId, itemView)
|
||||
|
||||
@@ -3,7 +3,8 @@ scrollbarStyle = require 'scrollbar-style'
|
||||
{CompositeDisposable, Disposable} = require 'event-kit'
|
||||
{ipcRenderer} = require 'electron'
|
||||
Grim = require 'grim'
|
||||
elementResizeDetector = require('element-resize-detector')({strategy: 'scroll'})
|
||||
ElementResizeDetector = require('element-resize-detector')
|
||||
elementResizeDetector = null
|
||||
|
||||
TextEditorPresenter = require './text-editor-presenter'
|
||||
GutterContainerComponent = require './gutter-container-component'
|
||||
@@ -134,6 +135,7 @@ class TextEditorComponent
|
||||
@becameVisible() if @isVisible()
|
||||
|
||||
measureDimensions = @measureDimensions.bind(this)
|
||||
elementResizeDetector ?= ElementResizeDetector({strategy: 'scroll'})
|
||||
elementResizeDetector.listenTo(@domNode, measureDimensions)
|
||||
@disposables.add(new Disposable => elementResizeDetector.removeListener(@domNode, measureDimensions))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user