Cool VL Viewer forum

View unanswered posts | View active topics It is currently 2021-12-07 18:39:39



Reply to topic  [ 7 posts ] 
CEF3 plugin support 
Author Message

Joined: 2009-03-17 18:42:51
Posts: 4776
Reply with quote
As always, the Cool VL Viewer is the first TPV to provide you with the latest features added (or soon to be added, in this case) by LL to their viewer.

Today, it's CEF3 media plugin support. What is CEF3, you might ask ? It's an embedded browser framework (Chromium Embedded Framework, but if you are curious and look at the sources, you'll notice that Chromium is actually a derivative of... WebKit !) which LL deemed good enough to replace the current QtWebKit-based plugin (which went unmaintained and is now deprecated to browse a lot of websites, especially TLS-enabled ones, and lacks HTML5 and modern features of today's browsers).

For now, the CEF3 plugin is still in a very preliminary state and in active development, meaning it lacks quite a few of the necessary features before it could replace the QtWebKit plugin currently in use in release viewers. This is why it is implemented only in the new experimental branch (v1.26.15) of the Cool VL Viewer and is disabled by default (i.e. QtWebKit is the default embedded browser). To enable it, simply change the UseCEF debug setting to "TRUE" (this can be done without restarting the viewer: any new web-based UI element opened after the UseCEF variable toggling will automatically use the corresponding plugin: CEF when TRUE, QtWebKit when FALSE).

