Selaa lähdekoodia

Revert "Remove fake selection container before inspecting changed child nodes in Renderer.render()."

This reverts commit 24c44a77
Maciej Gołaszewski 7 vuotta sitten
vanhempi
sitoutus
c911db4bac

+ 2 - 4
packages/ckeditor5-engine/src/view/renderer.js

@@ -171,10 +171,6 @@ export default class Renderer {
 	render() {
 		let inlineFillerPosition;
 
-		// Remove unneeded fake selection container from the DOM so it will not affect the DOM nodes diffing.
-		// It will be re-added if needed when rendering the selection.
-		this._removeFakeSelection();
-
 		// Refresh mappings.
 		for ( const element of this.markedChildren ) {
 			this._updateChildrenMappings( element );
@@ -664,6 +660,7 @@ export default class Renderer {
 		// If there is no selection - remove DOM and fake selections.
 		if ( this.selection.rangeCount === 0 ) {
 			this._removeDomSelection();
+			this._removeFakeSelection();
 
 			return;
 		}
@@ -679,6 +676,7 @@ export default class Renderer {
 		if ( this.selection.isFake ) {
 			this._updateFakeSelection( domRoot );
 		} else {
+			this._removeFakeSelection();
 			this._updateDomSelection( domRoot );
 		}
 	}

+ 0 - 25
packages/ckeditor5-engine/tests/view/renderer.js

@@ -3320,31 +3320,6 @@ describe( 'Renderer', () => {
 				return viewData.repeat( repeat );
 			}
 		} );
-
-		it( 'should work with fake selection container', () => {
-			let viewString = '';
-
-			for ( let i = 0; i < 151; i++ ) {
-				viewString += '<container:p>foo</container:p>';
-			}
-
-			viewRoot._appendChild( parse( viewString ) );
-
-			// Set fake selection
-			selection._setTo( viewRoot.getChild( 1 ), 'on', { fake: true } );
-
-			renderer.markToSync( 'children', viewRoot );
-			renderer.render();
-
-			viewRoot._removeChildren( 1, 1 );
-			selection._setTo( viewRoot.getChild( 0 ), 'in' );
-
-			renderer.markToSync( 'children', viewRoot );
-
-			expect( () => {
-				renderer.render();
-			} ).to.not.throw();
-		} );
 	} );
 
 	describe( '#922', () => {