1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/child/notifications/notification_data_conversions.h"
7 #include "base/strings/utf_string_conversions.h"
8 #include "third_party/WebKit/public/platform/WebString.h"
9 #include "third_party/WebKit/public/platform/WebURL.h"
11 using blink::WebNotificationData
;
15 PlatformNotificationData
ToPlatformNotificationData(
16 const WebNotificationData
& web_data
) {
17 PlatformNotificationData platform_data
;
18 platform_data
.title
= web_data
.title
;
19 platform_data
.direction
=
20 web_data
.direction
== WebNotificationData::DirectionLeftToRight
21 ? PlatformNotificationData::NotificationDirectionLeftToRight
22 : PlatformNotificationData::NotificationDirectionRightToLeft
;
23 platform_data
.lang
= base::UTF16ToUTF8(web_data
.lang
);
24 platform_data
.body
= web_data
.body
;
25 platform_data
.tag
= base::UTF16ToUTF8(web_data
.tag
);
26 platform_data
.icon
= GURL(web_data
.icon
.string());
27 platform_data
.vibration_pattern
.assign(web_data
.vibrate
.begin(),
28 web_data
.vibrate
.end());
29 platform_data
.silent
= web_data
.silent
;
30 platform_data
.data
.assign(web_data
.data
.begin(), web_data
.data
.end());
35 WebNotificationData
ToWebNotificationData(
36 const PlatformNotificationData
& platform_data
) {
37 WebNotificationData web_data
;
38 web_data
.title
= platform_data
.title
;
40 platform_data
.direction
==
41 PlatformNotificationData::NotificationDirectionLeftToRight
42 ? WebNotificationData::DirectionLeftToRight
43 : WebNotificationData::DirectionRightToLeft
;
44 web_data
.lang
= blink::WebString::fromUTF8(platform_data
.lang
);
45 web_data
.body
= platform_data
.body
;
46 web_data
.tag
= blink::WebString::fromUTF8(platform_data
.tag
);
47 web_data
.icon
= blink::WebURL(platform_data
.icon
);
48 web_data
.vibrate
= platform_data
.vibration_pattern
;
49 web_data
.silent
= platform_data
.silent
;
50 web_data
.data
= platform_data
.data
;
55 } // namespace content