fluttercommunity / fluttercommunity/flutter_webview_plugin
Launching with `rect` causes an exception
- 主要语言
- Java
- 星标
- 1.5k
- 派生
- 938
- PR 合并指标
- 30 天内没有已合并 PR
描述
This code works:
flutterWebviewPlugin.launch("https://google.com");
This code, however,
```
flutterWebviewPlugin.launch("https://google.com",
rect: new Rect.fromLTRB(0.0, 0.0, 0.0, 0.0));
```
causes an exception. I tried with different rect settings, tried putting this code in different places - in initState(), in build(), in main.dart - with the same results:
```
E/flutter (27126): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (27126): PlatformException(error, The specified child already has a parent. You must call removeView() on the child's parent first., null)
E/flutter (27126): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:547:7)
E/flutter (27126): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:279:18)
E/flutter (27126):
E/flutter (27126): #2 FlutterWebviewPlugin.launch (package:flutter_webview_plugin/src/base.dart:103:20)
E/flutter (27126):
E/flutter (27126): #3 _AboutViewState.build (package:rebelation/screens/about_view/about_view.dart:48:33)
E/flutter (27126): #4 StatefulElement.build (package:flutter/src/widgets/framework.dart:3713:27)
E/flutter (27126): #5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3625:15)
E/flutter (27126): #6 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (27126): #7 StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
E/flutter (27126): #8 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #9 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (27126): #10 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (27126): #11 StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
E/flutter (27126): #12 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #13 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
E/flutter (27126): #14 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #15 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
E/flutter (27126): #16 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #17 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
E/flutter (27126): #18 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #19 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
E/flutter (27126): #20 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #21 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (27126): #22 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (27126): #23 StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
E/flutter (27126): #24 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #25 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (27126): #26 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (27126): #27 StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
E/flutter (27126): #28 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #29 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (27126): #30 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (27126): #31 StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
E/flutter (27126): #32 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #33 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
E/flutter (27126): #34 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #35 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (27126): #36 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (27126): #37 ProxyElement.update (package:flutter/src/widgets/framework.dart:3892:5)
E/flutter (27126): #38 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #39 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
E/flutter (27126): #40 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
E/flutter (27126): #41 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (27126): #42 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (27126): #43 StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
E/flutter (27126): #44 Element.
```
贡献指南
这个仓库没有索引到贡献指南
调研方向
首先使用 rect 参数重现异常,然后检查第 103 行 package:flutter_webview_plugin/src/base.dart 中的 FlutterWebviewPlugin.launch。跟踪平台侧对 WebView 视图和 rect 参数的处理。使用 rect 启动时不再引发 specified-child-already-has-a-parent 异常,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- flutter, java
- 领域
- mobile-dev
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100