| Index: webkit/blob/view_blob_internals_job.cc
|
| diff --git a/webkit/blob/view_blob_internals_job.cc b/webkit/blob/view_blob_internals_job.cc
|
| index 6d6955b6461eeacda2db67445a9774226df485bb..49798b46450ceffe317334c091d4b6f5c5c32358 100644
|
| --- a/webkit/blob/view_blob_internals_job.cc
|
| +++ b/webkit/blob/view_blob_internals_job.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "webkit/blob/view_blob_internals_job.h"
|
|
|
| +#include "base/compiler_specific.h"
|
| #include "base/logging.h"
|
| #include "base/format_macros.h"
|
| #include "base/i18n/number_formatting.h"
|
| @@ -102,15 +103,17 @@ namespace webkit_blob {
|
| ViewBlobInternalsJob::ViewBlobInternalsJob(
|
| net::URLRequest* request, BlobStorageController* blob_storage_controller)
|
| : URLRequestSimpleJob(request),
|
| - blob_storage_controller_(blob_storage_controller) {
|
| + blob_storage_controller_(blob_storage_controller),
|
| + ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) {
|
| }
|
|
|
| ViewBlobInternalsJob::~ViewBlobInternalsJob() {
|
| }
|
|
|
| void ViewBlobInternalsJob::Start() {
|
| - MessageLoop::current()->PostTask(FROM_HERE, NewRunnableMethod(
|
| - this, &ViewBlobInternalsJob::DoWorkAsync));
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE,
|
| + method_factory_.NewRunnableMethod(&ViewBlobInternalsJob::DoWorkAsync));
|
| }
|
|
|
| bool ViewBlobInternalsJob::IsRedirectResponse(GURL* location,
|
| @@ -126,6 +129,11 @@ bool ViewBlobInternalsJob::IsRedirectResponse(GURL* location,
|
| return false;
|
| }
|
|
|
| +void ViewBlobInternalsJob::Kill() {
|
| + URLRequestSimpleJob::Kill();
|
| + method_factory_.RevokeAll();
|
| +}
|
| +
|
| void ViewBlobInternalsJob::DoWorkAsync() {
|
| if (request_->url().has_query() &&
|
| StartsWithASCII(request_->url().query(), "remove=", true)) {
|
|
|