1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// found in the LICENSE file.
4a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_INFO_H_
6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_INFO_H_
7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include <vector>
9a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "content/browser/service_worker/service_worker_version.h"
110529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "content/common/content_export.h"
12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "url/gurl.h"
13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace content {
15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
160529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass CONTENT_EXPORT ServiceWorkerVersionInfo {
17a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) public:
18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  ServiceWorkerVersionInfo();
19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  ServiceWorkerVersionInfo(ServiceWorkerVersion::RunningStatus running_status,
20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           ServiceWorkerVersion::Status status,
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           const GURL& script_url,
220529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch                           int64 version_id,
23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           int process_id,
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                           int thread_id,
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                           int devtools_agent_route_id);
26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  ~ServiceWorkerVersionInfo();
27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
28a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  bool is_null;
29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  ServiceWorkerVersion::RunningStatus running_status;
30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  ServiceWorkerVersion::Status status;
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GURL script_url;
320529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  int64 version_id;
33a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  int process_id;
34a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  int thread_id;
35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  int devtools_agent_route_id;
36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)};
37a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
380529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass CONTENT_EXPORT ServiceWorkerRegistrationInfo {
39a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) public:
400529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  ServiceWorkerRegistrationInfo();
41a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  ServiceWorkerRegistrationInfo(
42a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      const GURL& pattern,
43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      int64 registration_id,
44a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      const ServiceWorkerVersionInfo& active_version,
45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const ServiceWorkerVersionInfo& waiting_version,
46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const ServiceWorkerVersionInfo& installing_version);
47a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  ~ServiceWorkerRegistrationInfo();
48a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
49a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  GURL pattern;
50cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  int64 registration_id;
51116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  ServiceWorkerVersionInfo controlling_version;
52a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  ServiceWorkerVersionInfo active_version;
5346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  ServiceWorkerVersionInfo waiting_version;
54116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  ServiceWorkerVersionInfo installing_version;
55a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)};
56a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
57a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)}  // namespace content
58a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
59a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#endif  // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_INFO_H_
60