Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 6952)
+++ /CKEditor/trunk/CHANGES.html	(revision 6953)
@@ -70,4 +70,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/7581">#7581</a> : [IE] Enter key at the end of list item with "start" attribute crashes the browser.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/7266">#7266</a> : Invalid dialog fields are now ARIA compatible with "aria-invalid".</li>
+		<li><a href="http://dev.ckeditor.com/ticket/7742">#7742</a> : [WebKit] Indent doesn't apply on empty document without editor focus in prior.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.ckeditor.com/ticket/7834">#7834</a> : Dutch;</li>
Index: /CKEditor/trunk/_source/plugins/selection/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/selection/plugin.js	(revision 6952)
+++ /CKEditor/trunk/_source/plugins/selection/plugin.js	(revision 6953)
@@ -79,4 +79,10 @@
 		}
 
+		function singletonBlock( node )
+		{
+			var body = range.document.getBody();
+			return !node.is( 'body' ) && body.getChildCount() == 1;
+		}
+
 		var start = range.startContainer,
 			offset = range.startOffset;
@@ -87,5 +93,7 @@
 		// 1. Empty inline element. <span>^</span>
 		// 2. Adjoin to inline element. <p><strong>text</strong>^</p>
-		return !CKEDITOR.tools.trim( start.getHtml() ) ? isInlineCt( start ) : isInlineCt( start.getChild( offset - 1 ) ) || isInlineCt( start.getChild( offset ) );
+		// 3. The only empty block in document. <body><p>^</p></body> (#7222)
+		return !CKEDITOR.tools.trim( start.getHtml() ) ? isInlineCt( start ) || singletonBlock( start )
+				: isInlineCt( start.getChild( offset - 1 ) ) || isInlineCt( start.getChild( offset ) );
 	}
 
