We have a lot of tests that poke internal settings, via testRunner:
testRunner.setFrameFlatteningEnabled(true);
or window.internals:
internals.settings.setPageScaleFactor(0.5, 0, 0);
and some that poke preferences, like:
testRunner.overridePreference("WebKitUsesPageCachePreferenceKey", 1);
First, direct calls on testRunner that just set preferences should be migrated
to internals.settings or testRunner.overridePreference calls, I think (I don't
know if either is preferred).
Secondly, I see no guarantee that these settings and preferences are reset to
their default values before the next test, and we don't seem to have a
consistent strategy about how to do this.
For internal settings, we have InternalSettings::Backup methods. However,
there's no enforcement that when changing a setting in a test for the first
time, developers also add code to reset it in InternalSettings.
I looked at testRunner.overridePreference(), and it doesn't appear to reset the
value at the end of the test.
So I think we need clearer rules here. I suggest:
* testRunner methods that just set preferences should migrate to
internals.settings or testRunner.overridePreference
* we should choose between internals.settings or testRunner.overridePreference
if that makes sense.
* we should enforce a policy that patches adding a settings/prefs toggle
should, if necessary, add code to reset between tests.
Simon
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-dev