title: Scrolling priority when combining horizontal scrolling with WebView
body: <p>I have a vertically scrolling <a href="https://pub.dev/packages/webview_flutter" rel="noreferrer"><code>WebView</code></a> inside a horizontally scrolling <code>PageView</code>. Something like this:</p>
  
  <pre><code>PageView.builder(
    itemCount: 5,
    itemBuilder: (context, index) {
      return WebView(
        initialUrl: 'https://flutter.dev/docs',
        gestureRecognizers: [
          Factory(() =&gt; VerticalDragGestureRecognizer()),
        ].toSet(),
      );
    },
  );
  </code></pre>
  
  <p>With the previous stable version of Flutter (1.5.4), this worked as expected - scrolling vertically would move the content inside the WebView and scrolling horizontally would move the PageView.</p>
  
  <p>This broke after upgrading to Flutter <code>v1.7.8+hotfix.3</code>. Now horizontal scrolling seems always to win, even if the gesture is very clearly almost entirely vertical. If the page gets scrolled vertically at all, it is only after the gesture stops (i.e., when I stop touching the screen after a gesture) - there is no vertical scrolling while the gesture is happening.</p>
  
  <p>Adding and removing <code>VerticalDragGestureRecognizer</code> from <code>gestureRecognizers</code> have no effect now - either way the program works as if the recognizer was not on the list (although it's not that <code>gestureRecognizers</code> are completely ignored because adding <code>EagerGestureRecognizer</code> DOES have an effect). </p>
  
  <p>Here is the debug output of the gesture arena (keep in mind that I was trying to keep my gesture as vertical as possible, but even a slight finger movement to the sides was enough for the <code>HorizontalDragGestureRecognizer</code> to win, even though I also was moving vertically the entire time):</p>
  
  <pre><code>I/flutter (30125): Gesture arena 14   ❙ ★ Opening new gesture arena.
  I/flutter (30125): Gesture arena 14   ❙ Adding: Instance of '_CombiningGestureArenaMember'
  I/flutter (30125): Gesture arena 14   ❙ Adding: LongPressGestureRecognizer#9cad1(debugOwner: GestureDetector, state: ready)
  I/flutter (30125): Gesture arena 14   ❙ Adding: HorizontalDragGestureRecognizer#69b8f(start behavior: start)
  I/flutter (30125): Gesture arena 14   ❙ Closing with 3 members.
  I/flutter (30125): Gesture arena 14   ❙ Rejecting: LongPressGestureRecognizer#9cad1(debugOwner: GestureDetector, state: possible)
  I/flutter (30125): Gesture arena 14   ❙ Accepting: HorizontalDragGestureRecognizer#69b8f(start behavior: start)
  I/flutter (30125): Gesture arena 14   ❙ Self-declared winner: HorizontalDragGestureRecognizer#69b8f(start behavior: start)
  </code></pre>
  
  <p>And this is what happens when you do manage to keep your gesture entirely vertical (seems to be easier on an emulator with a mouse), while the drag gesture is in process:</p>
  
  <pre><code>flutter: Gesture arena 30   ❙ ★ Opening new gesture arena.
  flutter: Gesture arena 30   ❙ Adding: Instance of '_CombiningGestureArenaMember'
  flutter: Gesture arena 30   ❙ Adding: HorizontalDragGestureRecognizer#11e7f(start behavior: down)
  flutter: Gesture arena 30   ❙ Closing with 2 members.
  </code></pre>
  
  <p>Even a slight vertical move will make the <code>HorizontalDragGestureRecognizer</code> announce a win, but the <code>VerticalDragGestureRecognizer</code> (which seems to be wrapped inside the <code>_CombiningGestureArenaMember</code>) never claims a victory. It seems to be completely ignored in fact - the gesture arena output with <code>VerticalDragGestureRecognizer</code> in <code>gestureRecognizers</code> and without it is absolutely identical. </p>
  
  <p>It may be a bug in Flutter so I also created <a href="https://github.com/flutter/flutter/issues/36304" rel="noreferrer">an issue on Flutter's GitHub</a>. But either way - how do I achieve this effect with the current version of Flutter? Any workarounds or canonical solutions would be highly appreciated.</p>