Index: components/previews/core/previews_io_data.h |
diff --git a/components/previews/core/previews_io_data.h b/components/previews/core/previews_io_data.h |
index ce157858d5a44171cb5c1728a2db8ae5c98f5529..5f1efd09b6bd53a8c5f87e5f6021122127f08d20 100644 |
--- a/components/previews/core/previews_io_data.h |
+++ b/components/previews/core/previews_io_data.h |
@@ -5,41 +5,52 @@ |
#ifndef COMPONENTS_PREVIEWS_CORE_PREVIEWS_IO_DATA_H_ |
#define COMPONENTS_PREVIEWS_CORE_PREVIEWS_IO_DATA_H_ |
#include <memory> |
#include <string> |
#include "base/macros.h" |
#include "base/memory/ref_counted.h" |
#include "base/memory/weak_ptr.h" |
#include "base/single_thread_task_runner.h" |
+#include "base/time/time.h" |
#include "components/previews/core/previews_opt_out_store.h" |
+class GURL; |
+ |
namespace previews { |
class PreviewsBlackList; |
class PreviewsUIService; |
// A class to manage the IO portion of inter-thread communication between |
// previews/ objects. Created on the UI thread, but used only on the IO thread |
// after initialization. |
class PreviewsIOData { |
public: |
PreviewsIOData( |
const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner, |
const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner); |
virtual ~PreviewsIOData(); |
// Stores |previews_ui_service| as |previews_ui_service_| and posts a task to |
// InitializeOnIOThread on the IO thread. |
void Initialize(base::WeakPtr<PreviewsUIService> previews_ui_service, |
std::unique_ptr<PreviewsOptOutStore> previews_opt_out_store); |
+ // Adds a navigation to |url| to the black list with result |opt_out|. |
+ void AddPreviewNavigation(const GURL& url, bool opt_out, PreviewsType type); |
+ |
+ // Clears the history of the black list between |begin_time| and |end_time|, |
+ // both inclusive. |
+ void ClearBlackList(base::Time begin_time, base::Time end_time); |
+ |
+ // The previews black list that decides whether a navigation can use previews. |
PreviewsBlackList* black_list() const { return previews_black_list_.get(); } |
protected: |
// Posts a task to SetIOData for |previews_ui_service_| on the UI thread with |
// a weak pointer to |this|. Virtualized for testing. |
virtual void InitializeOnIOThread( |
std::unique_ptr<PreviewsOptOutStore> previews_opt_out_store); |
private: |
// The UI thread portion of the inter-thread communication for previews. |