Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 7452)
+++ /CKEditor/trunk/CHANGES.html	(revision 7453)
@@ -42,4 +42,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/7430">#7430</a> : Justify commands now perform alignment on the element when an image is selected.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/8706">#8706</a> : Better ARIA accessibility for the color picker dialog window.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/7366">#7366</a> : Editor paste function is now available on browser toolbar and context menu.</li>
 	</ul>
 	<p>
Index: /CKEditor/trunk/_source/plugins/clipboard/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/clipboard/plugin.js	(revision 7452)
+++ /CKEditor/trunk/_source/plugins/clipboard/plugin.js	(revision 7453)
@@ -136,9 +136,6 @@
 				var body = this.document.getBody();
 
-				// Simulate 'beforepaste' event for all none-IEs.
-				if ( !CKEDITOR.env.ie && body.fire( 'beforepaste' ) )
-					event.cancel();
 				// Simulate 'paste' event for Opera/Firefox2.
-				else if ( CKEDITOR.env.opera
+				if ( CKEDITOR.env.opera
 						 || CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 )
 					body.fire( 'paste' );
@@ -379,7 +376,14 @@
 				{
 					var body = editor.document.getBody();
-					body.on( CKEDITOR.env.webkit ? 'paste' : 'beforepaste', function( evt )
+
+					// Intercept the paste before it actually takes place.
+					body.on( !CKEDITOR.env.ie ? 'paste' : 'beforepaste', function( evt )
 						{
 							if ( depressBeforeEvent )
+								return;
+
+							// Dismiss the (wrong) 'beforepaste' event fired on toolbar menu open.
+							var domEvent = evt.data && evt.data.$;
+							if ( CKEDITOR.env.ie && domEvent && !domEvent.ctrlKey )
 								return;
 
@@ -402,10 +406,29 @@
 						});
 
-					// Dismiss the (wrong) 'beforepaste' event fired on context menu open. (#7953)
-					body.on( 'contextmenu', function()
-					{
-						depressBeforeEvent = 1;
-						setTimeout( function() { depressBeforeEvent = 0; }, 10 );
-					});
+					if ( CKEDITOR.env.ie )
+					{
+						// Dismiss the (wrong) 'beforepaste' event fired on context menu open. (#7953)
+						body.on( 'contextmenu', function()
+						{
+							depressBeforeEvent = 1;
+							// Important: The following timeout will be called only after menu closed.
+							setTimeout( function() { depressBeforeEvent = 0; }, 0 );
+						} );
+
+						// Handle IE's late coming "paste" event when pasting from
+						// browser toolbar/context menu.
+						body.on( 'paste', function( evt )
+						{
+							if ( !editor.document.getById( 'cke_pastebin' ) )
+							{
+								// Prevent native paste.
+								evt.data.preventDefault();
+
+								depressBeforeEvent = 0;
+								// Resort to the paste command.
+								pasteCmd.exec( editor );
+							}
+						} );
+					}
 
 					body.on( 'beforecut', function() { !depressBeforeEvent && fixCut( editor ); } );
