public/ckeditor/4.4dev/plugins/magicline/plugin.js
function expandFilter( that, trigger ) {
			that.debug.groupStart( 'expandFilter' ); // %REMOVE_LINE%

			var upper = trigger.upper,
				lower = trigger.lower;

			if ( !upper || !lower 											// NOT: EDGE_MIDDLE trigger ALWAYS has two elements.
				|| isFlowBreaker( lower ) || isFlowBreaker( upper )			// NOT: one of the elements is floated or positioned
				|| lower.equals( upper ) || upper.equals( lower ) 			// NOT: two trigger elements, one equals another.
				|| lower.contains( upper ) || upper.contains( lower ) ) { 	// NOT: two trigger elements, one contains another.
				that.debug.logEnd( 'REJECTED. No upper or no lower or they contain each other.' ); // %REMOVE_LINE%

				return false;
			}

			// YES: two trigger elements, pure siblings.
			else if ( isTrigger( that, upper ) && isTrigger( that, lower ) && areSiblings( that, upper, lower ) ) {
				that.debug.logElementsEnd( [ upper, lower ], // %REMOVE_LINE%
					[ 'upper', 'lower' ], 'APPROVED EDGE_MIDDLE' ); // %REMOVE_LINE%

				return true;
			}

			that.debug.logElementsEnd( [ upper, lower ], // %REMOVE_LINE%
				[ 'upper', 'lower' ], 'Rejected unknown pair' ); // %REMOVE_LINE%

			return false;
		}
function expandFilter( that, trigger ) {
			that.debug.groupStart( 'expandFilter' ); // %REMOVE_LINE%

			var upper = trigger.upper,
				lower = trigger.lower;

			if ( !upper || !lower 											// NOT: EDGE_MIDDLE trigger ALWAYS has two elements.
				|| isFlowBreaker( lower ) || isFlowBreaker( upper )			// NOT: one of the elements is floated or positioned
				|| lower.equals( upper ) || upper.equals( lower ) 			// NOT: two trigger elements, one equals another.
				|| lower.contains( upper ) || upper.contains( lower ) ) { 	// NOT: two trigger elements, one contains another.
				that.debug.logEnd( 'REJECTED. No upper or no lower or they contain each other.' ); // %REMOVE_LINE%

				return false;
			}

			// YES: two trigger elements, pure siblings.
			else if ( isTrigger( that, upper ) && isTrigger( that, lower ) && areSiblings( that, upper, lower ) ) {
				that.debug.logElementsEnd( [ upper, lower ], // %REMOVE_LINE%
					[ 'upper', 'lower' ], 'APPROVED EDGE_MIDDLE' ); // %REMOVE_LINE%

				return true;
			}

			that.debug.logElementsEnd( [ upper, lower ], // %REMOVE_LINE%
				[ 'upper', 'lower' ], 'Rejected unknown pair' ); // %REMOVE_LINE%

			return false;
		}
function expandFilter ( that , trigger ) { that . debug . groupStart ( 'expandFilter' ) ; // %REMOVE_LINE%
 var upper = trigger . upper , lower = trigger . lower ; if ( ! upper || ! lower // NOT: EDGE_MIDDLE trigger ALWAYS has two elements.
 || isFlowBreaker ( lower ) || isFlowBreaker ( upper ) // NOT: one of the elements is floated or positioned
 || lower . equals ( upper ) || upper . equals ( lower ) // NOT: two trigger elements, one equals another.
 || lower . contains ( upper ) || upper . contains ( lower ) ) { // NOT: two trigger elements, one contains another.
 that . debug . logEnd ( 'REJECTED. No upper or no lower or they contain each other.' ) ; // %REMOVE_LINE%
 return false ; } // YES: two trigger elements, pure siblings.
 else if ( isTrigger ( that , upper ) && isTrigger ( that , lower ) && areSiblings ( that , upper , lower ) ) { that . debug . logElementsEnd ( [ upper , lower ] , // %REMOVE_LINE%
 [ 'upper' , 'lower' ] , 'APPROVED EDGE_MIDDLE' ) ; // %REMOVE_LINE%
 return true ; } that . debug . logElementsEnd ( [ upper , lower ] , // %REMOVE_LINE%
 [ 'upper' , 'lower' ] , 'Rejected unknown pair' ) ; // %REMOVE_LINE%
 return false ; }
A method for trigger filtering. Accepts or rejects trigger pairs by their location in DOM etc.
A method for trigger filtering . Accepts or rejects trigger pairs by their location in DOM etc .