@@ -131,77 +131,76 @@ void RegisterLaunchingExternalUriSchemeHandler()
131
131
private WebView2 webView ;
132
132
void RegisterLaunchingExternalUriSchemeHandler ()
133
133
{
134
- webView .CoreWebView2 .LaunchingExternalUriScheme += (sender , args ) {
135
- {
136
- // A deferral may be taken for the event so that the CoreWebView2
137
- // doesn't examine the properties we set on the event args until
138
- // after we call the Complete method asynchronously later.
139
- // This will give the user more time to decide whether to launch
140
- // the external URI scheme or not.
141
- // CoreWebView2Deferral deferral = args.GetDeferral();
142
- // System.Threading.SynchronizationContext.Current.Post((_) =>
143
- // {
144
- // using (deferral)
145
- // {
146
- if (String .Equals (args .Uri , " calculator:///" , StringComparison .OrdinalIgnoreCase ))
134
+ webView .CoreWebView2 .LaunchingExternalUriScheme += (sender , args )
135
+ {
136
+ // A deferral may be taken for the event so that the CoreWebView2
137
+ // doesn't examine the properties we set on the event args until
138
+ // after we call the Complete method asynchronously later.
139
+ // This will give the user more time to decide whether to launch
140
+ // the external URI scheme or not.
141
+ // CoreWebView2Deferral deferral = args.GetDeferral();
142
+ // System.Threading.SynchronizationContext.Current.Post((_) =>
143
+ // {
144
+ // using (deferral)
145
+ // {
146
+ if (String .Equals (args .Uri , " calculator:///" , StringComparison .OrdinalIgnoreCase ))
147
+ {
148
+ // Set the event args to cancel the event and launch the
149
+ // calculator app. This will always allow the external URI scheme launch.
150
+ args .Cancel = true ;
151
+ ProcessStartInfo info = new ProcessStartInfo
147
152
{
148
- // Set the event args to cancel the event and launch the
149
- // calculator app. This will always allow the external URI scheme launch.
150
- args .Cancel = true ;
151
- ProcessStartInfo info = new ProcessStartInfo
152
- {
153
- FileName = args .Uri ,
154
- UseShellExecute = true
155
- };
156
- Process .Start (info );
157
- }
158
- else if (String .Equals (args .Uri , " malicious:///" , StringComparison .OrdinalIgnoreCase )) {
159
- // Always block the request in this case by cancelling the event.
160
- args .Cancel = true ;
161
- }
162
- else if (String .Equals (args .Uri , " contoso:///" , StringComparison .OrdinalIgnoreCase ))
153
+ FileName = args .Uri ,
154
+ UseShellExecute = true
155
+ };
156
+ Process .Start (info );
157
+ }
158
+ else if (String .Equals (args .Uri , " malicious:///" , StringComparison .OrdinalIgnoreCase )) {
159
+ // Always block the request in this case by cancelling the event.
160
+ args .Cancel = true ;
161
+ }
162
+ else if (String .Equals (args .Uri , " contoso:///" , StringComparison .OrdinalIgnoreCase ))
163
+ {
164
+ // To display a custom dialog we cancel the launch, display
165
+ // a custom dialog, and then manually launch the external URI scheme
166
+ // depending on the user's selection.
167
+ args .Cancel = true ;
168
+ string text = " Launching External URI Scheme" ;
169
+ if (args .InitiatingOrigin != " " )
163
170
{
164
- // To display a custom dialog we cancel the launch, display
165
- // a custom dialog, and then manually launch the external URI scheme
166
- // depending on the user's selection.
167
- args .Cancel = true ;
168
- string text = " Launching External URI Scheme" ;
169
- if (args .InitiatingOrigin != " " )
170
- {
171
- text += " from " ;
172
- text += args .InitiatingOrigin ;
173
- }
174
- text += " to " ;
175
- text += args .Uri ;
176
- text += " \n " ;
177
- text += " Do you want to grant permission?" ;
178
- string caption = " Launching External URI Scheme request" ;
179
- MessageBoxButton btnMessageBox = MessageBoxButton .YesNo ;
180
- MessageBoxImage icnMessageBox = MessageBoxImage .None ;
181
- MessageBoxResult resultbox = MessageBox .Show (text , caption , btnMessageBox , icnMessageBox );
182
- switch (resultbox )
183
- {
184
- case MessageBoxResult .Yes :
185
- ProcessStartInfo info = new ProcessStartInfo
186
- {
187
- FileName = args .Uri ,
188
- UseShellExecute = true
189
- };
190
- Process .Start (info );
191
- break ;
192
-
193
- case MessageBoxResult .No :
194
- break ;
195
- }
196
-
197
- }
198
- else
171
+ text += " from " ;
172
+ text += args .InitiatingOrigin ;
173
+ }
174
+ text += " to " ;
175
+ text += args .Uri ;
176
+ text += " \n " ;
177
+ text += " Do you want to grant permission?" ;
178
+ string caption = " Launching External URI Scheme request" ;
179
+ MessageBoxButton btnMessageBox = MessageBoxButton .YesNo ;
180
+ MessageBoxImage icnMessageBox = MessageBoxImage .None ;
181
+ MessageBoxResult resultbox = MessageBox .Show (text , caption , btnMessageBox , icnMessageBox );
182
+ switch (resultbox )
199
183
{
200
- // Do not cancel the event, allowing the request to use the default dialog.
184
+ case MessageBoxResult .Yes :
185
+ ProcessStartInfo info = new ProcessStartInfo
186
+ {
187
+ FileName = args .Uri ,
188
+ UseShellExecute = true
189
+ };
190
+ Process .Start (info );
191
+ break ;
192
+
193
+ case MessageBoxResult .No :
194
+ break ;
201
195
}
202
- // }
203
- // }, null);
204
- }
196
+
197
+ }
198
+ else
199
+ {
200
+ // Do not cancel the event, allowing the request to use the default dialog.
201
+ }
202
+ // }
203
+ // }, null);
205
204
};
206
205
}
207
206
0 commit comments