summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/renderer_host')
-rw-r--r--content/browser/renderer_host/render_widget_host_view_mac.h4
-rw-r--r--content/browser/renderer_host/render_widget_host_view_mac.mm18
2 files changed, 11 insertions, 11 deletions
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h
index f2c01fd..e2e5963 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.h
+++ b/content/browser/renderer_host/render_widget_host_view_mac.h
@@ -12,7 +12,7 @@
#include "base/memory/scoped_nsobject.h"
#include "base/memory/scoped_ptr.h"
-#include "base/task.h"
+#include "base/memory/weak_ptr.h"
#include "base/time.h"
#include "content/browser/accessibility/browser_accessibility_delegate_mac.h"
#include "content/browser/accessibility/browser_accessibility_manager.h"
@@ -398,7 +398,7 @@ class RenderWidgetHostViewMac : public RenderWidgetHostView {
string16 tooltip_text_;
// Factory used to safely scope delayed calls to ShutdownHost().
- ScopedRunnableMethodFactory<RenderWidgetHostViewMac> shutdown_factory_;
+ base::WeakPtrFactory<RenderWidgetHostViewMac> weak_factory_;
// selected text on the renderer.
std::string selected_text_;
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index f559281..6cf2cf6 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -6,6 +6,7 @@
#include <QuartzCore/QuartzCore.h>
+#include "base/bind.h"
#include "base/debug/trace_event.h"
#include "base/logging.h"
#include "base/mac/mac_util.h"
@@ -229,7 +230,7 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget)
is_loading_(false),
is_hidden_(false),
is_showing_context_menu_(false),
- shutdown_factory_(this),
+ weak_factory_(this),
accelerated_compositing_active_(false),
needs_gpu_visibility_update_after_repaint_(false),
compositing_surface_(gfx::kNullPluginWindow) {
@@ -724,11 +725,11 @@ void RenderWidgetHostViewMac::SetTakesFocusOnlyOnMouseDown(bool flag) {
}
void RenderWidgetHostViewMac::KillSelf() {
- if (shutdown_factory_.empty()) {
+ if (!weak_factory_.HasWeakPtrs()) {
[cocoa_view_ setHidden:YES];
MessageLoop::current()->PostTask(FROM_HERE,
- shutdown_factory_.NewRunnableMethod(
- &RenderWidgetHostViewMac::ShutdownHost));
+ base::Bind(&RenderWidgetHostViewMac::ShutdownHost,
+ weak_factory_.GetWeakPtr()));
}
}
@@ -944,10 +945,9 @@ void RenderWidgetHostViewMac::AcknowledgeSwapBuffers(
BrowserThread::PostTask(
BrowserThread::UI,
FROM_HERE,
- NewRunnableFunction(&GpuProcessHostUIShim::SendToGpuHost,
- gpu_host_id,
- new AcceleratedSurfaceMsg_BuffersSwappedACK(
- route_id)));
+ base::Bind(&GpuProcessHostUIShim::SendToGpuHost,
+ gpu_host_id,
+ new AcceleratedSurfaceMsg_BuffersSwappedACK(route_id)));
} else {
GpuProcessHost::SendOnIO(
gpu_host_id,
@@ -1069,7 +1069,7 @@ void RenderWidgetHostViewMac::UnlockMouse() {
}
void RenderWidgetHostViewMac::ShutdownHost() {
- shutdown_factory_.RevokeAll();
+ weak_factory_.InvalidateWeakPtrs();
render_widget_host_->Shutdown();
// Do not touch any members at this point, |this| has been deleted.
}