Bug 85457 - Add WebCore::InternalSettings::setCSSImageResolutionEnabled
Summary: Add WebCore::InternalSettings::setCSSImageResolutionEnabled
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: David Barr
URL: http://www.w3.org/TR/2012/CR-css3-ima...
Depends on:
Blocks: 85262 85332
  Show dependency treegraph
Reported: 2012-05-02 22:34 PDT by David Barr
Modified: 2012-05-28 17:51 PDT (History)
6 users (show)

See Also:

Patch (11.23 KB, patch)
2012-05-02 23:06 PDT, David Barr
simon.fraser: review-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Barr 2012-05-02 22:34:42 PDT
The css3-images module is at candidate recommendation.

I propose to introduce image-resolution, initially behind a runtime feature flag.

Advertised on webkit-dev:

Prior to changing behaviour, add WebCore::InternalSettings::setCSSImageResolutionEnabled
and WebCore::RuntimeEnabledFeatures::setCSSImageResolutionEnabled.
Comment 1 David Barr 2012-05-02 23:06:17 PDT
Created attachment 139960 [details]
Comment 2 Simon Fraser (smfr) 2012-05-03 17:25:00 PDT
Why runtime and not build time? We rarely add runtime flags for stuff like this.
Comment 3 David Barr 2012-05-03 21:14:38 PDT
Fair question. I used exclusions (bug 83313), shaders (bug 76444) and regions (bug 78525) as currently exposed as my guide.
Comment 4 Adam Barth 2012-05-04 10:10:27 PDT
David, we tend to use EnabledAtRuntime when Chrome wants to enable or disable the feature with a command line argument.  Typically for CSS features, we just use a compile switch.  Exclusions, Shaders, and Regions are the exception rather than the norm.
Comment 5 Simon Fraser (smfr) 2012-05-04 10:28:21 PDT
Comment on attachment 139960 [details]

What adam said.
Comment 6 David Barr 2012-05-20 21:39:09 PDT
The motivation for adding a runtime flag rather than build time is to enable testing on the bots of the feature prior to flipping the flag. This also assists incremental development until the feature is fully baked. With a runtime flag, it can be known the the feature compiles and passes tests on all ports without exposing it to the wild web. As the feature is part of a Candidate Recommendation, it is not a moving target.

In short, using a runtime flag rather than a build flag allows the cost of deciding to flip the flag to be amortized over the development period.
Comment 7 David Barr 2012-05-28 17:50:14 PDT
Obsoleted by Bug 86338, use compile time flag instead.
Comment 8 David Barr 2012-05-28 17:51:18 PDT
(In reply to comment #7)
> Obsoleted by Bug 86338, use compile time flag instead.

I meant Bug 87685, oops.