Commit 31b2a92d authored by Daniel Libby's avatar Daniel Libby Committed by Commit Bot

Add feature for disabling directly composited images

We're planning on running an experiment to turn off this codepath. It's
unclear how to implement for CAP and could result in GPU memory
savings. Spot checked Google Maps mobile site, and it no longer
triggers this particular behavior.

Bug: 875110
Change-Id: Ie2bb7e03585a87ac07843e08177992a0f3b9c81b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1852192Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Reviewed-by: default avatarChris Harrelson <chrishtr@chromium.org>
Commit-Queue: Daniel Libby <dlibby@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#705779}
parent 2e1c0630
...@@ -402,5 +402,9 @@ const base::Feature kLowerJavaScriptPriorityWhenForceDeferred{ ...@@ -402,5 +402,9 @@ const base::Feature kLowerJavaScriptPriorityWhenForceDeferred{
const base::Feature kHtmlImportsRequestInitiatorLock{ const base::Feature kHtmlImportsRequestInitiatorLock{
"HtmlImportsRequestInitiatorLock", base::FEATURE_ENABLED_BY_DEFAULT}; "HtmlImportsRequestInitiatorLock", base::FEATURE_ENABLED_BY_DEFAULT};
// When 'enabled', directly compositing images is turned off.
const base::Feature kDisableDirectlyCompositedImages{
"DisableDirectlyCompositedImages", base::FEATURE_DISABLED_BY_DEFAULT};
} // namespace features } // namespace features
} // namespace blink } // namespace blink
...@@ -128,6 +128,8 @@ BLINK_COMMON_EXPORT extern const base::Feature ...@@ -128,6 +128,8 @@ BLINK_COMMON_EXPORT extern const base::Feature
BLINK_COMMON_EXPORT extern const base::Feature kARIAAnnotationRoles; BLINK_COMMON_EXPORT extern const base::Feature kARIAAnnotationRoles;
BLINK_COMMON_EXPORT extern const base::Feature kDisableDirectlyCompositedImages;
} // namespace features } // namespace features
} // namespace blink } // namespace blink
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include <memory> #include <memory>
#include "cc/layers/picture_layer.h" #include "cc/layers/picture_layer.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/renderer/core/accessibility/apply_dark_mode.h" #include "third_party/blink/renderer/core/accessibility/apply_dark_mode.h"
#include "third_party/blink/renderer/core/display_lock/display_lock_utilities.h" #include "third_party/blink/renderer/core/display_lock/display_lock_utilities.h"
#include "third_party/blink/renderer/core/dom/dom_node_ids.h" #include "third_party/blink/renderer/core/dom/dom_node_ids.h"
...@@ -1753,6 +1754,10 @@ bool CompositedLayerMapping::ContainsPaintedContent() const { ...@@ -1753,6 +1754,10 @@ bool CompositedLayerMapping::ContainsPaintedContent() const {
// compositing saves a backing store. // compositing saves a backing store.
bool CompositedLayerMapping::IsDirectlyCompositedImage() const { bool CompositedLayerMapping::IsDirectlyCompositedImage() const {
DCHECK(GetLayoutObject().IsImage()); DCHECK(GetLayoutObject().IsImage());
if (base::FeatureList::IsEnabled(features::kDisableDirectlyCompositedImages))
return false;
LayoutImage& image_layout_object = ToLayoutImage(GetLayoutObject()); LayoutImage& image_layout_object = ToLayoutImage(GetLayoutObject());
if (owning_layer_.HasBoxDecorationsOrBackground() || if (owning_layer_.HasBoxDecorationsOrBackground() ||
......
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