Beispiel #1
0
        public void WebViewIsNotDisposedWhenUnloaded()
        {
            var view = new WebViewControl.WebView();

            var disposed = false;

            view.Disposed += () => disposed = true;

            var window = new Window();

            window.Title   = CurrentTestName;
            window.Content = view;

            try {
                window.Show();
                WaitFor(() => view.IsLoaded);

                window.Content = null;
                WaitFor(() => !view.IsLoaded);
                Assert.IsFalse(disposed);

                window.Content = view;
                window.Close();
                WaitFor(() => !view.IsLoaded);
                Assert.IsTrue(disposed);
            } finally {
                window.Close();
            }
        }
Beispiel #2
0
        public async Task WebViewIsNotDisposedWhenUnloaded()
        {
            await Run(async() => {
                var taskCompletionSource = new TaskCompletionSource <bool>();
                var view       = new WebViewControl.WebView();
                view.Disposed += delegate {
                    taskCompletionSource.SetResult(true);
                };

                var window = new Window {
                    Title   = CurrentTestName,
                    Content = view
                };

                try {
                    window.Show();
                    window.Content = null;
                    Assert.IsFalse(taskCompletionSource.Task.IsCompleted);

                    window.Content = view;
                    window.Close();
                    var disposed = await taskCompletionSource.Task;
                    Assert.IsTrue(disposed);
                } finally {
                    window.Close();
                }
            });
        }
Beispiel #3
0
    public static nac.Forms.Form Browser(this nac.Forms.Form f)
    {
        // make a browser
        var browser = new WebViewControl.WebView();

        browser.Initialized += (_sender, _args) =>
        {
            System.Console.WriteLine("Web View Initialized"); // todo: change this to some kind of logging
            browser.LoadUrl("https://www.google.com");
        };

        f._Extend_AddRowToHost(browser, rowAutoHeight: false);

        return(f);
    }
Beispiel #4
0
        public void WebViewIsDisposedWhenHostWindowIsNotShown()
        {
            var view   = new WebViewControl.WebView();
            var window = new Window();

            window.Title = CurrentTestName;

            try {
                window.Content = view;

                var disposed = false;
                view.Disposed += () => disposed = true;

                window.Close();
                Assert.IsTrue(disposed);
            } finally {
                window.Close();
            }
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            var f = Avalonia.AppBuilder.Configure <nac.Forms.App>()
                    .NewForm();

            f.Text("Hello World!");

            // make a browser
            var browser = new WebViewControl.WebView();

            browser.Initialized += (_sender, _args) =>
            {
                Console.WriteLine("Web View Initialized");
                browser.LoadUrl("https://www.google.com");
            };

            f._Extend_AddRowToHost(browser, rowAutoHeight: false);

            f.Display();
        }