Commit d7def050 authored by Khushal's avatar Khushal Committed by Commit Bot

content: Add finch feature flag for compositor image animations.

Add a finch flag for enabling image animations in the compositor. Its
currently disabled by default.

R=piman@chromium.org

Bug: 735662
Change-Id: I171d05b9411e3b3fa72b4df1be612deb0bd289b2
Reviewed-on: https://chromium-review.googlesource.com/703507Reviewed-by: default avatarAntoine Labour <piman@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506917}
parent 51b2e855
...@@ -304,6 +304,17 @@ bool IsGpuAsyncWorkerContextEnabled() { ...@@ -304,6 +304,17 @@ bool IsGpuAsyncWorkerContextEnabled() {
return true; return true;
} }
bool IsCompositorImageAnimationEnabled() {
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableCompositorImageAnimations))
return true;
if (base::FeatureList::IsEnabled(features::kCompositorImageAnimation))
return true;
return false;
}
std::unique_ptr<base::DictionaryValue> GetFeatureStatus() { std::unique_ptr<base::DictionaryValue> GetFeatureStatus() {
GpuDataManagerImpl* manager = GpuDataManagerImpl::GetInstance(); GpuDataManagerImpl* manager = GpuDataManagerImpl::GetInstance();
std::string gpu_access_blocked_reason; std::string gpu_access_blocked_reason;
......
...@@ -48,6 +48,9 @@ CONTENT_EXPORT bool IsCheckerImagingEnabled(); ...@@ -48,6 +48,9 @@ CONTENT_EXPORT bool IsCheckerImagingEnabled();
// Returns true if worker context runs asynchronously in the gpu process. // Returns true if worker context runs asynchronously in the gpu process.
CONTENT_EXPORT bool IsGpuAsyncWorkerContextEnabled(); CONTENT_EXPORT bool IsGpuAsyncWorkerContextEnabled();
// Returns true if image animations should run in the compositor.
CONTENT_EXPORT bool IsCompositorImageAnimationEnabled();
CONTENT_EXPORT std::unique_ptr<base::DictionaryValue> GetFeatureStatus(); CONTENT_EXPORT std::unique_ptr<base::DictionaryValue> GetFeatureStatus();
CONTENT_EXPORT std::unique_ptr<base::ListValue> GetProblems(); CONTENT_EXPORT std::unique_ptr<base::ListValue> GetProblems();
CONTENT_EXPORT std::vector<std::string> GetDriverBugWorkarounds(); CONTENT_EXPORT std::vector<std::string> GetDriverBugWorkarounds();
......
...@@ -2414,6 +2414,9 @@ static void AppendCompositorCommandLineFlags(base::CommandLine* command_line) { ...@@ -2414,6 +2414,9 @@ static void AppendCompositorCommandLineFlags(base::CommandLine* command_line) {
if (IsCheckerImagingEnabled()) if (IsCheckerImagingEnabled())
command_line->AppendSwitch(cc::switches::kEnableCheckerImaging); command_line->AppendSwitch(cc::switches::kEnableCheckerImaging);
if (IsCompositorImageAnimationEnabled())
command_line->AppendSwitch(switches::kEnableCompositorImageAnimations);
if (IsGpuAsyncWorkerContextEnabled()) if (IsGpuAsyncWorkerContextEnabled())
command_line->AppendSwitch(switches::kEnableGpuAsyncWorkerContext); command_line->AppendSwitch(switches::kEnableGpuAsyncWorkerContext);
...@@ -2539,7 +2542,6 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( ...@@ -2539,7 +2542,6 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDomAutomationController, switches::kDomAutomationController,
switches::kEnableAutomation, switches::kEnableAutomation,
switches::kEnableBrowserSideNavigation, switches::kEnableBrowserSideNavigation,
switches::kEnableCompositorImageAnimations,
switches::kEnableDisplayList2dCanvas, switches::kEnableDisplayList2dCanvas,
switches::kEnableDistanceFieldText, switches::kEnableDistanceFieldText,
switches::kEnableExperimentalCanvasFeatures, switches::kEnableExperimentalCanvasFeatures,
......
...@@ -82,6 +82,9 @@ const base::Feature kCompositeOpaqueFixedPosition{ ...@@ -82,6 +82,9 @@ const base::Feature kCompositeOpaqueFixedPosition{
const base::Feature kCompositeOpaqueScrollers{"CompositeOpaqueScrollers", const base::Feature kCompositeOpaqueScrollers{"CompositeOpaqueScrollers",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCompositorImageAnimation{
"CompositorImageAnimation", base::FEATURE_DISABLED_BY_DEFAULT};
// Enables handling touch events in compositor using impl side touch action // Enables handling touch events in compositor using impl side touch action
// knowledge. // knowledge.
const base::Feature kCompositorTouchAction{"CompositorTouchAction", const base::Feature kCompositorTouchAction{"CompositorTouchAction",
......
...@@ -30,6 +30,7 @@ CONTENT_EXPORT extern const base::Feature kCanvas2DImageChromium; ...@@ -30,6 +30,7 @@ CONTENT_EXPORT extern const base::Feature kCanvas2DImageChromium;
CONTENT_EXPORT extern const base::Feature kCheckerImaging; CONTENT_EXPORT extern const base::Feature kCheckerImaging;
CONTENT_EXPORT extern const base::Feature kCompositeOpaqueFixedPosition; CONTENT_EXPORT extern const base::Feature kCompositeOpaqueFixedPosition;
CONTENT_EXPORT extern const base::Feature kCompositeOpaqueScrollers; CONTENT_EXPORT extern const base::Feature kCompositeOpaqueScrollers;
CONTENT_EXPORT extern const base::Feature kCompositorImageAnimation;
CONTENT_EXPORT extern const base::Feature kCompositorTouchAction; CONTENT_EXPORT extern const base::Feature kCompositorTouchAction;
CONTENT_EXPORT extern const base::Feature kExpensiveBackgroundTimerThrottling; CONTENT_EXPORT extern const base::Feature kExpensiveBackgroundTimerThrottling;
CONTENT_EXPORT extern const base::Feature kFeaturePolicy; CONTENT_EXPORT extern const base::Feature kFeaturePolicy;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment