Commit 49c6533d authored by Henrique Ferreiro's avatar Henrique Ferreiro Committed by Commit Bot

Move WebCanonicalCookie out of public/platform

blink::WebCanonicalCookie has no users outside of //third_party/blink.
Move this class to //third_party/blink/renderer/platform as
blink::CanonicalCookie.

Bug: 919392
Change-Id: I352d287bc93b3d9801d5598de47d93dc3e8c09e2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1883576Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Henrique Ferreiro <hferreiro@igalia.com>
Cr-Commit-Position: refs/heads/master@{#710276}
parent 17b2adf1
......@@ -199,7 +199,6 @@ source_set("blink_headers") {
"platform/web_blob_info.h",
"platform/web_cache.h",
"platform/web_callbacks.h",
"platform/web_canonical_cookie.h",
"platform/web_client_hints_type.h",
"platform/web_coalesced_input_event.h",
"platform/web_color_scheme.h",
......
......@@ -39,7 +39,6 @@ include_rules = [
"+media/mojo/mojom/display_media_information.mojom-shared.h",
"+services/network/public/mojom/cors.mojom-shared.h",
"+services/network/public/mojom/fetch_api.mojom-shared.h",
"+services/network/public/mojom/restricted_cookie_manager.mojom-shared.h",
"+services/network/public/mojom/referrer_policy.mojom-shared.h",
"+services/service_manager/public/mojom",
......
......@@ -4,10 +4,14 @@
#include "third_party/blink/renderer/modules/cookie_store/cookie_change_event.h"
#include <utility>
#include "services/network/public/mojom/cookie_manager.mojom-blink.h"
#include "third_party/blink/renderer/core/dom/dom_time_stamp.h"
#include "third_party/blink/renderer/modules/cookie_store/cookie_change_event_init.h"
#include "third_party/blink/renderer/modules/cookie_store/cookie_list_item.h"
#include "third_party/blink/renderer/modules/event_modules.h"
#include "third_party/blink/renderer/platform/cookie/canonical_cookie.h"
#include "third_party/blink/renderer/platform/heap/handle.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
......@@ -65,7 +69,7 @@ String ToCookieListItemSameSite(network::mojom::CookieSameSite same_site) {
// static
CookieListItem* CookieChangeEvent::ToCookieListItem(
const WebCanonicalCookie& canonical_cookie,
const CanonicalCookie& canonical_cookie,
bool is_deleted) {
CookieListItem* list_item = CookieListItem::Create();
......@@ -91,7 +95,7 @@ CookieListItem* CookieChangeEvent::ToCookieListItem(
// static
void CookieChangeEvent::ToEventInfo(
const WebCanonicalCookie& backend_cookie,
const CanonicalCookie& backend_cookie,
::network::mojom::CookieChangeCause change_cause,
HeapVector<Member<CookieListItem>>& changed,
HeapVector<Member<CookieListItem>>& deleted) {
......
......@@ -5,7 +5,9 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_COOKIE_STORE_COOKIE_CHANGE_EVENT_H_
#define THIRD_PARTY_BLINK_RENDERER_MODULES_COOKIE_STORE_COOKIE_CHANGE_EVENT_H_
#include "third_party/blink/public/platform/web_canonical_cookie.h"
#include <utility>
#include "services/network/public/mojom/cookie_manager.mojom-blink-forward.h"
#include "third_party/blink/renderer/modules/cookie_store/cookie_list_item.h"
#include "third_party/blink/renderer/modules/event_modules.h"
#include "third_party/blink/renderer/platform/heap/handle.h"
......@@ -14,6 +16,7 @@
namespace blink {
class CanonicalCookie;
class CookieChangeEventInit;
class CookieChangeEvent final : public Event {
......@@ -59,11 +62,11 @@ class CookieChangeEvent final : public Event {
void Trace(blink::Visitor*) override;
static CookieListItem* ToCookieListItem(
const WebCanonicalCookie& canonical_cookie,
const CanonicalCookie& canonical_cookie,
bool is_deleted); // True for information from a cookie deletion event.
// Helper for converting backend event information into a CookieChangeEvent.
static void ToEventInfo(const WebCanonicalCookie& cookie,
static void ToEventInfo(const CanonicalCookie& cookie,
::network::mojom::CookieChangeCause cause,
HeapVector<Member<CookieListItem>>& changed,
HeapVector<Member<CookieListItem>>& deleted);
......
......@@ -22,6 +22,7 @@
#include "third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h"
#include "third_party/blink/renderer/modules/service_worker/service_worker_registration.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
#include "third_party/blink/renderer/platform/cookie/canonical_cookie.h"
#include "third_party/blink/renderer/platform/heap/handle.h"
#include "third_party/blink/renderer/platform/heap/heap.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
......@@ -65,7 +66,7 @@ network::mojom::blink::CookieManagerGetOptionsPtr ToBackendOptions(
}
// Returns no value if and only if an exception is thrown.
base::Optional<WebCanonicalCookie> ToWebCanonicalCookie(
base::Optional<CanonicalCookie> ToCanonicalCookie(
const KURL& cookie_url,
const CookieStoreSetExtraOptions* options,
ExceptionState& exception_state) {
......@@ -138,10 +139,10 @@ base::Optional<WebCanonicalCookie> ToWebCanonicalCookie(
same_site = network::mojom::CookieSameSite::NO_RESTRICTION;
}
return WebCanonicalCookie::Create(
return CanonicalCookie::Create(
name, value, domain, options->path(), base::Time() /*creation*/, expires,
base::Time() /*last_access*/, secure, false /*http_only*/, same_site,
WebCanonicalCookie::kDefaultPriority);
CanonicalCookie::kDefaultPriority);
}
// Returns null if and only if an exception is thrown.
......@@ -495,7 +496,7 @@ ScriptPromise CookieStore::DoRead(
// static
void CookieStore::GetAllForUrlToGetAllResult(
ScriptPromiseResolver* resolver,
const Vector<WebCanonicalCookie>& backend_cookies) {
const Vector<CanonicalCookie>& backend_cookies) {
ScriptState* script_state = resolver->GetScriptState();
if (!script_state->ContextIsValid())
return;
......@@ -513,7 +514,7 @@ void CookieStore::GetAllForUrlToGetAllResult(
// static
void CookieStore::GetAllForUrlToGetResult(
ScriptPromiseResolver* resolver,
const Vector<WebCanonicalCookie>& backend_cookies) {
const Vector<CanonicalCookie>& backend_cookies) {
ScriptState* script_state = resolver->GetScriptState();
if (!script_state->ContextIsValid())
return;
......@@ -532,8 +533,8 @@ void CookieStore::GetAllForUrlToGetResult(
ScriptPromise CookieStore::DoWrite(ScriptState* script_state,
const CookieStoreSetExtraOptions* options,
ExceptionState& exception_state) {
base::Optional<WebCanonicalCookie> canonical_cookie =
ToWebCanonicalCookie(default_cookie_url_, options, exception_state);
base::Optional<CanonicalCookie> canonical_cookie =
ToCanonicalCookie(default_cookie_url_, options, exception_state);
if (!canonical_cookie) {
DCHECK(exception_state.HadException());
return ScriptPromise();
......
......@@ -9,7 +9,6 @@
#include "mojo/public/cpp/bindings/remote.h"
#include "services/network/public/mojom/restricted_cookie_manager.mojom-blink-forward.h"
#include "third_party/blink/public/mojom/cookie_store/cookie_store.mojom-blink.h"
#include "third_party/blink/public/platform/web_canonical_cookie.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
#include "third_party/blink/renderer/core/dom/events/event_target.h"
#include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
......@@ -21,6 +20,7 @@
namespace blink {
class CanonicalCookie;
class CookieStoreDeleteOptions;
class CookieStoreGetOptions;
class CookieStoreSetOptions;
......@@ -97,8 +97,8 @@ class CookieStore final : public EventTargetWithInlineData,
const RegisteredEventListener&) final;
private:
using DoReadBackendResultConverter =
void (*)(ScriptPromiseResolver*, const Vector<WebCanonicalCookie>&);
using DoReadBackendResultConverter = void (*)(ScriptPromiseResolver*,
const Vector<CanonicalCookie>&);
// Common code in CookieStore::{get,getAll}.
//
......@@ -115,13 +115,13 @@ class CookieStore final : public EventTargetWithInlineData,
// the promise result expected by CookieStore.getAll.
static void GetAllForUrlToGetAllResult(
ScriptPromiseResolver*,
const Vector<WebCanonicalCookie>& backend_result);
const Vector<CanonicalCookie>& backend_result);
// Converts the result of a RestrictedCookieManager::GetAllForUrl mojo call to
// the promise result expected by CookieStore.get.
static void GetAllForUrlToGetResult(
ScriptPromiseResolver*,
const Vector<WebCanonicalCookie>& backend_result);
const Vector<CanonicalCookie>& backend_result);
// Common code in CookieStore::delete and CookieStore::set.
ScriptPromise DoWrite(ScriptState*,
......
......@@ -464,6 +464,10 @@ jumbo_component("platform") {
"bindings/wrapper_type_info.cc",
"bindings/wrapper_type_info.h",
"content_decryption_module_result.h",
"cookie/canonical_cookie.cc",
"cookie/canonical_cookie.h",
"cookie/canonical_cookie_mojom_traits.cc",
"cookie/canonical_cookie_mojom_traits.h",
"cpu/mips/common_macros_msa.h",
"crypto.cc",
"crypto.h",
......@@ -489,7 +493,6 @@ jumbo_component("platform") {
"exported/web_audio_device.cc",
"exported/web_blob_info.cc",
"exported/web_cache.cc",
"exported/web_canonical_cookie.cc",
"exported/web_coalesced_input_event.cc",
"exported/web_content_decryption_module.cc",
"exported/web_content_decryption_module_access.cc",
......@@ -1226,8 +1229,6 @@ jumbo_component("platform") {
"mojo/big_string_mojom_traits.h",
"mojo/bluetooth_mojom_traits.cc",
"mojo/bluetooth_mojom_traits.h",
"mojo/canonical_cookie_mojom_traits.cc",
"mojo/canonical_cookie_mojom_traits.h",
"mojo/fetch_api_request_headers_mojom_traits.h",
"mojo/mojo_helper.h",
"mojo/string16_mojom_traits.cc",
......@@ -1721,13 +1722,13 @@ jumbo_source_set("blink_platform_unittests_sources") {
"audio/vector_math_test.cc",
"bindings/parkable_string_test.cc",
"bindings/runtime_call_stats_test.cc",
"cookie/canonical_cookie_test.cc",
"exported/file_path_conversion_test.cc",
"exported/mediastream/media_stream_audio_processor_options_test.cc",
"exported/mediastream/media_stream_audio_test.cc",
"exported/mediastream/webrtc_uma_histograms_test.cc",
"exported/page_zoom_test.cc",
"exported/video_capture/web_video_capture_impl_manager_test.cc",
"exported/web_canonical_cookie_test.cc",
"exported/web_icon_sizes_parser_test.cc",
"exported/web_screen_info_test.cc",
"exported/web_string_test.cc",
......
include_rules = [
# Don't depend on platform/.
"-third_party/blink/renderer/platform",
# Module.
"+third_party/blink/renderer/platform/cookie",
# Dependencies.
"+third_party/blink/renderer/platform/platform_export.h",
"+third_party/blink/renderer/platform/weborigin",
"+third_party/blink/renderer/platform/wtf",
]
specific_include_rules = {
"canonical_cookie.cc": [
"+net/cookies/canonical_cookie.h",
"+net/cookies/cookie_constants.h",
],
}
per-file *_mojom_traits*.*=set noparent
per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS
per-file *.typemap=set noparent
per-file *.typemap=file://ipc/SECURITY_OWNERS
......@@ -2,13 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/public/platform/web_canonical_cookie.h"
#include "third_party/blink/renderer/platform/cookie/canonical_cookie.h"
#include <memory>
#include <utility>
#include "base/optional.h"
#include "net/cookies/canonical_cookie.h"
#include "net/cookies/cookie_constants.h"
#include "third_party/blink/public/platform/web_url.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
#include "url/gurl.h"
......@@ -32,13 +34,13 @@ STATIC_ASSERT_ENUM(net::CookiePriority::COOKIE_PRIORITY_MEDIUM,
STATIC_ASSERT_ENUM(net::CookiePriority::COOKIE_PRIORITY_HIGH,
network::mojom::CookiePriority::HIGH);
STATIC_ASSERT_ENUM(net::CookiePriority::COOKIE_PRIORITY_DEFAULT,
blink::WebCanonicalCookie::kDefaultPriority);
blink::CanonicalCookie::kDefaultPriority);
namespace blink {
namespace {
net::CanonicalCookie ToNetCanonicalCookie(const WebCanonicalCookie& cookie) {
net::CanonicalCookie ToNetCanonicalCookie(const CanonicalCookie& cookie) {
net::CanonicalCookie net_cookie(
cookie.Name().Utf8(), cookie.Value().Utf8(), cookie.Domain().Utf8(),
cookie.Path().Utf8(), cookie.CreationDate(), cookie.ExpiryDate(),
......@@ -51,19 +53,19 @@ net::CanonicalCookie ToNetCanonicalCookie(const WebCanonicalCookie& cookie) {
} // namespace
WebCanonicalCookie::WebCanonicalCookie() = default;
WebCanonicalCookie::WebCanonicalCookie(WebString name,
WebString value,
WebString domain,
WebString path,
base::Time creation,
base::Time expiration,
base::Time last_access,
bool is_secure,
bool is_http_only,
network::mojom::CookieSameSite same_site,
network::mojom::CookiePriority priority)
CanonicalCookie::CanonicalCookie() = default;
CanonicalCookie::CanonicalCookie(WebString name,
WebString value,
WebString domain,
WebString path,
base::Time creation,
base::Time expiration,
base::Time last_access,
bool is_secure,
bool is_http_only,
network::mojom::CookieSameSite same_site,
network::mojom::CookiePriority priority)
: name_(std::move(name)),
value_(std::move(value)),
domain_(std::move(domain)),
......@@ -78,13 +80,12 @@ WebCanonicalCookie::WebCanonicalCookie(WebString name,
DCHECK(ToNetCanonicalCookie(*this).IsCanonical());
}
WebCanonicalCookie::WebCanonicalCookie(const WebCanonicalCookie& other) =
default;
CanonicalCookie::CanonicalCookie(const CanonicalCookie& other) = default;
WebCanonicalCookie& WebCanonicalCookie::operator=(
const WebCanonicalCookie& other) = default;
CanonicalCookie& CanonicalCookie::operator=(const CanonicalCookie& other) =
default;
WebCanonicalCookie::~WebCanonicalCookie() = default;
CanonicalCookie::~CanonicalCookie() = default;
namespace {
......@@ -99,7 +100,7 @@ GURL ToGURL(const WebURL& url) {
} // namespace
// static
base::Optional<WebCanonicalCookie> WebCanonicalCookie::Create(
base::Optional<CanonicalCookie> CanonicalCookie::Create(
const WebURL& url,
const WebString& cookie_line,
base::Time creation_time) {
......@@ -108,7 +109,7 @@ base::Optional<WebCanonicalCookie> WebCanonicalCookie::Create(
base::nullopt /* server_time */);
if (!cookie)
return base::nullopt;
return WebCanonicalCookie(
return CanonicalCookie(
WebString::FromUTF8(cookie->Name()), WebString::FromUTF8(cookie->Value()),
WebString::FromUTF8(cookie->Domain()),
WebString::FromUTF8(cookie->Path()), cookie->CreationDate(),
......@@ -119,7 +120,7 @@ base::Optional<WebCanonicalCookie> WebCanonicalCookie::Create(
}
// static
base::Optional<WebCanonicalCookie> WebCanonicalCookie::Create(
base::Optional<CanonicalCookie> CanonicalCookie::Create(
WebString name,
WebString value,
WebString domain,
......@@ -139,13 +140,12 @@ base::Optional<WebCanonicalCookie> WebCanonicalCookie::Create(
if (!net_cookie.IsCanonical())
return base::nullopt;
return WebCanonicalCookie(std::move(name), std::move(value),
std::move(domain), std::move(path), creation,
expiration, last_access, is_secure, is_http_only,
same_site, priority);
return CanonicalCookie(std::move(name), std::move(value), std::move(domain),
std::move(path), creation, expiration, last_access,
is_secure, is_http_only, same_site, priority);
}
constexpr const network::mojom::CookiePriority
WebCanonicalCookie::kDefaultPriority;
CanonicalCookie::kDefaultPriority;
} // namespace blink
......@@ -2,30 +2,29 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_CANONICAL_COOKIE_H_
#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_CANONICAL_COOKIE_H_
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_COOKIE_CANONICAL_COOKIE_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_COOKIE_CANONICAL_COOKIE_H_
#include "base/optional.h"
#include "base/time/time.h"
#include "services/network/public/mojom/restricted_cookie_manager.mojom-shared.h"
#include "services/network/public/mojom/cookie_manager.mojom-shared.h"
#include "third_party/blink/public/platform/web_common.h"
#include "third_party/blink/public/platform/web_string.h"
#include "third_party/blink/public/platform/web_url.h"
#include "third_party/blink/renderer/platform/platform_export.h" // nogncheck
namespace blink {
class WebURL;
// This class is a blink analogue for net::CanonicalCookie.
// TODO(jsbell): Once all prospective clients are migrated to blink, move this
// to renderer/platform as blink::CanonicalCookie.
class BLINK_PLATFORM_EXPORT WebCanonicalCookie {
class BLINK_PLATFORM_EXPORT CanonicalCookie {
public:
// Default/copy constructor needed for use with Vector.
WebCanonicalCookie();
WebCanonicalCookie(const WebCanonicalCookie& other);
CanonicalCookie();
CanonicalCookie(const CanonicalCookie& other);
~WebCanonicalCookie();
~CanonicalCookie();
WebCanonicalCookie& operator=(const WebCanonicalCookie& other);
CanonicalCookie& operator=(const CanonicalCookie& other);
const WebString& Name() const { return name_; }
const WebString& Value() const { return value_; }
......@@ -40,7 +39,7 @@ class BLINK_PLATFORM_EXPORT WebCanonicalCookie {
network::mojom::CookiePriority Priority() const { return priority_; }
// If the result is not canonical, nullopt will be returned.
static base::Optional<WebCanonicalCookie> Create(
static base::Optional<CanonicalCookie> Create(
WebString name,
WebString value,
WebString domain,
......@@ -55,9 +54,9 @@ class BLINK_PLATFORM_EXPORT WebCanonicalCookie {
// Parsing, for the document.cookie API.
// If the result is not canonical, nullopt will be returned.
static base::Optional<WebCanonicalCookie> Create(const WebURL& url,
const WebString& cookie_line,
base::Time creation_time);
static base::Optional<CanonicalCookie> Create(const WebURL& url,
const WebString& cookie_line,
base::Time creation_time);
static constexpr const network::mojom::CookiePriority kDefaultPriority =
network::mojom::CookiePriority::MEDIUM;
......@@ -65,17 +64,17 @@ class BLINK_PLATFORM_EXPORT WebCanonicalCookie {
private:
// Prefer static Create methods, which ensure that the returned cookie is
// canonical.
WebCanonicalCookie(WebString name,
WebString value,
WebString domain,
WebString path,
base::Time creation,
base::Time expiration,
base::Time last_access,
bool is_secure,
bool is_http_only,
network::mojom::CookieSameSite same_site,
network::mojom::CookiePriority priority);
CanonicalCookie(WebString name,
WebString value,
WebString domain,
WebString path,
base::Time creation,
base::Time expiration,
base::Time last_access,
bool is_secure,
bool is_http_only,
network::mojom::CookieSameSite same_site,
network::mojom::CookiePriority priority);
WebString name_;
WebString value_;
......@@ -93,4 +92,4 @@ class BLINK_PLATFORM_EXPORT WebCanonicalCookie {
} // namespace blink
#endif // THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_CANONICAL_COOKIE_H_
#endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_COOKIE_CANONICAL_COOKIE_H_
......@@ -4,11 +4,9 @@
mojom = "//services/network/public/mojom/cookie_manager.mojom"
public_headers =
[ "//third_party/blink/public/platform/web_canonical_cookie.h" ]
traits_headers = [
"//third_party/blink/renderer/platform/mojo/canonical_cookie_mojom_traits.h",
]
[ "//third_party/blink/renderer/platform/cookie/canonical_cookie.h" ]
traits_headers = [ "//third_party/blink/renderer/platform/cookie/canonical_cookie_mojom_traits.h" ]
deps = [
"//mojo/public/cpp/bindings",
]
type_mappings = [ "network.mojom.CanonicalCookie=::blink::WebCanonicalCookie" ]
type_mappings = [ "network.mojom.CanonicalCookie=::blink::CanonicalCookie" ]
......@@ -2,97 +2,98 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/platform/mojo/canonical_cookie_mojom_traits.h"
#include "third_party/blink/renderer/platform/cookie/canonical_cookie_mojom_traits.h"
#include <utility>
#include "base/optional.h"
#include "mojo/public/cpp/base/time_mojom_traits.h"
#include "mojo/public/cpp/bindings/string_traits_wtf.h"
#include "third_party/blink/renderer/platform/wtf/assertions.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
namespace mojo {
// static
WTF::String StructTraits<
network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::name(const blink::WebCanonicalCookie& c) {
WTF::String
StructTraits<network::mojom::CanonicalCookieDataView,
blink::CanonicalCookie>::name(const blink::CanonicalCookie& c) {
return c.Name();
}
// static
WTF::String StructTraits<
network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::value(const blink::WebCanonicalCookie& c) {
WTF::String
StructTraits<network::mojom::CanonicalCookieDataView,
blink::CanonicalCookie>::value(const blink::CanonicalCookie& c) {
return c.Value();
}
// static
WTF::String StructTraits<
network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::domain(const blink::WebCanonicalCookie& c) {
WTF::String
StructTraits<network::mojom::CanonicalCookieDataView,
blink::CanonicalCookie>::domain(const blink::CanonicalCookie& c) {
return c.Domain();
}
// static
WTF::String StructTraits<
network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::path(const blink::WebCanonicalCookie& c) {
WTF::String
StructTraits<network::mojom::CanonicalCookieDataView,
blink::CanonicalCookie>::path(const blink::CanonicalCookie& c) {
return c.Path();
}
// static
base::Time StructTraits<
network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::creation(const blink::WebCanonicalCookie& c) {
blink::CanonicalCookie>::creation(const blink::CanonicalCookie& c) {
return c.CreationDate();
}
// static
base::Time StructTraits<
network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::expiry(const blink::WebCanonicalCookie& c) {
base::Time
StructTraits<network::mojom::CanonicalCookieDataView,
blink::CanonicalCookie>::expiry(const blink::CanonicalCookie& c) {
return c.ExpiryDate();
}
// static
base::Time StructTraits<network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::
last_access(const blink::WebCanonicalCookie& c) {
base::Time StructTraits<
network::mojom::CanonicalCookieDataView,
blink::CanonicalCookie>::last_access(const blink::CanonicalCookie& c) {
return c.LastAccessDate();
}
// static
bool StructTraits<
network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::secure(const blink::WebCanonicalCookie& c) {
bool StructTraits<network::mojom::CanonicalCookieDataView,
blink::CanonicalCookie>::secure(const blink::CanonicalCookie&
c) {
return c.IsSecure();
}
// static
bool StructTraits<
network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::httponly(const blink::WebCanonicalCookie& c) {
blink::CanonicalCookie>::httponly(const blink::CanonicalCookie& c) {
return c.IsHttpOnly();
}
// static
network::mojom::CookieSameSite
StructTraits<network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::
site_restrictions(const blink::WebCanonicalCookie& c) {
StructTraits<network::mojom::CanonicalCookieDataView, blink::CanonicalCookie>::
site_restrictions(const blink::CanonicalCookie& c) {
return c.SameSite();
}
// static
network::mojom::CookiePriority StructTraits<
network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::priority(const blink::WebCanonicalCookie& c) {
blink::CanonicalCookie>::priority(const blink::CanonicalCookie& c) {
return c.Priority();
}
// static
bool StructTraits<network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie>::
blink::CanonicalCookie>::
Read(network::mojom::CanonicalCookieDataView cookie,
blink::WebCanonicalCookie* out) {
blink::CanonicalCookie* out) {
WTF::String name;
if (!cookie.ReadName(&name))
return false;
......@@ -129,8 +130,8 @@ bool StructTraits<network::mojom::CanonicalCookieDataView,
if (!cookie.ReadPriority(&priority))
return false;
base::Optional<blink::WebCanonicalCookie> created =
blink::WebCanonicalCookie::Create(
base::Optional<blink::CanonicalCookie> created =
blink::CanonicalCookie::Create(
name, value, domain, path, creation, expiry, last_access,
cookie.secure(), cookie.httponly(), site_restrictions, priority);
if (!created)
......
// Copyright 2018 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.
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_COOKIE_CANONICAL_COOKIE_MOJOM_TRAITS_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_COOKIE_CANONICAL_COOKIE_MOJOM_TRAITS_H_
#include "base/time/time.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "services/network/public/mojom/cookie_manager.mojom-blink-forward.h"
#include "services/network/public/mojom/cookie_manager.mojom-shared.h"
#include "third_party/blink/renderer/platform/cookie/canonical_cookie.h"
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/blink/renderer/platform/wtf/forward.h"
namespace mojo {
template <>
struct PLATFORM_EXPORT StructTraits<network::mojom::CanonicalCookieDataView,
blink::CanonicalCookie> {
static WTF::String name(const blink::CanonicalCookie& c);
static WTF::String value(const blink::CanonicalCookie& c);
static WTF::String domain(const blink::CanonicalCookie& c);
static WTF::String path(const blink::CanonicalCookie& c);
static base::Time creation(const blink::CanonicalCookie& c);
static base::Time expiry(const blink::CanonicalCookie& c);
static base::Time last_access(const blink::CanonicalCookie& c);
static bool secure(const blink::CanonicalCookie& c);
static bool httponly(const blink::CanonicalCookie& c);
static network::mojom::CookieSameSite site_restrictions(
const blink::CanonicalCookie& c);
static network::mojom::CookiePriority priority(
const blink::CanonicalCookie& c);
static bool Read(network::mojom::CanonicalCookieDataView cookie,
blink::CanonicalCookie* out);
};
} // namespace mojo
#endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_COOKIE_CANONICAL_COOKIE_MOJOM_TRAITS_H_
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/public/platform/web_canonical_cookie.h"
#include "third_party/blink/renderer/platform/cookie/canonical_cookie.h"
#include <initializer_list>
......@@ -15,8 +15,8 @@
namespace blink {
TEST(WebCanonicalCookieTest, Defaults) {
WebCanonicalCookie cookie;
TEST(CanonicalCookieTest, Defaults) {
CanonicalCookie cookie;
EXPECT_EQ(WebString(), cookie.Name());
EXPECT_EQ(WebString(), cookie.Value());
EXPECT_EQ(WebString(), cookie.Domain());
......@@ -27,26 +27,26 @@ TEST(WebCanonicalCookieTest, Defaults) {
EXPECT_FALSE(cookie.IsSecure());
EXPECT_FALSE(cookie.IsHttpOnly());
EXPECT_EQ(network::mojom::CookieSameSite::NO_RESTRICTION, cookie.SameSite());
EXPECT_EQ(WebCanonicalCookie::kDefaultPriority, cookie.Priority());
EXPECT_EQ(CanonicalCookie::kDefaultPriority, cookie.Priority());
}
TEST(WebCanonicalCookieTest, CreationFailure) {
TEST(CanonicalCookieTest, CreationFailure) {
const WebURL url(KURL("http://example.com"));
// Invalid cookie lines cause nullopt to be returned.
EXPECT_FALSE(
WebCanonicalCookie::Create(url, "\x01", base::Time::Now()).has_value());
CanonicalCookie::Create(url, "\x01", base::Time::Now()).has_value());
// Invalid names cause nullopt to be returned.
EXPECT_FALSE(WebCanonicalCookie::Create(
EXPECT_FALSE(CanonicalCookie::Create(
"\x01", "value", "domain", "/path", base::Time::Now(),
base::Time::Now(), base::Time::Now(), false, false,
network::mojom::CookieSameSite::NO_RESTRICTION,
WebCanonicalCookie::kDefaultPriority)
CanonicalCookie::kDefaultPriority)
.has_value());
}
TEST(WebCanonicalCookieTest, Properties) {
TEST(CanonicalCookieTest, Properties) {
const base::Time t1 = base::Time::FromDoubleT(1);
const base::Time t2 = base::Time::FromDoubleT(2);
const base::Time t3 = base::Time::FromDoubleT(3);
......@@ -54,12 +54,12 @@ TEST(WebCanonicalCookieTest, Properties) {
ASSERT_NE(t1, t3);
ASSERT_NE(t2, t3);
base::Optional<WebCanonicalCookie> cookie_opt = WebCanonicalCookie::Create(
base::Optional<CanonicalCookie> cookie_opt = CanonicalCookie::Create(
"name", "value", "domain", "/path", t1, t2, t3, true, true,
network::mojom::CookieSameSite::STRICT_MODE,
network::mojom::CookiePriority::HIGH);
ASSERT_TRUE(cookie_opt);
WebCanonicalCookie& cookie = cookie_opt.value();
CanonicalCookie& cookie = cookie_opt.value();
EXPECT_EQ("name", cookie.Name());
EXPECT_EQ("value", cookie.Value());
......@@ -78,9 +78,9 @@ TEST(WebCanonicalCookieTest, Properties) {
network::mojom::CookieSameSite::LAX_MODE,
network::mojom::CookieSameSite::STRICT_MODE}) {
EXPECT_EQ(same_site,
WebCanonicalCookie::Create("name", "value", "domain", "/path", t1,
t2, t3, false, false, same_site,
WebCanonicalCookie::kDefaultPriority)
CanonicalCookie::Create("name", "value", "domain", "/path", t1,
t2, t3, false, false, same_site,
CanonicalCookie::kDefaultPriority)
->SameSite());
}
......@@ -88,9 +88,9 @@ TEST(WebCanonicalCookieTest, Properties) {
for (auto priority : {network::mojom::CookiePriority::LOW,
network::mojom::CookiePriority::MEDIUM,
network::mojom::CookiePriority::HIGH,
WebCanonicalCookie::kDefaultPriority}) {
CanonicalCookie::kDefaultPriority}) {
EXPECT_EQ(priority,
WebCanonicalCookie::Create(
CanonicalCookie::Create(
"name", "value", "domain", "/path", t1, t2, t3, false, false,
network::mojom::CookieSameSite::NO_RESTRICTION, priority)
->Priority());
......
include_rules = [
"+net/base/load_flags.h",
"+net/cookies/canonical_cookie.h",
"+net/cookies/cookie_constants.h",
"+services/network/public/cpp/features.h",
]
......
......@@ -16,8 +16,8 @@ typemaps = [
"//third_party/blink/renderer/core/messaging/blink_transferable_message.typemap",
"//third_party/blink/renderer/modules/indexeddb/indexed_db_blink.typemap",
"//third_party/blink/renderer/platform/blob/serialized_blob.typemap",
"//third_party/blink/renderer/platform/cookie/canonical_cookie.typemap",
"//third_party/blink/renderer/platform/mojo/big_string.typemap",
"//third_party/blink/renderer/platform/mojo/canonical_cookie.typemap",
"//third_party/blink/renderer/platform/mojo/fetch_api_request_headers.typemap",
"//third_party/blink/renderer/platform/mojo/geometry.typemap",
"//third_party/blink/renderer/platform/mojo/kurl.typemap",
......
// Copyright 2018 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.
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_MOJO_CANONICAL_COOKIE_MOJOM_TRAITS_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_MOJO_CANONICAL_COOKIE_MOJOM_TRAITS_H_
#include "base/time/time.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "services/network/public/mojom/restricted_cookie_manager.mojom-blink-forward.h"
#include "third_party/blink/public/platform/web_canonical_cookie.h"
#include "third_party/blink/public/platform/web_string.h"
namespace mojo {
template <>
struct PLATFORM_EXPORT StructTraits<network::mojom::CanonicalCookieDataView,
blink::WebCanonicalCookie> {
static WTF::String name(const blink::WebCanonicalCookie& c);
static WTF::String value(const blink::WebCanonicalCookie& c);
static WTF::String domain(const blink::WebCanonicalCookie& c);
static WTF::String path(const blink::WebCanonicalCookie& c);
static base::Time creation(const blink::WebCanonicalCookie& c);
static base::Time expiry(const blink::WebCanonicalCookie& c);
static base::Time last_access(const blink::WebCanonicalCookie& c);
static bool secure(const blink::WebCanonicalCookie& c);
static bool httponly(const blink::WebCanonicalCookie& c);
static network::mojom::CookieSameSite site_restrictions(
const blink::WebCanonicalCookie& c);
static network::mojom::CookiePriority priority(
const blink::WebCanonicalCookie& c);
static bool Read(network::mojom::CanonicalCookieDataView cookie,
blink::WebCanonicalCookie* out);
};
} // namespace mojo
#endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_MOJO_CANONICAL_COOKIE_MOJOM_TRAITS_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment