summaryrefslogtreecommitdiffstats
path: root/chromium/cc/layers/picture_layer.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-11-18 16:35:47 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-11-18 15:45:54 +0000
commit32f5a1c56531e4210bc4cf8d8c7825d66e081888 (patch)
treeeeeec6822f4d738d8454525233fd0e2e3a659e6d /chromium/cc/layers/picture_layer.cc
parent99677208ff3b216fdfec551fbe548da5520cd6fb (diff)
BASELINE: Update Chromium to 87.0.4280.67
Change-Id: Ib157360be8c2ffb2c73125751a89f60e049c1d54 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/cc/layers/picture_layer.cc')
-rw-r--r--chromium/cc/layers/picture_layer.cc18
1 files changed, 17 insertions, 1 deletions
diff --git a/chromium/cc/layers/picture_layer.cc b/chromium/cc/layers/picture_layer.cc
index a5442b679bf..852c77de18a 100644
--- a/chromium/cc/layers/picture_layer.cc
+++ b/chromium/cc/layers/picture_layer.cc
@@ -230,7 +230,7 @@ void PictureLayer::RunMicroBenchmark(MicroBenchmark* benchmark) {
}
void PictureLayer::CaptureContent(const gfx::Rect& rect,
- std::vector<NodeId>* content) {
+ std::vector<NodeInfo>* content) {
if (!DrawsContent())
return;
@@ -253,6 +253,22 @@ void PictureLayer::CaptureContent(const gfx::Rect& rect,
return;
display_item_list->CaptureContent(transformed, content);
+ if (auto* outer_viewport_layer = layer_tree_host()->LayerByElementId(
+ layer_tree_host()->OuterViewportScrollElementId())) {
+ if (transform_tree_index() == outer_viewport_layer->transform_tree_index())
+ return;
+ gfx::Transform inverse_outer_screen_space_transform;
+ if (!outer_viewport_layer->ScreenSpaceTransform().GetInverse(
+ &inverse_outer_screen_space_transform)) {
+ return;
+ }
+ gfx::Transform combined_transform{ScreenSpaceTransform(),
+ inverse_outer_screen_space_transform};
+ for (auto& i : *content) {
+ i.visual_rect = MathUtil::ProjectEnclosingClippedRect(combined_transform,
+ i.visual_rect);
+ }
+ }
}
void PictureLayer::DropRecordingSourceContentIfInvalid() {