﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
12023	Improve performance of element.find() and element.findOne()	Piotrek Koszuliński		"These methods have to set a temporary id on the element because querySelectorAll has different behaviour that anyone could expect and it applies the selector to entire DOM tree, even below the root.

Additionally, querySelectorAll is not as fast as its simpler friends - getElementsByTagName and getElementsByClassName.

It may be worth to test such addition to find and findOne:

{{{
		if ( selector.match( /^\.[a-z_-]+$/i ) ) {
			var found = this.$.getElementsByClassName( selector.slice( 1 ) )[ 0 ];
			return found ? new CKEDITOR.dom.element( found ) : null;
		} else if ( selector.match( /^[a-z_-]+$/i ) ) {
			var found = this.$.getElementsByTagName( selector )[ 0 ];
			return found ? new CKEDITOR.dom.element( found ) : null;
		}
}}}

This needs a research, but I'm setting milestone, because we're planning to work on #10903."	Task	confirmed	Normal		General				
