frame->LoadRequest does not create new renderer process

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.

frame->LoadRequest does not create new renderer process

Postby bioncube » Thu Dec 27, 2012 7:22 pm

Code: Select all
browser->GetMainFrame()->LoadRequest(next_request);
loads the request just fine, but it does not close the current renderer process.
Code: Select all
browser->GetMainFrame()->LoadURL(url);
on the other hand starts a new renderer process and the old one is gracefully closed in the background.

In both cases, the current displayed page and the next page are from different domains, so the renderer process should not be shared from page to page - at least that's what my understanding of the Chromium process model is at the moment.

I have to use LoadRequest instead of LoadURL.
This creates the problem of memory bloat - the memory used by a previous page is not completely freed in the renderer process and thus accumulates over time.

Is this the intended behavior? How do I work around this?
bioncube
Techie
 
Posts: 43
Joined: Wed Oct 03, 2012 7:03 am

Re: frame->LoadRequest does not create new renderer process

Postby bioncube » Thu Dec 27, 2012 8:06 pm

Forgot to dump version data, sorry.

CEF 3 - 1271 - 23.0.1271.95, multithreaded, multi-process.
bioncube
Techie
 
Posts: 43
Joined: Wed Oct 03, 2012 7:03 am

Re: frame->LoadRequest does not create new renderer process

Postby bioncube » Fri Dec 28, 2012 7:59 pm

Investigating the code reveals that it indeed is a design principle.
The code for these two functions can be easily modified to achieve desired behavior, for anyone stumbling on the same issue.
bioncube
Techie
 
Posts: 43
Joined: Wed Oct 03, 2012 7:03 am


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 192 guests