Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: chrome/browser/extensions/extension_function.cc

Issue 8530003: Delete the temporary file when generating MHTML with the extension API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Clean-up Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_function.cc
diff --git a/chrome/browser/extensions/extension_function.cc b/chrome/browser/extensions/extension_function.cc
index 72728aa2e2c7cfc304cf25a1ac29bcfdbd8e9cab..f708741888dd9b503075f23406e90633ba1edb60 100644
--- a/chrome/browser/extensions/extension_function.cc
+++ b/chrome/browser/extensions/extension_function.cc
@@ -43,6 +43,25 @@ void UIThreadExtensionFunction::RenderViewHostTracker::Observe(
function_->SetRenderViewHost(NULL);
}
+UIThreadExtensionFunction::ExtensionRenderViewHostObserver::
+ ExtensionRenderViewHostObserver(UIThreadExtensionFunction* function,
+ RenderViewHost* render_view_host)
+ : RenderViewHostObserver(render_view_host),
+ function_(function) {
+}
+
+void UIThreadExtensionFunction::ExtensionRenderViewHostObserver::
+ RenderViewHostDestroyed(RenderViewHost* render_view_host) {
+ // Default behavior is to delete this.
asargent_no_longer_on_chrome 2011/11/15 18:56:31 This comment is kind of confusing - do you mean th
Jay Civelli 2011/11/18 23:14:32 Yes. Clarified comment.
+ // In our case, we'll be deleted when the UIThreadExtensionFunction containing
+ // us goes away.
+}
+
+bool UIThreadExtensionFunction::ExtensionRenderViewHostObserver::
+ OnMessageReceived(const IPC::Message& message) {
+ return function_->OnMessageReceivedFromRenderView(message);
+}
+
ExtensionFunction::ExtensionFunction()
: request_id_(-1),
profile_id_(NULL),
@@ -139,6 +158,11 @@ UIThreadExtensionFunction::AsUIThreadExtensionFunction() {
return this;
}
+bool UIThreadExtensionFunction::OnMessageReceivedFromRenderView(
+ const IPC::Message& message) {
+ return false;
+}
+
void UIThreadExtensionFunction::Destruct() const {
BrowserThread::DeleteOnUIThread::Destruct(this);
}
@@ -146,6 +170,8 @@ void UIThreadExtensionFunction::Destruct() const {
void UIThreadExtensionFunction::SetRenderViewHost(
RenderViewHost* render_view_host) {
render_view_host_ = render_view_host;
+ render_view_host_observer_.reset(render_view_host_ ?
+ new ExtensionRenderViewHostObserver(this, render_view_host) : NULL);
tracker_.reset(render_view_host ? new RenderViewHostTracker(this) : NULL);
}

Powered by Google App Engine
This is Rietveld 408576698