summaryrefslogtreecommitdiff
path: root/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-03-05 17:34:47 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-03-06 10:04:14 +0000
commiteaf1da4d961fbbda9455f9af3b23d1af777f43fa (patch)
tree95970599ecee31c4f7f940bc97ac98c61a3d0cad /chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm
parent38a9a29f4f9436cace7f0e7abf9c586057df8a4e (diff)
downloadqtwebengine-chromium-eaf1da4d961fbbda9455f9af3b23d1af777f43fa.tar.gz
BASELINE: Update Chromium to 73.0.3683.64
Change-Id: I76517dc277ba4e16bfd7e098fda3d079656b3b9f Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm')
-rw-r--r--chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm26
1 files changed, 25 insertions, 1 deletions
diff --git a/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm b/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm
index 1c5988fe068..c9b20cf4a63 100644
--- a/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm
+++ b/chromium/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm
@@ -238,7 +238,7 @@ void CARendererLayerTree::CommitScheduledCALayers(
scale_factor_ = scale_factor;
}
-bool CARendererLayerTree::RootLayer::WantsFullcreenLowPowerBackdrop() {
+bool CARendererLayerTree::RootLayer::WantsFullcreenLowPowerBackdrop() const {
bool found_video_layer = false;
for (auto& clip_layer : clip_and_sorting_layers) {
for (auto& transform_layer : clip_layer.transform_layers) {
@@ -271,6 +271,28 @@ bool CARendererLayerTree::RootLayer::WantsFullcreenLowPowerBackdrop() {
return found_video_layer;
}
+void CARendererLayerTree::RootLayer::EnforceOnlyOneAVLayer() {
+ size_t video_layer_count = 0;
+ for (auto& clip_layer : clip_and_sorting_layers) {
+ for (auto& transform_layer : clip_layer.transform_layers) {
+ for (auto& content_layer : transform_layer.content_layers) {
+ if (content_layer.use_av_layer)
+ video_layer_count += 1;
+ }
+ }
+ }
+ if (video_layer_count <= 1)
+ return;
+ for (auto& clip_layer : clip_and_sorting_layers) {
+ for (auto& transform_layer : clip_layer.transform_layers) {
+ for (auto& content_layer : transform_layer.content_layers) {
+ if (content_layer.use_av_layer)
+ content_layer.use_av_layer = false;
+ }
+ }
+ }
+}
+
id CARendererLayerTree::ContentsForSolidColorForTesting(SkColor color) {
return SolidColorContents::Get(color)->GetContents();
}
@@ -566,6 +588,8 @@ void CARendererLayerTree::RootLayer::CommitToCA(CALayer* superlayer,
DLOG(ERROR) << "CARendererLayerTree root layer not attached to tree.";
}
+ EnforceOnlyOneAVLayer();
+
if (WantsFullcreenLowPowerBackdrop()) {
const gfx::RectF bg_rect(
ScaleSize(gfx::SizeF(pixel_size), 1 / scale_factor));