Status of CEF version of node-webkit

10 views
Skip to first unread message

Roger WANG

unread,
Apr 26, 2012, 11:07:52 AM4/26/12
to node-webkit
We are happy to announce that we just finished the initial development
of the new version. It's now integrated with CEF for better architecture
(WebKit port with V8), less maintainence cost and better HTML5
support. And it's now supports Linux, Windows and OSX!

The 'testfs' demo is now working. It only shows how to load the 'fs'
module in DOM, but any other modules should work too).

The 'nwebkit' module providing simple APIs (e.g. init(), loadString(),
...) in the previous version is not working yet. But the major
functionality is there: NodeJS modules and objects can be accessed from
DOM pages, and the program can load and run such pages now.

The source code has been pushed to repositories on github. We'll
stabilize it and build binaries for download in the next step, as well
as the documentation. But if you know how to build CEF, it is possible
to try it out before the binaries are available. Just point your
.gclient to our repo, sync the code and then build CEF as usual. After
that, try to run 'cefclient' and put the full URL of 'testfs.html' with
the 'file://' prefix. Thanks to Brandon for writing a short guide here:

https://github.com/rogerwang/node-webkit/issues/3#issuecomment-5290171

Thanks
--
Roger WANG Intel Open Source Technology Center

Tyler Larson

unread,
Apr 26, 2012, 2:52:05 PM4/26/12
to node-...@googlegroups.com
That is awesome news. I'll wait for the binary but totally excited to get going on this. 

Chad Retz

unread,
Apr 27, 2012, 4:26:23 PM4/27/12
to node-...@googlegroups.com
Fantastic! I expect this to become the common method for desktop apps to be written in node.

Dick Hardt

unread,
Apr 29, 2012, 2:11:42 PM4/29/12
to node-...@googlegroups.com
My build skills are not what they used to be.

I tried following the directions, but got confused as to what needed to be downloaded and built where.

A list of command line instructions would be really useful!

-- Dick

Roger

unread,
Apr 30, 2012, 9:30:04 AM4/30/12
to node-...@googlegroups.com
Hello,

I'll write a guide for compiling. Before that there is a automatic build script in the CEF project which could help you. It downloads the dependencies and repos and makes them ready for you.

The build instruction from the chromium project might also help. CEF is a small addition on chromium, and our project is small addition on CEF.

Regards

Roger


From: Dick Hardt <dick....@gmail.com>
Sent: Mon Apr 30 02:11:42 格林尼治标准时间+0800 2012
To: node-...@googlegroups.com
Subject: Re: [node-webkit] Status of CEF version of node-webkit

Johnathan Leppert

unread,
May 17, 2012, 3:02:14 AM5/17/12
to node-webkit
[cef]$ ./cef_create_projects.sh

I tried and it looks like it was working until I got this:

gyp.input.CircularException: Some files not reachable, cycle in .gyp
file dependency graph detected involving some or all of: cef.gyp ../
third_party/nwebkit/nwebkit.gyp

Any ideas?

Thanks,

Johnathan

On Apr 30, 6:30 am, Roger <wen...@gmail.com> wrote:
> Hello,
>
> I'll write a guide for compiling. Before that there is a automatic build script in the CEF project which could help you. It downloads the dependencies and repos and makes them ready for you.
>
> The build instruction from the chromium project might also help. CEF is a small addition on chromium, and our project is small addition on CEF.
>
> Regards
>
> Roger
>
> _____________________________________________
> From: Dick Hardt <dick.ha...@gmail.com>

Roger WANG

unread,
May 17, 2012, 3:10:58 AM5/17/12
to node-...@googlegroups.com
Johnathan Leppert <johnatha...@gmail.com> writes:

> [cef]$ ./cef_create_projects.sh
>
> I tried and it looks like it was working until I got this:
>
> gyp.input.CircularException: Some files not reachable, cycle in .gyp
> file dependency graph detected involving some or all of: cef.gyp ../
> third_party/nwebkit/nwebkit.gyp
>
> Any ideas?

It passed here. Does this help on your side? :

comment out the line containing 'nwebkit.gyp' in cef.gyp

We are not actually using the nwebkit module for now.

Johnathan Leppert

unread,
May 18, 2012, 6:05:17 AM5/18/12
to node-webkit
That helped, but compilation is still failing (Mac OSX Lion with SDK
10.5):

In file included from /Users/jleppert/node-webkit/depot_tools/src/
content/public/browser/web_contents_observer.cc:8:
../net/base/x509_certificate.h:351:10: error: unknown type name
'X509_STORE' [4]
static X509_STORE* cert_store();
^
1 error generated.

I can compile Chromium fine from these sources however.

I did:

/cef_create_projects.sh
GYP_DEFINES='mac_sdk=10.6' gclient runhooks
xcodebuild -project cef.xcodeproj -configuration Debug -target
cefclient

Any ideas? What am I doing wrong? I can comment out the line in net/
base/x509_certificate.h and it does progress further, but fails again,
and I'm worried to keep modifying the code.

On May 17, 12:10 am, Roger WANG <roger.w...@intel.com> wrote:

Roger

unread,
May 18, 2012, 7:36:34 AM5/18/12
to node-...@googlegroups.com
On Fri, May 18, 2012 at 6:05 PM, Johnathan Leppert
<johnatha...@gmail.com> wrote:
>
> That helped, but compilation is still failing (Mac OSX Lion with SDK
> 10.5):
>
> In file included from /Users/jleppert/node-webkit/depot_tools/src/
> content/public/browser/web_contents_observer.cc:8:
> ../net/base/x509_certificate.h:351:10: error: unknown type name
> 'X509_STORE' [4]
>   static X509_STORE* cert_store();


Currently I don't have access to the OSX system we used until next
Monday, but it looks like it's building with openssl on your side.

Please try to disable building with openssl in build/common.gypi, line#33 or 51.

Regards

Roger

Johnathan Leppert

unread,
May 18, 2012, 4:13:10 PM5/18/12
to node-webkit
That worked, but it failed on the following:

** BUILD FAILED **


The following build commands failed:
CompileC ../xcodebuild/skia.build/Debug/skia.build/Objects-normal/
i386/SkCreateRLEPixelRef.o ../third_party/skia/src/images/
SkCreateRLEPixelRef.cpp normal i386 c++ com.apple.compilers.llvm.clang.
1_0.compiler

I double checked everything and even tried it all over again, making
sure I had checked out the right branches in all the deps, etc.

Thanks,

Johnathan

On May 18, 4:36 am, Roger <wen...@gmail.com> wrote:
> On Fri, May 18, 2012 at 6:05 PM, Johnathan Leppert
>

Roger WANG

unread,
May 20, 2012, 8:46:11 PM5/20/12
to node-...@googlegroups.com
Johnathan Leppert <johnatha...@gmail.com> writes:

> That helped, but compilation is still failing (Mac OSX Lion with SDK
> 10.5):
>

We need 10.6, as well as chromium upstream:


http://code.google.com/p/chromium/wiki/MacBuildInstructions


I think the skia error on your side is related to this.

> ... ...
>
> I can compile Chromium fine from these sources however.

Johnathan Leppert

unread,
May 21, 2012, 2:29:09 PM5/21/12
to node-webkit
Yeah, I did try that and got the chromium upstream...I did have skia
but was failing to compile.

But in the end, I couldn't get it to compile, so I tried on Ubuntu.

I was able to get it to compile, sans a few issues. However, when I
run cefclient I get the following:

[johnathan@li63-206 Debug]$ ./cefclient
[0521/181724:WARNING:zygote_host_impl_linux.cc(154)] Running without
the SUID sandbox! See http://code.google.com/p/chromiu
[0521/181724:WARNING:network_change_notifier_linux.cc(169)] No
response received for initial state request
[0521/181724:WARNING:proxy_service.cc(958)] PAC support disabled
because there is no system implementation
[0521/181724:ERROR:renderer_main.cc(224)] Running without renderer
sandbox

