Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lindexi_gd
Uno
提交
2b4b646b
U
Uno
项目概览
lindexi_gd
/
Uno
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
Uno
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2b4b646b
编写于
4月 08, 2023
作者:
M
Martin Zikmund
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: All WebView runtime tests pass on Android
上级
cb2b321f
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
36 addition
and
10 deletion
+36
-10
src/Uno.UI/UI/Xaml/Controls/WebView/Core/CoreWebView2.cs
src/Uno.UI/UI/Xaml/Controls/WebView/Core/CoreWebView2.cs
+12
-3
src/Uno.UI/UI/Xaml/Controls/WebView/IWebView.cs
src/Uno.UI/UI/Xaml/Controls/WebView/IWebView.cs
+2
-0
src/Uno.UI/UI/Xaml/Controls/WebView/WebView1/WebView.cs
src/Uno.UI/UI/Xaml/Controls/WebView/WebView1/WebView.cs
+20
-7
src/Uno.UI/UI/Xaml/Controls/WebView/WebView2/WebView2.cs
src/Uno.UI/UI/Xaml/Controls/WebView/WebView2/WebView2.cs
+2
-0
未找到文件。
src/Uno.UI/UI/Xaml/Controls/WebView/Core/CoreWebView2.cs
浏览文件 @
2b4b646b
...
...
@@ -45,7 +45,10 @@ public partial class CoreWebView2
}
_processedSource
=
actualUri
;
Source
=
actualUri
.
ToString
();
if
(
_owner
.
SwitchSourceBeforeNavigating
)
{
Source
=
actualUri
.
ToString
();
}
UpdateFromInternalSource
();
}
...
...
@@ -53,7 +56,10 @@ public partial class CoreWebView2
public
void
NavigateToString
(
string
htmlContent
)
{
_processedSource
=
htmlContent
;
Source
=
BlankUrl
;
if
(
_owner
.
SwitchSourceBeforeNavigating
)
{
Source
=
BlankUrl
;
}
UpdateFromInternalSource
();
}
...
...
@@ -66,7 +72,10 @@ public partial class CoreWebView2
}
_processedSource
=
requestMessage
;
Source
=
requestMessage
.
RequestUri
.
ToString
();
if
(
_owner
.
SwitchSourceBeforeNavigating
)
{
Source
=
requestMessage
.
RequestUri
.
ToString
();
}
UpdateFromInternalSource
();
}
...
...
src/Uno.UI/UI/Xaml/Controls/WebView/IWebView.cs
浏览文件 @
2b4b646b
...
...
@@ -2,5 +2,7 @@
internal
interface
IWebView
{
bool
SwitchSourceBeforeNavigating
{
get
;
}
bool
IsLoaded
{
get
;
}
}
src/Uno.UI/UI/Xaml/Controls/WebView/WebView1/WebView.cs
浏览文件 @
2b4b646b
...
...
@@ -40,6 +40,8 @@ public partial class WebView : Control, IWebView
bool
IWebView
.
IsLoaded
=>
IsLoaded
;
bool
IWebView
.
SwitchSourceBeforeNavigating
=>
true
;
protected
override
void
OnApplyTemplate
()
=>
CoreWebView2
.
OnOwnerApplyTemplate
();
public
void
Navigate
(
global
::
System
.
Uri
source
)
=>
CoreWebView2
.
Navigate
(
source
.
ToString
());
...
...
@@ -54,18 +56,29 @@ public partial class WebView : Control, IWebView
public
void
Stop
()
=>
CoreWebView2
.
Stop
();
public
IAsyncOperation
<
string
?>
InvokeScriptAsync
(
string
scriptName
,
IEnumerable
<
string
>
arguments
)
public
IAsyncOperation
<
string
?>
InvokeScriptAsync
(
string
scriptName
,
IEnumerable
<
string
>
arguments
)
=>
AsyncOperation
.
FromTask
(
ct
=>
InvokeScriptAsync
(
ct
,
scriptName
,
arguments
.
ToArray
()));
public
async
Task
<
string
?>
InvokeScriptAsync
(
CancellationToken
ct
,
string
script
,
string
[]
arguments
)
{
var
argumentString
=
ConcatenateJavascriptArguments
(
arguments
);
var
javaScript
=
string
.
Format
(
CultureInfo
.
InvariantCulture
,
"{0}(\"{1}\")"
,
script
Name
,
argumentString
);
return
CoreWebView2
.
ExecuteScriptAsync
(
javaScript
);
var
javaScript
=
string
.
Format
(
CultureInfo
.
InvariantCulture
,
"{0}(\"{1}\")"
,
script
,
argumentString
);
return
AdjustInvokeScriptResult
(
await
CoreWebView2
.
ExecuteScriptAsync
(
javaScript
)
);
}
p
ublic
async
Task
<
string
>
InvokeScriptAsync
(
CancellationToken
ct
,
string
script
,
string
[]
arguments
)
p
rivate
string
?
AdjustInvokeScriptResult
(
string
result
)
{
var
argumentString
=
ConcatenateJavascriptArguments
(
arguments
);
var
javaScript
=
string
.
Format
(
CultureInfo
.
InvariantCulture
,
"{0}(\"{1}\")"
,
script
,
argumentString
);
return
await
CoreWebView2
.
ExecuteScriptAsync
(
javaScript
);
if
(
result
is
null
)
{
return
null
;
}
if
(
result
.
StartsWith
(
"\""
,
StringComparison
.
Ordinal
)
&&
result
.
EndsWith
(
"\""
,
StringComparison
.
Ordinal
))
{
return
result
.
Substring
(
1
,
result
.
Length
-
2
);
}
return
""
;
}
public
void
NavigateWithHttpRequestMessage
(
global
::
System
.
Net
.
Http
.
HttpRequestMessage
requestMessage
)
=>
...
...
src/Uno.UI/UI/Xaml/Controls/WebView/WebView2/WebView2.cs
浏览文件 @
2b4b646b
...
...
@@ -42,6 +42,8 @@ public partial class WebView2 : Control, IWebView
bool
IWebView
.
IsLoaded
=>
IsLoaded
;
bool
IWebView
.
SwitchSourceBeforeNavigating
=>
false
;
// WebView2 switches source only when navigation completes.
protected
override
void
OnApplyTemplate
()
=>
CoreWebView2
.
OnOwnerApplyTemplate
();
private
void
WebView2_Loaded
(
object
sender
,
Windows
.
UI
.
Xaml
.
RoutedEventArgs
e
)
=>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录