Repository: flutter
Issue: [web] text selection in CanvasKit sometimes shows wrong context menu 
Labels: a: text input,framework,f: material design,platform-web,has reproducible steps,P2,found in release: 2.1,team-web,triaged-web

### To reproduce

1. Run the sample with `flutter run -d chrome --web-renderer canvaskit`
2. Zoom in the page (this is not required, it just makes it significatly easier to reproduce)

3. Select some text in the middle (if you select multiple lines it happens less often)
4. Right click on selected text

or

3. Just right click, because text is selected automatically, according to https://github.com/flutter/flutter/issues/79157. with this method it's much easier to reproduce this

### Expected 
Copy/paste menu

### Actual 
Sometimes get generic browser context menu

<details>
<summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    const title = 'code sample';
    return MaterialApp(
      title: title,
      home: Scaffold(
        appBar: AppBar(
          title: Text(title),
        ),
        body: Home(),
      ),
    );
  }
}

class Home extends StatelessWidget {
  const Home({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Center(
      child: Column(
        mainAxisSize: MainAxisSize.min,
        children: [
          SelectableText(List.generate(100, (index) => 'word$index').join(' ')),
        ],
      ),
    );
  }
}
```
</details>

<details>
<summary>flutter doctor -v</summary>

```
[√] Flutter (Channel master, 2.1.0-13.0.pre.288, on Microsoft Windows [Version 10.0.19041.867], locale ru-RU)
    • Flutter version 2.1.0-13.0.pre.288 at c:\dev\src\flutter
    • Framework revision e384ca7979 (80 minutes ago), 2021-03-26 17:34:03 +0100
    • Engine revision b5e15d055d
    • Dart version 2.13.0 (build 2.13.0-162.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)    
    • Android SDK at C:\Users\danya\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)   
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)       
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.7.30621.155
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 50.0.1
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)   

[√] VS Code (version 1.54.3)
    • VS Code at C:\Users\danya\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.20.0

[√] Connected device (4 available)
    • Redmi Note 5 (mobile) • 40c9f14 • android-arm64  • Android 9 (API 28)
    • Windows (desktop)     • windows • windows-x64    • Microsoft Windows [Version 10.0.19041.867]
    • Chrome (web)          • chrome  • web-javascript • Google Chrome 89.0.4389.90
    • Edge (web)            • edge    • web-javascript • Microsoft Edge 89.0.774.57

• No issues found!
```
</details>


https://user-images.githubusercontent.com/39104740/112677528-e9869e00-8e7a-11eb-9b72-718a16b2f40f.mp4