| Index: components/offline_pages/offline_page_model.cc
|
| diff --git a/components/offline_pages/offline_page_model.cc b/components/offline_pages/offline_page_model.cc
|
| index 3472066eb9fa33f5dfd6b8b1633e85fee0041ffa..462f03aa5408d9248bc3311f458cdb6f99535555 100644
|
| --- a/components/offline_pages/offline_page_model.cc
|
| +++ b/components/offline_pages/offline_page_model.cc
|
| @@ -22,6 +22,8 @@
|
| #include "components/offline_pages/offline_page_item.h"
|
| #include "components/offline_pages/offline_page_storage_manager.h"
|
| #include "components/offline_pages/proto/offline_pages.pb.h"
|
| +#include "components/rappor/rappor_service.h"
|
| +#include "components/rappor/rappor_utils.h"
|
| #include "url/gurl.h"
|
|
|
| using ArchiverResult = offline_pages::OfflinePageArchiver::ArchiverResult;
|
| @@ -104,6 +106,16 @@ void EnsureArchivesDirCreated(const base::FilePath& archives_dir) {
|
| CHECK(base::CreateDirectory(archives_dir));
|
| }
|
|
|
| +// Record a sample for the OfflinePages.SavedPage rappor metric.
|
| +void SampleOfflinePageURL(
|
| + const GURL& url,
|
| + const base::WeakPtr<rappor::RapporService>& rappor_service) {
|
| + if (rappor_service && url.is_valid()) {
|
| + rappor::SampleDomainAndRegistryFromGURL(
|
| + rappor_service.get(), "OfflinePages.PageWasSavedForOffline", url);
|
| + }
|
| +}
|
| +
|
| } // namespace
|
|
|
| // static
|
| @@ -118,12 +130,14 @@ OfflinePageModel::OfflinePageModel()
|
| OfflinePageModel::OfflinePageModel(
|
| std::unique_ptr<OfflinePageMetadataStore> store,
|
| const base::FilePath& archives_dir,
|
| + base::WeakPtr<rappor::RapporService> rappor_service,
|
| const scoped_refptr<base::SequencedTaskRunner>& task_runner)
|
| : store_(std::move(store)),
|
| archives_dir_(archives_dir),
|
| is_loaded_(false),
|
| task_runner_(task_runner),
|
| policy_controller_(new ClientPolicyController()),
|
| + rappor_service_(rappor_service),
|
| weak_ptr_factory_(this) {
|
| task_runner_->PostTaskAndReply(
|
| FROM_HERE, base::Bind(EnsureArchivesDirCreated, archives_dir_),
|
| @@ -157,6 +171,8 @@ void OfflinePageModel::SavePage(const GURL& url,
|
|
|
| DCHECK(archiver.get());
|
|
|
| + SampleOfflinePageURL(url, rappor_service_);
|
| +
|
| int64_t offline_id = GenerateOfflineId();
|
|
|
| archiver->CreateArchive(
|
|
|