Chromium Code Reviews| Index: components/offline_pages/offline_page_test_archiver.h |
| diff --git a/components/offline_pages/offline_page_test_archiver.h b/components/offline_pages/offline_page_test_archiver.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..6f3f0d3ecc7c2649155bec0a75029f46ee4c2264 |
| --- /dev/null |
| +++ b/components/offline_pages/offline_page_test_archiver.h |
| @@ -0,0 +1,66 @@ |
| +// Copyright 2015 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 COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_TEST_ARCHIVER_H_ |
| +#define COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_TEST_ARCHIVER_H_ |
| + |
| +#include "base/macros.h" |
| +#include "base/memory/ref_counted.h" |
| +#include "base/single_thread_task_runner.h" |
| +#include "components/offline_pages/offline_page_archiver.h" |
| + |
| +class GURL; |
| + |
| +namespace base { |
| +class FilePath; |
| +} // namespace |
| + |
| +namespace offline_pages { |
| + |
| +// A test archiver class, which allows for testing offline pages without a need |
| +// for an actual web contents. |
| +class OfflinePageTestArchiver : public OfflinePageArchiver { |
| + public: |
| + class Observer { |
| + public: |
| + virtual ~Observer() {} |
| + virtual void SetLastPathCreatedByArchiver( |
| + const base::FilePath& file_path) = 0; |
| + }; |
| + |
| + OfflinePageTestArchiver( |
| + Observer* observer, |
| + const GURL& url, |
| + ArchiverResult result, |
| + int64 size_to_report, |
| + const scoped_refptr<base::SingleThreadTaskRunner>& task_runner); |
| + ~OfflinePageTestArchiver() override; |
| + |
| + // OfflinePageArchiver implementation: |
| + void CreateArchive(const base::FilePath& archives_dir, |
| + const CreateArchiveCallback& callback) override; |
| + |
| + void CompleteCreateArchive(); |
| + |
| + void set_delayed(bool delayed) { delayed_ = delayed; } |
|
jianli
2015/12/07 23:19:01
Please comment on what this is meant.
fgorski
2015/12/08 00:33:56
Done.
|
| + |
| + bool create_archive_called() const { return create_archive_called_; } |
| + |
| + private: |
| + // Not owned. Outlives OfflinePageTestArchiver. |
| + Observer* observer_; |
| + GURL url_; |
| + base::FilePath archives_dir_; |
| + ArchiverResult result_; |
| + int64 size_to_report_; |
| + bool create_archive_called_; |
| + bool delayed_; |
| + CreateArchiveCallback callback_; |
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
|
jianli
2015/12/07 23:19:01
nit: add empty line
fgorski
2015/12/08 00:33:55
Done.
|
| + DISALLOW_COPY_AND_ASSIGN(OfflinePageTestArchiver); |
| +}; |
| + |
| +} // namespace offline_pages |
| + |
| +#endif // COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_TEST_ARCHIVER_H_ |