summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authoradamk@chromium.org <adamk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-03 21:59:09 +0000
committeradamk@chromium.org <adamk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-03 21:59:09 +0000
commit1ec27eb5b20f25e423b05d457c47115c296ce13d (patch)
tree9cf770570738227f8634e638619a5284d9820d03 /chrome/browser
parent74861f3026520c2ca132e61df77e3daf94e37106 (diff)
downloadchromium_src-1ec27eb5b20f25e423b05d457c47115c296ce13d.zip
chromium_src-1ec27eb5b20f25e423b05d457c47115c296ce13d.tar.gz
chromium_src-1ec27eb5b20f25e423b05d457c47115c296ce13d.tar.bz2
base::Bind conversion for chrome/browser/extensions/file_reader.
Review URL: http://codereview.chromium.org/8343008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108553 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/chromeos/accessibility_util.cc7
-rw-r--r--chrome/browser/extensions/execute_code_in_tab_function.cc20
-rw-r--r--chrome/browser/extensions/file_reader.cc15
-rw-r--r--chrome/browser/extensions/file_reader.h9
-rw-r--r--chrome/browser/extensions/file_reader_unittest.cc7
5 files changed, 26 insertions, 32 deletions
diff --git a/chrome/browser/chromeos/accessibility_util.cc b/chrome/browser/chromeos/accessibility_util.cc
index cee420c..b43b7f4 100644
--- a/chrome/browser/chromeos/accessibility_util.cc
+++ b/chrome/browser/chromeos/accessibility_util.cc
@@ -4,7 +4,8 @@
#include "chrome/browser/chromeos/accessibility_util.h"
-#include "base/callback.h"
+#include "base/bind.h"
+#include "base/bind_helpers.h"
#include "base/logging.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h"
@@ -56,8 +57,8 @@ class ContentScriptLoader {
ExtensionResource resource = resources_.front();
resources_.pop();
- scoped_refptr<FileReader> reader(new FileReader(resource, NewCallback(
- this, &ContentScriptLoader::OnFileLoaded)));
+ scoped_refptr<FileReader> reader(new FileReader(resource, base::Bind(
+ &ContentScriptLoader::OnFileLoaded, base::Unretained(this))));
reader->Start();
}
diff --git a/chrome/browser/extensions/execute_code_in_tab_function.cc b/chrome/browser/extensions/execute_code_in_tab_function.cc
index b58ac5c..2d27d1d 100644
--- a/chrome/browser/extensions/execute_code_in_tab_function.cc
+++ b/chrome/browser/extensions/execute_code_in_tab_function.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/extensions/execute_code_in_tab_function.h"
+#include "base/bind.h"
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/extensions/extension_service.h"
@@ -119,9 +120,8 @@ bool ExecuteCodeInTabFunction::RunImpl() {
}
scoped_refptr<FileReader> file_reader(new FileReader(
- resource_, NewCallback(this, &ExecuteCodeInTabFunction::DidLoadFile)));
+ resource_, base::Bind(&ExecuteCodeInTabFunction::DidLoadFile, this)));
file_reader->Start();
- AddRef(); // Keep us alive until DidLoadAndLocalizeFile is called.
return true;
}
@@ -138,11 +138,11 @@ void ExecuteCodeInTabFunction::DidLoadFile(bool success,
data.find(ExtensionMessageBundle::kMessageBegin) != std::string::npos) {
BrowserThread::PostTask(
BrowserThread::FILE, FROM_HERE,
- NewRunnableMethod(this, &ExecuteCodeInTabFunction::LocalizeCSS,
- data,
- extension->id(),
- extension->path(),
- extension->default_locale()));
+ base::Bind(&ExecuteCodeInTabFunction::LocalizeCSS, this,
+ data,
+ extension->id(),
+ extension->path(),
+ extension->default_locale()));
} else {
DidLoadAndLocalizeFile(success, data);
}
@@ -168,9 +168,8 @@ void ExecuteCodeInTabFunction::LocalizeCSS(
// anything to localize.
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
- NewRunnableMethod(this,
- &ExecuteCodeInTabFunction::DidLoadAndLocalizeFile,
- true, css_data));
+ base::Bind(&ExecuteCodeInTabFunction::DidLoadAndLocalizeFile, this,
+ true, css_data));
}
void ExecuteCodeInTabFunction::DidLoadAndLocalizeFile(bool success,
@@ -189,7 +188,6 @@ void ExecuteCodeInTabFunction::DidLoadAndLocalizeFile(bool success,
#endif // OS_WIN
SendResponse(false);
}
- Release(); // Balance the AddRef taken in RunImpl
}
bool ExecuteCodeInTabFunction::Execute(const std::string& code_string) {
diff --git a/chrome/browser/extensions/file_reader.cc b/chrome/browser/extensions/file_reader.cc
index b2cbc77..a71643d 100644
--- a/chrome/browser/extensions/file_reader.cc
+++ b/chrome/browser/extensions/file_reader.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/extensions/file_reader.h"
+#include "base/bind.h"
#include "base/file_util.h"
#include "base/message_loop.h"
#include "chrome/common/extensions/extension_resource.h"
@@ -11,17 +12,17 @@
using content::BrowserThread;
-FileReader::FileReader(const ExtensionResource& resource, Callback* callback)
+FileReader::FileReader(const ExtensionResource& resource,
+ const Callback& callback)
: resource_(resource),
callback_(callback),
origin_loop_(MessageLoop::current()) {
- DCHECK(callback_);
}
void FileReader::Start() {
BrowserThread::PostTask(
BrowserThread::FILE, FROM_HERE,
- NewRunnableMethod(this, &FileReader::ReadFileOnBackgroundThread));
+ base::Bind(&FileReader::ReadFileOnBackgroundThread, this));
}
FileReader::~FileReader() {}
@@ -29,11 +30,5 @@ FileReader::~FileReader() {}
void FileReader::ReadFileOnBackgroundThread() {
std::string data;
bool success = file_util::ReadFileToString(resource_.GetFilePath(), &data);
- origin_loop_->PostTask(FROM_HERE, NewRunnableMethod(
- this, &FileReader::RunCallback, success, data));
-}
-
-void FileReader::RunCallback(bool success, const std::string& data) {
- callback_->Run(success, data);
- delete callback_;
+ origin_loop_->PostTask(FROM_HERE, base::Bind(callback_, success, data));
}
diff --git a/chrome/browser/extensions/file_reader.h b/chrome/browser/extensions/file_reader.h
index 4651260..63f2afa 100644
--- a/chrome/browser/extensions/file_reader.h
+++ b/chrome/browser/extensions/file_reader.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/callback_old.h"
+#include "base/callback.h"
#include "base/memory/ref_counted.h"
#include "chrome/common/extensions/extension_resource.h"
@@ -21,9 +21,9 @@ class MessageLoop;
class FileReader : public base::RefCountedThreadSafe<FileReader> {
public:
// Reports success or failure and the data of the file upon success.
- typedef Callback2<bool, const std::string&>::Type Callback;
+ typedef base::Callback<void(bool, const std::string&)> Callback;
- FileReader(const ExtensionResource& resource, Callback* callback);
+ FileReader(const ExtensionResource& resource, const Callback& callback);
// Called to start reading the file on a background thread. Upon completion,
// the callback will be notified of the results.
@@ -35,10 +35,9 @@ class FileReader : public base::RefCountedThreadSafe<FileReader> {
virtual ~FileReader();
void ReadFileOnBackgroundThread();
- void RunCallback(bool success, const std::string& data);
ExtensionResource resource_;
- Callback* callback_;
+ Callback callback_;
MessageLoop* origin_loop_;
};
diff --git a/chrome/browser/extensions/file_reader_unittest.cc b/chrome/browser/extensions/file_reader_unittest.cc
index d9ef15e..cfbc670 100644
--- a/chrome/browser/extensions/file_reader_unittest.cc
+++ b/chrome/browser/extensions/file_reader_unittest.cc
@@ -2,7 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/callback.h"
+#include "base/bind.h"
+#include "base/bind_helpers.h"
#include "base/file_path.h"
#include "base/file_util.h"
#include "base/message_loop.h"
@@ -34,8 +35,8 @@ class Receiver {
Receiver() : succeeded_(false) {
}
- FileReader::Callback* NewCallback() {
- return ::NewCallback(this, &Receiver::DidReadFile);
+ FileReader::Callback NewCallback() {
+ return base::Bind(&Receiver::DidReadFile, base::Unretained(this));
}
bool succeeded() const { return succeeded_; }