undefined:1
??P?Q?
^
SyntaxError: Unexpected token :
at Object.parse (native)
at Function.processConfig (node.js:221:27)
at startup (node.js:40:13)
at node.js:661:3
[0521/181729:ERROR:gl_surface_glx.cc(65)] GLX 1.3 or later is
required.
[0521/181729:ERROR:gl_surface_linux.cc(64)]
GLSurfaceGLX::InitializeOneOff failed.
[0521/181729:INFO:gpu_main.cc(87)] gfx::GLSurface::InitializeOneOff
failed
[0521/181729:INFO:gpu_child_thread.cc(99)] Exiting GPU process due to
errors during initialization

Looks like it's failing to parse the startup configuration?

Johnathan

On May 20, 5:46 pm, Roger WANG <roger.w...@intel.com> wrote:

Johnathan Leppert

unread,
May 21, 2012, 5:11:20 PM5/21/12
to node-webkit
Ok, I was able to get it to work by commenting out line 40 of src/
node.js: "startup.processConfig()", but I'm not sure what side effects
that causes...the config.gypi file appears to be okay, but maybe not
getting embedded in the build?

Thanks,

Johnathan

On May 21, 11:29 am, Johnathan Leppert <johnathan.lepp...@gmail.com>
wrote:
> Yeah, I did try that and got the chromium upstream...I did have skia
> but was failing to compile.
>
> But in the end, I couldn't get it to compile, so I tried on Ubuntu.
>
> I was able to get it to compile, sans a few issues. However, when I
> run cefclient I get the following:
>
> [johnathan@li63-206 Debug]$ ./cefclient
> [0521/181724:WARNING:zygote_host_impl_linux.cc(154)] Running without
> the SUID sandbox! Seehttp://code.google.com/p/chromiu

Johnathan Leppert

unread,
May 21, 2012, 5:27:47 PM5/21/12
to node-webkit
How is the nwebkit node module built, or what needs to be done to make
it working?

On May 21, 2:11 pm, Johnathan Leppert <johnathan.lepp...@gmail.com>
wrote:

Roger

unread,
May 21, 2012, 6:15:48 PM5/21/12
to node-...@googlegroups.com
We don't need the module for now -- most of the functionality is built into our version of node and CEF.



From: Johnathan Leppert <johnatha...@gmail.com>
Sent: Tue May 22 05:27:47 格林尼治标准时间+0800 2012
To: node-webkit <node-...@googlegroups.com>
Subject: [node-webkit] Re: Status of CEF version of node-webkit

Johnathan Leppert

unread,
May 21, 2012, 9:02:33 PM5/21/12
to node-webkit
Is the node-side functionality (access and running scripts in cef)
working (the second example)?

On May 21, 3:15 pm, Roger <wen...@gmail.com> wrote:
> We don't need the module for now -- most of the functionality is built into our version of node and CEF.
>
> _____________________________________________
> From: Johnathan Leppert <johnathan.lepp...@gmail.com>

Roger WANG

unread,
May 21, 2012, 9:13:37 PM5/21/12
to node-...@googlegroups.com
Johnathan Leppert <johnatha...@gmail.com> writes:

> Is the node-side functionality (access and running scripts in cef)
> working (the second example)?

not yet. but we've been working on it and it'll be ready soon.

btw, 'testfs' example works and node modules can be accessed from DOM.

Johnathan Leppert

unread,
May 21, 2012, 10:07:57 PM5/21/12
to node-webkit
Yeah, I do see that and was able to get it working with the cefclient
gtk test app, that's great. I'm wondering if the inverse could also be
made true for the node app...e.g. be able to access the window object
and globals from inside the node context? e.g.:

var nwebkit = require('./nwebkit');

nwebkit.open('http://www.google.com', function(c) {
console.log(c.window.title);
});

This would allow some very interesting testing and automation
capabilities using the existing node package ecosystem. I'm very
interested in using it in this way, if it's possible.

Thanks!

On May 21, 6:13 pm, Roger WANG <roger.w...@intel.com> wrote:
Reply all
Reply to author
Forward
0 new messages