74b6cea8025d272409cf6217f9b3963cb1f05060
[platform/framework/web/crosswalk.git] / src / chrome / browser / browsing_data / mock_browsing_data_service_worker_helper.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_SERVICE_WORKER_HELPER_H_
6 #define CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_SERVICE_WORKER_HELPER_H_
7
8 #include <list>
9 #include <map>
10
11 #include "base/callback.h"
12 #include "base/compiler_specific.h"
13 #include "chrome/browser/browsing_data/browsing_data_service_worker_helper.h"
14
15 class Profile;
16
17 // Mock for BrowsingDataServiceWorkerHelper.
18 // Use AddServiceWorkerSamples() or add directly to response_ list, then
19 // call Notify().
20 class MockBrowsingDataServiceWorkerHelper
21     : public BrowsingDataServiceWorkerHelper {
22  public:
23   explicit MockBrowsingDataServiceWorkerHelper(Profile* profile);
24
25   // Adds some ServiceWorkerInfo samples.
26   void AddServiceWorkerSamples();
27
28   // Notifies the callback.
29   void Notify();
30
31   // Marks all service worker files as existing.
32   void Reset();
33
34   // Returns true if all service worker files were deleted since the last
35   // Reset() invokation.
36   bool AllDeleted();
37
38   // BrowsingDataServiceWorkerHelper.
39   virtual void StartFetching(const base::Callback<void(
40       const std::list<content::ServiceWorkerUsageInfo>&)>& callback) OVERRIDE;
41   virtual void DeleteServiceWorkers(const GURL& origin) OVERRIDE;
42
43  private:
44   virtual ~MockBrowsingDataServiceWorkerHelper();
45
46   base::Callback<void(const std::list<content::ServiceWorkerUsageInfo>&)>
47       callback_;
48   std::map<GURL, bool> origins_;
49   std::list<content::ServiceWorkerUsageInfo> response_;
50
51   DISALLOW_COPY_AND_ASSIGN(MockBrowsingDataServiceWorkerHelper);
52 };
53
54 #endif  // CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_SERVICE_WORKER_HELPER_H_