Summary: | CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Alexandru Chiculita <achicu> | ||||
Component: | Layout and Rendering | Assignee: | Alexandru Chiculita <achicu> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | aroben, cmarrin, dino, macpherson, simon.fraser, webkit.review.bot | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Alexandru Chiculita
2012-01-17 05:10:04 PST
Created attachment 122771 [details]
Patch V1
Comment on attachment 122771 [details] Patch V1 View in context: https://bugs.webkit.org/attachment.cgi?id=122771&action=review Looks sane, r=me with some comments: > Source/WebCore/css/CSSParser.cpp:6914 > + if (findDocument()) { if (Document* document = findDocument()) { Settings* settings = document->settings().... > Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h:83 > // Defaults to false. This comment is not correct, eh? Please update it to true. Landed in 105485: http://trac.webkit.org/changeset/105485 Closing bug. Comment on attachment 122771 [details] Patch V1 View in context: https://bugs.webkit.org/attachment.cgi?id=122771&action=review > Source/WebKit/mac/WebView/WebPreferencesPrivate.h:192 > +#if ENABLE(CSS_SHADERS) > +- (BOOL)cssCustomFilterEnabled; > +- (void)setCSSCustomFilterEnabled:(BOOL)enabled; > +#endif We can't expose ENABLE() settings to WebKit clients (even those using private headers). WebKit clients don't have a way of knowing what features were enabled when WebKit was compiled. I think we need to remove the #if and always implement these methods. This (or another filters patch) broke some tests, like css3/filters/custom-filter-property-computed-style.html (In reply to comment #4) > (From update of attachment 122771 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=122771&action=review > > > Source/WebKit/mac/WebView/WebPreferencesPrivate.h:192 > > +#if ENABLE(CSS_SHADERS) > > +- (BOOL)cssCustomFilterEnabled; > > +- (void)setCSSCustomFilterEnabled:(BOOL)enabled; > > +#endif > > We can't expose ENABLE() settings to WebKit clients (even those using private headers). WebKit clients don't have a way of knowing what features were enabled when WebKit was compiled. I think we need to remove the #if and always implement these methods. The methods in Settings.cpp are always compiled, so I just forgot to remove the ifdefs from all the places. Sorry about that, I will fix it tomorrow. Since this is breaking apple-internal builds, it needs to be fixed ASAP. I'll do it. Fixed in http://trac.webkit.org/changeset/105540. (In reply to comment #8) > Fixed in http://trac.webkit.org/changeset/105540. Thanks! |