Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(534)

Unified Diff: cc/settings.cc

Issue 11186039: Move CC switches to cc/switches.h. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Switch ui/compositor back to using compositorSupport() Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/settings.h ('k') | cc/switches.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/settings.cc
diff --git a/cc/settings.cc b/cc/settings.cc
index cfdc25835d41e13c027e763da5c089ac85b5cd52..5954704c2a89d8a75023dc36f77a9a98ab03a1c6 100644
--- a/cc/settings.cc
+++ b/cc/settings.cc
@@ -5,46 +5,108 @@
#include "config.h"
#include "base/command_line.h"
-#include "CCSettings.h"
+#include "cc/settings.h"
#include "cc/switches.h"
namespace {
+static bool s_settingsInitialized = false;
+
static bool s_perTilePaintingEnabled = false;
static bool s_partialSwapEnabled = false;
static bool s_acceleratedAnimationEnabled = false;
static bool s_pageScalePinchZoomEnabled = false;
-} // namespace
+static bool s_jankInsteadOfCheckerboard = false;
+static bool s_backgroundColorInsteadOfCheckerboard = false;
+
+void reset()
+{
+ s_settingsInitialized = true;
+
+ s_perTilePaintingEnabled = CommandLine::ForCurrentProcess()->HasSwitch(cc::switches::kEnablePerTilePainting);
+ s_partialSwapEnabled = CommandLine::ForCurrentProcess()->HasSwitch(cc::switches::kEnablePartialSwap);
+ s_acceleratedAnimationEnabled = CommandLine::ForCurrentProcess()->HasSwitch(cc::switches::kDisableThreadedAnimation);
+ s_pageScalePinchZoomEnabled = CommandLine::ForCurrentProcess()->HasSwitch(cc::switches::kEnablePinchInCompositor);
+ s_jankInsteadOfCheckerboard = CommandLine::ForCurrentProcess()->HasSwitch(cc::switches::kJankInsteadOfCheckerboard);
+ s_backgroundColorInsteadOfCheckerboard = CommandLine::ForCurrentProcess()->HasSwitch(cc::switches::kBackgroundColorInsteadOfCheckerboard);
+}
+
+}
namespace cc {
-bool CCSettings::perTilePaintingEnabled() { return s_perTilePaintingEnabled; }
-void CCSettings::setPerTilePaintingEnabled(bool enabled) { s_perTilePaintingEnabled = enabled; }
+bool Settings::perTilePaintingEnabled()
+{
+ if (!s_settingsInitialized)
+ reset();
+ return s_perTilePaintingEnabled;
+}
-bool CCSettings::partialSwapEnabled() { return s_partialSwapEnabled; }
-void CCSettings::setPartialSwapEnabled(bool enabled) { s_partialSwapEnabled = enabled; }
+bool Settings::partialSwapEnabled()
+{
+ if (!s_settingsInitialized)
+ reset();
+ return s_partialSwapEnabled;
+}
-bool CCSettings::acceleratedAnimationEnabled() { return s_acceleratedAnimationEnabled; }
-void CCSettings::setAcceleratedAnimationEnabled(bool enabled) { s_acceleratedAnimationEnabled = enabled; }
+bool Settings::acceleratedAnimationEnabled()
+{
+ if (!s_settingsInitialized)
+ reset();
+ return s_acceleratedAnimationEnabled;
+}
-bool CCSettings::pageScalePinchZoomEnabled() { return s_pageScalePinchZoomEnabled; }
-void CCSettings::setPageScalePinchZoomEnabled(bool enabled) { s_pageScalePinchZoomEnabled = enabled; }
+bool Settings::pageScalePinchZoomEnabled()
+{
+ if (!s_settingsInitialized)
+ reset();
+ return s_pageScalePinchZoomEnabled;
+}
+
+bool Settings::jankInsteadOfCheckerboard()
+{
+ if (!s_settingsInitialized)
+ reset();
+ return s_jankInsteadOfCheckerboard;
+}
+
+bool Settings::backgroundColorInsteadOfCheckerboard()
+{
+ if (!s_settingsInitialized)
+ reset();
+ return s_backgroundColorInsteadOfCheckerboard;
+}
+
+void Settings::resetForTest()
+{
+ reset();
+}
+
+void Settings::setPartialSwapEnabled(bool enabled)
+{
+ if (!s_settingsInitialized)
+ reset();
+ s_partialSwapEnabled = enabled;
+}
-bool CCSettings::jankInsteadOfCheckerboard()
+void Settings::setPerTilePaintingEnabled(bool enabled)
{
- return CommandLine::ForCurrentProcess()->HasSwitch(switches::kJankInsteadOfCheckerboard);
+ if (!s_settingsInitialized)
+ reset();
+ s_partialSwapEnabled = enabled;
}
-bool CCSettings::backgroundColorInsteadOfCheckerboard()
+void Settings::setAcceleratedAnimationEnabled(bool enabled)
{
- return CommandLine::ForCurrentProcess()->HasSwitch(switches::kBackgroundColorInsteadOfCheckerboard);
+ if (!s_settingsInitialized)
+ reset();
+ s_acceleratedAnimationEnabled = enabled;
}
-void CCSettings::reset()
+void Settings::setPageScalePinchZoomEnabled(bool enabled)
{
- s_perTilePaintingEnabled = false;
- s_partialSwapEnabled = false;
- s_acceleratedAnimationEnabled = false;
- s_pageScalePinchZoomEnabled = false;
+ if (!s_settingsInitialized)
+ reset();
+ s_pageScalePinchZoomEnabled = enabled;
}
} // namespace cc
« no previous file with comments | « cc/settings.h ('k') | cc/switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698