summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/renderer_host/chrome_render_message_filter.cc17
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_views.cc14
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_views.h5
-rw-r--r--chrome/browser/renderer_host/web_cache_manager.cc8
-rw-r--r--chrome/browser/renderer_host/web_cache_manager.h4
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_;