Пример #1
0
            public override void DecidePolicyForNavigation(WebView webView, NSDictionary actionInformation, NSUrlRequest request, WebFrame frame, NSObject decisionToken)
            {
                switch ((WebNavigationType)((NSNumber)actionInformation [WebPolicyDelegate.WebActionNavigationTypeKey]).Int32Value)
                {
                case WebNavigationType.BackForward:
                case WebNavigationType.FormResubmitted:
                case WebNavigationType.FormSubmitted:
                    WebPolicyDelegate.DecideIgnore(decisionToken);
                    break;

                case WebNavigationType.LinkClicked:
                    NSWorkspace.SharedWorkspace.OpenUrl(actionInformation[WebPolicyDelegate.WebActionOriginalUrlKey] as NSUrl);
                    WebPolicyDelegate.DecideIgnore(decisionToken);
                    break;

                case WebNavigationType.Other:
                case WebNavigationType.Reload:
                    WebPolicyDelegate.DecideUse(decisionToken);
                    break;
                }
            }
Пример #2
0
            public override void DecidePolicyForNavigation(WebView webView, NSDictionary actionInformation, NSUrlRequest request, WebFrame frame, NSObject decisionToken)
            {
                switch (((NSNumber)actionInformation[this.WebActionNavigationTypeKey]).Int32Value)
                {
                case 0:
                    // ISSUE: reference to a compiler-generated method
                    NSWorkspace.SharedWorkspace.OpenUrl(actionInformation[this.WebActionOriginalUrlKey] as NSUrl);
                    WebPolicyDelegate.DecideIgnore(decisionToken);
                    break;

                case 1:
                case 2:
                case 4:
                    WebPolicyDelegate.DecideIgnore(decisionToken);
                    break;

                case 3:
                case 5:
                    WebPolicyDelegate.DecideUse(decisionToken);
                    break;
                }
            }