* Mono.WebBrowser/Manager.cs: Use new webkit backend if requested. If
authorAndreia Gaita <avidigal@novell.com>
Sat, 8 Nov 2008 17:07:34 +0000 (17:07 -0000)
committerAndreia Gaita <avidigal@novell.com>
Sat, 8 Nov 2008 17:07:34 +0000 (17:07 -0000)
  it doesn't load or blows up, revert to default gecko backend.

2008-11-08  Andreia Gaita <shana@jitted.com>

svn path=/trunk/mcs/; revision=118280

mcs/class/Mono.WebBrowser/ChangeLog
mcs/class/Mono.WebBrowser/Mono.WebBrowser/Manager.cs

index acb6e5c6e3f4e2f00125bea2443c9c0d42dcc9fb..0936c783ef24483ca91d874198714e89ccd173f2 100644 (file)
@@ -1,3 +1,8 @@
+2008-11-08  Andreia Gaita <shana@jitted.com> 
+
+       * Mono.WebBrowser/Manager.cs: Use new webkit backend if requested. If it
+         doesn't load or blows up, revert to default gecko backend.
+
 2008-10-23  Andreia Gaita  <shana@jitted.com>
 
        * Mono.Mozilla/DOM/Node.cs,
index 45e63476192e206e71acca9fd7f6977132db6685..a67d846afc29440b7a2e9502a861475d56c04cc4 100644 (file)
@@ -24,6 +24,7 @@
 //
 
 using System;
+using System.Reflection;
 
 namespace Mono.WebBrowser
 {
@@ -38,9 +39,21 @@ namespace Mono.WebBrowser
                {
                        string browserEngine = Environment.GetEnvironmentVariable ("MONO_BROWSER_ENGINE");
 
+#if NET_2_0                    
+                       if (browserEngine == "webkit") {
+                               Assembly ass;
+                               try {
+                                       ass = Assembly.LoadWithPartialName ("mono-webkit");
+                                       IWebBrowser ret = (IWebBrowser) ass.CreateInstance ("Mono.WebKit.WebBrowser");
+                                       return ret;
+                               } catch {
+                                       //throw new Exception (Mono.WebBrowser.Exception.ErrorCodes.EngineNotSupported, browserEngine);
+                                       browserEngine = null;
+                               }
+                       }
+#endif
                        if (browserEngine == null || browserEngine == "mozilla")
                                return new Mono.Mozilla.WebBrowser (platform);
-
                        throw new Exception (Mono.WebBrowser.Exception.ErrorCodes.EngineNotSupported, browserEngine);
                }