| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "content/common/service_worker/service_worker_client_info.h" |
| |
| #include "base/logging.h" |
| #include "content/common/service_worker/service_worker_types.h" |
| |
| namespace content { |
| |
| ServiceWorkerClientInfo::ServiceWorkerClientInfo() |
| : ServiceWorkerClientInfo(std::string(), |
| blink::WebPageVisibilityStateLast, |
| false, |
| GURL(), |
| REQUEST_CONTEXT_FRAME_TYPE_LAST, |
| base::TimeTicks(), |
| blink::WebServiceWorkerClientTypeLast) {} |
| |
| ServiceWorkerClientInfo::ServiceWorkerClientInfo( |
| const std::string& client_uuid, |
| blink::WebPageVisibilityState page_visibility_state, |
| bool is_focused, |
| const GURL& url, |
| RequestContextFrameType frame_type, |
| base::TimeTicks last_focus_time, |
| blink::WebServiceWorkerClientType client_type) |
| : client_uuid(client_uuid), |
| page_visibility_state(page_visibility_state), |
| is_focused(is_focused), |
| url(url), |
| frame_type(frame_type), |
| last_focus_time(last_focus_time), |
| client_type(client_type) {} |
| |
| ServiceWorkerClientInfo::ServiceWorkerClientInfo( |
| const ServiceWorkerClientInfo& other) = default; |
| |
| bool ServiceWorkerClientInfo::IsEmpty() const { |
| return page_visibility_state == blink::WebPageVisibilityStateLast && |
| is_focused == false && |
| url.is_empty() && |
| frame_type == REQUEST_CONTEXT_FRAME_TYPE_LAST && |
| client_type == blink::WebServiceWorkerClientTypeLast; |
| } |
| |
| bool ServiceWorkerClientInfo::IsValid() const { |
| return !IsEmpty() && !client_uuid.empty(); |
| } |
| |
| } // namespace content |