Commit e7062b82 authored by Leon Han's avatar Leon Han Committed by Commit Bot

[OnionSoup] Remove typemapping of (blink.mojom.Referrer, blink::Referrer)

This CL removes the typemapping of
(blink.mojom.Referrer, blink::Referrer), a follow-up CL will remove the
typemapping of (blink.mojom.Referrer, content::Referrer), after that we
can move blink/public/platform/referrer.mojom into blink/public/mojom/.

BUG=789854

Change-Id: I9acb000e5f64939cd5898954e85f4288e2a88678
Reviewed-on: https://chromium-review.googlesource.com/c/1317344Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Leon Han <leon.han@intel.com>
Cr-Commit-Position: refs/heads/master@{#605265}
parent 17fc7e48
......@@ -17,7 +17,6 @@ typemaps = [
"//third_party/blink/renderer/platform/mojo/file.typemap",
"//third_party/blink/renderer/platform/mojo/geometry.typemap",
"//third_party/blink/renderer/platform/mojo/kurl.typemap",
"//third_party/blink/renderer/platform/mojo/referrer.typemap",
"//third_party/blink/renderer/platform/mojo/security_origin.typemap",
"//third_party/blink/renderer/platform/mojo/string.typemap",
"//third_party/blink/renderer/platform/mojo/time.typemap",
......
......@@ -10,7 +10,6 @@
#include "services/network/public/mojom/referrer_policy.mojom-blink.h"
#include "third_party/blink/renderer/platform/blob/serialized_blob_struct_traits.h"
#include "third_party/blink/renderer/platform/mojo/kurl_struct_traits.h"
#include "third_party/blink/renderer/platform/mojo/referrer_struct_traits.h"
#include "third_party/blink/renderer/platform/weborigin/referrer.h"
namespace mojo {
......@@ -41,10 +40,17 @@ StructTraits<blink::mojom::FetchAPIRequestDataView,
}
// static
const blink::Referrer& StructTraits<blink::mojom::FetchAPIRequestDataView,
blink::WebServiceWorkerRequest>::
blink::mojom::blink::ReferrerPtr
StructTraits<blink::mojom::FetchAPIRequestDataView,
blink::WebServiceWorkerRequest>::
referrer(const blink::WebServiceWorkerRequest& request) {
return request.GetReferrer();
blink::KURL url;
const blink::Referrer& referrer = request.GetReferrer();
if (referrer.referrer != blink::Referrer::NoReferrer())
url = blink::KURL(blink::KURL(), referrer.referrer);
return blink::mojom::blink::Referrer::New(
url,
static_cast<network::mojom::ReferrerPolicy>(referrer.referrer_policy));
}
// static
......@@ -81,7 +87,7 @@ bool StructTraits<blink::mojom::FetchAPIRequestDataView,
WTF::String method;
WTF::HashMap<WTF::String, WTF::String> headers;
scoped_refptr<blink::BlobDataHandle> blob;
blink::Referrer referrer;
blink::mojom::blink::ReferrerPtr referrer;
network::mojom::FetchCredentialsMode credentialsMode;
network::mojom::FetchRedirectMode redirectMode;
WTF::String integrity;
......@@ -106,9 +112,7 @@ bool StructTraits<blink::mojom::FetchAPIRequestDataView,
for (const auto& pair : headers)
out->SetHeader(pair.key, pair.value);
out->SetBlobDataHandle(blob);
out->SetReferrer(
referrer.referrer,
static_cast<network::mojom::ReferrerPolicy>(referrer.referrer_policy));
out->SetReferrer(referrer->url.GetString(), referrer->policy);
out->SetCredentialsMode(credentialsMode);
out->SetCacheMode(data.cache_mode());
out->SetRedirectMode(redirectMode);
......
......@@ -48,7 +48,7 @@ struct StructTraits<::blink::mojom::FetchAPIRequestDataView,
static scoped_refptr<::blink::BlobDataHandle> blob(
const ::blink::WebServiceWorkerRequest&);
static const ::blink::Referrer& referrer(
static ::blink::mojom::blink::ReferrerPtr referrer(
const ::blink::WebServiceWorkerRequest&);
static ::network::mojom::FetchCredentialsMode credentials_mode(
......
# Copyright 2017 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.
mojom = "//third_party/blink/public/platform/referrer.mojom"
public_headers =
[ "//third_party/blink/renderer/platform/weborigin/referrer.h" ]
traits_headers =
[ "//third_party/blink/renderer/platform/mojo/referrer_struct_traits.h" ]
deps = [
"//mojo/public/cpp/bindings",
"//url",
]
type_mappings = [ "blink.mojom.Referrer=::blink::Referrer" ]
// Copyright 2017 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_REFERRER_STRUCT_TRAITS_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_MOJO_REFERRER_STRUCT_TRAITS_H_
#include "services/network/public/mojom/referrer_policy.mojom-blink.h"
#include "third_party/blink/public/platform/referrer.mojom-blink.h"
#include "third_party/blink/renderer/platform/weborigin/referrer.h"
#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/wtf/assertions.h"
namespace mojo {
template <>
struct StructTraits<blink::mojom::ReferrerDataView, blink::Referrer> {
static blink::KURL url(const blink::Referrer& referrer) {
if (referrer.referrer == blink::Referrer::NoReferrer())
return blink::KURL();
return blink::KURL(blink::KURL(), referrer.referrer);
}
// Equality of values is asserted in //Source/web/AssertMatchingEnums.cpp.
static network::mojom::ReferrerPolicy policy(
const blink::Referrer& referrer) {
return static_cast<network::mojom::ReferrerPolicy>(
referrer.referrer_policy);
}
static bool Read(blink::mojom::ReferrerDataView data, blink::Referrer* out) {
blink::KURL referrer;
network::mojom::ReferrerPolicy referrer_policy;
if (!data.ReadUrl(&referrer) || !data.ReadPolicy(&referrer_policy))
return false;
out->referrer_policy = static_cast<blink::ReferrerPolicy>(referrer_policy);
if (referrer.GetString().IsEmpty())
out->referrer = g_null_atom;
else
out->referrer = AtomicString(referrer.GetString());
// Mimics the DCHECK() done in the blink::Referrer constructor.
return referrer.IsValid() || out->referrer == blink::Referrer::NoReferrer();
}
};
} // namespace mojo
#endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_MOJO_REFERRER_STRUCT_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