New issue
Advanced search Search tips

Issue 821486 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 771643



Sign in to add a comment

[SPv175] Plugin/OOPIF frame contents are painted at wrong position if any containing frame is scrolled

Project Member Reported by wangxianzhu@chromium.org, Mar 13 2018

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Mar 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/62343e24f9c6596e44887c3554e19eed6608a049

commit 62343e24f9c6596e44887c3554e19eed6608a049
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Wed Mar 14 21:08:40 2018

[SPv175] Fix plugin painting when the containing frame is scrolled

Previously a transform was issued for SPv1 to translate the painting
space from the current paint offset based space to the space in which
WebPluginContainerImpl::FrameRect() resides.

Now pass the translation into WebPluginContainerImpl::Paint() and
output the translate as a paint command for SPv175.

This might not be a long-term solutio. Need to refactor the coordinate
system of EmbeddedContentView to simplify the logic.

Bug:  821486 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I40837bbbdd5b09e6a0d585cb594165c4db48b881
Reviewed-on: https://chromium-review.googlesource.com/961861
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543193}
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/platform/linux/plugins/webview-plugin-nested-iframe-scroll-expected.png
[add] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/platform/linux/plugins/webview-plugin-scroll-expected.png
[add] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/platform/mac/plugins/plugin-scroll-expected.png
[add] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/platform/mac/plugins/plugin-scroll-expected.txt
[add] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/platform/mac/plugins/webview-plugin-scroll-expected.png
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/platform/mac/plugins/webview-plugin-scroll-expected.txt
[add] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/platform/win/plugins/webview-plugin-scroll-expected.png
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/platform/win/plugins/webview-plugin-scroll-expected.txt
[add] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/plugins/plugin-scroll-expected.png
[add] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/plugins/plugin-scroll-expected.txt
[add] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/plugins/plugin-scroll.html
[delete] https://crrev.com/869d69c04ca623ce981ee94b6cdfc09492268885/third_party/WebKit/LayoutTests/plugins/webview-plugin-scroll-expected.png
[delete] https://crrev.com/869d69c04ca623ce981ee94b6cdfc09492268885/third_party/WebKit/LayoutTests/plugins/webview-plugin-scroll-expected.txt
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/LayoutTests/plugins/webview-plugin-scroll.html
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/Source/core/exported/WebPluginContainerImpl.cpp
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/Source/core/exported/WebPluginContainerImpl.h
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/Source/core/frame/EmbeddedContentView.h
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/Source/core/frame/LocalFrameView.cpp
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/Source/core/frame/LocalFrameView.h
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/Source/core/frame/RemoteFrameView.cpp
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/Source/core/frame/RemoteFrameView.h
[modify] https://crrev.com/62343e24f9c6596e44887c3554e19eed6608a049/third_party/WebKit/Source/core/paint/EmbeddedContentPainter.cpp

Summary: [SPv175] Plugin/OOPIF frame contents are painted at wrong position if any containing frame is scrolled (was: [SPv175] Plugin contents are painted at wrong position if any containing frame is scrolled)
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f796586717f9b1621520872deccdba79c3c4660

commit 9f796586717f9b1621520872deccdba79c3c4660
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Fri Mar 16 19:52:56 2018

[SPv175] Fix remote frame printing when the containing frame is scrolled

Similar to https://chromium-review.googlesource.com/961861, we should
also apply paint offset with a transform operation during painting.

The added tests don't work with --site-per-process yet because of
crbug.com/822372.

Bug:  821486 
Change-Id: I83f2fd7cb1d71e2639b9c37a4e139cf274be422d
Reviewed-on: https://chromium-review.googlesource.com/964728
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543791}
[modify] https://crrev.com/9f796586717f9b1621520872deccdba79c3c4660/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process
[add] https://crrev.com/9f796586717f9b1621520872deccdba79c3c4660/third_party/WebKit/LayoutTests/http/tests/printing/cross-site-frame-expected.html
[add] https://crrev.com/9f796586717f9b1621520872deccdba79c3c4660/third_party/WebKit/LayoutTests/http/tests/printing/cross-site-frame-scrolled-expected.html
[add] https://crrev.com/9f796586717f9b1621520872deccdba79c3c4660/third_party/WebKit/LayoutTests/http/tests/printing/cross-site-frame-scrolled.html
[add] https://crrev.com/9f796586717f9b1621520872deccdba79c3c4660/third_party/WebKit/LayoutTests/http/tests/printing/cross-site-frame.html
[add] https://crrev.com/9f796586717f9b1621520872deccdba79c3c4660/third_party/WebKit/LayoutTests/http/tests/printing/resources/subframe.html
[modify] https://crrev.com/9f796586717f9b1621520872deccdba79c3c4660/third_party/WebKit/Source/core/frame/RemoteFrameView.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment