Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(739)

Unified Diff: third_party/WebKit/Source/modules/background_fetch/BackgroundFetchTypeConverters.cpp

Issue 2762573003: Implement BackgroundFetchManager.fetch() and struct traits (Closed)
Patch Set: First round of comments Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698