Index: /CKEditor/trunk/_source/plugins/selection/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/selection/plugin.js	(revision 7683)
+++ /CKEditor/trunk/_source/plugins/selection/plugin.js	(revision 7684)
@@ -706,6 +706,4 @@
 	CKEDITOR.SELECTION_ELEMENT	= 3;
 
-	var isMSSelection = CKEDITOR.env.ie && CKEDITOR.env.version < 10;
-
 	/**
 	 * Manipulates the selection in a DOM document.
@@ -733,5 +731,5 @@
 		 * editor document. Return null if that is the case.
 		 */
-		if ( isMSSelection )
+		if ( CKEDITOR.env.ie )
 		{
 			// Avoid breaking because of it. (#8836)
@@ -770,11 +768,15 @@
 		 * var selection = editor.getSelection().<strong>getNative()</strong>;
 		 */
-		getNative : function()
-		{
-			if ( this._.cache.nativeSel !== undefined )
-				return this._.cache.nativeSel;
-
-			return ( this._.cache.nativeSel = isMSSelection ? this.document.$.selection : this.document.getWindow().$.getSelection() );
-		},
+		getNative :
+			CKEDITOR.env.ie ?
+				function()
+				{
+					return this._.cache.nativeSel || ( this._.cache.nativeSel = this.document.$.selection );
+				}
+			:
+				function()
+				{
+					return this._.cache.nativeSel || ( this._.cache.nativeSel = this.document.getWindow().$.getSelection() );
+				},
 
 		/**
@@ -797,5 +799,5 @@
 		 */
 		getType :
-			isMSSelection ?
+			CKEDITOR.env.ie ?
 				function()
 				{
@@ -874,5 +876,5 @@
 		getRanges : (function()
 		{
-			var func = isMSSelection ?
+			var func = CKEDITOR.env.ie ?
 				( function()
 				{
@@ -1431,8 +1433,5 @@
 				nativeSel = this.getNative();
 			if ( this.getType() == CKEDITOR.SELECTION_TEXT )
-				text = isMSSelection ?
-				   nativeSel.type == 'Control' ? '' :
-				   nativeSel.createRange().text :
-				   nativeSel.toString();
+				text = CKEDITOR.env.ie ? nativeSel.createRange().text : nativeSel.toString();
 
 			return ( cache.selectedText = text );
@@ -1565,5 +1564,5 @@
 			}
 
-			if ( isMSSelection )
+			if ( CKEDITOR.env.ie )
 			{
 				if ( ranges.length > 1 )
@@ -1779,5 +1778,5 @@
 
 	CKEDITOR.dom.range.prototype.select =
-			isMSSelection ?
+		CKEDITOR.env.ie ?
 			// V2
 			function( forceExpand )
