JCEF enable WebGL

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

JCEF enable WebGL

Postby xgibert » Mon Feb 23, 2015 5:42 am

Hello,

I am using the last release of JCEF (3.175) for windows and I can't mannage to get WebGL support. Chrome and Firefox tell me I'm ready to use it. Cef tells me that the browser seems to support it but it is disabled, probably due to old drivers. But the drivers are the same for Cef than for Chrome and Firefox, aren't they?

I use the following command-line switches:

mySwitches.add("--disable-web-security");
mySwitches.add("--enable-webgl");
mySwitches.add("--ignore-gpu-blacklist");

Thanks in advance
xgibert
Techie
 
Posts: 16
Joined: Mon Feb 23, 2015 5:25 am

Re: JCEF enable WebGL

Postby magreenblatt » Tue Feb 24, 2015 3:57 pm

That version of JCEF uses off-screen rendering and does not support WebGL. You will need to build the current version of JCEF yourself from source code as described at https://code.google.com/p/javachromiume ... ndBuilding.
magreenblatt
Site Admin
 
Posts: 12408
Joined: Fri May 29, 2009 6:57 pm

Re: JCEF enable WebGL

Postby xgibert » Wed Feb 25, 2015 10:57 am

I am trying to build myself the Linux64 version. I have some questions and problems:

Q:
-Can I build a version of JCEF targeting a system different than the current one? e.g. building windows version from linux.
-How do I choose if I want to enable/disable things like WebGL? or simply by taking the trunk version it will enable it?

P:
-I have Ubuntu 13.10 Saucy. The package mentioned in the requirements (binutils-gold) does not exist anymore and now it is apparently included in binutils. When trying to build the source (./build.sh Release) I get the following error:

