| Index: chrome/browser/dom_ui/bug_report_ui.cc
|
| ===================================================================
|
| --- chrome/browser/dom_ui/bug_report_ui.cc (revision 74293)
|
| +++ chrome/browser/dom_ui/bug_report_ui.cc (working copy)
|
| @@ -21,7 +21,6 @@
|
| #include "chrome/browser/bug_report_data.h"
|
| #include "chrome/browser/bug_report_util.h"
|
| #include "chrome/browser/dom_ui/web_ui_screenshot_source.h"
|
| -#include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/tab_contents/tab_contents.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/browser/ui/browser_list.h"
|
| @@ -433,9 +432,9 @@
|
| //
|
| ////////////////////////////////////////////////////////////////////////////////
|
| BugReportHandler::BugReportHandler(TabContents* tab)
|
| - : tab_(tab),
|
| - screenshot_source_(NULL),
|
| - bug_report_(NULL)
|
| + : tab_(tab)
|
| + , screenshot_source_(NULL)
|
| + , bug_report_(NULL)
|
| #if defined(OS_CHROMEOS)
|
| , syslogs_handle_(0)
|
| #endif
|
| @@ -455,8 +454,12 @@
|
| // Re-create our screenshots data source (this clobbers the last source)
|
| // setting the screenshot to NULL, effectively disabling the source
|
| // TODO(rkc): Once there is a method to 'remove' a source, change this code
|
| - tab_->profile()->GetChromeURLDataManager()->AddDataSource(
|
| - new WebUIScreenshotSource(NULL));
|
| + BrowserThread::PostTask(
|
| + BrowserThread::IO, FROM_HERE,
|
| + NewRunnableMethod(
|
| + ChromeURLDataManager::GetInstance(),
|
| + &ChromeURLDataManager::AddDataSource,
|
| + make_scoped_refptr(new WebUIScreenshotSource(NULL))));
|
|
|
| // clobber last screenshot
|
| if (browser::last_screenshot_png)
|
| @@ -470,7 +473,12 @@
|
| browser::last_screenshot_png);
|
|
|
| // Add the source to the data manager.
|
| - tab_->profile()->GetChromeURLDataManager()->AddDataSource(screenshot_source_);
|
| + BrowserThread::PostTask(
|
| + BrowserThread::IO, FROM_HERE,
|
| + NewRunnableMethod(
|
| + ChromeURLDataManager::GetInstance(),
|
| + &ChromeURLDataManager::AddDataSource,
|
| + make_scoped_refptr(screenshot_source_)));
|
| }
|
|
|
| WebUIMessageHandler* BugReportHandler::Attach(DOMUI* dom_ui) {
|
| @@ -741,5 +749,10 @@
|
| BugReportUIHTMLSource* html_source =
|
| new BugReportUIHTMLSource(handler->Init());
|
| // Set up the chrome://bugreport/ source.
|
| - tab->profile()->GetChromeURLDataManager()->AddDataSource(html_source);
|
| + BrowserThread::PostTask(
|
| + BrowserThread::IO, FROM_HERE,
|
| + NewRunnableMethod(
|
| + ChromeURLDataManager::GetInstance(),
|
| + &ChromeURLDataManager::AddDataSource,
|
| + make_scoped_refptr(html_source)));
|
| }
|
|
|