Chromium Code Reviews| Index: content/child/notifications/notification_data_conversions.cc |
| diff --git a/content/child/notifications/notification_data_conversions.cc b/content/child/notifications/notification_data_conversions.cc |
| index 23763043869f23539e54c69b70240892c2f5dc64..ca78f3460a28de187359541cb25a28cd3df68ede 100644 |
| --- a/content/child/notifications/notification_data_conversions.cc |
| +++ b/content/child/notifications/notification_data_conversions.cc |
| @@ -18,6 +18,11 @@ using blink::WebNotificationData; |
| namespace content { |
| +namespace { |
| +static const char kTypeButton[] = "button"; |
| +static const char kTypeText[] = "text"; |
| +} |
| + |
| PlatformNotificationData ToPlatformNotificationData( |
| const WebNotificationData& web_data) { |
| PlatformNotificationData platform_data; |
| @@ -51,11 +56,20 @@ PlatformNotificationData ToPlatformNotificationData( |
| platform_data.data.assign(web_data.data.begin(), web_data.data.end()); |
| platform_data.actions.resize(web_data.actions.size()); |
| for (size_t i = 0; i < web_data.actions.size(); ++i) { |
| + if (web_data.actions[i].type == kTypeButton) { |
|
Avi (use Gerrit)
2016/04/05 14:32:33
Who specified WebNotificationAction to be a string
Michael van Ouwerkerk
2016/04/05 14:37:49
Avi, the WebNotificationAction is a struct. Are yo
Nina
2016/04/05 16:10:01
If you meant the type member, I fixed it to be an
|
| + platform_data.actions[i].type = PLATFORM_NOTIFICATION_ACTION_TYPE_BUTTON; |
| + } else if (web_data.actions[i].type == kTypeText) { |
| + platform_data.actions[i].type = PLATFORM_NOTIFICATION_ACTION_TYPE_TEXT; |
| + } else { |
| + NOTREACHED() << "Unknown notification action type: " |
| + << web_data.actions[i].type.utf8(); |
| + } |
| platform_data.actions[i].action = |
| base::UTF16ToUTF8(base::StringPiece16(web_data.actions[i].action)); |
| platform_data.actions[i].title = web_data.actions[i].title; |
| platform_data.actions[i].icon = |
| blink::WebStringToGURL(web_data.actions[i].icon.string()); |
| + platform_data.actions[i].placeholder = web_data.actions[i].placeholder; |
| } |
| return platform_data; |
| @@ -93,10 +107,22 @@ WebNotificationData ToWebNotificationData( |
| platform_data.actions.size()); |
| web_data.actions.swap(resized); |
| for (size_t i = 0; i < platform_data.actions.size(); ++i) { |
| + switch (platform_data.actions[i].type) { |
| + case PLATFORM_NOTIFICATION_ACTION_TYPE_BUTTON: |
| + web_data.actions[i].type = kTypeButton; |
| + break; |
| + case PLATFORM_NOTIFICATION_ACTION_TYPE_TEXT: |
| + web_data.actions[i].type = kTypeText; |
| + break; |
| + default: |
| + NOTREACHED() << "Unknown platform data type: " |
| + << platform_data.actions[i].type; |
| + } |
| web_data.actions[i].action = |
| blink::WebString::fromUTF8(platform_data.actions[i].action); |
| web_data.actions[i].title = platform_data.actions[i].title; |
| web_data.actions[i].icon = blink::WebURL(platform_data.actions[i].icon); |
| + web_data.actions[i].placeholder = platform_data.actions[i].placeholder; |
| } |
| return web_data; |