[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: State of the WebKit port
From: |
David Chisnall |
Subject: |
Re: State of the WebKit port |
Date: |
Tue, 20 Jun 2017 10:01:08 +0100 |
On 20 Jun 2017, at 04:39, Daniel Ferreira (theiostream) <address@hidden> wrote:
> At this point, I chose to disable the remote inspector WebKit
> feature[1], since it relied on XPC and Darwin's notify functions for
> IPC. While these two libraries could eventually be implemented in a
> cross-platform manner, they currently rely on the Mach kernel's
> messaging model, so getting it to run on Linux would be too much of a
> hurdle for now.
FYI: We’re currently working with Apple to try to get XPC open sourced for some
work-related stuff that we’re doing in collaboration with them. I’ll let you
know if we make any progress.
> After this was done, the only issue that stopped WTF from working
> seamlessly was the lack of some CoreBase functions:
> CFLocaleCopyPreferredLanguages(); the CFPreferences* suite. (The
> latter will become a bigger problem when it comes to WebCore, but
> we'll get there.); and CFBridgingRetain/CFBridgingRelease, which is
> already the subject of a thread here which hasn't yet been concluded.
I think both of these can be implemented on top of user defaults (though it
would be nice to use the DBus locale selection stuff).
> Moving on, I started building JavaScriptCore. Building was done rather
> simply after some header adjustments in libobjc2, Base and CoreBase. I
> moved on to running the JSC tests, and as they failed I started fixing
> some bugs in GNUstep.
>
> …
>
> The next issue was a little more complex. JSC's bridge with
> Objective-C relies on a private extension Apple made to the
> Objective-C ABI which is only integrated with its ObjC runtime. An
> issue briefly documenting the matter was opened in libobjc2[3], and
> changes will need to be done to both clang and libobjc2. At this
> point, I chose to move on from the failing JSC tests and start
> building WebCore.
I’ll try to take a look at these. If nothing else, having JSC integration with
GNUstep would be a great outcome for this project. Apple added JSC as an
OSAScript back end a couple of years back and this would make it possible for
GNUstep to implement the Foundation classes that are used by scripting *and*
have them actually be useful. I considered porting DukTape for this purpose a
while ago. The JavaScript to Objective-C bridge is also quite well designed
and is usable for application development on macOS - it would be great to be
able to advertise that you can write GNUstep apps with JavaScript as well as
ObjC (JavaScript is pretty good for rapid prototyping, as well as being a lot
more widely known than Objective-C).
David