[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Web browser for GNUstep

From: Gregory Casamento
Subject: Re: Web browser for GNUstep
Date: Sun, 14 Jun 2015 16:59:48 +0000


On Sun, Jun 14, 2015 at 8:04 AM Maxthon Chan <xcvista@me.com> wrote:
If that is the case then why can’t we:

1) write a set of WTF classes linking to gnustep-gui? That should be our “standard” user interface library. Also this will give rise to a WebKit fork with GNUstep ObjC fronted and backend, or

We can surely do what you describe, that's what I was saying is a monumental effort.   We would either have to get our code into WebKit's normal repo in which case we would have to remain constantly vigilant
2) Reorganize gnustep-back into CG, CA and CT libraries since (to me) that is what Back should be written as in the first place, and then fit stock WebKit on it?

There is already an effort to do this with the Opal (CG) backend.  The GNUstep backend was purposefully written to be flexible.  Basing the backend on Opal/CG allows the use of CG functions directly on the backend context.   Additionally, since CA and CT libraries use CG the same goes for them as well.   

As I described in my last email fitting "stock" webkit will take some effort not only because of the changes needed in webkit, but mainly because of those needed in GNUstep itself to support it.

The other complication is the build system.   WebKit's build system is very complicated.   We would likely have to make changes within it and not only that ours would overlap with those for the mac as we would be a strange hybrid... building on Linux/BSD/Windows, but using the Mac classes.

It is MUCH LESS complicated to use CEF3 simply because the whole idea of CEF is to abstract away all of this complexity from the developer. 

On Jun 14, 2015, at 10:23, Gregory Casamento <greg.casamento@gmail.com> wrote:

Because they have an abstraction layer. It's called the WTF classes (always loved that name) which draws the widgets in a platform specific manner. Theoretically we could build WebKit with the gnome backend and a GNUstep front end. But if we do that then there would be little difference between that and using CEF.
On Sat, Jun 13, 2015 at 21:59 ChanMaxthon <xcvista@me.com> wrote:
If WebKit depend on CG and CT then how did Google made WebKit tick on Linux and Windows in older versions of Chrome? Or we may base our web browser off Blink, Google's fork of WebKit, and back port some code from Apple's branch into it.

Sent from my iPhone

On Jun 14, 2015, at 09:05, Gregory Casamento <greg.casamento@gmail.com> wrote:


Getting WebKit to build on GNUstep is highly difficult. WebKit depends on a lot of coregraphics, coretext and coreanimation code. While those are things we are working on and supporting WebKit would help us to complete them if the goal is to have a working webview in a short time then the short cut to this is what I suggested.

I have tried in the past to get this to work. There is simply too much for one person to do. This is an effort which would require the collaboration of a few people to accomplish in a reasonable amount of time.

I am not discouraging this just laying out the reality of the situation.


On Sat, Jun 13, 2015 at 19:19 Maxthon Chan <xcvista@me.com> wrote:
I know that Apple never released the wrapper but can’t we take their open source WebKit and clone the wrapper? This will have two benefits:

1) coverage of yet another Apple’s library on OS X
2) a Safari clone that can be use as the default browser of GNUstep

On Jun 14, 2015, at 07:16, Kevin Ingwersen (Ingwie Phoenix) <ingwie2000@googlemail.com> wrote:

I doubt Apple Inc. had ever released their ObjC wrapper…

Regarding CEF3, I have a bit of experience with it, actually. CEF is really easy to use, but requires setup. From helper processes with special execution rights, to requiring some stuff on the main thread. The overall implementation is easy and can be done nicely. But it’s docs are all over the place, sadly.

However… CEF3 has one amazing feature. It renders into an existing view. Take this pseudo code into consideration, and taking into considerationt hat I have never used Gnustep or Cocoa myself:

// This is in the main process
class Application : public CEFApplication { ... }

// This lives partially in the main process and the renderer
class Browser : public CEFBrowser { ... }

// This truely lives in the renderer
class Renderer : public CEFRenderer { ... }

void launch() {
    // Imagine that this is how we set up an application instance
    Application cef;
    NSWindow* win = [NSWindow somehowMakeOne];
    NSView* area = [win getContentView];

I am very rusty in the actual CEF documentation, tbh… But there is some positive news. I have had osme playing with trying to put CEF3 into FLTK. This code still exists!

…well, except that it was one hella lame attempt of tryign to make a cool NodeJS thingy-dabado. Whatever, the code should give hints and clues nevertheless, since CEF3’s API shouldn’t have changed a lot.

So, you throw a render-able area (= NSView) into CEF, and it gives you back a webview! :)

I just thought I’d share that stuff with you guys. =)

On So. Juni 14 2015 00:40:35 Maxthon Chan wrote:
Just throw this out here, is it possible to take the open source portion of WebKit (or Blink) and clone the Objective-C wrapper Apple provided? With that and a new shell we can have what is effectively a Safari clone using the same rendering engine and even maybe can share extensions.

On Jun 14, 2015, at 06:33, andrewkaz <andrewkaz@gmail.com> wrote:

Could you per chance share code or leads for integrating CEF3 with Objective-C? I’m willing to do some leg work but info’s appreciated

On Jun 13, 2015, at 5:25 PM, Gregory Casamento <greg.casamento@gmail.com> wrote:


One thing I have been considering doing for a while is using CEF3 to
create a WebView implementation which can be used within GNUstep.   I
did something similar to this when I was working on Winamp for Mac and
it worked very well... so I think it's a viable solution for creating
a WebView class that can be used from any application.

Lately I haven't had a lot of time to do this.  There is an
experimental effort using something called "Berkelium" in GAP @
gap/libs/Berkelium.   Berkelium has a similar architecture so it would
be easy to retrofit my code there to use CEF3.

I don't know if this helps... but it is something along the same lines.


On Sat, Jun 13, 2015 at 1:49 PM, andrewkaz <andrewkaz@gmail.com> wrote:
Anyone have a status on a GNUstep web browser?

Was checking out Mantella, the wrapper around Firefox from like 2007. I may even be close to getting it to compile! My system has Ice weasel though, not firefox, and not sure what the associated gtkmozembed is called or how to get it installed and importing on my Debian distro.  — If anyone has pointers on any of these things Id be extremely grateful.

Or if you have pointers on another web browser that is even remotely usable. Tried SimpleWebKit too, got it building and running and it’s either out of date or a joke.

I’ve been on the Apple scene for a long time, and feel I may be one of the rare few who can see the grand potential of GNUstep, who wants to move it forward.



Discuss-gnustep mailing list

Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com

Discuss-gnustep mailing list

Discuss-gnustep mailing list

Discuss-gnustep mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]