[Mono-dev] Managed Web Browser

Stefan Noack noackstefan at googlemail.com
Tue Aug 28 06:26:30 EDT 2007


Why windows forms? Wouldn't GTK# be okay? It also runs on windows afaik.
Do you already have some further ideas what it should look like? So what
kinda class architecture are you thinking of? Never thought about how to
make a web browser...
System.Drawing runs quite well on mono, even on GTK widgets, I tried it.


Am Sonntag, den 26.08.2007, 20:05 -0500 schrieb John Platts:
> I would like to see an web browser implemented in managed code that
> would run on Microsoft .NET and Mono, rather than simply having
> wrappers around unmanaged web browser layout engines.
> Here are the requirements for the managed web browser:
> - Must run on the Microsoft .NET Framework version 2.0 or later
> - Should run on the Microsoft Windows version of Mono (using Mono's
> Windows Forms implementation)
> - Should run on the Linux version of Mono (using Mono's Windows Forms
> implementation)
> - Browser code should not make any direct calls to managed code (but
> can make calls to any managed function available in Mono, the
> Microsoft .NET Framework, the Gtk# library, or the Mono.Cairo library)
> - Must pass the Acid2 test
> - Must support cascading style sheets
> - Must support JavaScript
> - Must support DOM Levels 1 & 2
> - Must support HTML 4.0 and XHTML
> - Must have a managed plugin API
> - Should utilize Code Access Security
> - Can have optional support for ActiveX controls (requires Microsoft
> Windows and the Microsoft .NET framework) or NPAPI-based plugins (will
> require some managed code to support this) - this support will
> probably require some unmanaged code and can include unmanaged code to
> provide the support required by ActiveX or NPAPI plugins
> - There should be an option to build a browser without any unmanaged
> code included (except for the unmanaged code included in the GTK#
> library or Mono.Cairo library or their dependencies)
> - Must be embeddable within Windows Forms applications if implemented
> using Windows Forms (and also Windows Presentation Foundation
> applications with the
> System.Windows.Forms.Integration.WindowsFormsHost class on Version 3.0
> and 3.5 of the Microsoft .NET framework)
> - Must be embeddable within GTK# applications if implemented using
> GTK#
> What Mono needs to have in order to support a managed web browser:
> - a System.Windows.Forms and System.Drawing implementation (or a Gtk#
> + Mono.Cairo implementation)
> - Code Access Security - not an absolute requirement for a web
> browser, but can provide better security, especially for plugins -
> unmanaged plugins can exploit filesystem, etc. whereas an untrusted
> managed plugin can be restricted from accessing the filesystem or
> performing malicious actions if the managed plugin is running under
> partial trust and both the browser and the unmanaged plugin is running
> on a runtime with Code Access Security enabled
> - a functional System.Net.Sockets implementation
> - should have support for IPv6
> ______________________________________________________________________
> See what you’re getting into…before you go there See it!
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list

More information about the Mono-devel-list mailing list