ソースを参照

DomConverter changes: removed getCorrespondingView, merged getCorrespondingViewElement and getCorrespondingViewDocumentFragment into mapDomToView, renamed getCorrespondingViewText to findCorrespondingViewText.

Szymon Kupś 8 年 前
コミット
3952737541

+ 50 - 42
packages/ckeditor5-engine/src/view/domconverter.js

@@ -386,8 +386,8 @@ export default class DomConverter {
 		} else if ( this.isComment( domNode ) ) {
 			return null;
 		} else {
-			if ( this.getCorrespondingView( domNode ) ) {
-				return this.getCorrespondingView( domNode );
+			if ( this.mapDomToView( domNode ) ) {
+				return this.mapDomToView( domNode );
 			}
 
 			let viewElement;
@@ -525,7 +525,8 @@ export default class DomConverter {
 		}
 
 		// If position is somewhere inside UIElement - return position before that element.
-		const viewElement = this.getCorrespondingViewElement( domParent );
+		const viewElement = this.mapDomToView( domParent );
+
 		if ( viewElement && viewElement.is( 'uiElement' ) ) {
 			return ViewPosition.createBefore( viewElement );
 		}
@@ -535,7 +536,7 @@ export default class DomConverter {
 				return this.domPositionToView( domParent.parentNode, indexOf( domParent ) );
 			}
 
-			const viewParent = this.getCorrespondingViewText( domParent );
+			const viewParent = this.findCorrespondingViewText( domParent );
 			let offset = domOffset;
 
 			if ( !viewParent ) {
@@ -552,13 +553,16 @@ export default class DomConverter {
 		// domParent instanceof HTMLElement.
 		else {
 			if ( domOffset === 0 ) {
-				const viewParent = this.getCorrespondingView( domParent );
+				const viewParent = this.mapDomToView( domParent );
 
 				if ( viewParent ) {
 					return new ViewPosition( viewParent, 0 );
 				}
 			} else {
-				const viewBefore = this.getCorrespondingView( domParent.childNodes[ domOffset - 1 ] );
+				const domBefore = domParent.childNodes[ domOffset - 1 ];
+				const viewBefore = this.isText( domBefore ) ?
+					this.findCorrespondingViewText( domBefore ) :
+					this.mapDomToView( domBefore );
 
 				// TODO #663
 				if ( viewBefore && viewBefore.parent ) {
@@ -583,43 +587,47 @@ export default class DomConverter {
 	 * @param {Node|DocumentFragment} domNode DOM node or document fragment.
 	 * @returns {module:engine/view/node~Node|module:engine/view/documentfragment~DocumentFragment|null} Corresponding view item.
 	 */
-	getCorrespondingView( domNode ) {
-		if ( this.isElement( domNode ) ) {
-			return this.getCorrespondingViewElement( domNode );
-		} else if ( this.isDocumentFragment( domNode ) ) {
-			return this.getCorrespondingViewDocumentFragment( domNode );
-		} else if ( this.isText( domNode ) ) {
-			return this.getCorrespondingViewText( domNode );
-		}
-
-		return null;
-	}
-
-	/**
-	 * Gets corresponding view element. Returns element if an view element was
-	 * {@link module:engine/view/domconverter~DomConverter#bindElements bound} to the given DOM element or `null` otherwise.
-	 * For all DOM elements rendered by {@link module:engine/view/uielement~UIElement} that UIElement will be returned.
-	 *
-	 * @param {HTMLElement} domElement DOM element.
-	 * @returns {module:engine/view/element~Element|null} Corresponding element or `null` if no element was bound.
-	 */
-	getCorrespondingViewElement( domElement ) {
+	// getCorrespondingView( domNode ) {
+	// 	if ( this.isElement( domNode ) ) {
+	// 		return this.getCorrespondingViewElement( domNode );
+	// 	} else if ( this.isDocumentFragment( domNode ) ) {
+	// 		return this.getCorrespondingViewDocumentFragment( domNode );
+	// 	} else if ( this.isText( domNode ) ) {
+	// 		return this.getCorrespondingViewText( domNode );
+	// 	}
+    //
+	// 	return null;
+	// }
+
+	// /**
+	//  * Gets corresponding view element. Returns element if an view element was
+	//  * {@link module:engine/view/domconverter~DomConverter#bindElements bound} to the given DOM element or `null` otherwise.
+	//  * For all DOM elements rendered by {@link module:engine/view/uielement~UIElement} that UIElement will be returned.
+	//  *
+	//  * @param {HTMLElement} domElement DOM element.
+	//  * @returns {module:engine/view/element~Element|null} Corresponding element or `null` if no element was bound.
+	//  */
+	// getCorrespondingViewElement( domElement ) {
+	// 	return this.getParentUIElement( domElement ) || this._domToViewMapping.get( domElement );
+	// }
+    //
+	// /**
+	//  * Gets corresponding view document fragment. Returns document fragment if an view element was
+	//  * {@link module:engine/view/domconverter~DomConverter#bindDocumentFragments bound} to the given DOM fragment or `null` otherwise.
+	//  *
+	//  * @param {DocumentFragment} domFragment DOM element.
+	//  * @returns {module:engine/view/documentfragment~DocumentFragment|null} Corresponding document fragment or `null` if none element was
+	//  * bound.
+	//  */
+	// getCorrespondingViewDocumentFragment( domFragment ) {
+	// 	return this._domToViewMapping.get( domFragment );
+	// }
+
+	mapDomToView( domElement ) {
 		return this.getParentUIElement( domElement ) || this._domToViewMapping.get( domElement );
 	}
 
 	/**
-	 * Gets corresponding view document fragment. Returns document fragment if an view element was
-	 * {@link module:engine/view/domconverter~DomConverter#bindDocumentFragments bound} to the given DOM fragment or `null` otherwise.
-	 *
-	 * @param {DocumentFragment} domFragment DOM element.
-	 * @returns {module:engine/view/documentfragment~DocumentFragment|null} Corresponding document fragment or `null` if none element was
-	 * bound.
-	 */
-	getCorrespondingViewDocumentFragment( domFragment ) {
-		return this._domToViewMapping.get( domFragment );
-	}
-
-	/**
 	 * Gets corresponding text node. Text nodes are not {@link module:engine/view/domconverter~DomConverter#bindElements bound},
 	 * corresponding text node is returned based on the sibling or parent.
 	 *
@@ -639,7 +647,7 @@ export default class DomConverter {
 	 * @returns {module:engine/view/text~Text|null} Corresponding view text node or `null`, if it was not possible to find a
 	 * corresponding node.
 	 */
-	getCorrespondingViewText( domText ) {
+	findCorrespondingViewText( domText ) {
 		if ( isInlineFiller( domText ) ) {
 			return null;
 		}
@@ -660,7 +668,7 @@ export default class DomConverter {
 				return null;
 			}
 
-			const viewElement = this.getCorrespondingViewElement( previousSibling );
+			const viewElement = this.mapDomToView( previousSibling );
 
 			if ( viewElement ) {
 				const nextSibling = viewElement.nextSibling;
@@ -675,7 +683,7 @@ export default class DomConverter {
 		}
 		// Try to use parent to find the corresponding text node.
 		else {
-			const viewElement = this.getCorrespondingViewElement( domText.parentNode );
+			const viewElement = this.mapDomToView( domText.parentNode );
 
 			if ( viewElement ) {
 				const firstChild = viewElement.getChild( 0 );

+ 1 - 1
packages/ckeditor5-engine/src/view/observer/domeventdata.js

@@ -55,7 +55,7 @@ export default class DomEventData {
 	 * @type module:engine/view/element~Element
 	 */
 	get target() {
-		return this.document.domConverter.getCorrespondingViewElement( this.domTarget );
+		return this.document.domConverter.mapDomToView( this.domTarget );
 	}
 
 	/**

+ 4 - 4
packages/ckeditor5-engine/src/view/observer/mutationobserver.js

@@ -147,7 +147,7 @@ export default class MutationObserver extends Observer {
 		// element with changed structure anyway.
 		for ( const mutation of domMutations ) {
 			if ( mutation.type === 'childList' ) {
-				const element = domConverter.getCorrespondingViewElement( mutation.target );
+				const element = domConverter.mapDomToView( mutation.target );
 
 				// Do not collect mutations from UIElements.
 				if ( element && element.is( 'uiElement' ) ) {
@@ -162,7 +162,7 @@ export default class MutationObserver extends Observer {
 
 		// Handle `characterData` mutations later, when we have the full list of nodes which changed structure.
 		for ( const mutation of domMutations ) {
-			const element = domConverter.getCorrespondingViewElement( mutation.target );
+			const element = domConverter.mapDomToView( mutation.target );
 
 			// Do not collect mutations from UIElements.
 			if ( element && element.is( 'uiElement' ) ) {
@@ -170,7 +170,7 @@ export default class MutationObserver extends Observer {
 			}
 
 			if ( mutation.type === 'characterData' ) {
-				const text = domConverter.getCorrespondingViewText( mutation.target );
+				const text = domConverter.findCorrespondingViewText( mutation.target );
 
 				if ( text && !mutatedElements.has( text.parent ) ) {
 					// Use text as a key, for deduplication. If there will be another mutation on the same text element
@@ -186,7 +186,7 @@ export default class MutationObserver extends Observer {
 				// on text, but for the view, where filler text node did not existed, new text node was created, so we
 				// need to fire 'children' mutation instead of 'text'.
 				else if ( !text && startsWithFiller( mutation.target ) ) {
-					mutatedElements.add( domConverter.getCorrespondingViewElement( mutation.target.parentNode ) );
+					mutatedElements.add( domConverter.mapDomToView( mutation.target.parentNode ) );
 				}
 			}
 		}

+ 1 - 1
packages/ckeditor5-engine/src/view/renderer.js

@@ -625,7 +625,7 @@ export default class Renderer {
 
 			if ( domSelection.rangeCount ) {
 				const activeDomElement = doc.activeElement;
-				const viewElement = this.domConverter.getCorrespondingViewElement( activeDomElement );
+				const viewElement = this.domConverter.mapDomToView( activeDomElement );
 
 				if ( activeDomElement && viewElement ) {
 					doc.getSelection().removeAllRanges();

+ 23 - 59
packages/ckeditor5-engine/tests/view/domconverter/binding.js

@@ -30,7 +30,7 @@ describe( 'DomConverter', () => {
 
 			converter.bindElements( domElement, viewElement );
 
-			expect( converter.getCorrespondingView( domElement ) ).to.equal( viewElement );
+			expect( converter.mapDomToView( domElement ) ).to.equal( viewElement );
 			expect( converter.mapViewToDom( viewElement ) ).to.equal( domElement );
 		} );
 	} );
@@ -42,33 +42,19 @@ describe( 'DomConverter', () => {
 
 			converter.bindDocumentFragments( domFragment, viewFragment );
 
-			expect( converter.getCorrespondingView( domFragment ) ).to.equal( viewFragment );
+			expect( converter.mapDomToView( domFragment ) ).to.equal( viewFragment );
 			expect( converter.mapViewToDom( viewFragment ) ).to.equal( domFragment );
 		} );
 	} );
 
-	describe( 'getCorrespondingView()', () => {
+	describe( 'mapDomToView()', () => {
 		it( 'should return corresponding view element if element is passed', () => {
 			const domElement = document.createElement( 'p' );
 			const viewElement = new ViewElement( 'p' );
 
 			converter.bindElements( domElement, viewElement );
 
-			expect( converter.getCorrespondingView( domElement ) ).to.equal( viewElement );
-		} );
-
-		it( 'should return corresponding view text if text is passed', () => {
-			const domText = document.createTextNode( 'foo' );
-			const domP = document.createElement( 'p' );
-
-			domP.appendChild( domText );
-
-			const viewP = converter.domToView( domP );
-			const viewText = viewP.getChild( 0 );
-
-			converter.bindElements( domP, viewP );
-
-			expect( converter.getCorrespondingView( domText ) ).to.equal( viewText );
+			expect( converter.mapDomToView( domElement ) ).to.equal( viewElement );
 		} );
 
 		it( 'should return corresponding view document fragment', () => {
@@ -77,38 +63,16 @@ describe( 'DomConverter', () => {
 
 			converter.bindElements( domFragment, viewFragment );
 
-			expect( converter.getCorrespondingView( domFragment ) ).to.equal( viewFragment );
+			expect( converter.mapDomToView( domFragment ) ).to.equal( viewFragment );
 		} );
 
-		it( 'should return null if falsy value was passed', () => {
-			expect( converter.getCorrespondingView( null ) ).to.be.null;
-			expect( converter.getCorrespondingView( undefined ) ).to.be.null;
-		} );
-	} );
-
-	describe( 'getCorrespondingViewElement()', () => {
-		it( 'should return corresponding view element', () => {
-			const domElement = document.createElement( 'p' );
-			const viewElement = new ViewElement( 'p' );
-
-			converter.bindElements( domElement, viewElement );
-
-			expect( converter.getCorrespondingViewElement( domElement ) ).to.equal( viewElement );
-		} );
-	} );
-
-	describe( 'getCorrespondingViewDocumentFragment()', () => {
-		it( 'should return corresponding view document fragment', () => {
-			const domFragment = document.createDocumentFragment();
-			const viewFragment = converter.domToView( domFragment );
-
-			converter.bindElements( domFragment, viewFragment );
-
-			expect( converter.getCorrespondingViewDocumentFragment( domFragment ) ).to.equal( viewFragment );
+		it( 'should return undefined if falsy value was passed', () => {
+			expect( converter.mapDomToView( null ) ).to.be.undefined;
+			expect( converter.mapDomToView( undefined ) ).to.be.undefined;
 		} );
 	} );
 
-	describe( 'getCorrespondingViewText()', () => {
+	describe( 'findCorrespondingViewText()', () => {
 		it( 'should return corresponding view text based on sibling', () => {
 			const domImg = document.createElement( 'img' );
 			const domText = document.createTextNode( 'foo' );
@@ -121,7 +85,7 @@ describe( 'DomConverter', () => {
 			const viewP = converter.domToView( domP );
 			const viewText = viewP.getChild( 1 );
 
-			expect( converter.getCorrespondingViewText( domText ) ).to.equal( viewText );
+			expect( converter.findCorrespondingViewText( domText ) ).to.equal( viewText );
 		} );
 
 		it( 'should return corresponding view text based on parent', () => {
@@ -133,7 +97,7 @@ describe( 'DomConverter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorrespondingViewText( domText ) ).to.equal( viewText );
+			expect( converter.findCorrespondingViewText( domText ) ).to.equal( viewText );
 		} );
 
 		it( 'should return null if sibling is not bound', () => {
@@ -145,7 +109,7 @@ describe( 'DomConverter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorrespondingViewText( domText ) ).to.be.null;
+			expect( converter.findCorrespondingViewText( domText ) ).to.be.null;
 		} );
 
 		it( 'should return null if sibling is not element', () => {
@@ -157,14 +121,14 @@ describe( 'DomConverter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorrespondingViewText( domTextBar ) ).to.be.null;
+			expect( converter.findCorrespondingViewText( domTextBar ) ).to.be.null;
 		} );
 
 		it( 'should return null if parent is not bound', () => {
 			const domText = document.createTextNode( 'foo' );
 			createElement( document, 'p', null, domText );
 
-			expect( converter.getCorrespondingViewText( domText ) ).to.be.null;
+			expect( converter.findCorrespondingViewText( domText ) ).to.be.null;
 		} );
 
 		it( 'should return null for inline filler', () => {
@@ -175,7 +139,7 @@ describe( 'DomConverter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorrespondingViewText( domFiller ) ).to.be.null;
+			expect( converter.findCorrespondingViewText( domFiller ) ).to.be.null;
 		} );
 
 		it( 'should return null if there is no text node sibling in view', () => {
@@ -192,7 +156,7 @@ describe( 'DomConverter', () => {
 			converter.bindElements( domI, viewI );
 			converter.bindElements( domB, viewB );
 
-			expect( converter.getCorrespondingViewText( domText ) ).to.be.null;
+			expect( converter.findCorrespondingViewText( domText ) ).to.be.null;
 		} );
 
 		it( 'should return null if there is no child text node in view', () => {
@@ -203,7 +167,7 @@ describe( 'DomConverter', () => {
 
 			converter.bindElements( domP, viewP );
 
-			expect( converter.getCorrespondingViewText( domText ) ).to.be.null;
+			expect( converter.findCorrespondingViewText( domText ) ).to.be.null;
 		} );
 	} );
 
@@ -337,12 +301,12 @@ describe( 'DomConverter', () => {
 
 			converter.bindElements( domElement, viewElement );
 
-			expect( converter.getCorrespondingView( domElement ) ).to.equal( viewElement );
+			expect( converter.mapDomToView( domElement ) ).to.equal( viewElement );
 			expect( converter.mapViewToDom( viewElement ) ).to.equal( domElement );
 
 			converter.unbindDomElement( domElement );
 
-			expect( converter.getCorrespondingView( domElement ) ).to.be.undefined;
+			expect( converter.mapDomToView( domElement ) ).to.be.undefined;
 			expect( converter.mapViewToDom( viewElement ) ).to.be.undefined;
 		} );
 
@@ -357,12 +321,12 @@ describe( 'DomConverter', () => {
 			converter.bindElements( domElement, viewElement );
 			converter.bindElements( domChild, viewChild );
 
-			expect( converter.getCorrespondingView( domChild ) ).to.equal( viewChild );
+			expect( converter.mapDomToView( domChild ) ).to.equal( viewChild );
 			expect( converter.mapViewToDom( viewChild ) ).to.equal( domChild );
 
 			converter.unbindDomElement( domElement );
 
-			expect( converter.getCorrespondingView( domChild ) ).to.be.undefined;
+			expect( converter.mapDomToView( domChild ) ).to.be.undefined;
 			expect( converter.mapViewToDom( viewChild ) ).to.be.undefined;
 		} );
 
@@ -370,12 +334,12 @@ describe( 'DomConverter', () => {
 			const domElement = document.createElement( 'p' );
 			const viewElement = new ViewElement( 'p' );
 
-			expect( converter.getCorrespondingView( domElement ) ).to.be.undefined;
+			expect( converter.mapDomToView( domElement ) ).to.be.undefined;
 			expect( converter.mapViewToDom( viewElement ) ).to.be.undefined;
 
 			converter.unbindDomElement( domElement );
 
-			expect( converter.getCorrespondingView( domElement ) ).to.be.undefined;
+			expect( converter.mapDomToView( domElement ) ).to.be.undefined;
 			expect( converter.mapViewToDom( viewElement ) ).to.be.undefined;
 		} );
 	} );

+ 13 - 13
packages/ckeditor5-engine/tests/view/domconverter/uielement.js

@@ -25,7 +25,7 @@ describe( 'DOMConverter UIElement integration', () => {
 		converter = new DomConverter();
 	} );
 
-	describe( 'viewToDom', () => {
+	describe( 'viewToDom()', () => {
 		it( 'should create DOM element from UIElement', () => {
 			const uiElement = new ViewUIElement( 'div' );
 			const domElement = converter.viewToDom( uiElement, document );
@@ -46,13 +46,13 @@ describe( 'DOMConverter UIElement integration', () => {
 			const domElement = converter.viewToDom( myElement, document, { bind: true } );
 			const domSpan = domElement.childNodes[ 0 ];
 
-			expect( converter.getCorrespondingView( domElement ) ).to.equal( myElement );
-			expect( converter.getCorrespondingView( domSpan ) ).to.be.falsy;
-			expect( converter.getCorrespondingView( domSpan.childNodes[ 0 ] ) ).to.be.falsy;
+			expect( converter.mapDomToView( domElement ) ).to.equal( myElement );
+			expect( converter.mapDomToView( domSpan ) ).to.be.falsy;
+			expect( converter.mapDomToView( domSpan.childNodes[ 0 ] ) ).to.be.falsy;
 		} );
 	} );
 
-	describe( 'domToView', () => {
+	describe( 'domToView()', () => {
 		it( 'should return UIElement itself', () => {
 			const uiElement = new MyUIElement( 'div' );
 			const domElement = converter.viewToDom( uiElement, document, { bind: true } );
@@ -74,7 +74,7 @@ describe( 'DOMConverter UIElement integration', () => {
 		} );
 	} );
 
-	describe( 'domPositionToView', () => {
+	describe( 'domPositionToView()', () => {
 		it( 'should convert position inside UIElement to position before it', () => {
 			const uiElement = new MyUIElement( 'h1' );
 			const container = new ViewContainer( 'div', null, [ new ViewContainer( 'div' ), uiElement ] );
@@ -98,32 +98,32 @@ describe( 'DOMConverter UIElement integration', () => {
 		} );
 	} );
 
-	describe( 'getCorrespondingViewElement', () => {
+	describe( 'mapDomToView()', () => {
 		it( 'should return UIElement for DOM elements inside', () => {
 			const myElement = new MyUIElement( 'div' );
 			const domElement = converter.viewToDom( myElement, document, { bind: true } );
 
-			expect( converter.getCorrespondingViewElement( domElement ) ).to.equal( myElement );
+			expect( converter.mapDomToView( domElement ) ).to.equal( myElement );
 
 			const domParagraph = domElement.childNodes[ 0 ];
-			expect( converter.getCorrespondingViewElement( domParagraph ) ).to.equal( myElement );
+			expect( converter.mapDomToView( domParagraph ) ).to.equal( myElement );
 
 			const domSpan = domParagraph.childNodes[ 0 ];
-			expect( converter.getCorrespondingViewElement( domSpan ) ).to.equal( myElement );
+			expect( converter.mapDomToView( domSpan ) ).to.equal( myElement );
 		} );
 	} );
 
-	describe( 'getCorrespondingViewText', () => {
+	describe( 'findCorrespondingViewText()', () => {
 		it( 'should return UIElement for DOM text inside', () => {
 			const myElement = new MyUIElement( 'div' );
 			const domElement = converter.viewToDom( myElement, document, { bind: true } );
 
 			const domText = domElement.querySelector( 'span' ).childNodes[ 0 ];
-			expect( converter.getCorrespondingViewText( domText ) ).to.equal( myElement );
+			expect( converter.findCorrespondingViewText( domText ) ).to.equal( myElement );
 		} );
 	} );
 
-	describe( 'getParentUIElement', () => {
+	describe( 'getParentUIElement()', () => {
 		it( 'should return UIElement for DOM children', () => {
 			const uiElement = new MyUIElement( 'div' );
 			const domElement = converter.viewToDom( uiElement, document, { bind: true } );

+ 10 - 10
packages/ckeditor5-engine/tests/view/domconverter/view-to-dom.js

@@ -52,8 +52,8 @@ describe( 'DomConverter', () => {
 			expect( domP.childNodes[ 0 ].tagName ).to.equal( 'IMG' );
 			expect( domP.childNodes[ 1 ].data ).to.equal( 'foo' );
 
-			expect( converter.getCorrespondingView( domP ) ).not.to.equal( viewP );
-			expect( converter.getCorrespondingView( domP.childNodes[ 0 ] ) ).to.equal( viewImg );
+			expect( converter.mapDomToView( domP ) ).not.to.equal( viewP );
+			expect( converter.mapDomToView( domP.childNodes[ 0 ] ) ).to.equal( viewImg );
 		} );
 
 		it( 'should create tree of DOM elements from view elements and bind elements', () => {
@@ -78,8 +78,8 @@ describe( 'DomConverter', () => {
 			expect( domP.childNodes[ 0 ].tagName ).to.equal( 'IMG' );
 			expect( domP.childNodes[ 1 ].data ).to.equal( 'foo' );
 
-			expect( converter.getCorrespondingView( domP ) ).to.equal( viewP );
-			expect( converter.getCorrespondingView( domP.childNodes[ 0 ] ) ).to.equal( viewP.getChild( 0 ) );
+			expect( converter.mapDomToView( domP ) ).to.equal( viewP );
+			expect( converter.mapDomToView( domP.childNodes[ 0 ] ) ).to.equal( viewP.getChild( 0 ) );
 		} );
 
 		it( 'should support unicode', () => {
@@ -91,8 +91,8 @@ describe( 'DomConverter', () => {
 			expect( domP.childNodes.length ).to.equal( 1 );
 			expect( domP.childNodes[ 0 ].data ).to.equal( 'நிலைக்கு' );
 
-			expect( converter.getCorrespondingView( domP ) ).to.equal( viewP );
-			expect( converter.getCorrespondingView( domP.childNodes[ 0 ] ) ).to.equal( viewP.getChild( 0 ) );
+			expect( converter.mapDomToView( domP ) ).to.equal( viewP );
+			expect( converter.findCorrespondingViewText( domP.childNodes[ 0 ] ) ).to.equal( viewP.getChild( 0 ) );
 		} );
 
 		it( 'should create tree of DOM elements from view element without children', () => {
@@ -118,7 +118,7 @@ describe( 'DomConverter', () => {
 			expect( domP.attributes.length ).to.equal( 1 );
 
 			expect( domP.childNodes.length ).to.equal( 0 );
-			expect( converter.getCorrespondingView( domP ) ).not.to.equal( viewP );
+			expect( converter.mapDomToView( domP ) ).not.to.equal( viewP );
 		} );
 
 		it( 'should create DOM document fragment from view document fragment and bind elements', () => {
@@ -136,8 +136,8 @@ describe( 'DomConverter', () => {
 			expect( domFragment.childNodes[ 0 ].tagName ).to.equal( 'IMG' );
 			expect( domFragment.childNodes[ 1 ].data ).to.equal( 'foo' );
 
-			expect( converter.getCorrespondingView( domFragment ) ).to.equal( viewFragment );
-			expect( converter.getCorrespondingView( domFragment.childNodes[ 0 ] ) ).to.equal( viewFragment.getChild( 0 ) );
+			expect( converter.mapDomToView( domFragment ) ).to.equal( viewFragment );
+			expect( converter.mapDomToView( domFragment.childNodes[ 0 ] ) ).to.equal( viewFragment.getChild( 0 ) );
 		} );
 
 		it( 'should create DOM document fragment from view document without children', () => {
@@ -157,7 +157,7 @@ describe( 'DomConverter', () => {
 			expect( domFragment ).to.be.an.instanceof( DocumentFragment );
 
 			expect( domFragment.childNodes.length ).to.equal( 0 );
-			expect( converter.getCorrespondingView( domFragment ) ).not.to.equal( viewFragment );
+			expect( converter.mapDomToView( domFragment ) ).not.to.equal( viewFragment );
 		} );
 
 		it( 'should return already bind document fragment', () => {

+ 6 - 3
packages/ckeditor5-engine/tests/view/renderer.js

@@ -1264,7 +1264,7 @@ describe( 'Renderer', () => {
 				expect( domRoot.childNodes.length ).to.equal( 2 );
 
 				const container = domRoot.childNodes[ 1 ];
-				expect( domConverter.getCorrespondingViewElement( container ) ).to.be.undefined;
+				expect( domConverter.mapDomToView( container ) ).to.be.undefined;
 				expect( container.childNodes.length ).to.equal( 1 );
 
 				const textNode = container.childNodes[ 0 ];
@@ -1723,13 +1723,14 @@ describe( 'Renderer', () => {
 	} );
 
 	describe( '#922', () => {
-		let viewDoc, viewRoot, domRoot;
+		let viewDoc, viewRoot, domRoot, converter;
 
 		beforeEach( () => {
 			viewDoc = new ViewDocument();
 			domRoot = document.createElement( 'div' );
 			document.body.appendChild( domRoot );
 			viewRoot = viewDoc.createRoot( domRoot );
+			converter = viewDoc.domConverter;
 		} );
 
 		it( 'should properly render unwrapped attributes #1', () => {
@@ -1858,7 +1859,9 @@ describe( 'Renderer', () => {
 			const domWalker = document.createTreeWalker( domRoot, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT );
 
 			while ( domWalker.nextNode() ) {
-				if ( !viewDoc.domConverter.getCorrespondingView( domWalker.currentNode ) ) {
+				const node = domWalker.currentNode;
+
+				if ( !converter.mapDomToView( node ) && !converter.findCorrespondingViewText( node ) ) {
 					return false;
 				}
 			}