diff options
author | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-16 10:31:00 +0000 |
---|---|---|
committer | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-16 10:31:00 +0000 |
commit | 2676cd5647572899d3672edf04bf48c65ced5b71 (patch) | |
tree | 375cc6510b855a32634b1faf7f07b1e8cda502fa | |
parent | eed96f8f96ea288667839c336694e86c802e0dfd (diff) | |
download | chromium_src-2676cd5647572899d3672edf04bf48c65ced5b71.zip chromium_src-2676cd5647572899d3672edf04bf48c65ced5b71.tar.gz chromium_src-2676cd5647572899d3672edf04bf48c65ced5b71.tar.bz2 |
base::Bind() conversion in renderer_host.
BUG=none
TEST=trybot runs
Review URL: http://codereview.chromium.org/8568030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110283 0039d316-1c4b-4281-b951-d872f2087c98
7 files changed, 35 insertions, 35 deletions
diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.cc b/chrome/browser/renderer_host/chrome_render_message_filter.cc index 464f3c7..b0ff82f 100644 --- a/chrome/browser/renderer_host/chrome_render_message_filter.cc +++ b/chrome/browser/renderer_host/chrome_render_message_filter.cc @@ -204,8 +204,8 @@ void ChromeRenderMessageFilter::OnFPS(int routing_id, float fps) { if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, - NewRunnableMethod( - this, &ChromeRenderMessageFilter::OnFPS, + base::Bind( + &ChromeRenderMessageFilter::OnFPS, this, routing_id, fps)); return; } @@ -287,10 +287,9 @@ void ChromeRenderMessageFilter::OnGetExtensionMessageBundle( BrowserThread::PostTask( BrowserThread::FILE, FROM_HERE, - NewRunnableMethod( - this, + base::Bind( &ChromeRenderMessageFilter::OnGetExtensionMessageBundleOnFileThread, - extension_path, extension_id, default_locale, reply_msg)); + this, extension_path, extension_id, default_locale, reply_msg)); } void ChromeRenderMessageFilter::OnGetExtensionMessageBundleOnFileThread( @@ -387,7 +386,7 @@ void ChromeRenderMessageFilter::OnAllowDatabase(int render_view_id, top_origin_url); BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, - NewRunnableFunction( + base::Bind( &TabSpecificContentSettings::WebDatabaseAccessed, render_process_id_, render_view_id, origin_url, name, display_name, !*allowed)); @@ -403,7 +402,7 @@ void ChromeRenderMessageFilter::OnAllowDOMStorage(int render_view_id, // Record access to DOM storage for potential display in UI. BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, - NewRunnableFunction( + base::Bind( &TabSpecificContentSettings::DOMStorageAccessed, render_process_id_, render_view_id, origin_url, type, !*allowed)); } @@ -417,7 +416,7 @@ void ChromeRenderMessageFilter::OnAllowFileSystem(int render_view_id, // Record access to file system for potential display in UI. BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, - NewRunnableFunction( + base::Bind( &TabSpecificContentSettings::FileSystemAccessed, render_process_id_, render_view_id, origin_url, !*allowed)); } @@ -431,7 +430,7 @@ void ChromeRenderMessageFilter::OnAllowIndexedDB(int render_view_id, top_origin_url); BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, - NewRunnableFunction( + base::Bind( &TabSpecificContentSettings::IndexedDBAccessed, render_process_id_, render_view_id, origin_url, name, !*allowed)); } diff --git a/chrome/browser/renderer_host/render_widget_host_view_views.cc b/chrome/browser/renderer_host/render_widget_host_view_views.cc index 550e176..3a4a9f5 100644 --- a/chrome/browser/renderer_host/render_widget_host_view_views.cc +++ b/chrome/browser/renderer_host/render_widget_host_view_views.cc @@ -7,12 +7,12 @@ #include <algorithm> #include <string> +#include "base/bind.h" #include "base/command_line.h" #include "base/logging.h" #include "base/message_loop.h" #include "base/metrics/histogram.h" #include "base/string_number_conversions.h" -#include "base/task.h" #include "base/time.h" #include "base/utf_string_conversions.h" #include "chrome/common/chrome_notification_types.h" @@ -122,7 +122,7 @@ RenderWidgetHostViewViews::RenderWidgetHostViewViews(RenderWidgetHost* host) has_composition_text_(false), ALLOW_THIS_IN_INITIALIZER_LIST(touch_selection_controller_( views::TouchSelectionController::create(this))), - ALLOW_THIS_IN_INITIALIZER_LIST(update_touch_selection_(this)) { + ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { set_focusable(true); host_->SetView(this); @@ -200,8 +200,7 @@ void RenderWidgetHostViewViews::WasHidden() { if (host_) host_->WasHidden(); - if (!update_touch_selection_.empty()) - update_touch_selection_.RevokeAll(); + weak_factory_.InvalidateWeakPtrs(); } void RenderWidgetHostViewViews::SetSize(const gfx::Size& size) { @@ -411,10 +410,11 @@ void RenderWidgetHostViewViews::SelectionBoundsChanged( // inserting text at the beginning of a non-empty text control). But in those // cases, it does send the correct selection information quickly afterwards. // So delay the notification to the touch-selection controller. - if (update_touch_selection_.empty()) { + if (!weak_factory_.HasWeakPtrs()) { MessageLoop::current()->PostDelayedTask(FROM_HERE, - update_touch_selection_.NewRunnableMethod( - &RenderWidgetHostViewViews::UpdateTouchSelectionController), + base::Bind( + &RenderWidgetHostViewViews::UpdateTouchSelectionController, + weak_factory_.GetWeakPtr()), kTouchControllerUpdateDelay); } } diff --git a/chrome/browser/renderer_host/render_widget_host_view_views.h b/chrome/browser/renderer_host/render_widget_host_view_views.h index ac18bf2..bce8b0c 100644 --- a/chrome/browser/renderer_host/render_widget_host_view_views.h +++ b/chrome/browser/renderer_host/render_widget_host_view_views.h @@ -12,8 +12,8 @@ #include "base/compiler_specific.h" #include "base/memory/ref_counted.h" +#include "base/memory/weak_ptr.h" #include "base/string16.h" -#include "base/task.h" #include "base/time.h" #include "content/browser/renderer_host/render_widget_host_view.h" #include "content/public/browser/notification_observer.h" @@ -300,8 +300,7 @@ class RenderWidgetHostViewViews : public RenderWidgetHostView, #endif scoped_ptr<views::TouchSelectionController> touch_selection_controller_; - ScopedRunnableMethodFactory<RenderWidgetHostViewViews> - update_touch_selection_; + base::WeakPtrFactory<RenderWidgetHostViewViews> weak_factory_; #if defined(TOUCH_UI) // used to register for keyboard visiblity notificatons. diff --git a/chrome/browser/renderer_host/web_cache_manager.cc b/chrome/browser/renderer_host/web_cache_manager.cc index 0ec33fd..605a1b4 100644 --- a/chrome/browser/renderer_host/web_cache_manager.cc +++ b/chrome/browser/renderer_host/web_cache_manager.cc @@ -6,6 +6,7 @@ #include <algorithm> +#include "base/bind.h" #include "base/compiler_specific.h" #include "base/memory/singleton.h" #include "base/message_loop.h" @@ -63,7 +64,7 @@ WebCacheManager* WebCacheManager::GetInstance() { WebCacheManager::WebCacheManager() : global_size_limit_(GetDefaultGlobalSizeLimit()), - ALLOW_THIS_IN_INITIALIZER_LIST(revise_allocation_factory_(this)) { + ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_CREATED, content::NotificationService::AllBrowserContextsAndSources()); registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED, @@ -415,8 +416,9 @@ void WebCacheManager::ReviseAllocationStrategyLater() { // Ask to be called back in a few milliseconds to actually recompute our // allocation. MessageLoop::current()->PostDelayedTask(FROM_HERE, - revise_allocation_factory_.NewRunnableMethod( - &WebCacheManager::ReviseAllocationStrategy), + base::Bind( + &WebCacheManager::ReviseAllocationStrategy, + weak_factory_.GetWeakPtr()), kReviseAllocationDelayMS); } diff --git a/chrome/browser/renderer_host/web_cache_manager.h b/chrome/browser/renderer_host/web_cache_manager.h index e93a26c..cf3f45f 100644 --- a/chrome/browser/renderer_host/web_cache_manager.h +++ b/chrome/browser/renderer_host/web_cache_manager.h @@ -16,7 +16,7 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" #include "base/gtest_prod_util.h" -#include "base/task.h" +#include "base/memory/weak_ptr.h" #include "base/time.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" @@ -213,7 +213,7 @@ class WebCacheManager : public content::NotificationObserver { // recently than they have been active. std::set<int> inactive_renderers_; - ScopedRunnableMethodFactory<WebCacheManager> revise_allocation_factory_; + base::WeakPtrFactory<WebCacheManager> weak_factory_; content::NotificationRegistrar registrar_; 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. } |