66import { ICoreBrowserService , IRenderService , IThemeService } from 'browser/services/Services' ;
77import { ViewportConstants } from 'browser/shared/Constants' ;
88import { Disposable , toDisposable } from 'common/Lifecycle' ;
9- import { IBufferService , IMouseStateService , IOptionsService } from 'common/services/Services' ;
9+ import { IBufferService , ICoreService , IMouseStateService , IOptionsService } from 'common/services/Services' ;
1010import { CoreMouseEventType } from 'common/Types' ;
1111import { scheduleAtNextAnimationFrame } from 'browser/Dom' ;
1212import { SmoothScrollableElement } from 'browser/scrollable/scrollableElement' ;
@@ -33,6 +33,7 @@ export class Viewport extends Disposable {
3333 screenElement : HTMLElement ,
3434 @IBufferService private readonly _bufferService : IBufferService ,
3535 @ICoreBrowserService coreBrowserService : ICoreBrowserService ,
36+ @ICoreService private readonly _coreService : ICoreService ,
3637 @IMouseStateService mouseStateService : IMouseStateService ,
3738 @IThemeService themeService : IThemeService ,
3839 @IOptionsService private readonly _optionsService : IOptionsService ,
@@ -161,6 +162,8 @@ export class Viewport extends Disposable {
161162 if ( ! this . _renderService || this . _isSyncing ) {
162163 return ;
163164 }
165+ // Plumb synchronized output state into Viewport for follow-up behavior changes.
166+ void this . _coreService . decPrivateModes . synchronizedOutput ;
164167 this . _isSyncing = true ;
165168
166169 // Ignore any onScroll event that happens as a result of dimensions changing as this should
0 commit comments