Learning the CEF internals

Do not post support requests, bug reports or feature requests. Discuss CEF here. Non-CEF related discussion goes in General Discussion!

Learning the CEF internals

Postby RandomFloatInt » Fri Jun 14, 2019 9:00 pm

Hello!

I don't quite know how to structure this post so bear with me... This has been puzzling me for several years now and I don't know how to tackle this issue, but I am hoping to get some answers / start a discussion that hopefully others might benefit of as well.
I have been developing C++ program using CEF for the last years now and it has been my main source of income these last years of my life.

Relevant or not, I have a master degree in computer science and I consider myself, well, an above average programmer, not the best, not the worst, but I get stuff done one way or another..
I know pretty well how to use CEF, but it has always perplexed me that CEF is a framework that I use on an almost daily basis yet I know very little or nothing about the CEF internals (basically what/how CEF operates behind the scenes..).

During all these years I have made "attempts" to try to dig a bit deeper into the CEF internals because, for instance, I would like to give back something to the community, by say, making some of my "dirty hacks" into a PR.
But everytime I try to deep dive into the CEF internals I am baffled by the complexity because it seems to me that in order to truely understand CEF one must in some sense understand a large chunk of Chromium which for me seems to be a momentous task and I sort of give up...

I would be very happy if people here could share their "strategies" / discuss how one should approach learning the CEF internals? Where should one begin? What was your strategy, how did you tackle / approach the big codebase? Does learning the CEF internals imply having a very deep understanding of the Chromium codebase? What is the "expected" hours one must invest before one even has a clue of what is going on (yes, I am very aware that this is hard to generalize..).

Please share your experiences, I would love to get some input from others..
RandomFloatInt
Newbie
 
Posts: 1
Joined: Fri Jun 14, 2019 8:06 pm

Re: Learning the CEF internals

Postby salvadordf » Sat Jun 15, 2019 7:50 am

I'm sure you already know these documents but other people reading this thread might find them useful.

Chromium design documents :
https://www.chromium.org/developers/design-documents

The Chromium Content API used by CEF :
https://www.chromium.org/developers/content-module
https://www.chromium.org/developers/con ... ontent-api
Maintainer of the CEF4Delphi, WebView4Delphi, WebUI4Delphi and WebUI4CSharp projects.
User avatar
salvadordf
Expert
 
Posts: 129
Joined: Sun Dec 18, 2016 8:39 am
Location: Spain

Re: Learning the CEF internals

Postby magreenblatt » Sat Jun 15, 2019 8:24 am

There’s a brief overview of the CEF architecture at https://bitbucket.org/chromiumembedded/ ... eader-cef3. Beyond that I would suggest starting with an area of Chromium that interests you (network, rendering, GPU, etc) and reading the associated design documents. The Chromium code base is large but most modules are pretty well documented and the code is easy to search/browse at https://cs.chromium.org.
magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm

Re: Learning the CEF internals

Postby magreenblatt » Sat Jun 15, 2019 8:29 am

The main Chromium developer page at https://www.chromium.org/developers also has a number of tutorials/videos for people who are new to Chromium development. They explain basic concepts like code structure, tools usage, etc.
magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm


Return to CEF Discussion

Who is online

Users browsing this forum: No registered users and 15 guests