REGRESSION (r102262): iAd Producer relies on CSSStyleDeclaration property setters...
authoraestes@apple.com <aestes@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Apr 2012 23:58:44 +0000 (23:58 +0000)
committeraestes@apple.com <aestes@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Apr 2012 23:58:44 +0000 (23:58 +0000)
commitb7aa863e46a5dfd6783b005795668749adc1f4db
tree6e6c44b68f73a2a3af3163bcdae5868916e9d2a1
parentc8065d95da08a6d0ff6176ee0e227c55d98c3b1c
REGRESSION (r102262): iAd Producer relies on CSSStyleDeclaration property setters respecting '!important'
https://bugs.webkit.org/show_bug.cgi?id=83832

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Shipping versions of iAd Producer rely on the pre-r102262 behavior of
respecting '!important' when specified in a CSSStyleDeclaration
property setter. Restore this quirky behavior for versions of the app
that expect it.

* WebCore.exp.in: Export
Settings::setShouldRespectPriorityInCSSAttributeSetters().
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::putDelegate): If
setShouldRespectPriorityInCSSAttributeSetters() is true, restore the
pre-r102262 behavior wherein we attempt to parse '!important' out of
the property value.
* page/Settings.cpp:
(WebCore::Settings::setShouldRespectPriorityInCSSAttributeSetters):
(WebCore::Settings::shouldRespectPriorityInCSSAttributeSetters):
* page/Settings.h:

Source/WebKit/mac:

* Misc/WebKitVersionChecks.h: Indicate that 535.13.0 was the first
version of WebKit.framework to ignore '!important' in
CSSStyleDeclaration property setters.
* WebView/WebView.mm:
(shouldRespectPriorityInCSSAttributeSetters):
(-[WebView _commonInitializationWithFrameName:groupName:]): Enable a
quirk to restore pre-r102262 behavior if the application is iAd Producer
and was linked against a version of WebKit.framework that had the old behavior.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/WebCore.exp.in
Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp
Source/WebCore/page/Settings.cpp
Source/WebCore/page/Settings.h
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/Misc/WebKitVersionChecks.h
Source/WebKit/mac/WebView/WebView.mm