static/tinymce/plugins/paste/editor_plugin_src.js
function process(o, force_rich) {
				var dom = ed.dom, rng;

				// Execute pre process handlers
				t.onPreProcess.dispatch(t, o);

				// Create DOM structure
				o.node = dom.create('div', 0, o.content);

				// If pasting inside the same element and the contents is only one block
				// remove the block and keep the text since Firefox will copy parts of pre and h1-h6 as a pre element
				if (tinymce.isGecko) {
					rng = ed.selection.getRng(true);
					if (rng.startContainer == rng.endContainer && rng.startContainer.nodeType == 3) {
						// Is only one block node and it doesn't contain word stuff
						if (o.node.childNodes.length === 1 && /^(p|h[1-6]|pre)$/i.test(o.node.firstChild.nodeName) && o.content.indexOf('__MCE_ITEM__') === -1)
							dom.remove(o.node.firstChild, true);
					}
				}

				// Execute post process handlers
				t.onPostProcess.dispatch(t, o);

				// Serialize content
				o.content = ed.serializer.serialize(o.node, {getInner : 1, forced_root_block : ''});

				// Plain text option active?
				if ((!force_rich) && (ed.pasteAsPlainText)) {
					t._insertPlainText(o.content);

					if (!getParam(ed, "paste_text_sticky")) {
						ed.pasteAsPlainText = false;
						ed.controlManager.setActive("pastetext", false);
					}
				} else {
					t._insert(o.content);
				}
			}
function process(o, force_rich) {
				var dom = ed.dom, rng;

				// Execute pre process handlers
				t.onPreProcess.dispatch(t, o);

				// Create DOM structure
				o.node = dom.create('div', 0, o.content);

				// If pasting inside the same element and the contents is only one block
				// remove the block and keep the text since Firefox will copy parts of pre and h1-h6 as a pre element
				if (tinymce.isGecko) {
					rng = ed.selection.getRng(true);
					if (rng.startContainer == rng.endContainer && rng.startContainer.nodeType == 3) {
						// Is only one block node and it doesn't contain word stuff
						if (o.node.childNodes.length === 1 && /^(p|h[1-6]|pre)$/i.test(o.node.firstChild.nodeName) && o.content.indexOf('__MCE_ITEM__') === -1)
							dom.remove(o.node.firstChild, true);
					}
				}

				// Execute post process handlers
				t.onPostProcess.dispatch(t, o);

				// Serialize content
				o.content = ed.serializer.serialize(o.node, {getInner : 1, forced_root_block : ''});

				// Plain text option active?
				if ((!force_rich) && (ed.pasteAsPlainText)) {
					t._insertPlainText(o.content);

					if (!getParam(ed, "paste_text_sticky")) {
						ed.pasteAsPlainText = false;
						ed.controlManager.setActive("pastetext", false);
					}
				} else {
					t._insert(o.content);
				}
			}
function process ( o , force_rich ) { var dom = ed . dom , rng ; // Execute pre process handlers
 t . onPreProcess . dispatch ( t , o ) ; // Create DOM structure
 o . node = dom . create ( 'div' , 0 , o . content ) ; // If pasting inside the same element and the contents is only one block
 // remove the block and keep the text since Firefox will copy parts of pre and h1-h6 as a pre element
 if ( tinymce . isGecko ) { rng = ed . selection . getRng ( true ) ; if ( rng . startContainer == rng . endContainer && rng . startContainer . nodeType == 3 ) { // Is only one block node and it doesn't contain word stuff
 if ( o . node . childNodes . length === 1 && / ^(p|h[1-6]|pre)$ / i . test ( o . node . firstChild . nodeName ) && o . content . indexOf ( '__MCE_ITEM__' ) === - 1 ) dom . remove ( o . node . firstChild , true ) ; } } // Execute post process handlers
 t . onPostProcess . dispatch ( t , o ) ; // Serialize content
 o . content = ed . serializer . serialize ( o . node , { getInner : 1 , forced_root_block : '' } ) ; // Plain text option active?
 if ( ( ! force_rich ) && ( ed . pasteAsPlainText ) ) { t . _insertPlainText ( o . content ) ; if ( ! getParam ( ed , "paste_text_sticky" ) ) { ed . pasteAsPlainText = false ; ed . controlManager . setActive ( "pastetext" , false ) ; } } else { t . _insert ( o . content ) ; } }
This function executes the process handlers and inserts the contents force_rich overrides plain text mode set by user, important for pasting with execCommand
This function executes the process handlers and inserts the contents force_rich overrides plain text mode set by user important for pasting with execCommand