Index: extensions/browser/preload_check_test_util.cc |
diff --git a/extensions/browser/preload_check_test_util.cc b/extensions/browser/preload_check_test_util.cc |
index b12bc17950de05927ec82b86c69a8736e5b65232..f5becf43ae4a7173c854c744f33c495fd2992565 100644 |
--- a/extensions/browser/preload_check_test_util.cc |
+++ b/extensions/browser/preload_check_test_util.cc |
@@ -9,10 +9,14 @@ |
#include "base/logging.h" |
#include "base/memory/ptr_util.h" |
#include "base/run_loop.h" |
+#include "base/single_thread_task_runner.h" |
+#include "base/threading/thread_task_runner_handle.h" |
+#include "extensions/common/extension.h" |
#include "testing/gtest/include/gtest/gtest.h" |
namespace extensions { |
+// PreloadCheckRunner: |
PreloadCheckRunner::PreloadCheckRunner() : called_(false) {} |
PreloadCheckRunner::~PreloadCheckRunner() {} |
@@ -47,4 +51,36 @@ void PreloadCheckRunner::WaitForIdle() { |
run_loop_->RunUntilIdle(); |
} |
+// PreloadCheckStub: |
+PreloadCheckStub::PreloadCheckStub() |
+ : PreloadCheck(nullptr), is_async_(false), weak_ptr_factory_(this) {} |
+ |
+PreloadCheckStub::~PreloadCheckStub() {} |
+ |
+void PreloadCheckStub::AddError(Error error) { |
+ errors_.insert(error); |
+} |
+ |
+void PreloadCheckStub::Start(ResultCallback callback) { |
+ DCHECK(!callback.is_null()); |
+ if (is_async_) { |
+ // TODO(michaelpg): Bind the callback directly and remove RunCallback |
+ // once crbug.com/704027 is addressed. |
+ base::ThreadTaskRunnerHandle::Get()->PostTask( |
+ FROM_HERE, |
+ base::Bind(&PreloadCheckStub::RunCallback, |
+ weak_ptr_factory_.GetWeakPtr(), base::Passed(&callback))); |
+ } else { |
+ std::move(callback).Run(errors_); |
+ } |
+} |
+ |
+void PreloadCheckStub::RunCallback(ResultCallback callback) { |
+ std::move(callback).Run(errors_); |
+} |
+ |
+base::string16 PreloadCheckStub::GetErrorMessage() const { |
+ return message_; |
+} |
+ |
} // namespace extensions |