* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "config.h"
#include "CSSSelectorList.h"
#include "CSSParserValues.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
-CSSSelectorList::~CSSSelectorList()
+CSSSelectorList::~CSSSelectorList()
{
deleteSelectors();
}
-
+
void CSSSelectorList::adopt(CSSSelectorList& list)
{
deleteSelectors();
deleteSelectors();
const size_t vectorSize = selectorVector.size();
size_t flattenedSize = 0;
- for (size_t i = 0; i < vectorSize; ++i) {
+ for (size_t i = 0; i < vectorSize; ++i) {
for (CSSParserSelector* selector = selectorVector[i].get(); selector; selector = selector->tagHistory())
++flattenedSize;
}
}
}
+String CSSSelectorList::selectorsText() const
+{
+ StringBuilder result;
+
+ for (CSSSelector* s = first(); s; s = next(s)) {
+ if (s != first())
+ result.append(", ");
+ result.append(s->selectorText());
+ }
+
+ return result.toString();
+}
template <typename Functor>
static bool forEachTagSelector(Functor& functor, CSSSelector* selector)