summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/extensions
diff options
context:
space:
mode:
authorcsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-17 21:54:06 +0000
committercsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-17 21:54:06 +0000
commit80c3df832977631425b02c352792e95d4bcbae68 (patch)
tree08cc040aa4cc30789b46f20799cc406eed6addea /chrome/renderer/extensions
parent81d4ea286915b125c7dc51e025f844381b8a9486 (diff)
downloadchromium_src-80c3df832977631425b02c352792e95d4bcbae68.zip
chromium_src-80c3df832977631425b02c352792e95d4bcbae68.tar.gz
chromium_src-80c3df832977631425b02c352792e95d4bcbae68.tar.bz2
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
Diffstat (limited to 'chrome/renderer/extensions')
-rw-r--r--chrome/renderer/extensions/user_script_idle_scheduler.cc15
-rw-r--r--chrome/renderer/extensions/user_script_idle_scheduler.h4
2 files changed, 11 insertions, 8 deletions
diff --git a/chrome/renderer/extensions/user_script_idle_scheduler.cc b/chrome/renderer/extensions/user_script_idle_scheduler.cc
index 6dec8c4..c271bae 100644
--- a/chrome/renderer/extensions/user_script_idle_scheduler.cc
+++ b/chrome/renderer/extensions/user_script_idle_scheduler.cc
@@ -4,6 +4,7 @@
#include "chrome/renderer/extensions/user_script_idle_scheduler.h"
+#include "base/bind.h"
#include "base/message_loop.h"
#include "chrome/common/extensions/extension_error_utils.h"
#include "chrome/common/extensions/extension_messages.h"
@@ -30,7 +31,7 @@ using WebKit::WebView;
UserScriptIdleScheduler::UserScriptIdleScheduler(
WebFrame* frame, ExtensionDispatcher* extension_dispatcher)
- : ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)),
+ : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
frame_(frame),
has_run_(false),
extension_dispatcher_(extension_dispatcher) {
@@ -52,22 +53,24 @@ void UserScriptIdleScheduler::ExecuteCode(
}
void UserScriptIdleScheduler::DidFinishDocumentLoad() {
- MessageLoop::current()->PostDelayedTask(FROM_HERE,
- method_factory_.NewRunnableMethod(&UserScriptIdleScheduler::MaybeRun),
+ MessageLoop::current()->PostDelayedTask(
+ FROM_HERE, base::Bind(&UserScriptIdleScheduler::MaybeRun,
+ weak_factory_.GetWeakPtr()),
kUserScriptIdleTimeoutMs);
}
void UserScriptIdleScheduler::DidFinishLoad() {
// Ensure that running scripts does not keep any progress UI running.
- MessageLoop::current()->PostTask(FROM_HERE,
- method_factory_.NewRunnableMethod(&UserScriptIdleScheduler::MaybeRun));
+ MessageLoop::current()->PostTask(
+ FROM_HERE, base::Bind(&UserScriptIdleScheduler::MaybeRun,
+ weak_factory_.GetWeakPtr()));
}
void UserScriptIdleScheduler::DidStartProvisionalLoad() {
// The frame is navigating, so reset the state since we'll want to inject
// scripts once the load finishes.
has_run_ = false;
- method_factory_.RevokeAll();
+ weak_factory_.InvalidateWeakPtrs();
while (!pending_code_execution_queue_.empty())
pending_code_execution_queue_.pop();
}
diff --git a/chrome/renderer/extensions/user_script_idle_scheduler.h b/chrome/renderer/extensions/user_script_idle_scheduler.h
index 62258c6..782ce86 100644
--- a/chrome/renderer/extensions/user_script_idle_scheduler.h
+++ b/chrome/renderer/extensions/user_script_idle_scheduler.h
@@ -10,7 +10,7 @@
#include <vector>
#include "base/memory/linked_ptr.h"
-#include "base/task.h"
+#include "base/memory/weak_ptr.h"
class ExtensionDispatcher;
class RenderView;
@@ -60,7 +60,7 @@ class UserScriptIdleScheduler {
bool GetAllChildFrames(WebKit::WebFrame* parent_frame,
std::vector<WebKit::WebFrame*>* frames_vector) const;
- ScopedRunnableMethodFactory<UserScriptIdleScheduler> method_factory_;
+ base::WeakPtrFactory<UserScriptIdleScheduler> weak_factory_;
// The Frame we will run scripts in.
WebKit::WebFrame* frame_;