| Index: content/browser/download/mhtml_generation_manager.cc
|
| ===================================================================
|
| --- content/browser/download/mhtml_generation_manager.cc (revision 124331)
|
| +++ content/browser/download/mhtml_generation_manager.cc (working copy)
|
| @@ -8,6 +8,7 @@
|
| #include "base/platform_file.h"
|
| #include "content/browser/renderer_host/render_process_host_impl.h"
|
| #include "content/browser/renderer_host/render_view_host.h"
|
| +#include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/notification_service.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "content/common/view_messages.h"
|
| @@ -26,13 +27,18 @@
|
| MHTMLGenerationManager::Job::~Job() {
|
| }
|
|
|
| +MHTMLGenerationManager* MHTMLGenerationManager::GetInstance() {
|
| + return Singleton<MHTMLGenerationManager>::get();
|
| +}
|
| +
|
| MHTMLGenerationManager::MHTMLGenerationManager() {
|
| }
|
|
|
| MHTMLGenerationManager::~MHTMLGenerationManager() {
|
| }
|
|
|
| -void MHTMLGenerationManager::GenerateMHTML(WebContents* web_contents,
|
| +void MHTMLGenerationManager::GenerateMHTML(
|
| + WebContents* web_contents,
|
| const FilePath& file,
|
| const GenerateMHTMLCallback& callback) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| @@ -49,7 +55,7 @@
|
| base::ProcessHandle renderer_process =
|
| web_contents->GetRenderProcessHost()->GetHandle();
|
| BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
|
| - base::Bind(&MHTMLGenerationManager::CreateFile, this,
|
| + base::Bind(&MHTMLGenerationManager::CreateFile, base::Unretained(this),
|
| job_id, file, renderer_process));
|
| }
|
|
|
| @@ -57,7 +63,8 @@
|
| JobFinished(job_id, mhtml_data_size);
|
| }
|
|
|
| -void MHTMLGenerationManager::CreateFile(int job_id, const FilePath& file_path,
|
| +void MHTMLGenerationManager::CreateFile(
|
| + int job_id, const FilePath& file_path,
|
| base::ProcessHandle renderer_process) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
|
| base::PlatformFile browser_file = base::CreatePlatformFile(file_path,
|
| @@ -72,7 +79,7 @@
|
| IPC::GetFileHandleForProcess(browser_file, renderer_process, false);
|
|
|
| BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
|
| - base::Bind(&MHTMLGenerationManager::FileCreated, this,
|
| + base::Bind(&MHTMLGenerationManager::FileCreated, base::Unretained(this),
|
| job_id, browser_file, renderer_file));
|
| }
|
|
|
| @@ -118,7 +125,8 @@
|
| job.callback.Run(job.file_path, file_size);
|
|
|
| BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
|
| - base::Bind(&MHTMLGenerationManager::CloseFile, this, job.browser_file));
|
| + base::Bind(&MHTMLGenerationManager::CloseFile, base::Unretained(this),
|
| + job.browser_file));
|
|
|
| id_to_job_.erase(job_id);
|
| }
|
|
|