Index: _source/plugins/link/dialogs/link.js
===================================================================
--- _source/plugins/link/dialogs/link.js	(revision 7031)
+++ _source/plugins/link/dialogs/link.js	(working copy)
@@ -244,23 +244,37 @@
 		}
 
 		// Find out whether we have any anchors in the editor.
-		var anchorList = new CKEDITOR.dom.nodeList( editor.document.$.anchors ),
-			anchors = retval.anchors = [],
+		var anchors = retval.anchors = [],
 			item;
 
-		for ( var i = 0, count = anchorList.count(); i < count; i++ )
+		// For some browsers we set contenteditable="false" on anchors, making document.anchors not to include them, so we must traverse the links manually (#7893).
+		if ( CKEDITOR.plugins.link.emptyAnchorFix )
 		{
-			item = anchorList.getItem( i );
-			anchors[ i ] = { name : item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) };
+			var links = editor.document.getElementsByTag( 'a' );
+			for ( i = 0, count = links.count(); i < count; i++ )
+			{
+				item = links.getItem( i );
+				if ( item.data( 'cke-saved-name' ) || item.hasAttribute( 'name' ) )
+					anchors.push( { name : item.data( 'cke-saved-name' ) || item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) } );
+			}
 		}
+		else
+		{
+			var anchorList = new CKEDITOR.dom.nodeList( editor.document.$.anchors );
+			for ( var i = 0, count = anchorList.count(); i < count; i++ )
+			{
+				item = anchorList.getItem( i );
+				anchors[ i ] = { name : item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) };
+			}
+		}
 
 		if ( CKEDITOR.plugins.link.fakeAnchor )
 		{
-			var imgs = editor.document.getElementsByTag( 'img' ), anchor;
+			var imgs = editor.document.getElementsByTag( 'img' );
 			for ( i = 0, count = imgs.count(); i < count; i++ )
 			{
-				if ( ( anchor = CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, imgs.getItem( i ) ) ) )
-					anchors.push( { name : anchor.getAttribute( 'name' ), id : anchor.getAttribute( 'id' ) } );
+				if ( ( item = CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, imgs.getItem( i ) ) ) )
+					anchors.push( { name : item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) } );
 			}
 		}
 
