What is the purpose of the cef.pak file in cefsharp?

oatsoda picture oatsoda · Dec 10, 2014 · Viewed 9.1k times · Source

In the FAQs of CefSharp, it states that you should disable Package Loading:

var settings = new CefSharp.CefSettings 
{
    PackLoadingDisabled = true
};

which is normally OK for a production-mode application

I have an issue where on a particular website a red border is appearing around a drop-down box. If I set PackLoadingDisabled = false and ensure that the cef.pak file is in the folder (This cef.pak is distributed with the CefSharp nuget package. I am not including any other .pak file except locates/en-US.pak) then this fixes the issue.

My question is, What purpose does this cef.pak file serve?

I've looked at the CEF3 Readme and it shows that it is optional, but it isn't very clear on what purpose this Pack serves. Before I go and include it in my software distribution I need to know exactly what it is for.

Am I safe to enabled Pack Loading in my release version?

Answer

penderi picture penderi · Jan 6, 2015

pak files are used for the developer tools that can be turned on.

We choose NOT to ship the pak. The only that arises is that a 'locales' folder is created no matter what pack loading disabled value we use. The localesdirpath similarly has no effect.

Both the locales folder and the red scroll bars - are inherited by cefSharp from cef, so are upstream bugs. The good news is you can fix the red scroll bars with some javascript and means you can still use the current chromium code.

Look for ::-webkit-scrollbar / ::-webkit-scrollbar-thumb / ::-webkit-scrollbar-thumb:vertical:hover / ::-webkit-scrollbar-thumb:vertical:active etc...