The FeatureDefines.h file forces certain features to be active, regardless of the FeatureDefines.prop contents. This may be a historical issue, from a time when the property sheet did not exist and was not used to control feature activations. I think it is confusing (and wrong) for this header file to force any of the features to be turned on, if those features are defined and handled in the property sheet.
On the Apple Windows target, ENABLE_VIEW_MODE_CSS_MEDIA is included in compiler's command line output, e.g, /D "ENABLE_VIEW_MODE_CSS_MEDIA" because it is marked as "active" in the FeatureDefines.props file. On the WInCairo build, we have ENABLE_VIEW_MODE_CSS_MEDIA turned off at the moment (in the FeatureDefinesCairo.props file). Unfortunately, FeatureDefines.h silently flips it back on. I think the various defines for OS(WINDOWS) in the FeatureDefines.h file that automatically activate certain features should be removed, unless the GTK-Windows, WinCE, wxWidgets, or some other port needs them.
(In reply to comment #1) > I think the various defines for OS(WINDOWS) in the FeatureDefines.h file that automatically activate certain features should be removed, unless the GTK-Windows, WinCE, wxWidgets, or some other port needs them. No needs in the WinCE port.
Created attachment 204627 [details] Patch
I misunderstood how this file is being used. I think the right solution here is to add a default case for WinCairo that sets the ENABLE_VIEW_MODE_CSS_MEDIA flag to 0 for the WinCairo port.
Committed r151561: <http://trac.webkit.org/changeset/151561>