Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / content / public / browser / background_sync_context.h
blobfb15de0e32d674878f91dba72ba668262d537532
1 // Copyright 2015 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.
5 #ifndef CONTENT_PUBLIC_BROWSER_BACKGROUND_SYNC_CONTEXT_H_
6 #define CONTENT_PUBLIC_BROWSER_BACKGROUND_SYNC_CONTEXT_H_
8 #include "base/memory/ref_counted.h"
9 #include "content/common/content_export.h"
11 namespace content {
13 class BackgroundSyncManager;
15 // One instance of this exists per StoragePartition, and services multiple
16 // child processes/origins. Most logic is delegated to the owned
17 // BackgroundSyncManager instance, which is only accessed on the IO
18 // thread.
19 class CONTENT_EXPORT BackgroundSyncContext
20 : public base::RefCountedThreadSafe<BackgroundSyncContext> {
21 public:
22 // Only callable on the IO thread.
23 virtual BackgroundSyncManager* background_sync_manager() const = 0;
25 protected:
26 friend class base::RefCountedThreadSafe<BackgroundSyncContext>;
28 virtual ~BackgroundSyncContext() {}
31 } // namespace content
33 #endif // CONTENT_PUBLIC_BROWSER_BACKGROUND_SYNC_CONTEXT_H_