In excess of LL's implementation of the CEF3 plugin, mine also implements the following features:
  • Exists for Linux and for VS2010 Windows builds (LL's only exists for Darwin and VS2013 Windows builds).
  • Proper (per-user) setting of the cache and cookies paths.
  • Proper setting of the user agent string. EDIT: this now also works in LL's latest implementation.
  • Configurable minimum font size. Use the new "CEFMinimumWebFontSize" debug setting for this purpose (under Linux, if, like me, you use a bitmap font as your system font, you might find out that CEF3 is quite mediocre at picking up the right DPI set for your font, and ends up rendering very poorly the font in question. Simply use 12 for this setting in that case).
  • Configurable default font. Use the new "CEFPreferredFont" debug setting for this purpose (here again, under Linux, you might get better results with "DejaVu Sans Condensed").
  • Configurable "remote font" usage permission. Use the new "CEFRemoteFonts" debug setting for this purpose (when FALSE, tells CEF to ignore the websites' custom fonts).

Be aware that being a work in progress, the CEF3 plugin still got, in excess of a very poor font rendering and much slower web page rendering when compared to QtWebKit (both of which are probably not actionable by LL), the following limitations:
  • Mouse and keyboard support are still incomplete (and in particular, copy/paste operations do not currently work EDIT: this now works for the embedded browser via CTRL C/X/V).
  • The (SL-specific) "_external" target for links is ignored, meaning that links which are purposely flagged as needing to be opened into the system browser, won't open in the latter but instead load into the embedded browser. EDIT: this now works as expected, even if in a hacky way that doesn't spawn the proper media events.
  • SLURLs are not properly dealt with (when clicked, they will cause the browser to display a blank page, instead of triggering the corresponding viewer action). EDIT: this now works.
  • On prims with shared media, the CEF3 web pages are displayed upside down (!). EDIT: this is now fixed.
  • In HTML forms, combo elements fail to get stay pulled down when clicked. EDIT: they now get pulled down, but you must keep the left mouse button clicked to avoid having them vanish before you can select an entry.
  • The CEF3 plugin doesn't work under Windows XP, because the recent pre-built CEF3 libraries (CEF3 itself, not llceflib) are not compiled with the Windows XP compatibility mode.

Note also that, for Linux users running "old" distributions (4+ years old), you may need to add some libraries to the viewer installation (you need libX11 v1.5 or newer, libXi v1.6.1 or newer, libnss3 v3.14.3 or newer). If needed, you will find them here with the instructions about how to use them.


Stuff for developers:

Here are resources that TPV developers might be interested about:
  • Linux re-compiled CEF v3.2454 pre-built distributions (as provided by the official site, but without tcmalloc, since the latter causes crashes when libcef.so is loaded by SLPlugin: see this message in the opensource-dev list).
  • You will find here the pre-built llceflib packages for both Linux (32 bits) and VS2010 Windows (32 bits) builds.
  • You will find here a patch (among others) showing you what needed to be changed to implement Linux and VS2010 support to llceflib.
  • You will find here the required changes to the viewer code for implementing the CEF plugin.


2015-07-25 12:09:08
Profile WWW

Joined: 2015-09-10 20:26:31
Posts: 3
Reply with quote
Hi

Sorry for contacting you in secondlife was not aware that you were only rp`ing there
I have tried to use your experimental client at a private server (whitecore sim)
and we were unable to reach google.com with it
I am wondering if there is some time you would be able to demonstrate it functioning
or provide some kind of feedback on what we are doing wrong ?

we could meet at our sim or at irc or continue on the forum which ever suits you best

scatterp


2015-09-10 20:31:58
Profile

Joined: 2009-03-17 18:42:51
Posts: 4776
Reply with quote
scatterp wrote:
Sorry for contacting you in secondlife was not aware that you were only rp`ing there
It is clearly stated in the Cool VL Viewer usage policy (which is presented to you on first use of the viewer and also presented in the About floater), as well as in the Cool VL Viewer tab of my avatar's Picks. Support is exclusively provided via this forum.

Beside, going down to track me (obviously, via a hacked viewer, which is a violation of the SL TOS and TPV policy) and interrupt a RP in a RP sim is extremely aggressive and in plain violation of every single rule (SL's and the rule of RP sim in question).

Do that again, and you'll get ARed to LL and banned from the said sim. :evil:

Quote:
I have tried to use your experimental client at a private server (whitecore sim) and we were unable to reach google.com with it.
The sim is irrelevant (the connection is done from your computer, via the plugin, itself launched from the viewer).

Quote:
I am wondering if there is some time you would be able to demonstrate it functioning or provide some kind of feedback on what we are doing wrong ?
The plugin works just fine (tested under both Linux and Windows). Check that your firewall is not blocking the viewer, SLPlugin(.exe) or media_plugin_cef.

Quote:
we could meet at our sim or at irc or continue on the forum which ever suits you best
If, after verifying the issue is not a problem with your system, you think you encountered a bug, file a proper bug report, in the bug reports section, following the rules to the letter.


2015-09-11 12:58:42
Profile WWW

Joined: 2015-09-10 20:26:31
Posts: 3
Reply with quote
Managed to get pages to display by disableing the firewall thanks for the tip
the viewer seems to be using the original plugins still
and i read under the experimental viewer in the downloads section that the browser
can be switched to CEF3 or to the original apple stuff
how ever i can not seem to find the switch ?


2015-09-13 15:12:56
Profile

Joined: 2009-03-17 18:42:51
Posts: 4776
Reply with quote
scatterp wrote:
Managed to get pages to display by disableing the firewall thanks for the tip the viewer seems to be using the original plugins still and i read under the experimental viewer in the downloads section that the browser can be switched to CEF3 or to the original apple stuff how ever i can not seem to find the switch ?
Again, the reply to your question is already written down... Look at the first post in this topic, and read it !


2015-09-13 16:22:40
Profile WWW

Joined: 2009-03-17 18:42:51
Posts: 4776
Reply with quote
In today's releases, CEF was updated to v3.2454. This new version requires, when ran under Linux, that the system got a recent glib version (v2.32 or newer). If you got an older version, you can grab this tarball and add the files it contains into the lib/ sub-directory of the viewer installation directory.


2015-09-26 12:32:56
Profile WWW

Joined: 2009-03-17 18:42:51
Posts: 4776
Reply with quote
The CEF3 plugin support is now a native feature of the new stable release (v1.26.16) of the Cool VL Viewer. There are still a few glitches: plugin shutdown still not quite as clean as it should be, possibly causing cookies loss; form elements (such as combo boxes) with overlays/pull down menus not fully working (you must keep the left mouse button pressed to get to the overlay/pull down entries). Also the CEF3 plugin is still very much slower than the QtWebkit one (especially on pages with a lot of Javascript), which will alas likely not change since it's not something actionable by anyone but the CEF3 developers themselves... Yet, all in all, it's quite usable, and you still got QtWebkit available (and active by default) in the Cool VL Viewer.


2015-11-21 14:07:56
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 7 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.