by heshiming » Fri Jan 29, 2010 8:38 pm
When I tried to identify the cause of this problem, I also compared CEF to test_shell.
I think test_shell has some level of memory leak too. One time, I left it on continuing navigation for overnight, and the next day I'm seeing like 100MB process memory. It's not that bad, but it's still leaking.
As I previously said by disabling the V8 function extension registration completely, I was able to get CEF stay at roughly test_shell's size. In testing, I used a simple scheme handler. I suggest you do the same. If you are seeing obvious memory leaks without v8 extension registration, it's probably your own code.
I think at least now, you probably shouldn't use v8 extension. Back then I traced all CEF v8 objects (including CefV8Value), and found all of them properly destructed. So the leak is inside WebKit or its WebCore. Or, extra cleanup is required for WebKit before registering an extension upon page load, not sure what it was though.