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 CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_INFO_H_
6#define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_INFO_H_
7
8#include <vector>
9
10#include "content/browser/service_worker/service_worker_version.h"
11#include "content/common/content_export.h"
12#include "url/gurl.h"
13
14namespace content {
15
16class CONTENT_EXPORT ServiceWorkerVersionInfo {
17 public:
18  ServiceWorkerVersionInfo();
19  ServiceWorkerVersionInfo(ServiceWorkerVersion::RunningStatus running_status,
20                           ServiceWorkerVersion::Status status,
21                           const GURL& script_url,
22                           int64 version_id,
23                           int process_id,
24                           int thread_id,
25                           int devtools_agent_route_id);
26  ~ServiceWorkerVersionInfo();
27
28  bool is_null;
29  ServiceWorkerVersion::RunningStatus running_status;
30  ServiceWorkerVersion::Status status;
31  GURL script_url;
32  int64 version_id;
33  int process_id;
34  int thread_id;
35  int devtools_agent_route_id;
36};
37
38class CONTENT_EXPORT ServiceWorkerRegistrationInfo {
39 public:
40  ServiceWorkerRegistrationInfo();
41  ServiceWorkerRegistrationInfo(
42      const GURL& pattern,
43      int64 registration_id,
44      const ServiceWorkerVersionInfo& active_version,
45      const ServiceWorkerVersionInfo& waiting_version,
46      const ServiceWorkerVersionInfo& installing_version);
47  ~ServiceWorkerRegistrationInfo();
48
49  GURL pattern;
50  int64 registration_id;
51  ServiceWorkerVersionInfo controlling_version;
52  ServiceWorkerVersionInfo active_version;
53  ServiceWorkerVersionInfo waiting_version;
54  ServiceWorkerVersionInfo installing_version;
55};
56
57}  // namespace content
58
59#endif  // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_INFO_H_
60