diff options
Diffstat (limited to 'chrome/browser')
5 files changed, 24 insertions, 24 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_; |