REGRESSION(r125294): A style rule with more than 8192 selectors can cause style corruption.
<http://webkit.org/b/118369>
<rdar://problem/14291428>

Reviewed by Antti Koivisto.

Source/WebCore:

Add a semi-hard cap of 8192 selectors per CSS rule. Rules with longer selector lists will be split into
multiple rules (with 8192 selectors per rule.) The style properties are shared behind the scenes
so it's all pretty efficient.

This does generate a different CSSOM for gigantic selector lists, I've added a test to document this.
Note that setting CSSStyleRule.selectorText with over 8192 selectors will now fail, the splitting into
multiple rules only happens when parsing full style sheets.

Test: fast/css/rule-selector-overflow.html

* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::selectorCount):

    Add a helper to count the number of selectors in a list (not the number of raw selector components.)

* css/RuleSet.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):

    Add RuleData::maximumSelectorCount constant and cap CSSStyleRule.selectorText to that many selectors.

* css/CSSSelectorList.h:
(WebCore::CSSSelectorList::adoptSelectorArray):
* css/StyleRule.cpp:
(WebCore::StyleRule::create):
(WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorCount):
* css/StyleRule.h:
(WebCore::StyleRule::parserAdoptSelectorArray):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parserAppendRule):

    The meat of this change. Split rules with >8K selectors into multiple rules with 8K selectors in each.

* css/StyleRule.h:
(WebCore::toStyleRule):

    Added a toStyleRule() helper for good measure.

LayoutTests:

Added a test to document the new cap of 8192 selectors per CSS rule.

* fast/css/rule-selector-overflow-expected.txt: Added.
* fast/css/rule-selector-overflow.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Autoconf] Define WTF_USE_OPENGL when OpenGL was found
https://bugs.webkit.org/show_bug.cgi?id=118341

Reviewed by Gustavo Noronha Silva.

After r152275, WTF_USE_OPENGL is only defined if the accelerated compositing is enabled.
This breaks the build if disabling the accelerated compositing feature as the OpenGL-specific
code is not compiled anymore even if it's still required.

To avoid that, WTF_USE_OPENGL should be defined if OpenGL was found. The accelerated compositing
feature also relies on this condition, exiting the configuration process with an error otherwise.

* Source/autotools/SetupAutoconfHeader.m4:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Acceleration description isn't displayed in configured options.
https://bugs.webkit.org/show_bug.cgi?id=118441

Patch by ChangSeok Oh <changseok.oh@collabora.com> on 2013-07-08
Reviewed by Gustavo Noronha Silva.

The acceleration_backend_description has been changed to acceleration_description from r152275.

* Source/autotools/PrintBuildConfiguration.m4:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r152416.
http://trac.webkit.org/changeset/152416
https://bugs.webkit.org/show_bug.cgi?id=118476

Wrong fix for the bug (Requested by ap on #webkit).

* platform/text/TextEncodingRegistry.cpp:
(WebCore::newTextCodec):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152456 268f45cc-cd09-0410-ab3c-d52691b4dbfc