| Index: chrome/browser/extensions/file_reader.cc
|
| diff --git a/chrome/browser/extensions/file_reader.cc b/chrome/browser/extensions/file_reader.cc
|
| index 05ee39fb9553bbfbb0896253dd77f71c936fd5fa..af6935b6e1132fc617b71425f4a860763c2c9bd8 100644
|
| --- a/chrome/browser/extensions/file_reader.cc
|
| +++ b/chrome/browser/extensions/file_reader.cc
|
| @@ -4,22 +4,23 @@
|
|
|
| #include "chrome/browser/extensions/file_reader.h"
|
|
|
| +#include "base/bind.h"
|
| #include "base/file_util.h"
|
| #include "base/message_loop.h"
|
| #include "content/browser/browser_thread.h"
|
| #include "chrome/common/extensions/extension_resource.h"
|
|
|
| -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() {}
|
| @@ -27,11 +28,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));
|
| }
|
|
|