summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-20 07:33:47 +0000
committervitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-20 07:35:39 +0000
commit6e3ef091c0e18f7a55b9a8520498910ffbd2bd87 (patch)
treebbea1f8d7e4c51d60389f355ba73b9a40d4706de
parent8786bc7179d754ed207ddefc1aea1bb7cc067d8d (diff)
downloadchromium_src-6e3ef091c0e18f7a55b9a8520498910ffbd2bd87.zip
chromium_src-6e3ef091c0e18f7a55b9a8520498910ffbd2bd87.tar.gz
chromium_src-6e3ef091c0e18f7a55b9a8520498910ffbd2bd87.tar.bz2
Delete PrintingUIWebContentsObserver on UI thread.
BUG=374321 TBR=noamsml Review URL: https://codereview.chromium.org/490763003 Cr-Commit-Position: refs/heads/master@{#290785} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290785 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/printing/print_job_worker.cc2
-rw-r--r--chrome/browser/printing/printing_ui_web_contents_observer.cc4
-rw-r--r--chrome/browser/printing/printing_ui_web_contents_observer.h1
3 files changed, 7 insertions, 0 deletions
diff --git a/chrome/browser/printing/print_job_worker.cc b/chrome/browser/printing/print_job_worker.cc
index dd9c84b..85d178b 100644
--- a/chrome/browser/printing/print_job_worker.cc
+++ b/chrome/browser/printing/print_job_worker.cc
@@ -105,6 +105,8 @@ void PrintJobWorker::GetSettings(
document_page_count,
has_selection)));
} else {
+ BrowserThread::DeleteSoon(
+ BrowserThread::UI, FROM_HERE, web_contents_observer.release());
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
base::Bind(&HoldRefCallback, make_scoped_refptr(owner_),
diff --git a/chrome/browser/printing/printing_ui_web_contents_observer.cc b/chrome/browser/printing/printing_ui_web_contents_observer.cc
index 311d621..541e933 100644
--- a/chrome/browser/printing/printing_ui_web_contents_observer.cc
+++ b/chrome/browser/printing/printing_ui_web_contents_observer.cc
@@ -13,6 +13,10 @@ PrintingUIWebContentsObserver::PrintingUIWebContentsObserver(
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
}
+PrintingUIWebContentsObserver::~PrintingUIWebContentsObserver() {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+}
+
gfx::NativeView PrintingUIWebContentsObserver::GetParentView() {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
return web_contents() ? web_contents()->GetNativeView() : NULL;
diff --git a/chrome/browser/printing/printing_ui_web_contents_observer.h b/chrome/browser/printing/printing_ui_web_contents_observer.h
index 66d51e7..52f285a 100644
--- a/chrome/browser/printing/printing_ui_web_contents_observer.h
+++ b/chrome/browser/printing/printing_ui_web_contents_observer.h
@@ -14,6 +14,7 @@
class PrintingUIWebContentsObserver : public content::WebContentsObserver {
public:
explicit PrintingUIWebContentsObserver(content::WebContents* web_contents);
+ virtual ~PrintingUIWebContentsObserver();
// Return the parent NativeView of the observed WebContents.
gfx::NativeView GetParentView();