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

Unified Diff: components/offline_pages/offline_page_metadata_store_sql.h

Issue 2489443002: Move all components/offline_pages/ files into component/offline_pages/core (Closed)
Patch Set: more rebase Created 4 years, 1 month 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
Index: components/offline_pages/offline_page_metadata_store_sql.h
diff --git a/components/offline_pages/offline_page_metadata_store_sql.h b/components/offline_pages/offline_page_metadata_store_sql.h
deleted file mode 100644
index 71e3c0f8e0fbb2dd79770104fc77e8827a859b11..0000000000000000000000000000000000000000
--- a/components/offline_pages/offline_page_metadata_store_sql.h
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright 2016 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_METADATA_STORE_SQL_H_
-#define COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_METADATA_STORE_SQL_H_
-
-#include <stdint.h>
-
-#include <memory>
-#include <vector>
-
-#include "base/files/file_path.h"
-#include "base/memory/weak_ptr.h"
-#include "components/offline_pages/offline_page_metadata_store.h"
-
-namespace base {
-class SequencedTaskRunner;
-}
-
-namespace sql {
-class Connection;
-}
-
-namespace offline_pages {
-
-// OfflinePageMetadataStoreSQL is an instance of OfflinePageMetadataStore
-// which is implemented using a SQLite database.
-//
-// This store has a history of schema updates in pretty much every release.
-// Original schema was delivered in M52. Since then, the following changes
-// happened:
-// * In M53 expiration_time was added,
-// * In M54 title was added,
-// * In M55 we dropped the following fields (never used): version, status,
-// offline_url, user_initiated.
-// * In M56 original_url was added.
-//
-// Here is a procedure to update the schema for this store:
-// * Decide how to detect that the store is on a particular version, which
-// typically means that a certain field exists or is missing. This happens in
-// Upgrade section of |CreateSchema|
-// * Work out appropriate change and apply it to all existing upgrade paths. In
-// the interest of performing a single update of the store, it upgrades from a
-// detected version to the current one. This means that when making a change,
-// more than a single query may have to be updated (in case of fields being
-// removed or needed to be initialized to a specific, non-default value).
-// Such approach is preferred to doing N updates for every changed version on
-// a startup after browser update.
-// * New upgrade method should specify which version it is upgrading from, e.g.
-// |UpgradeFrom54|.
-// * Upgrade should use |UpgradeWithQuery| and simply specify SQL command to
-// move data from old table (prefixed by temp_) to the new one.
-class OfflinePageMetadataStoreSQL : public OfflinePageMetadataStore {
- public:
- OfflinePageMetadataStoreSQL(
- scoped_refptr<base::SequencedTaskRunner> background_task_runner,
- const base::FilePath& database_dir);
- ~OfflinePageMetadataStoreSQL() override;
-
- // Implementation methods.
- void Initialize(const InitializeCallback& callback) override;
- void GetOfflinePages(const LoadCallback& callback) override;
- void AddOfflinePage(const OfflinePageItem& offline_page,
- const AddCallback& callback) override;
- void UpdateOfflinePages(const std::vector<OfflinePageItem>& pages,
- const UpdateCallback& callback) override;
- void RemoveOfflinePages(const std::vector<int64_t>& offline_ids,
- const UpdateCallback& callback) override;
- void Reset(const ResetCallback& callback) override;
- StoreState state() const override;
-
- // Helper function used to force incorrect state for testing purposes.
- void SetStateForTesting(StoreState state, bool reset_db);
-
- private:
- // Used to conclude opening/resetting DB connection.
- void OnOpenConnectionDone(const InitializeCallback& callback, bool success);
- void OnResetDone(const ResetCallback& callback, bool success);
-
- // Checks whether a valid DB connection is present and store state is LOADED.
- bool CheckDb();
-
- // Background thread where all SQL access should be run.
- scoped_refptr<base::SequencedTaskRunner> background_task_runner_;
-
- // Path to the database on disk.
- base::FilePath db_file_path_;
-
- // Database connection.
- std::unique_ptr<sql::Connection> db_;
-
- // State of the store.
- StoreState state_;
-
- base::WeakPtrFactory<OfflinePageMetadataStoreSQL> weak_ptr_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(OfflinePageMetadataStoreSQL);
-};
-
-} // namespace offline_pages
-
-#endif // COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_METADATA_STORE_SQL_H_

Powered by Google App Engine
This is Rietveld 408576698