Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(833)

Unified Diff: content/browser/renderer_host/input/non_blocking_event_browsertest.cc

Issue 1895303007: Non passive touch end or touch cancel listeners should not block scroll. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2704
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/layer_tree_impl.cc ('k') | content/renderer/gpu/render_widget_compositor.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/input/non_blocking_event_browsertest.cc
diff --git a/content/browser/renderer_host/input/non_blocking_event_browsertest.cc b/content/browser/renderer_host/input/non_blocking_event_browsertest.cc
index b5fbe71cd9d2e698da1b8af84f2e72372b72c473..431d1986b75a8a15aa7b0bcc2d22a3a01759a3c5 100644
--- a/content/browser/renderer_host/input/non_blocking_event_browsertest.cc
+++ b/content/browser/renderer_host/input/non_blocking_event_browsertest.cc
@@ -57,6 +57,24 @@ const char kNonBlockingEventDataURL[] =
" document.title='ready';"
"</script>";
+const char kPassiveTouchStartBlockingTouchEndDataURL[] =
+ "data:text/html;charset=utf-8,"
+ "<!DOCTYPE html>"
+ "<meta name='viewport' content='width=device-width'/>"
+ "<style>"
+ "html, body {"
+ " margin: 0;"
+ "}"
+ ".spacer { height: 10000px; }"
+ "</style>"
+ "<div class=spacer></div>"
+ "<script>"
+ " document.addEventListener('touchstart', function(e) { while(true) {} }, "
+ "{'passive': true});"
+ " document.addEventListener('touchend', function(e) { while(true) {} });"
+ " document.title='ready';"
+ "</script>";
+
} // namespace
namespace content {
@@ -76,8 +94,8 @@ class NonBlockingEventBrowserTest : public ContentBrowserTest {
}
protected:
- void LoadURL() {
- const GURL data_url(kNonBlockingEventDataURL);
+ void LoadURL(const char* page_data) {
+ const GURL data_url(page_data);
NavigateToURL(shell(), data_url);
RenderWidgetHostImpl* host = GetWidgetHost();
@@ -168,7 +186,7 @@ class NonBlockingEventBrowserTest : public ContentBrowserTest {
};
IN_PROC_BROWSER_TEST_F(NonBlockingEventBrowserTest, MouseWheel) {
- LoadURL();
+ LoadURL(kNonBlockingEventDataURL);
DoWheelScroll();
}
@@ -179,7 +197,21 @@ IN_PROC_BROWSER_TEST_F(NonBlockingEventBrowserTest, MouseWheel) {
#define MAYBE_TouchStart TouchStart
#endif
IN_PROC_BROWSER_TEST_F(NonBlockingEventBrowserTest, MAYBE_TouchStart) {
- LoadURL();
+ LoadURL(kNonBlockingEventDataURL);
+ DoTouchScroll();
+}
+
+// Disabled on MacOS because it doesn't support touch input.
+#if defined(OS_MACOSX)
+#define MAYBE_PassiveTouchStartBlockingTouchEnd \
+ DISABLED_PassiveTouchStartBlockingTouchEnd
+#else
+#define MAYBE_PassiveTouchStartBlockingTouchEnd \
+ PassiveTouchStartBlockingTouchEnd
+#endif
+IN_PROC_BROWSER_TEST_F(NonBlockingEventBrowserTest,
+ MAYBE_PassiveTouchStartBlockingTouchEnd) {
+ LoadURL(kPassiveTouchStartBlockingTouchEndDataURL);
DoTouchScroll();
}
« no previous file with comments | « cc/trees/layer_tree_impl.cc ('k') | content/renderer/gpu/render_widget_compositor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698