Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Unified Diff: extensions/browser/preload_check_test_util.h

Issue 2693373003: PreloadCheck class for extension pre-install checks (Closed)
Patch Set: don't break enable_extensions=false Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « extensions/browser/preload_check.cc ('k') | extensions/browser/preload_check_test_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/preload_check_test_util.h
diff --git a/extensions/browser/preload_check_test_util.h b/extensions/browser/preload_check_test_util.h
new file mode 100644
index 0000000000000000000000000000000000000000..7da768af493ab4e0dccc8d0457ed6db558f801a8
--- /dev/null
+++ b/extensions/browser/preload_check_test_util.h
@@ -0,0 +1,56 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef EXTENSIONS_BROWSER_PRELOAD_CHECK_TEST_UTIL_H_
+#define EXTENSIONS_BROWSER_PRELOAD_CHECK_TEST_UTIL_H_
+
+#include <memory>
+
+#include "extensions/browser/preload_check.h"
+
+namespace base {
+class RunLoop;
+}
+
+namespace extensions {
+
+// Provides a callback method for a PreloadCheck that stores its results.
+class PreloadCheckRunner {
+ public:
+ PreloadCheckRunner();
+ virtual ~PreloadCheckRunner();
+
+ // Starts the check, providing OnCheckComplete as the callback.
+ void Run(PreloadCheck* check);
+
+ // Starts the check and waits for its callback to execute.
+ void RunUntilComplete(PreloadCheck* check);
+
+ // Runs the message loop until OnCheckComplete is called.
+ void WaitForCompletion();
+
+ // Runs the message loop until idle. Useful to see whether OnCheckComplete is
+ // called without waiting indefinitely.
+ void WaitForIdle();
+
+ PreloadCheck::ResultCallback GetCallback();
+
+ const PreloadCheck::Errors& errors() const { return errors_; }
+ bool called() const { return called_; }
+
+ private:
+ void OnCheckComplete(PreloadCheck::Errors errors);
+
+ PreloadCheck::Errors errors_;
+ bool called_;
+
+ // Using a RunLoop data member would trigger tricky timing troubles.
+ std::unique_ptr<base::RunLoop> run_loop_;
+
+ DISALLOW_COPY_AND_ASSIGN(PreloadCheckRunner);
+};
+
+} // namespace extensions
+
+#endif // EXTENSIONS_BROWSER_PRELOAD_CHECK_TEST_UTIL_H_
« no previous file with comments | « extensions/browser/preload_check.cc ('k') | extensions/browser/preload_check_test_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698