...
third_party/cef/linux64/cefclient.target.mk:123: warning: ignoring old commands for target `out/Release/libpdf.so'
CXX(target) out/Release/obj.target/jcef_helper/native/util_linux.o
native/util_linux.cpp:26:1: error: ‘sv’ does not name a type
sv
^
make: *** [out/Release/obj.target/jcef_helper/native/util_linux.o] Error 1


Searching in the Internet, it appears that the error comes from the fact of not linking with gold. But I can't find a way to point the linker to gold.
I found this site:
http://code.google.com/p/chromium/wiki/ ... using_gold
In which tells me to set the CC and CCX environment variables to point gold (export CC="gcc -B/usr/local/gold/bin" ) but I don't have this folder in my system.
A search "gold" in my whole system returns me some files and folders:
/usr/lib/gold-ld/ld
/usr/bin/ld.gold
usr/bin/gold

Pointing to any of them doesn't fix the problem and the building process ends with the same lines.

Thanks.
xgibert
Techie
 
Posts: 16
Joined: Mon Feb 23, 2015 5:25 am

Re: JCEF enable WebGL

Postby magreenblatt » Wed Feb 25, 2015 11:49 am

Current JCEF trunk doesn't work on Linux due to https://code.google.com/p/javachromiume ... ail?id=137, and older versions of JCEF do not support WebGL on Linux. You will need to choose a different OS.
magreenblatt
Site Admin
 
Posts: 12408
Joined: Fri May 29, 2009 6:57 pm

Re: JCEF enable WebGL

Postby xgibert » Fri Feb 27, 2015 5:18 am

My only option is windows, but in that case, is Visual Studio 2010 non express edition the only possibility? Regarding Chromium documentation they use 2013 which has the free community version but using that gives me errors in the building process; after having to migrate the project files. They also say that no Express edition will ever build Chromium successfully.

If VS 2010 non Express is the only option I don't understand why there is no prebuilt version of JCEF with latest source and WebGL enabled to prevent users from paying a Licence of Visual Studio only to build once this JCEF version. My guess is that I am not the only one with these needs and due to a long and hard process to build it is probably way easier that someone with the software already installed and configured produces this version and posts it in the Downloads section. I've already lost two days between the process, the admin rights and proxy problems related to it...

I wait for your thoughts about that, thanks again.
xgibert
Techie
 
Posts: 16
Joined: Mon Feb 23, 2015 5:25 am

Re: JCEF enable WebGL

Postby xgibert » Fri Feb 27, 2015 5:20 am

That is the building error if you are interested:

Warning 1 warning MSB8012: TargetPath(D:\Users\xgibert\CS\Projets\StavorJava\JCEF\src\third_party\cef\win64\..\..\..\out\win64\Release\libcef_dll_wrapper.lib) does not match the Library's OutputFile property value (D:\Users\xgibert\CS\Projets\StavorJava\JCEF\src\out\win64\Release\lib\libcef_dll_wrapper.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets 1361 5 libcef_dll_wrapper
Error 2 error c1010070: Failed to load and parse the manifest. Le fichier sp?cifi? est introuvable. D:\Users\xgibert\CS\Projets\StavorJava\JCEF\src\third_party\cef\win64\cefclient\cefclient.exe.manifest jcef_helper
Error 3 error LNK1327: failure during running mt.exe D:\Users\xgibert\CS\Projets\StavorJava\JCEF\src\LINK jcef_helper
Error 4 error C3668: 'RenderHandler::OnCursorChange' : method with override specifier 'override' did not override any base class methods (native\CefApp.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\render_handler.h 36 1 jcef
Error 5 error C3668: 'RenderHandler::OnCursorChange' : method with override specifier 'override' did not override any base class methods (native\CefBrowser_N.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\render_handler.h 36 1 jcef
Error 6 error C3668: 'RunFileDialogCallback::OnFileDialogDismissed' : method with override specifier 'override' did not override any base class methods (native\CefBrowser_N.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\run_file_dialog_callback.h 19 1 jcef
Error 7 error C2259: 'RunFileDialogCallback' : cannot instantiate abstract class D:\Users\xgibert\CS\Projets\StavorJava\JCEF\src\native\CefBrowser_N.cpp 491 1 jcef
Error 8 error C2660: 'CefBrowserHost::RunFileDialog' : function does not take 5 arguments D:\Users\xgibert\CS\Projets\StavorJava\JCEF\src\native\CefBrowser_N.cpp 491 1 jcef
Error 9 error C2039: 'GetMisspellingHash' : is not a member of 'CefContextMenuParams' D:\Users\xgibert\CS\Projets\StavorJava\JCEF\src\native\CefContextMenuParams_N.cpp 159 1 jcef
Error 10 error C2660: 'CefFileDialogCallback::Continue' : function does not take 1 arguments D:\Users\xgibert\CS\Projets\StavorJava\JCEF\src\native\CefFileDialogCallback_N.cpp 18 1 jcef
Error 11 error C3668: 'URLRequestClient::OnUploadProgress' : method with override specifier 'override' did not override any base class methods (native\CefURLRequest_N.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\url_request_client.h 30 1 jcef
Error 12 error C3668: 'URLRequestClient::OnDownloadProgress' : method with override specifier 'override' did not override any base class methods (native\CefURLRequest_N.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\url_request_client.h 34 1 jcef
Error 13 error C3668: 'DialogHandler::OnFileDialog' : method with override specifier 'override' did not override any base class methods (native\client_handler.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\dialog_handler.h 19 1 jcef
Error 14 error C3668: 'RenderHandler::OnCursorChange' : method with override specifier 'override' did not override any base class methods (native\client_handler.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\render_handler.h 36 1 jcef
Error 15 error C3668: 'RequestHandler::OnCertificateError' : method with override specifier 'override' did not override any base class methods (native\client_handler.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\request_handler.h 56 1 jcef
Error 16 error C3668: 'DialogHandler::OnFileDialog' : method with override specifier 'override' did not override any base class methods (native\dialog_handler.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\dialog_handler.h 19 1 jcef
Error 17 error C3668: 'RenderHandler::OnCursorChange' : method with override specifier 'override' did not override any base class methods (native\render_handler.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\render_handler.h 36 1 jcef
Error 18 error C3668: 'RenderHandler::OnCursorChange' : method with override specifier 'override' did not override any base class methods (native\render_handler_win.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\render_handler.h 36 1 jcef
Error 19 error C3668: 'RequestHandler::OnCertificateError' : method with override specifier 'override' did not override any base class methods (native\request_handler.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\request_handler.h 56 1 jcef
Error 20 error C3668: 'RunFileDialogCallback::OnFileDialogDismissed' : method with override specifier 'override' did not override any base class methods (native\run_file_dialog_callback.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\run_file_dialog_callback.h 19 1 jcef
Error 21 error C3668: 'URLRequestClient::OnUploadProgress' : method with override specifier 'override' did not override any base class methods (native\url_request_client.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\url_request_client.h 30 1 jcef
Error 22 error C3668: 'URLRequestClient::OnDownloadProgress' : method with override specifier 'override' did not override any base class methods (native\url_request_client.cpp) d:\users\xgibert\cs\projets\stavorjava\jcef\src\native\url_request_client.h 34 1 jcef
Error 23 error C2259: 'URLRequestClient' : cannot instantiate abstract class D:\Users\xgibert\CS\Projets\StavorJava\JCEF\src\native\url_request_client.cpp 25 1 jcef
xgibert
Techie
 
Posts: 16
Joined: Mon Feb 23, 2015 5:25 am

Re: JCEF enable WebGL

Postby magreenblatt » Fri Feb 27, 2015 11:43 am

Based on the errors you have the wrong version of something. Did you download the CEF version listed in the third_party/cef/README.jcef file?

You can set `GYP_MSVS_VERSION=2010` to build with VS2010 or `GYP_MSVS_VERSION=2013` to build with VS2013.
magreenblatt
Site Admin
 
Posts: 12408
Joined: Fri May 29, 2009 6:57 pm

Re: JCEF enable WebGL

Postby xgibert » Mon Mar 02, 2015 3:38 am

Yes, I downloaded the correct version from that file and renamed the root directory to win64. I was using GYP_MSVS_VERSION=2013e and not 2013 because I have the community version, but changing to 2013 does not change the errors displayed during build. Is it possible to build it with any of the free licenses or it has to be a paying Visual Studio version? Has anyone tried it?
xgibert
Techie
 
Posts: 16
Joined: Mon Feb 23, 2015 5:25 am

Re: JCEF enable WebGL

Postby xgibert » Mon Mar 16, 2015 5:39 am

I tried again with VS2010 Professional and I still can't buld the solution. This is the output errors of the build process:



Error 1 error LNK1123: failure during conversion to COFF: file invalid or corrupt D:\Users\xgibert\CS\Projets\JCEF\src\LINK jcef_helper
Error 2 error C3668: 'DialogHandler::OnFileDialog' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\dialog_handler.h 19 1 jcef
Error 3 error C2660: 'CefCookieManager::GetGlobalManager' : function does not take 0 arguments D:\Users\xgibert\CS\Projets\JCEF\src\native\CefCookieManager_N.cpp 16 1 jcef
Error 4 error C2660: 'CefCookieManager::CreateManager' : function does not take 2 arguments D:\Users\xgibert\CS\Projets\JCEF\src\native\CefCookieManager_N.cpp 32 1 jcef
Error 5 error C2660: 'CefCookieManager::SetSupportedSchemes' : function does not take 1 arguments D:\Users\xgibert\CS\Projets\JCEF\src\native\CefCookieManager_N.cpp 53 1 jcef
Error 6 error C2660: 'CefCookieManager::SetStoragePath' : function does not take 2 arguments D:\Users\xgibert\CS\Projets\JCEF\src\native\CefCookieManager_N.cpp 128 1 jcef
Error 7 error C3668: 'RenderHandler::OnCursorChange' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\render_handler.h 36 1 jcef
Error 8 error C3668: 'DialogHandler::OnFileDialog' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\dialog_handler.h 19 1 jcef
Error 9 error C3668: 'RenderHandler::OnCursorChange' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\render_handler.h 36 1 jcef
Error 10 error C3668: 'RequestHandler::OnCertificateError' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\request_handler.h 56 1 jcef
Error 11 error C3668: 'URLRequestClient::OnUploadProgress' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\url_request_client.h 30 1 jcef
Error 12 error C3668: 'URLRequestClient::OnDownloadProgress' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\url_request_client.h 34 1 jcef
Error 13 error C2660: 'CefURLRequest::Create' : function does not take 2 arguments D:\Users\xgibert\CS\Projets\JCEF\src\native\CefURLRequest_N.cpp 104 1 jcef
Error 14 error C2661: 'CefRequestContext::CreateContext' : no overloaded function takes 1 arguments D:\Users\xgibert\CS\Projets\JCEF\src\native\CefRequestContext_N.cpp 31 1 jcef
Error 15 error C3668: 'RequestHandler::OnCertificateError' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\request_handler.h 56 1 jcef
Error 16 error C2039: 'GetMisspellingHash' : is not a member of 'CefContextMenuParams' D:\Users\xgibert\CS\Projets\JCEF\src\native\CefContextMenuParams_N.cpp 159 1 jcef
Error 17 error C3668: 'RenderHandler::OnCursorChange' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\render_handler.h 36 1 jcef
Error 18 error C3668: 'RunFileDialogCallback::OnFileDialogDismissed' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\run_file_dialog_callback.h 19 1 jcef
Error 19 error C2259: 'RunFileDialogCallback' : cannot instantiate abstract class D:\Users\xgibert\CS\Projets\JCEF\src\native\CefBrowser_N.cpp 491 1 jcef
Error 20 error C2660: 'CefBrowserHost::RunFileDialog' : function does not take 5 arguments D:\Users\xgibert\CS\Projets\JCEF\src\native\CefBrowser_N.cpp 491 1 jcef
Error 21 error C3668: 'URLRequestClient::OnUploadProgress' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\url_request_client.h 30 1 jcef
Error 22 error C3668: 'URLRequestClient::OnDownloadProgress' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\url_request_client.h 34 1 jcef
Error 23 error C2259: 'URLRequestClient' : cannot instantiate abstract class D:\Users\xgibert\CS\Projets\JCEF\src\native\url_request_client.cpp 25 1 jcef
Error 24 error C3668: 'RunFileDialogCallback::OnFileDialogDismissed' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\run_file_dialog_callback.h 19 1 jcef
Error 25 error C3668: 'RenderHandler::OnCursorChange' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\render_handler.h 36 1 jcef
Error 26 error C2660: 'CefFileDialogCallback::Continue' : function does not take 1 arguments D:\Users\xgibert\CS\Projets\JCEF\src\native\CefFileDialogCallback_N.cpp 18 1 jcef
Error 27 error C3668: 'RenderHandler::OnCursorChange' : method with override specifier 'override' did not override any base class methods d:\users\xgibert\cs\projets\jcef\src\native\render_handler.h 36 1 jcef
xgibert
Techie
 
Posts: 16
Joined: Mon Feb 23, 2015 5:25 am

Re: JCEF enable WebGL

Postby xgibert » Mon Mar 16, 2015 9:38 am

Same errors using the win32 version
xgibert
Techie
 
Posts: 16
Joined: Mon Feb 23, 2015 5:25 am

Next

Return to Support Forum

Who is online

Users browsing this forum: No registered users and 63 guests