Commit 80c3df83 authored by csilv@chromium.org's avatar csilv@chromium.org

base::Bind migrations in chrome/renderer

BUG=none
Review URL: http://codereview.chromium.org/8523037

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110570 0039d316-1c4b-4281-b951-d872f2087c98
parent 81d4ea28
...@@ -4,9 +4,11 @@ ...@@ -4,9 +4,11 @@
#include "chrome/renderer/chrome_render_process_observer.h" #include "chrome/renderer/chrome_render_process_observer.h"
#include "base/bind.h"
#include "base/command_line.h" #include "base/command_line.h"
#include "base/file_util.h" #include "base/file_util.h"
#include "base/message_loop.h" #include "base/message_loop.h"
#include "base/memory/weak_ptr.h"
#include "base/metrics/field_trial.h" #include "base/metrics/field_trial.h"
#include "base/metrics/histogram.h" #include "base/metrics/histogram.h"
#include "base/native_library.h" #include "base/native_library.h"
...@@ -59,7 +61,7 @@ static const unsigned int kCacheStatsDelayMS = 2000 /* milliseconds */; ...@@ -59,7 +61,7 @@ static const unsigned int kCacheStatsDelayMS = 2000 /* milliseconds */;
class RendererResourceDelegate : public content::ResourceDispatcherDelegate { class RendererResourceDelegate : public content::ResourceDispatcherDelegate {
public: public:
RendererResourceDelegate() RendererResourceDelegate()
: ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) { : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
} }
virtual webkit_glue::ResourceLoaderBridge::Peer* OnRequestComplete( virtual webkit_glue::ResourceLoaderBridge::Peer* OnRequestComplete(
...@@ -68,11 +70,11 @@ class RendererResourceDelegate : public content::ResourceDispatcherDelegate { ...@@ -68,11 +70,11 @@ class RendererResourceDelegate : public content::ResourceDispatcherDelegate {
const net::URLRequestStatus& status) { const net::URLRequestStatus& status) {
// Update the browser about our cache. // Update the browser about our cache.
// Rate limit informing the host of our cache stats. // Rate limit informing the host of our cache stats.
if (method_factory_.empty()) { if (!weak_factory_.HasWeakPtrs()) {
MessageLoop::current()->PostDelayedTask( MessageLoop::current()->PostDelayedTask(
FROM_HERE, FROM_HERE,
method_factory_.NewRunnableMethod( base::Bind(&RendererResourceDelegate::InformHostOfCacheStats,
&RendererResourceDelegate::InformHostOfCacheStats), weak_factory_.GetWeakPtr()),
kCacheStatsDelayMS); kCacheStatsDelayMS);
} }
...@@ -101,7 +103,7 @@ class RendererResourceDelegate : public content::ResourceDispatcherDelegate { ...@@ -101,7 +103,7 @@ class RendererResourceDelegate : public content::ResourceDispatcherDelegate {
RenderThread::Get()->Send(new ChromeViewHostMsg_UpdatedCacheStats(stats)); RenderThread::Get()->Send(new ChromeViewHostMsg_UpdatedCacheStats(stats));
} }
ScopedRunnableMethodFactory<RendererResourceDelegate> method_factory_; base::WeakPtrFactory<RendererResourceDelegate> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(RendererResourceDelegate); DISALLOW_COPY_AND_ASSIGN(RendererResourceDelegate);
}; };
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
#include "chrome/renderer/chrome_render_view_observer.h" #include "chrome/renderer/chrome_render_view_observer.h"
#include "base/bind.h"
#include "base/callback_old.h"
#include "base/command_line.h" #include "base/command_line.h"
#include "base/debug/trace_event.h" #include "base/debug/trace_event.h"
#include "base/message_loop.h" #include "base/message_loop.h"
...@@ -226,7 +228,7 @@ ChromeRenderViewObserver::ChromeRenderViewObserver( ...@@ -226,7 +228,7 @@ ChromeRenderViewObserver::ChromeRenderViewObserver(
last_indexed_page_id_(-1), last_indexed_page_id_(-1),
allow_displaying_insecure_content_(false), allow_displaying_insecure_content_(false),
allow_running_insecure_content_(false), allow_running_insecure_content_(false),
ALLOW_THIS_IN_INITIALIZER_LIST(page_info_method_factory_(this)) { ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
const CommandLine& command_line = *CommandLine::ForCurrentProcess(); const CommandLine& command_line = *CommandLine::ForCurrentProcess();
if (command_line.HasSwitch(switches::kDomAutomationController)) { if (command_line.HasSwitch(switches::kDomAutomationController)) {
int old_bindings = render_view->GetEnabledBindings(); int old_bindings = render_view->GetEnabledBindings();
...@@ -629,10 +631,8 @@ void ChromeRenderViewObserver::DidStartLoading() { ...@@ -629,10 +631,8 @@ void ChromeRenderViewObserver::DidStartLoading() {
void ChromeRenderViewObserver::DidStopLoading() { void ChromeRenderViewObserver::DidStopLoading() {
MessageLoop::current()->PostDelayedTask( MessageLoop::current()->PostDelayedTask(
FROM_HERE, FROM_HERE,
page_info_method_factory_.NewRunnableMethod( base::Bind(&ChromeRenderViewObserver::CapturePageInfo,
&ChromeRenderViewObserver::CapturePageInfo, weak_factory_.GetWeakPtr(), render_view()->GetPageId(), false),
render_view()->GetPageId(),
false),
render_view()->GetContentStateImmediately() ? 0 : kDelayForCaptureMs); render_view()->GetContentStateImmediately() ? 0 : kDelayForCaptureMs);
WebFrame* main_frame = render_view()->GetWebView()->mainFrame(); WebFrame* main_frame = render_view()->GetWebView()->mainFrame();
...@@ -687,10 +687,8 @@ void ChromeRenderViewObserver::DidCommitProvisionalLoad( ...@@ -687,10 +687,8 @@ void ChromeRenderViewObserver::DidCommitProvisionalLoad(
MessageLoop::current()->PostDelayedTask( MessageLoop::current()->PostDelayedTask(
FROM_HERE, FROM_HERE,
page_info_method_factory_.NewRunnableMethod( base::Bind(&ChromeRenderViewObserver::CapturePageInfo,
&ChromeRenderViewObserver::CapturePageInfo, weak_factory_.GetWeakPtr(), render_view()->GetPageId(), true),
render_view()->GetPageId(),
true),
kDelayForForcedCaptureMs); kDelayForForcedCaptureMs);
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#include "base/memory/linked_ptr.h" #include "base/memory/linked_ptr.h"
#include "base/memory/scoped_ptr.h" #include "base/memory/scoped_ptr.h"
#include "base/task.h" #include "base/memory/weak_ptr.h"
#include "content/public/renderer/render_view_observer.h" #include "content/public/renderer/render_view_observer.h"
#include "googleurl/src/gurl.h" #include "googleurl/src/gurl.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebPermissionClient.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebPermissionClient.h"
...@@ -212,8 +212,7 @@ class ChromeRenderViewObserver : public content::RenderViewObserver, ...@@ -212,8 +212,7 @@ class ChromeRenderViewObserver : public content::RenderViewObserver,
// External host exposed through automation controller. // External host exposed through automation controller.
scoped_ptr<ExternalHostBindings> external_host_bindings_; scoped_ptr<ExternalHostBindings> external_host_bindings_;
ScopedRunnableMethodFactory<ChromeRenderViewObserver> base::WeakPtrFactory<ChromeRenderViewObserver> weak_factory_;
page_info_method_factory_;
typedef std::vector<linked_ptr<webkit_glue::ImageResourceFetcher> > typedef std::vector<linked_ptr<webkit_glue::ImageResourceFetcher> >
ImageResourceFetcherList; ImageResourceFetcherList;
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include "chrome/renderer/extensions/user_script_idle_scheduler.h" #include "chrome/renderer/extensions/user_script_idle_scheduler.h"
#include "base/bind.h"
#include "base/message_loop.h" #include "base/message_loop.h"
#include "chrome/common/extensions/extension_error_utils.h" #include "chrome/common/extensions/extension_error_utils.h"
#include "chrome/common/extensions/extension_messages.h" #include "chrome/common/extensions/extension_messages.h"
...@@ -30,7 +31,7 @@ using WebKit::WebView; ...@@ -30,7 +31,7 @@ using WebKit::WebView;
UserScriptIdleScheduler::UserScriptIdleScheduler( UserScriptIdleScheduler::UserScriptIdleScheduler(
WebFrame* frame, ExtensionDispatcher* extension_dispatcher) WebFrame* frame, ExtensionDispatcher* extension_dispatcher)
: ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)), : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
frame_(frame), frame_(frame),
has_run_(false), has_run_(false),
extension_dispatcher_(extension_dispatcher) { extension_dispatcher_(extension_dispatcher) {
...@@ -52,22 +53,24 @@ void UserScriptIdleScheduler::ExecuteCode( ...@@ -52,22 +53,24 @@ void UserScriptIdleScheduler::ExecuteCode(
} }
void UserScriptIdleScheduler::DidFinishDocumentLoad() { void UserScriptIdleScheduler::DidFinishDocumentLoad() {
MessageLoop::current()->PostDelayedTask(FROM_HERE, MessageLoop::current()->PostDelayedTask(
method_factory_.NewRunnableMethod(&UserScriptIdleScheduler::MaybeRun), FROM_HERE, base::Bind(&UserScriptIdleScheduler::MaybeRun,
weak_factory_.GetWeakPtr()),
kUserScriptIdleTimeoutMs); kUserScriptIdleTimeoutMs);
} }
void UserScriptIdleScheduler::DidFinishLoad() { void UserScriptIdleScheduler::DidFinishLoad() {
// Ensure that running scripts does not keep any progress UI running. // Ensure that running scripts does not keep any progress UI running.
MessageLoop::current()->PostTask(FROM_HERE, MessageLoop::current()->PostTask(
method_factory_.NewRunnableMethod(&UserScriptIdleScheduler::MaybeRun)); FROM_HERE, base::Bind(&UserScriptIdleScheduler::MaybeRun,
weak_factory_.GetWeakPtr()));
} }
void UserScriptIdleScheduler::DidStartProvisionalLoad() { void UserScriptIdleScheduler::DidStartProvisionalLoad() {
// The frame is navigating, so reset the state since we'll want to inject // The frame is navigating, so reset the state since we'll want to inject
// scripts once the load finishes. // scripts once the load finishes.
has_run_ = false; has_run_ = false;
method_factory_.RevokeAll(); weak_factory_.InvalidateWeakPtrs();
while (!pending_code_execution_queue_.empty()) while (!pending_code_execution_queue_.empty())
pending_code_execution_queue_.pop(); pending_code_execution_queue_.pop();
} }
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include <vector> #include <vector>
#include "base/memory/linked_ptr.h" #include "base/memory/linked_ptr.h"
#include "base/task.h" #include "base/memory/weak_ptr.h"
class ExtensionDispatcher; class ExtensionDispatcher;
class RenderView; class RenderView;
...@@ -60,7 +60,7 @@ class UserScriptIdleScheduler { ...@@ -60,7 +60,7 @@ class UserScriptIdleScheduler {
bool GetAllChildFrames(WebKit::WebFrame* parent_frame, bool GetAllChildFrames(WebKit::WebFrame* parent_frame,
std::vector<WebKit::WebFrame*>* frames_vector) const; std::vector<WebKit::WebFrame*>* frames_vector) const;
ScopedRunnableMethodFactory<UserScriptIdleScheduler> method_factory_; base::WeakPtrFactory<UserScriptIdleScheduler> weak_factory_;
// The Frame we will run scripts in. // The Frame we will run scripts in.
WebKit::WebFrame* frame_; WebKit::WebFrame* frame_;
......
// Copyright (c) 2006-2010 The Chromium Authors. All rights reserved. // Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <ctype.h> #include <ctype.h>
#include "base/bind.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/message_loop.h" #include "base/message_loop.h"
#include "chrome/common/net/predictor_common.h" #include "chrome/common/net/predictor_common.h"
...@@ -23,7 +24,7 @@ static const size_t kMAX_SUBMISSION_PER_TASK = 30; ...@@ -23,7 +24,7 @@ static const size_t kMAX_SUBMISSION_PER_TASK = 30;
RendererNetPredictor::RendererNetPredictor() RendererNetPredictor::RendererNetPredictor()
: c_string_queue_(1000), : c_string_queue_(1000),
ALLOW_THIS_IN_INITIALIZER_LIST(renderer_predictor_factory_(this)) { ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
Reset(); Reset();
} }
...@@ -52,10 +53,11 @@ void RendererNetPredictor::Resolve(const char* name, size_t length) { ...@@ -52,10 +53,11 @@ void RendererNetPredictor::Resolve(const char* name, size_t length) {
DCHECK_EQ(old_size, 0u); DCHECK_EQ(old_size, 0u);
if (0 != old_size) if (0 != old_size)
return; // Overkill safety net: Don't send too many InvokeLater's. return; // Overkill safety net: Don't send too many InvokeLater's.
renderer_predictor_factory_.RevokeAll(); weak_factory_.InvalidateWeakPtrs();
RenderThread::Get()->GetMessageLoop()->PostDelayedTask(FROM_HERE, RenderThread::Get()->GetMessageLoop()->PostDelayedTask(
renderer_predictor_factory_.NewRunnableMethod( FROM_HERE, base::Bind(&RendererNetPredictor::SubmitHostnames,
&RendererNetPredictor::SubmitHostnames), 10); weak_factory_.GetWeakPtr()),
10);
} }
return; return;
} }
...@@ -86,10 +88,11 @@ void RendererNetPredictor::SubmitHostnames() { ...@@ -86,10 +88,11 @@ void RendererNetPredictor::SubmitHostnames() {
// This will help to avoid overloads when a page has a TON of links. // This will help to avoid overloads when a page has a TON of links.
DnsPrefetchNames(kMAX_SUBMISSION_PER_TASK); DnsPrefetchNames(kMAX_SUBMISSION_PER_TASK);
if (new_name_count_ > 0 || 0 < c_string_queue_.Size()) { if (new_name_count_ > 0 || 0 < c_string_queue_.Size()) {
renderer_predictor_factory_.RevokeAll(); weak_factory_.InvalidateWeakPtrs();
RenderThread::Get()->GetMessageLoop()->PostDelayedTask(FROM_HERE, RenderThread::Get()->GetMessageLoop()->PostDelayedTask(
renderer_predictor_factory_.NewRunnableMethod( FROM_HERE, base::Bind(&RendererNetPredictor::SubmitHostnames,
&RendererNetPredictor::SubmitHostnames), 10); weak_factory_.GetWeakPtr()),
10);
} else { } else {
// TODO(JAR): Should we only clear the map when we navigate, or reload? // TODO(JAR): Should we only clear the map when we navigate, or reload?
domain_map_.clear(); domain_map_.clear();
......
// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include <string> #include <string>
#include "base/basictypes.h" #include "base/basictypes.h"
#include "base/memory/weak_ptr.h"
#include "base/task.h" #include "base/task.h"
#include "chrome/renderer/net/predictor_queue.h" #include "chrome/renderer/net/predictor_queue.h"
...@@ -96,7 +97,7 @@ class RendererNetPredictor { ...@@ -96,7 +97,7 @@ class RendererNetPredictor {
int buffer_full_discard_count_; int buffer_full_discard_count_;
int numeric_ip_discard_count_; int numeric_ip_discard_count_;
ScopedRunnableMethodFactory<RendererNetPredictor> renderer_predictor_factory_; base::WeakPtrFactory<RendererNetPredictor> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(RendererNetPredictor); DISALLOW_COPY_AND_ASSIGN(RendererNetPredictor);
}; // class RendererNetPredictor }; // class RendererNetPredictor
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <ctype.h> #include <ctype.h>
#include "base/bind.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/message_loop.h" #include "base/message_loop.h"
#include "base/metrics/histogram.h" #include "base/metrics/histogram.h"
...@@ -19,8 +20,7 @@ using base::StatisticsRecorder; ...@@ -19,8 +20,7 @@ using base::StatisticsRecorder;
using content::RenderThread; using content::RenderThread;
RendererHistogramSnapshots::RendererHistogramSnapshots() RendererHistogramSnapshots::RendererHistogramSnapshots()
: ALLOW_THIS_IN_INITIALIZER_LIST( : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
renderer_histogram_snapshots_factory_(this)) {
} }
RendererHistogramSnapshots::~RendererHistogramSnapshots() { RendererHistogramSnapshots::~RendererHistogramSnapshots() {
...@@ -28,9 +28,9 @@ RendererHistogramSnapshots::~RendererHistogramSnapshots() { ...@@ -28,9 +28,9 @@ RendererHistogramSnapshots::~RendererHistogramSnapshots() {
// Send data quickly! // Send data quickly!
void RendererHistogramSnapshots::SendHistograms(int sequence_number) { void RendererHistogramSnapshots::SendHistograms(int sequence_number) {
RenderThread::Get()->GetMessageLoop()->PostTask(FROM_HERE, RenderThread::Get()->GetMessageLoop()->PostTask(
renderer_histogram_snapshots_factory_.NewRunnableMethod( FROM_HERE, base::Bind(&RendererHistogramSnapshots::UploadAllHistrograms,
&RendererHistogramSnapshots::UploadAllHistrograms, sequence_number)); weak_factory_.GetWeakPtr(), sequence_number));
} }
bool RendererHistogramSnapshots::OnControlMessageReceived( bool RendererHistogramSnapshots::OnControlMessageReceived(
......
// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <vector> #include <vector>
#include "base/basictypes.h" #include "base/basictypes.h"
#include "base/memory/weak_ptr.h"
#include "base/metrics/histogram.h" #include "base/metrics/histogram.h"
#include "base/process.h" #include "base/process.h"
#include "base/task.h" #include "base/task.h"
...@@ -40,8 +41,7 @@ class RendererHistogramSnapshots : public HistogramSender, ...@@ -40,8 +41,7 @@ class RendererHistogramSnapshots : public HistogramSender,
// Send only a delta to what we have already sent. // Send only a delta to what we have already sent.
void UploadAllHistrograms(int sequence_number); void UploadAllHistrograms(int sequence_number);
ScopedRunnableMethodFactory<RendererHistogramSnapshots> base::WeakPtrFactory<RendererHistogramSnapshots> weak_factory_;
renderer_histogram_snapshots_factory_;
// HistogramSender interface (override) methods. // HistogramSender interface (override) methods.
virtual void TransmitHistogramDelta( virtual void TransmitHistogramDelta(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment