Repository: flutter
Issue: [webview_flutter] No password manager on Android when using loadRequest
Labels: c: new feature,platform-android,a: quality,p: webview,package,has reproducible steps,P2,team-android,triaged-android,found in release: 3.24,found in release: 3.27

### Steps to reproduce

1. expose html in http://locahost:8080/login

```html
<!DOCTYPE html>
      <html>
        <body>
          <form>
            <label for="username">Username:</label><br>
            <input type="text" id="username" name="username" autocomplete="username"><br>
            <label for="password">Password:</label><br>
            <input type="password" id="password" name="password" autocomplete="current-password"><br>
          </form>
        </body>
      </html>
```

2. Set up the password manager to works on http://locahost:8080/login (Bitwarden, google password manager...)
3. Use the sample on android to reproduce 
4. Tap the dropdown to open Hardcoded Html (use webviewController.loadHtmlString) or distant Html (use webviewController.loadRequest) 


### Expected results

The password manager is available in the keyboard when using method webViewController.loadRequest

The password manager is available in the keyboard when using method webViewController.loadHtmlString



### Actual results

The password manager is not available when using method webViewController.loadRequest

### Code sample

```dart
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const WebViewHtmlExample(),
    );
  }
}

class WebViewHtmlExample extends StatefulWidget {
  const WebViewHtmlExample({super.key});

  @override
  _WebViewHtmlExampleState createState() => _WebViewHtmlExampleState();
}

class _WebViewHtmlExampleState extends State<WebViewHtmlExample> {
  late final WebViewController _controller;
  String _selectedOption = 'Hardcoded HTML';

  @override
  void initState() {
    super.initState();

    // Initialize the WebViewController
    _controller = WebViewController()
      ..setJavaScriptMode(JavaScriptMode.unrestricted);

    _loadContent();
  }

  void _loadContent() {
    if (_selectedOption == 'Hardcoded HTML') {
      _controller.loadHtmlString(
        '''
        <!DOCTYPE html>
      <html>
        <body>
          <form>
            <label for="username">Username:</label><br>
            <input type="text" id="username" name="username" autocomplete="username"><br>
            <label for="password">Password:</label><br>
            <input type="password" id="password" name="password" autocomplete="current-password"><br>
          </form>
        </body>
      </html>
        ''',
        baseUrl: 'http://localhost:8080/login',
      );
    } else {
      _controller.loadRequest(Uri.parse("http://localhost:8080/login"));
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Password manager'),
        actions: [
          DropdownButton<String>(
            value: _selectedOption,
            items: <String>['Hardcoded HTML', 'HTML with LoadRequest']
                .map((String value) {
              return DropdownMenuItem<String>(
                value: value,
                child: Text(value),
              );
            }).toList(),
            onChanged: (String? newValue) {
              setState(() {
                _selectedOption = newValue!;
                _loadContent();
              });
            },
          ),
        ],
      ),
      body: WebViewWidget(
        controller: _controller, // Use the initialized controller
      ),
    );
  }
}

```

</details>


### Screenshots or Video

<details open>
<summary>Screenshots / Video demonstration</summary>

No password manager when using loadRequest

![Screenshot_20241016-144425](https://github.com/user-attachments/assets/52eba0cb-4804-45f5-8626-c196ad25802c)

Ok with bitwarden or google pasword manager with hardcoded html

![Screenshot_20241016-144523](https://github.com/user-attachments/assets/f1a3c1c3-6ddb-4e3a-89ed-6393f5840a5e)
![Screenshot_20241016-144732](https://github.com/user-attachments/assets/17a1c077-94e6-4405-b63d-813a2cceed06)


</details>


### Logs

<details open><summary>Logs</summary>

```console
[Paste your logs here]
```

</details>


### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
╰─ flutter doctor   
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.3, on macOS 14.6.1 23G93 darwin-arm64, locale fr-FR)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2024.2.3)
[✓] Connected device (4 available)
[✓] Network resources

• No issues found!

```

</details>