CSSStyleDeclaration.setProperty() should be able to unset "important" on a property. Currently, if you do the following: element.style.setProperty("color", "red", "important"); element.style.setProperty("color", "red", ""); It does not unset the "important" flag on the color property. Relevant specification: - https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty - https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-camel-cased-attribute Firefox and Chrome match the specification here.
Created attachment 284070 [details] WIP patch
Created attachment 284072 [details] WIP patch
Comment on attachment 284072 [details] WIP patch Attachment 284072 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/1709355 New failing tests: fast/mediastream/MediaStream-video-element-displays-buffer.html
Created attachment 284073 [details] Archive of layout-test-results from ews105 for mac-yosemite-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews105 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Comment on attachment 284072 [details] WIP patch View in context: https://bugs.webkit.org/attachment.cgi?id=284072&action=review > Source/WebCore/css/StyleProperties.cpp:-887 > - // Only add properties that have no !important counterpart present Looks like this code was added via https://bugs.webkit.org/show_bug.cgi?id=60007 whose layout test is LayoutTests/fast/css/important-js-override.html. However, the behavior covered in LayoutTests/fast/css/important-js-override.html does not match the latest specification and this test is failing in both Firefox and Chrome.
Created attachment 284118 [details] Patch
Comment on attachment 284118 [details] Patch Clearing flags on attachment: 284118 Committed r203460: <http://trac.webkit.org/changeset/203460>
All reviewed patches have been landed. Closing bug.