Title: [133684] trunk/Source/WebCore
- Revision
- 133684
- Author
- [email protected]
- Date
- 2012-11-06 15:51:53 -0800 (Tue, 06 Nov 2012)
Log Message
Implement save and restore for a bunch of InternalSettings state
https://bugs.webkit.org/show_bug.cgi?id=101394
Reviewed by Dirk Pranke.
In http://trac.webkit.org/changeset/133399, I resolved a bunch of
flaky tests by saving and restoring the InternalSettings state
EnableCompositingForFixedPosition. On a hunch, I git grepped for all
internal settings state which is being set by layout tests but not
saved and restored. It turns out there about 15 calls.
This patch takes care of five of them, mostly compositing-related.
The others I was either not sure about, or were already at least
being reset to known values by the testing harness.
Hopefully this will alleviate some further test flakiness.
* testing/InternalSettings.cpp:
* testing/InternalSettings.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (133683 => 133684)
--- trunk/Source/WebCore/ChangeLog 2012-11-06 23:50:36 UTC (rev 133683)
+++ trunk/Source/WebCore/ChangeLog 2012-11-06 23:51:53 UTC (rev 133684)
@@ -1,3 +1,25 @@
+2012-11-06 Stephen White <[email protected]>
+
+ Implement save and restore for a bunch of InternalSettings state
+ https://bugs.webkit.org/show_bug.cgi?id=101394
+
+ Reviewed by Dirk Pranke.
+
+ In http://trac.webkit.org/changeset/133399, I resolved a bunch of
+ flaky tests by saving and restoring the InternalSettings state
+ EnableCompositingForFixedPosition. On a hunch, I git grepped for all
+ internal settings state which is being set by layout tests but not
+ saved and restored. It turns out there about 15 calls.
+
+ This patch takes care of five of them, mostly compositing-related.
+ The others I was either not sure about, or were already at least
+ being reset to known values by the testing harness.
+
+ Hopefully this will alleviate some further test flakiness.
+
+ * testing/InternalSettings.cpp:
+ * testing/InternalSettings.h:
+
2012-11-06 KyungTae Kim <[email protected]>
Fix build warning in RenderLayer.cpp caused by r133628
Modified: trunk/Source/WebCore/testing/InternalSettings.cpp (133683 => 133684)
--- trunk/Source/WebCore/testing/InternalSettings.cpp 2012-11-06 23:50:36 UTC (rev 133683)
+++ trunk/Source/WebCore/testing/InternalSettings.cpp 2012-11-06 23:51:53 UTC (rev 133684)
@@ -67,7 +67,9 @@
InternalSettings::Backup::Backup(Page* page, Settings* settings)
: m_originalPasswordEchoDurationInSeconds(settings->passwordEchoDurationInSeconds())
, m_originalPasswordEchoEnabled(settings->passwordEchoEnabled())
+ , m_originalFixedElementsLayoutRelativeToFrame(settings->fixedElementsLayoutRelativeToFrame())
, m_originalCSSExclusionsEnabled(RuntimeEnabledFeatures::cssExclusionsEnabled())
+ , m_originalCSSVariablesEnabled(settings->cssVariablesEnabled())
#if ENABLE(SHADOW_DOM)
, m_originalShadowDOMEnabled(RuntimeEnabledFeatures::shadowDOMEnabled())
, m_originalAuthorShadowDOMForAnyElementEnabled(RuntimeEnabledFeatures::authorShadowDOMForAnyElementEnabled())
@@ -93,7 +95,10 @@
, m_originalDialogElementEnabled(RuntimeEnabledFeatures::dialogElementEnabled())
#endif
, m_canStartMedia(page->canStartMedia())
+ , m_originalForceCompositingMode(settings->forceCompositingMode())
, m_originalCompositingForFixedPositionEnabled(settings->acceleratedCompositingForFixedPositionEnabled())
+ , m_originalCompositingForScrollableFramesEnabled(settings->acceleratedCompositingForScrollableFramesEnabled())
+ , m_originalAcceleratedDrawingEnabled(settings->acceleratedDrawingEnabled())
, m_originalMockScrollbarsEnabled(settings->mockScrollbarsEnabled())
, m_langAttributeAwareFormControlUIEnabled(RuntimeEnabledFeatures::langAttributeAwareFormControlUIEnabled())
, m_imagesEnabled(settings->areImagesEnabled())
@@ -110,7 +115,9 @@
{
settings->setPasswordEchoDurationInSeconds(m_originalPasswordEchoDurationInSeconds);
settings->setPasswordEchoEnabled(m_originalPasswordEchoEnabled);
+ settings->setFixedElementsLayoutRelativeToFrame(m_originalFixedElementsLayoutRelativeToFrame);
RuntimeEnabledFeatures::setCSSExclusionsEnabled(m_originalCSSExclusionsEnabled);
+ settings->setCSSVariablesEnabled(m_originalCSSVariablesEnabled);
#if ENABLE(SHADOW_DOM)
RuntimeEnabledFeatures::setShadowDOMEnabled(m_originalShadowDOMEnabled);
RuntimeEnabledFeatures::setAuthorShadowDOMForAnyElementEnabled(m_originalAuthorShadowDOMForAnyElementEnabled);
@@ -136,7 +143,10 @@
RuntimeEnabledFeatures::setDialogElementEnabled(m_originalDialogElementEnabled);
#endif
page->setCanStartMedia(m_canStartMedia);
+ settings->setForceCompositingMode(m_originalForceCompositingMode);
settings->setAcceleratedCompositingForFixedPositionEnabled(m_originalCompositingForFixedPositionEnabled);
+ settings->setAcceleratedCompositingForScrollableFramesEnabled(m_originalCompositingForScrollableFramesEnabled);
+ settings->setAcceleratedDrawingEnabled(m_originalAcceleratedDrawingEnabled);
settings->setMockScrollbarsEnabled(m_originalMockScrollbarsEnabled);
RuntimeEnabledFeatures::setLangAttributeAwareFormControlUIEnabled(m_langAttributeAwareFormControlUIEnabled);
settings->setImagesEnabled(m_imagesEnabled);
Modified: trunk/Source/WebCore/testing/InternalSettings.h (133683 => 133684)
--- trunk/Source/WebCore/testing/InternalSettings.h 2012-11-06 23:50:36 UTC (rev 133683)
+++ trunk/Source/WebCore/testing/InternalSettings.h 2012-11-06 23:51:53 UTC (rev 133684)
@@ -53,7 +53,9 @@
double m_originalPasswordEchoDurationInSeconds;
bool m_originalPasswordEchoEnabled;
+ bool m_originalFixedElementsLayoutRelativeToFrame;
bool m_originalCSSExclusionsEnabled;
+ bool m_originalCSSVariablesEnabled;
#if ENABLE(SHADOW_DOM)
bool m_originalShadowDOMEnabled;
bool m_originalAuthorShadowDOMForAnyElementEnabled;
@@ -79,7 +81,10 @@
bool m_originalDialogElementEnabled;
#endif
bool m_canStartMedia;
+ bool m_originalForceCompositingMode;
bool m_originalCompositingForFixedPositionEnabled;
+ bool m_originalCompositingForScrollableFramesEnabled;
+ bool m_originalAcceleratedDrawingEnabled;
bool m_originalMockScrollbarsEnabled;
bool m_langAttributeAwareFormControlUIEnabled;
bool m_imagesEnabled;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes