| Index: third_party/WebKit/Source/modules/background_fetch/BackgroundFetchTypeConverters.cpp
|
| diff --git a/third_party/WebKit/Source/modules/background_fetch/BackgroundFetchTypeConverters.cpp b/third_party/WebKit/Source/modules/background_fetch/BackgroundFetchTypeConverters.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..54f0c422e3fb3abed772c324e0b464d10f62e912
|
| --- /dev/null
|
| +++ b/third_party/WebKit/Source/modules/background_fetch/BackgroundFetchTypeConverters.cpp
|
| @@ -0,0 +1,75 @@
|
| +// 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.
|
| +
|
| +#include "modules/background_fetch/BackgroundFetchTypeConverters.h"
|
| +
|
| +#include <utility>
|
| +#include "modules/background_fetch/BackgroundFetchRegistration.h"
|
| +#include "platform/heap/HeapAllocator.h"
|
| +
|
| +namespace mojo {
|
| +
|
| +blink::BackgroundFetchRegistration*
|
| +TypeConverter<blink::BackgroundFetchRegistration*,
|
| + blink::mojom::blink::BackgroundFetchRegistrationPtr>::
|
| + Convert(const blink::mojom::blink::BackgroundFetchRegistrationPtr&
|
| + mojoRegistration) {
|
| + if (!mojoRegistration)
|
| + return nullptr;
|
| +
|
| + blink::HeapVector<blink::IconDefinition> icons;
|
| + icons.reserveInitialCapacity(mojoRegistration->icons.size());
|
| +
|
| + for (const auto& iconPtr : mojoRegistration->icons)
|
| + icons.push_back(iconPtr.To<blink::IconDefinition>());
|
| +
|
| + return new blink::BackgroundFetchRegistration(
|
| + mojoRegistration->tag, std::move(icons),
|
| + mojoRegistration->total_download_size, mojoRegistration->title);
|
| +}
|
| +
|
| +blink::mojom::blink::BackgroundFetchOptionsPtr TypeConverter<
|
| + blink::mojom::blink::BackgroundFetchOptionsPtr,
|
| + blink::BackgroundFetchOptions>::Convert(const blink::BackgroundFetchOptions&
|
| + options) {
|
| + blink::mojom::blink::BackgroundFetchOptionsPtr mojoOptions =
|
| + blink::mojom::blink::BackgroundFetchOptions::New();
|
| +
|
| + WTF::Vector<blink::mojom::blink::IconDefinitionPtr> mojoIcons;
|
| + mojoIcons.reserveInitialCapacity(options.icons().size());
|
| +
|
| + for (const auto& icon : options.icons())
|
| + mojoIcons.push_back(blink::mojom::blink::IconDefinition::From(icon));
|
| +
|
| + mojoOptions->icons = std::move(mojoIcons);
|
| + mojoOptions->total_download_size = options.totalDownloadSize();
|
| + mojoOptions->title = options.title();
|
| +
|
| + return mojoOptions;
|
| +}
|
| +
|
| +blink::IconDefinition
|
| +TypeConverter<blink::IconDefinition, blink::mojom::blink::IconDefinitionPtr>::
|
| + Convert(const blink::mojom::blink::IconDefinitionPtr& mojoDefinition) {
|
| + blink::IconDefinition definition;
|
| + definition.setSrc(mojoDefinition->src);
|
| + definition.setSizes(mojoDefinition->sizes);
|
| + definition.setType(mojoDefinition->type);
|
| +
|
| + return definition;
|
| +}
|
| +
|
| +blink::mojom::blink::IconDefinitionPtr TypeConverter<
|
| + blink::mojom::blink::IconDefinitionPtr,
|
| + blink::IconDefinition>::Convert(const blink::IconDefinition& definition) {
|
| + blink::mojom::blink::IconDefinitionPtr mojoDefinition =
|
| + blink::mojom::blink::IconDefinition::New();
|
| + mojoDefinition->src = definition.src();
|
| + mojoDefinition->sizes = definition.sizes();
|
| + mojoDefinition->type = definition.type();
|
| +
|
| + return mojoDefinition;
|
| +}
|
| +
|
| +} // namespace mojo
|
|
|