Commit 0fc70abb authored by Taiju Tsuiki's avatar Taiju Tsuiki Committed by Commit Bot

Revert "Correctly initialize and test SnapContainerData in cc."

This reverts commit 37061f87.

Reason for revert:
The layout tests added by this CL is failing on the CL:
https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Win10/37804

Original change's description:
> Correctly initialize and test SnapContainerData in cc.
> 
> This patch initializes the rect_ field in SnapContainerData in copy
> constructor and move constructor. Fixing a snapping issue in the
> composited pages.
> 
> We also adds external/wpt/css/css-scroll-snap/ to the virtual/threaded
> test suite so that they are tested with the composited cases.
> 
> snap-at-user-scroll-end-manual-automation.js calls
> mouseClickInTarget() of pointerevent_common_input.js. That method
> invokes programmatic scrolls. The test was written before programmatic
> scroll snapping was implemented so it worked at that time. However,
> with programmatic scroll snapping implemented, it will always snap
> in mouseClickIntarget() and cannot test whether the user scroll snaps.
> This patch adds a parameter shouldScrollToTarget to mouseClickInTarget
> to avoid invoking programmatic scrolls in the test.
> 
> This patch also checks nullptr for layout_box in
> ScrollManager::SnapAtGestureScrollEnd() to fix a crash.
> 
> Bug: 862406, 862571
> Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I6a53818cf74421a4100ad6f908158abf302a5b8e
> Reviewed-on: https://chromium-review.googlesource.com/1132386
> Commit-Queue: Sandra Sun <sunyunjia@chromium.org>
> Reviewed-by: Majid Valipour <majidvp@chromium.org>
> Reviewed-by: Robert Flack <flackr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#574781}

TBR=flackr@chromium.org,majidvp@chromium.org,sunyunjia@chromium.org

Change-Id: I55c77c05c0381c8ac638bd106d2d18b1b4332745
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 862406, 862571
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/1136171Reviewed-by: default avatarTaiju Tsuiki <tzik@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574825}
parent af7eb0ad
...@@ -73,15 +73,24 @@ SnapContainerData::SnapContainerData(ScrollSnapType type, ...@@ -73,15 +73,24 @@ SnapContainerData::SnapContainerData(ScrollSnapType type,
SnapContainerData::SnapContainerData(const SnapContainerData& other) = default; SnapContainerData::SnapContainerData(const SnapContainerData& other) = default;
SnapContainerData::SnapContainerData(SnapContainerData&& other) = default; SnapContainerData::SnapContainerData(SnapContainerData&& other)
: scroll_snap_type_(other.scroll_snap_type_),
max_position_(other.max_position_),
proximity_range_(other.proximity_range_),
snap_area_list_(std::move(other.snap_area_list_)) {}
SnapContainerData::~SnapContainerData() = default; SnapContainerData::~SnapContainerData() = default;
SnapContainerData& SnapContainerData::operator=( SnapContainerData& SnapContainerData::operator=(
const SnapContainerData& other) = default; const SnapContainerData& other) = default;
SnapContainerData& SnapContainerData::operator=(SnapContainerData&& other) = SnapContainerData& SnapContainerData::operator=(SnapContainerData&& other) {
default; scroll_snap_type_ = other.scroll_snap_type_;
max_position_ = other.max_position_;
proximity_range_ = other.proximity_range_;
snap_area_list_ = std::move(other.snap_area_list_);
return *this;
}
void SnapContainerData::AddSnapAreaData(SnapAreaData snap_area_data) { void SnapContainerData::AddSnapAreaData(SnapAreaData snap_area_data) {
snap_area_list_.push_back(snap_area_data); snap_area_list_.push_back(snap_area_data);
......
...@@ -34,11 +34,6 @@ ...@@ -34,11 +34,6 @@
"base": "http/tests/worklet", "base": "http/tests/worklet",
"args": ["--enable-threaded-compositing"] "args": ["--enable-threaded-compositing"]
}, },
{
"prefix": "threaded",
"base": "external/wpt/css/css-scroll-snap",
"args": ["--enable-threaded-compositing"]
},
{ {
"prefix": "threaded", "prefix": "threaded",
"base": "compositing/webgl", "base": "compositing/webgl",
......
...@@ -45,7 +45,6 @@ body { ...@@ -45,7 +45,6 @@ body {
</div> </div>
<script> <script>
var snap_test = async_test('Tests that window should snap at user scroll end.');
var body = document.body; var body = document.body;
var button = document.getElementById("btn"); var button = document.getElementById("btn");
var target = document.getElementById("target"); var target = document.getElementById("target");
...@@ -81,7 +80,7 @@ button.onclick = function() { ...@@ -81,7 +80,7 @@ button.onclick = function() {
// To make the test result visible. // To make the test result visible.
var content = document.getElementById("content"); var content = document.getElementById("content");
body.removeChild(content); body.removeChild(content);
snap_test.done(); done();
} }
</script> </script>
\ No newline at end of file
...@@ -36,10 +36,9 @@ function waitForAnimationEnd() { ...@@ -36,10 +36,9 @@ function waitForAnimationEnd() {
} }
function inject_input() { function inject_input() {
return smoothScroll(100, 20, 20, 'downright', 4000).then(() => { return smoothScroll(2, 20, 20, 'downright', 4000).then(() => {
return waitForAnimationEnd(); return waitForAnimationEnd();
}).then(() => { }).then(() => {
return mouseClickInTarget('#btn', undefined, 'left', return mouseClickInTarget('#btn');
/* shouldScrollToTarget = */ false);
}); });
} }
\ No newline at end of file
...@@ -107,7 +107,7 @@ function mouseChordedButtonPress(targetSelector) { ...@@ -107,7 +107,7 @@ function mouseChordedButtonPress(targetSelector) {
}); });
} }
function mouseClickInTarget(targetSelector, targetFrame, button, shouldScrollToTarget = true) { function mouseClickInTarget(targetSelector, targetFrame, button) {
var targetDocument = document; var targetDocument = document;
var frameLeft = 0; var frameLeft = 0;
var frameTop = 0; var frameTop = 0;
...@@ -122,8 +122,7 @@ function mouseClickInTarget(targetSelector, targetFrame, button, shouldScrollToT ...@@ -122,8 +122,7 @@ function mouseClickInTarget(targetSelector, targetFrame, button, shouldScrollToT
} }
return new Promise(function(resolve, reject) { return new Promise(function(resolve, reject) {
if (window.chrome && chrome.gpuBenchmarking) { if (window.chrome && chrome.gpuBenchmarking) {
if (shouldScrollToTarget) scrollPageIfNeeded(targetSelector, targetDocument);
scrollPageIfNeeded(targetSelector, targetDocument);
var target = targetDocument.querySelector(targetSelector); var target = targetDocument.querySelector(targetSelector);
var targetRect = target.getBoundingClientRect(); var targetRect = target.getBoundingClientRect();
var xPosition = frameLeft + targetRect.left + boundaryOffset; var xPosition = frameLeft + targetRect.left + boundaryOffset;
......
# This suite runs the test in external/wpt/css/css-scroll-snap/ with
# --enable-threaded-compositing
\ No newline at end of file
...@@ -628,10 +628,10 @@ void ScrollManager::SnapAtGestureScrollEnd() { ...@@ -628,10 +628,10 @@ void ScrollManager::SnapAtGestureScrollEnd() {
return; return;
SnapCoordinator* snap_coordinator = SnapCoordinator* snap_coordinator =
frame_->GetDocument()->GetSnapCoordinator(); frame_->GetDocument()->GetSnapCoordinator();
LayoutBox* layout_box = LayoutBoxForSnapping(); if (!snap_coordinator)
if (!snap_coordinator || !layout_box)
return; return;
LayoutBox* layout_box = LayoutBoxForSnapping();
snap_coordinator->PerformSnapping(*layout_box, snap_coordinator->PerformSnapping(*layout_box,
did_scroll_x_for_scroll_gesture_, did_scroll_x_for_scroll_gesture_,
did_scroll_y_for_scroll_gesture_); did_scroll_y_for_scroll_gesture_);
......
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