Skip to content

penetration on WebView #115

@mkbsugita

Description

@mkbsugita

Describe the bug

I put the flushbar on WebView (webview_flutter).
my tap penetrates the flushbar and taps button on WebView.

To Reproduce
Steps to reproduce the behavior:

    await Flushbar<dynamic>(
      padding: EdgeInsets.zero,
      messageText:
          Padding(
            padding: const EdgeInsets.all(16),
            child: Center(
              child: Text(
                message,
                textAlign: TextAlign.center,
                style: const TextStyle(
                  color: Colors.white,
                  fontSize: 16,
                  fontWeight: FontWeight.bold,
                ),
              ),
            ),
          ),
      duration: Duration(milliseconds: (showTime * 1000).toInt()),
      flushbarPosition: FlushbarPosition.TOP,
    ).show(context);

and call the showToast method.

Expected behavior

non-penetration

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: OS 14.7.1
  • Browser webview_flutter

Additional context

I made gard WebView below.

import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

class WebViewGuard extends StatefulWidget {
  const WebViewGuard({super.key});

  @override
  WebViewGuardState createState() => WebViewGuardState();
}

class WebViewGuardState extends State<WebViewGuard> {
  WebViewController controller = WebViewController();
  @override
  void initState() {
    super.initState();

    Future(() async {
      await controller.setBackgroundColor(Colors.transparent);
    });
  }

  @override
  Widget build(BuildContext context) {
    return WebViewWidget(
      controller: controller,
    );
  }
}
    await Flushbar<dynamic>(
      padding: EdgeInsets.zero,
      messageText: Stack(
        alignment: AlignmentDirectional.center,
        children: [
          // I dded this.. but wired
          const SizedBox(height: 60, child: WebViewGuard()),
          Padding(
            padding: const EdgeInsets.all(16),
            child: Center(
              child: Text(
                message,
                textAlign: TextAlign.center,
                style: const TextStyle(
                  color: Colors.white,
                  fontSize: 16,
                  fontWeight: FontWeight.bold,
                ),
              ),
            ),
          ),
        ],
      ),
      duration: Duration(milliseconds: (showTime * 1000).toInt()),
      flushbarPosition: FlushbarPosition.TOP,
    ).show(context);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions