- Add download handling support via new CefDownloadHandler and CefDownloadItem interfaces (issue #516).

- Fix setting of CefKeyEvent.focus_on_editable_field when the underlying RenderViewHost changes.
- Fix potential crash if URLRequest objects are still in-progress upon shutdown.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@715 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2012-06-28 17:21:18 +00:00
parent 14bbc90ddb
commit 421001ba9d
51 changed files with 2685 additions and 171 deletions

View File

@ -181,12 +181,14 @@ CefBrowserContext::CefBrowserContext() {
}
CefBrowserContext::~CefBrowserContext() {
if (download_manager_.get())
download_manager_->Shutdown();
// Clear the download manager delegate here because otherwise we'll crash
// when it's accessed from the content::BrowserContext destructor.
if (download_manager_delegate_.get())
BrowserContext::GetDownloadManager(this)->SetDelegate(NULL);
if (resource_context_.get()) {
BrowserThread::DeleteSoon(
BrowserThread::IO, FROM_HERE, resource_context_.release());
BrowserThread::IO, FROM_HERE, resource_context_.release());
}
}
@ -200,6 +202,8 @@ bool CefBrowserContext::IsOffTheRecord() const {
content::DownloadManagerDelegate*
CefBrowserContext::GetDownloadManagerDelegate() {
DCHECK(!download_manager_delegate_.get());
download_manager_delegate_ = new CefDownloadManagerDelegate();
return download_manager_delegate_.get();
}