Commit c23bb4fe authored by Thiemo Nagel's avatar Thiemo Nagel Committed by Commit Bot

Revert "[Mash] Serialize the rest of RichNotificationData and Notification."

This reverts commit d70e8035.

Reason for revert: compilation error

Original change's description:
> [Mash] Serialize the rest of RichNotificationData and Notification.
> 
> TBR=rdevlin.cronin@chromium.org
> 
> Bug: 578868
> Change-Id: I362564a5469fedd7f16024303b8dfd54046da8b1
> Reviewed-on: https://chromium-review.googlesource.com/917527
> Commit-Queue: Evan Stade <estade@chromium.org>
> Reviewed-by: Evan Stade <estade@chromium.org>
> Reviewed-by: Tom Sepez <tsepez@chromium.org>
> Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
> Reviewed-by: James Cook <jamescook@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#537315}

TBR=jamescook@chromium.org,stevenjb@chromium.org,rdevlin.cronin@chromium.org,estade@chromium.org,tsepez@chromium.org

Change-Id: I1aba72cf82a62a469f44441795d02053b832b71e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 578868
Reviewed-on: https://chromium-review.googlesource.com/924059Reviewed-by: default avatarThiemo Nagel <tnagel@chromium.org>
Commit-Queue: Thiemo Nagel <tnagel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537325}
parent 337fd893
...@@ -352,8 +352,9 @@ bool NotificationsApiFunction::CreateNotification( ...@@ -352,8 +352,9 @@ bool NotificationsApiFunction::CreateNotification(
if (has_list_items) { if (has_list_items) {
using api::notifications::NotificationItem; using api::notifications::NotificationItem;
for (const NotificationItem& api_item : *options->items) { for (const NotificationItem& api_item : *options->items) {
optional_fields.items.push_back({base::UTF8ToUTF16(api_item.title), optional_fields.items.push_back(message_center::NotificationItem(
base::UTF8ToUTF16(api_item.message)}); base::UTF8ToUTF16(api_item.title),
base::UTF8ToUTF16(api_item.message)));
} }
} }
...@@ -509,8 +510,9 @@ bool NotificationsApiFunction::UpdateNotification( ...@@ -509,8 +510,9 @@ bool NotificationsApiFunction::UpdateNotification(
std::vector<message_center::NotificationItem> items; std::vector<message_center::NotificationItem> items;
using api::notifications::NotificationItem; using api::notifications::NotificationItem;
for (const NotificationItem& api_item : *options->items) { for (const NotificationItem& api_item : *options->items) {
items.push_back({base::UTF8ToUTF16(api_item.title), items.push_back(message_center::NotificationItem(
base::UTF8ToUTF16(api_item.message)}); base::UTF8ToUTF16(api_item.title),
base::UTF8ToUTF16(api_item.message)));
} }
notification->set_items(items); notification->set_items(items);
} }
......
...@@ -475,11 +475,11 @@ TEST_F(NotificationTemplateBuilderTest, ListEntries) { ...@@ -475,11 +475,11 @@ TEST_F(NotificationTemplateBuilderTest, ListEntries) {
notification->set_type(message_center::NOTIFICATION_TYPE_MULTIPLE); notification->set_type(message_center::NOTIFICATION_TYPE_MULTIPLE);
std::vector<message_center::NotificationItem> items; std::vector<message_center::NotificationItem> items;
items.push_back({L"title1", L"message1"}); items.emplace_back(L"title1", L"message1");
items.push_back({L"title2", L"message2"}); items.emplace_back(L"title2", L"message2");
items.push_back({L"title3", L"message3"}); items.emplace_back(L"title3", L"message3");
items.push_back({L"title4", L"message4"}); items.emplace_back(L"title4", L"message4");
items.push_back({L"title5", L"message5"}); // Will be truncated. items.emplace_back(L"title5", L"message5"); // Will be truncated.
notification->set_items(items); notification->set_items(items);
const wchar_t kExpectedXml[] = const wchar_t kExpectedXml[] =
......
...@@ -44,12 +44,14 @@ gfx::Image DeepCopyImage(const gfx::Image& image) { ...@@ -44,12 +44,14 @@ gfx::Image DeepCopyImage(const gfx::Image& image) {
} // namespace } // namespace
NotificationItem::NotificationItem(const base::string16& title,
const base::string16& message)
: title(title), message(message) {}
ButtonInfo::ButtonInfo(const base::string16& title) : title(title) {} ButtonInfo::ButtonInfo(const base::string16& title) : title(title) {}
ButtonInfo::ButtonInfo(const ButtonInfo& other) = default; ButtonInfo::ButtonInfo(const ButtonInfo& other) = default;
ButtonInfo::ButtonInfo() = default;
ButtonInfo::~ButtonInfo() = default; ButtonInfo::~ButtonInfo() = default;
ButtonInfo& ButtonInfo::operator=(const ButtonInfo& other) = default; ButtonInfo& ButtonInfo::operator=(const ButtonInfo& other) = default;
...@@ -81,8 +83,8 @@ Notification::Notification(NotificationType type, ...@@ -81,8 +83,8 @@ Notification::Notification(NotificationType type,
display_source_(display_source), display_source_(display_source),
origin_url_(origin_url), origin_url_(origin_url),
notifier_id_(notifier_id), notifier_id_(notifier_id),
optional_fields_(optional_fields),
serial_number_(g_next_serial_number++), serial_number_(g_next_serial_number++),
optional_fields_(optional_fields),
shown_as_popup_(false), shown_as_popup_(false),
is_read_(false), is_read_(false),
delegate_(std::move(delegate)) {} delegate_(std::move(delegate)) {}
......
...@@ -40,14 +40,16 @@ class NotificationDataView; ...@@ -40,14 +40,16 @@ class NotificationDataView;
// Represents an individual item in NOTIFICATION_TYPE_MULTIPLE notifications. // Represents an individual item in NOTIFICATION_TYPE_MULTIPLE notifications.
struct MESSAGE_CENTER_PUBLIC_EXPORT NotificationItem { struct MESSAGE_CENTER_PUBLIC_EXPORT NotificationItem {
NotificationItem(const base::string16& title, const base::string16& message);
base::string16 title; base::string16 title;
base::string16 message; base::string16 message;
}; };
enum class SettingsButtonHandler { enum class SettingsButtonHandler {
NONE = 0, // No button. This is the default. NONE, // No button. This is the default.
INLINE = 1, // Button shown, settings inline. INLINE, // Button shown, settings inline.
DELEGATE = 2 // Button shown, notification's delegate handles action. DELEGATE // Button shown, notification's delegate handles action.
}; };
enum class SystemNotificationWarningLevel { NORMAL, WARNING, CRITICAL_WARNING }; enum class SystemNotificationWarningLevel { NORMAL, WARNING, CRITICAL_WARNING };
...@@ -56,7 +58,6 @@ enum class SystemNotificationWarningLevel { NORMAL, WARNING, CRITICAL_WARNING }; ...@@ -56,7 +58,6 @@ enum class SystemNotificationWarningLevel { NORMAL, WARNING, CRITICAL_WARNING };
struct MESSAGE_CENTER_PUBLIC_EXPORT ButtonInfo { struct MESSAGE_CENTER_PUBLIC_EXPORT ButtonInfo {
explicit ButtonInfo(const base::string16& title); explicit ButtonInfo(const base::string16& title);
ButtonInfo(const ButtonInfo& other); ButtonInfo(const ButtonInfo& other);
ButtonInfo();
~ButtonInfo(); ~ButtonInfo();
ButtonInfo& operator=(const ButtonInfo& other); ButtonInfo& operator=(const ButtonInfo& other);
...@@ -74,10 +75,13 @@ struct MESSAGE_CENTER_PUBLIC_EXPORT ButtonInfo { ...@@ -74,10 +75,13 @@ struct MESSAGE_CENTER_PUBLIC_EXPORT ButtonInfo {
base::Optional<base::string16> placeholder; base::Optional<base::string16> placeholder;
}; };
// TODO(estade): add an ALWAYS value to mark notifications as additionally
// visible over system fullscreen windows such as Chrome OS login so we don't
// need to centrally track Ash system notification IDs.
enum class FullscreenVisibility { enum class FullscreenVisibility {
NONE = 0, // Don't show the notification over fullscreen (default). NONE, // Don't show the notification over fullscreen (default).
OVER_USER = 1, // Show over the current fullscreened client window. OVER_USER, // Show over the current fullscreened client window.
// windows (like Chrome OS login). // windows (like Chrome OS login).
}; };
// Represents rich features available for notifications. // Represents rich features available for notifications.
...@@ -507,11 +511,8 @@ class MESSAGE_CENTER_PUBLIC_EXPORT Notification { ...@@ -507,11 +511,8 @@ class MESSAGE_CENTER_PUBLIC_EXPORT Notification {
// it's a system notification. // it's a system notification.
GURL origin_url_; GURL origin_url_;
NotifierId notifier_id_; NotifierId notifier_id_;
RichNotificationData optional_fields_;
// TODO(estade): these book-keeping fields should be moved into
// NotificationList.
unsigned serial_number_; unsigned serial_number_;
RichNotificationData optional_fields_;
bool shown_as_popup_; // True if this has been shown as a popup. bool shown_as_popup_; // True if this has been shown as a popup.
bool is_read_; // True if this has been seen in the message center. bool is_read_; // True if this has been seen in the message center.
......
...@@ -4,10 +4,8 @@ ...@@ -4,10 +4,8 @@
module message_center.mojom; module message_center.mojom;
import "mojo/common/time.mojom";
import "mojo/public/mojom/base/string16.mojom"; import "mojo/public/mojom/base/string16.mojom";
import "ui/gfx/image/mojo/image.mojom"; import "ui/gfx/image/mojo/image.mojom";
import "ui/message_center/public/mojo/notifier_id.mojom";
import "url/mojom/url.mojom"; import "url/mojom/url.mojom";
// Matches message_center::NotificationType. // Matches message_center::NotificationType.
...@@ -20,58 +18,21 @@ enum NotificationType { ...@@ -20,58 +18,21 @@ enum NotificationType {
CUSTOM = 5, CUSTOM = 5,
}; };
// Matches message_center::SettingsButtonHandler.
enum SettingsButtonHandler {
NONE = 0,
INLINE = 1,
DELEGATE = 2,
};
// Matches message_center::FullscreenVisibility.
enum FullscreenVisibility {
NONE= 0,
OVER_USER = 1,
};
// The fields and their meanings match message_center::NotificationItem.
struct NotificationItem {
mojo_base.mojom.String16 title;
mojo_base.mojom.String16 message;
};
// The fields and their meanings match message_center::ButtonInfo.
struct ButtonInfo {
string title;
gfx.mojom.ImageSkia? icon;
mojo_base.mojom.String16? placeholder;
};
// These fields and their meanings are identical to those in // These fields and their meanings are identical to those in
// message_center::RichNotificationData. // message_center::RichNotificationData.
// TODO(estade): Add the rest of the fields for RichNotificationData.
struct RichNotificationData { struct RichNotificationData {
int32 priority;
bool never_time_out;
mojo.common.mojom.Time timestamp;
// |context_message| intentionally omitted. See https://crbug.com/797084
gfx.mojom.ImageSkia? image;
gfx.mojom.ImageSkia? small_image;
array<NotificationItem> items;
int32 progress; int32 progress;
mojo_base.mojom.String16 progress_status; mojo_base.mojom.String16 progress_status;
array<ButtonInfo> buttons;
bool should_make_spoken_feedback_for_popup_updates; bool should_make_spoken_feedback_for_popup_updates;
bool clickable; bool clickable;
bool pinned; bool pinned;
// |vibration_pattern| intentionally omitted
// |renotify| intentionally omitted
// |silent| intentionally omitted
mojo_base.mojom.String16 accessible_name; mojo_base.mojom.String16 accessible_name;
string vector_small_image_id; string vector_small_image_id;
uint32 accent_color; uint32 accent_color;
SettingsButtonHandler settings_button_handler;
FullscreenVisibility fullscreen_visibility;
}; };
// TODO(mhashmi): Add the rest of the fields for a Notification
struct Notification { struct Notification {
NotificationType type; NotificationType type;
...@@ -84,10 +45,6 @@ struct Notification { ...@@ -84,10 +45,6 @@ struct Notification {
gfx.mojom.ImageSkia? icon; gfx.mojom.ImageSkia? icon;
mojo_base.mojom.String16 display_source; mojo_base.mojom.String16 display_source;
url.mojom.Url origin_url; url.mojom.Url origin_url;
NotifierId notifier_id;
RichNotificationData optional_fields; RichNotificationData optional_fields;
// |serial_number_| intentionally omitted.
// |shown_as_popup_| intentionally omitted.
// |is_read_| intentionally omitted.
// |delegate_| intentionally omitted.
}; };
...@@ -11,8 +11,6 @@ deps = [ ...@@ -11,8 +11,6 @@ deps = [
"//ui/message_center/public/mojo:struct_traits", "//ui/message_center/public/mojo:struct_traits",
] ]
type_mappings = [ type_mappings = [
"message_center.mojom.NotificationItem=message_center::NotificationItem",
"message_center.mojom.ButtonInfo=message_center::ButtonInfo",
"message_center.mojom.RichNotificationData=message_center::RichNotificationData", "message_center.mojom.RichNotificationData=message_center::RichNotificationData",
"message_center.mojom.NotificationType=message_center::NotificationType", "message_center.mojom.NotificationType=message_center::NotificationType",
"message_center.mojom.Notification=message_center::Notification", "message_center.mojom.Notification=message_center::Notification",
......
...@@ -4,127 +4,55 @@ ...@@ -4,127 +4,55 @@
#include "ui/message_center/public/mojo/notification_struct_traits.h" #include "ui/message_center/public/mojo/notification_struct_traits.h"
#include "mojo/common/time_struct_traits.h"
#include "mojo/public/cpp/base/string16_mojom_traits.h" #include "mojo/public/cpp/base/string16_mojom_traits.h"
#include "ui/gfx/image/mojo/image_skia_struct_traits.h" #include "ui/gfx/image/mojo/image_skia_struct_traits.h"
#include "ui/message_center/public/mojo/notifier_id_struct_traits.h"
#include "url/mojom/url_gurl_mojom_traits.h" #include "url/mojom/url_gurl_mojom_traits.h"
namespace mojo { namespace mojo {
using message_center::mojom::NotificationDataView; using message_center::mojom::NotificationDataView;
using message_center::mojom::RichNotificationDataDataView; using message_center::mojom::RichNotificationDataDataView;
using message_center::NotificationItem;
using message_center::ButtonInfo;
using message_center::Notification; using message_center::Notification;
using message_center::RichNotificationData; using message_center::RichNotificationData;
using NotificationItemStructTraits =
StructTraits<message_center::mojom::NotificationItemDataView,
NotificationItem>;
using ButtonInfoStructTraits =
StructTraits<message_center::mojom::ButtonInfoDataView, ButtonInfo>;
using RichNotificationDataStructTraits =
StructTraits<RichNotificationDataDataView, RichNotificationData>;
using NotificationStructTraits = using NotificationStructTraits =
StructTraits<NotificationDataView, Notification>; StructTraits<NotificationDataView, Notification>;
using RichNotificationDataStructTraits =
StructTraits<RichNotificationDataDataView, RichNotificationData>;
// static // static
bool NotificationItemStructTraits::Read( int RichNotificationDataStructTraits::progress(
message_center::mojom::NotificationItemDataView data, const message_center::RichNotificationData& r) {
message_center::NotificationItem* out) {
return data.ReadTitle(&out->title) && data.ReadMessage(&out->message);
}
// static
gfx::ImageSkia ButtonInfoStructTraits::icon(
const message_center::ButtonInfo& b) {
return b.icon.AsImageSkia();
}
// static
bool ButtonInfoStructTraits::Read(
message_center::mojom::ButtonInfoDataView data,
ButtonInfo* out) {
gfx::ImageSkia icon;
if (!data.ReadIcon(&icon))
return false;
out->icon = gfx::Image(icon);
return data.ReadTitle(&out->title) && data.ReadPlaceholder(&out->placeholder);
}
// static
int RichNotificationDataStructTraits::priority(const RichNotificationData& r) {
return r.priority;
}
// static
bool RichNotificationDataStructTraits::never_time_out(
const RichNotificationData& r) {
return r.never_timeout;
}
// static
const base::Time& RichNotificationDataStructTraits::timestamp(
const RichNotificationData& r) {
return r.timestamp;
}
// static
gfx::ImageSkia RichNotificationDataStructTraits::image(
const RichNotificationData& r) {
return r.image.AsImageSkia();
}
// static
gfx::ImageSkia RichNotificationDataStructTraits::small_image(
const RichNotificationData& r) {
return r.small_image.AsImageSkia();
}
// static
const std::vector<NotificationItem>& RichNotificationDataStructTraits::items(
const RichNotificationData& r) {
return r.items;
}
// static
int RichNotificationDataStructTraits::progress(const RichNotificationData& r) {
return r.progress; return r.progress;
} }
// static // static
const base::string16& RichNotificationDataStructTraits::progress_status( const base::string16& RichNotificationDataStructTraits::progress_status(
const RichNotificationData& r) { const message_center::RichNotificationData& r) {
return r.progress_status; return r.progress_status;
} }
// static
const std::vector<ButtonInfo>& RichNotificationDataStructTraits::buttons(
const RichNotificationData& r) {
return r.buttons;
}
// static // static
bool RichNotificationDataStructTraits:: bool RichNotificationDataStructTraits::
should_make_spoken_feedback_for_popup_updates( should_make_spoken_feedback_for_popup_updates(
const RichNotificationData& r) { const message_center::RichNotificationData& r) {
return r.should_make_spoken_feedback_for_popup_updates; return r.should_make_spoken_feedback_for_popup_updates;
} }
// static // static
bool RichNotificationDataStructTraits::clickable( bool RichNotificationDataStructTraits::clickable(
const RichNotificationData& r) { const message_center::RichNotificationData& r) {
return r.clickable; return r.clickable;
} }
// static // static
bool RichNotificationDataStructTraits::pinned(const RichNotificationData& r) { bool RichNotificationDataStructTraits::pinned(
const message_center::RichNotificationData& r) {
return r.pinned; return r.pinned;
} }
// static // static
const base::string16& RichNotificationDataStructTraits::accessible_name( const base::string16& RichNotificationDataStructTraits::accessible_name(
const RichNotificationData& r) { const message_center::RichNotificationData& r) {
return r.accessible_name; return r.accessible_name;
} }
...@@ -138,36 +66,13 @@ std::string RichNotificationDataStructTraits::vector_small_image_id( ...@@ -138,36 +66,13 @@ std::string RichNotificationDataStructTraits::vector_small_image_id(
// static // static
SkColor RichNotificationDataStructTraits::accent_color( SkColor RichNotificationDataStructTraits::accent_color(
const RichNotificationData& r) { const message_center::RichNotificationData& r) {
return r.accent_color; return r.accent_color;
} }
// static
message_center::SettingsButtonHandler
RichNotificationDataStructTraits::settings_button_handler(
const RichNotificationData& r) {
return r.settings_button_handler;
}
// static
message_center::FullscreenVisibility
RichNotificationDataStructTraits::fullscreen_visibility(
const RichNotificationData& r) {
return r.fullscreen_visibility;
}
// static // static
bool RichNotificationDataStructTraits::Read(RichNotificationDataDataView data, bool RichNotificationDataStructTraits::Read(RichNotificationDataDataView data,
RichNotificationData* out) { RichNotificationData* out) {
out->priority = data.priority();
out->never_timeout = data.never_time_out();
gfx::ImageSkia image, small_image;
if (!data.ReadImage(&image))
return false;
out->image = gfx::Image(image);
if (!data.ReadSmallImage(&small_image))
return false;
out->small_image = gfx::Image(small_image);
out->progress = data.progress(); out->progress = data.progress();
out->should_make_spoken_feedback_for_popup_updates = out->should_make_spoken_feedback_for_popup_updates =
data.should_make_spoken_feedback_for_popup_updates(); data.should_make_spoken_feedback_for_popup_updates();
...@@ -184,18 +89,8 @@ bool RichNotificationDataStructTraits::Read(RichNotificationDataDataView data, ...@@ -184,18 +89,8 @@ bool RichNotificationDataStructTraits::Read(RichNotificationDataDataView data,
} }
out->accent_color = data.accent_color(); out->accent_color = data.accent_color();
return data.ReadTimestamp(&out->timestamp) && data.ReadItems(&out->items) && return data.ReadProgressStatus(&out->progress_status) &&
data.ReadButtons(&out->buttons) && data.ReadAccessibleName(&out->accessible_name);
data.ReadProgressStatus(&out->progress_status) &&
data.ReadAccessibleName(&out->accessible_name) &&
EnumTraits<message_center::mojom::SettingsButtonHandler,
message_center::SettingsButtonHandler>::
FromMojom(data.settings_button_handler(),
&out->settings_button_handler) &&
EnumTraits<message_center::mojom::FullscreenVisibility,
message_center::FullscreenVisibility>::
FromMojom(data.fullscreen_visibility(),
&out->fullscreen_visibility);
} }
// static // static
...@@ -235,12 +130,6 @@ const GURL& NotificationStructTraits::origin_url(const Notification& n) { ...@@ -235,12 +130,6 @@ const GURL& NotificationStructTraits::origin_url(const Notification& n) {
return n.origin_url(); return n.origin_url();
} }
// static
const message_center::NotifierId& NotificationStructTraits::notifier_id(
const Notification& n) {
return n.notifier_id();
}
// static // static
const RichNotificationData& NotificationStructTraits::optional_fields( const RichNotificationData& NotificationStructTraits::optional_fields(
const Notification& n) { const Notification& n) {
...@@ -261,7 +150,6 @@ bool NotificationStructTraits::Read(NotificationDataView data, ...@@ -261,7 +150,6 @@ bool NotificationStructTraits::Read(NotificationDataView data,
data.ReadMessage(&out->message_) && data.ReadMessage(&out->message_) &&
data.ReadDisplaySource(&out->display_source_) && data.ReadDisplaySource(&out->display_source_) &&
data.ReadOriginUrl(&out->origin_url_) && data.ReadOriginUrl(&out->origin_url_) &&
data.ReadNotifierId(&out->notifier_id_) &&
data.ReadOptionalFields(&out->optional_fields_); data.ReadOptionalFields(&out->optional_fields_);
} }
......
...@@ -61,118 +61,12 @@ struct EnumTraits<message_center::mojom::NotificationType, ...@@ -61,118 +61,12 @@ struct EnumTraits<message_center::mojom::NotificationType,
} }
}; };
template <>
struct EnumTraits<message_center::mojom::SettingsButtonHandler,
message_center::SettingsButtonHandler> {
static message_center::mojom::SettingsButtonHandler ToMojom(
message_center::SettingsButtonHandler type) {
switch (type) {
case message_center::SettingsButtonHandler::NONE:
return message_center::mojom::SettingsButtonHandler::NONE;
case message_center::SettingsButtonHandler::INLINE:
return message_center::mojom::SettingsButtonHandler::INLINE;
case message_center::SettingsButtonHandler::DELEGATE:
return message_center::mojom::SettingsButtonHandler::DELEGATE;
}
NOTREACHED();
return message_center::mojom::SettingsButtonHandler::NONE;
}
static bool FromMojom(message_center::mojom::SettingsButtonHandler input,
message_center::SettingsButtonHandler* out) {
switch (input) {
case message_center::mojom::SettingsButtonHandler::NONE:
*out = message_center::SettingsButtonHandler::NONE;
return true;
case message_center::mojom::SettingsButtonHandler::INLINE:
*out = message_center::SettingsButtonHandler::INLINE;
return true;
case message_center::mojom::SettingsButtonHandler::DELEGATE:
*out = message_center::SettingsButtonHandler::DELEGATE;
return true;
}
NOTREACHED();
return false;
}
};
template <>
struct EnumTraits<message_center::mojom::FullscreenVisibility,
message_center::FullscreenVisibility> {
static message_center::mojom::FullscreenVisibility ToMojom(
message_center::FullscreenVisibility type) {
switch (type) {
case message_center::FullscreenVisibility::NONE:
return message_center::mojom::FullscreenVisibility::NONE;
case message_center::FullscreenVisibility::OVER_USER:
return message_center::mojom::FullscreenVisibility::OVER_USER;
}
NOTREACHED();
return message_center::mojom::FullscreenVisibility::NONE;
}
static bool FromMojom(message_center::mojom::FullscreenVisibility input,
message_center::FullscreenVisibility* out) {
switch (input) {
case message_center::mojom::FullscreenVisibility::NONE:
*out = message_center::FullscreenVisibility::NONE;
return true;
case message_center::mojom::FullscreenVisibility::OVER_USER:
*out = message_center::FullscreenVisibility::OVER_USER;
return true;
}
NOTREACHED();
return false;
}
};
template <>
struct StructTraits<message_center::mojom::NotificationItemDataView,
message_center::NotificationItem> {
static const base::string16& title(
const message_center::NotificationItem& n) {
return n.title;
}
static const base::string16& message(
const message_center::NotificationItem& n) {
return n.message;
}
static bool Read(message_center::mojom::NotificationItemDataView data,
message_center::NotificationItem* out);
};
template <>
struct StructTraits<message_center::mojom::ButtonInfoDataView,
message_center::ButtonInfo> {
static const base::string16& title(const message_center::ButtonInfo& b) {
return b.title;
}
static gfx::ImageSkia icon(const message_center::ButtonInfo& b);
static const base::Optional<base::string16>& placeholder(
const message_center::ButtonInfo& b) {
return b.placeholder;
}
static bool Read(message_center::mojom::ButtonInfoDataView data,
message_center::ButtonInfo* out);
};
template <> template <>
struct StructTraits<message_center::mojom::RichNotificationDataDataView, struct StructTraits<message_center::mojom::RichNotificationDataDataView,
message_center::RichNotificationData> { message_center::RichNotificationData> {
static int priority(const message_center::RichNotificationData& r);
static bool never_time_out(const message_center::RichNotificationData& r);
static const base::Time& timestamp(
const message_center::RichNotificationData& r);
static gfx::ImageSkia image(const message_center::RichNotificationData& r);
static gfx::ImageSkia small_image(
const message_center::RichNotificationData& r);
static const std::vector<message_center::NotificationItem>& items(
const message_center::RichNotificationData& r);
static int progress(const message_center::RichNotificationData& r); static int progress(const message_center::RichNotificationData& r);
static const base::string16& progress_status( static const base::string16& progress_status(
const message_center::RichNotificationData& r); const message_center::RichNotificationData& r);
static const std::vector<message_center::ButtonInfo>& buttons(
const message_center::RichNotificationData& r);
static bool should_make_spoken_feedback_for_popup_updates( static bool should_make_spoken_feedback_for_popup_updates(
const message_center::RichNotificationData& r); const message_center::RichNotificationData& r);
static bool clickable(const message_center::RichNotificationData& r); static bool clickable(const message_center::RichNotificationData& r);
...@@ -182,10 +76,6 @@ struct StructTraits<message_center::mojom::RichNotificationDataDataView, ...@@ -182,10 +76,6 @@ struct StructTraits<message_center::mojom::RichNotificationDataDataView,
static std::string vector_small_image_id( static std::string vector_small_image_id(
const message_center::RichNotificationData& r); const message_center::RichNotificationData& r);
static SkColor accent_color(const message_center::RichNotificationData& r); static SkColor accent_color(const message_center::RichNotificationData& r);
static message_center::SettingsButtonHandler settings_button_handler(
const message_center::RichNotificationData& r);
static message_center::FullscreenVisibility fullscreen_visibility(
const message_center::RichNotificationData& r);
static bool Read(message_center::mojom::RichNotificationDataDataView data, static bool Read(message_center::mojom::RichNotificationDataDataView data,
message_center::RichNotificationData* out); message_center::RichNotificationData* out);
}; };
...@@ -202,8 +92,6 @@ struct StructTraits<message_center::mojom::NotificationDataView, ...@@ -202,8 +92,6 @@ struct StructTraits<message_center::mojom::NotificationDataView,
static const base::string16& display_source( static const base::string16& display_source(
const message_center::Notification& n); const message_center::Notification& n);
static const GURL& origin_url(const message_center::Notification& n); static const GURL& origin_url(const message_center::Notification& n);
static const message_center::NotifierId& notifier_id(
const message_center::Notification& n);
static const message_center::RichNotificationData& optional_fields( static const message_center::RichNotificationData& optional_fields(
const message_center::Notification& n); const message_center::Notification& n);
static bool Read(message_center::mojom::NotificationDataView data, static bool Read(message_center::mojom::NotificationDataView data,
......
...@@ -10,10 +10,10 @@ import "url/mojom/url.mojom"; ...@@ -10,10 +10,10 @@ import "url/mojom/url.mojom";
// Equivalent to message_center::NotifierId::NotifierType. Used in UMA, so it // Equivalent to message_center::NotifierId::NotifierType. Used in UMA, so it
// should not be reordered. // should not be reordered.
enum NotifierType { enum NotifierType {
APPLICATION = 0, APPLICATION,
ARC_APPLICATION = 1, ARC_APPLICATION,
WEB_PAGE = 2, WEB_PAGE,
SYSTEM_COMPONENT = 3, SYSTEM_COMPONENT,
SIZE, SIZE,
}; };
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include "base/message_loop/message_loop.h" #include "base/message_loop/message_loop.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/binding_set.h"
#include "testing/gmock/include/gmock/gmock-matchers.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "ui/gfx/image/image_unittest_util.h" #include "ui/gfx/image/image_unittest_util.h"
#include "ui/message_center/public/cpp/notification.h" #include "ui/message_center/public/cpp/notification.h"
...@@ -37,12 +36,6 @@ class StructTraitsTest : public testing::Test, public mojom::TraitsTestService { ...@@ -37,12 +36,6 @@ class StructTraitsTest : public testing::Test, public mojom::TraitsTestService {
EXPECT_EQ(input.icon().Height(), output.icon().Height()); EXPECT_EQ(input.icon().Height(), output.icon().Height());
EXPECT_EQ(input.display_source(), output.display_source()); EXPECT_EQ(input.display_source(), output.display_source());
EXPECT_EQ(input.origin_url(), output.origin_url()); EXPECT_EQ(input.origin_url(), output.origin_url());
EXPECT_EQ(input.notifier_id(), output.notifier_id());
EXPECT_EQ(input.priority(), output.priority());
EXPECT_TRUE(gfx::test::AreImagesEqual(input.image(), output.image()));
EXPECT_TRUE(
gfx::test::AreImagesEqual(input.small_image(), output.small_image()));
EXPECT_EQ(input.timestamp(), output.timestamp());
EXPECT_EQ(input.progress(), output.progress()); EXPECT_EQ(input.progress(), output.progress());
EXPECT_EQ(input.progress_status(), output.progress_status()); EXPECT_EQ(input.progress_status(), output.progress_status());
EXPECT_EQ(input.rich_notification_data() EXPECT_EQ(input.rich_notification_data()
...@@ -52,9 +45,6 @@ class StructTraitsTest : public testing::Test, public mojom::TraitsTestService { ...@@ -52,9 +45,6 @@ class StructTraitsTest : public testing::Test, public mojom::TraitsTestService {
EXPECT_EQ(input.clickable(), output.clickable()); EXPECT_EQ(input.clickable(), output.clickable());
EXPECT_EQ(input.accessible_name(), output.accessible_name()); EXPECT_EQ(input.accessible_name(), output.accessible_name());
EXPECT_EQ(input.accent_color(), output.accent_color()); EXPECT_EQ(input.accent_color(), output.accent_color());
EXPECT_EQ(input.should_show_settings_button(),
output.should_show_settings_button());
EXPECT_EQ(input.fullscreen_visibility(), output.fullscreen_visibility());
} }
private: private:
...@@ -81,11 +71,8 @@ TEST_F(StructTraitsTest, Notification) { ...@@ -81,11 +71,8 @@ TEST_F(StructTraitsTest, Notification) {
base::string16 display_source(base::ASCIIToUTF16("display_source")); base::string16 display_source(base::ASCIIToUTF16("display_source"));
GURL origin_url("www.example.com"); GURL origin_url("www.example.com");
NotifierId notifier_id(NotifierId::NotifierType::APPLICATION, id); NotifierId notifier_id(NotifierId::NotifierType::APPLICATION, id);
notifier_id.profile_id = "profile_id";
RichNotificationData optional_fields;
optional_fields.settings_button_handler = SettingsButtonHandler::INLINE;
Notification input(type, id, title, message, icon, display_source, origin_url, Notification input(type, id, title, message, icon, display_source, origin_url,
notifier_id, optional_fields, nullptr); notifier_id, RichNotificationData(), nullptr);
mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy(); mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
Notification output; Notification output;
...@@ -93,15 +80,11 @@ TEST_F(StructTraitsTest, Notification) { ...@@ -93,15 +80,11 @@ TEST_F(StructTraitsTest, Notification) {
Compare(input, output); Compare(input, output);
// Set some optional fields to non-default values and test again. // Set some optional fields to non-default values and test again.
input.set_never_timeout(true);
input.set_type(NotificationType::NOTIFICATION_TYPE_PROGRESS); input.set_type(NotificationType::NOTIFICATION_TYPE_PROGRESS);
input.set_progress(50); input.set_progress(50);
input.set_progress_status(base::ASCIIToUTF16("progress text")); input.set_progress_status(base::ASCIIToUTF16("progress text"));
input.set_clickable(!input.clickable()); input.set_clickable(!input.clickable());
input.set_image(gfx::test::CreateImage(48, 48));
input.set_small_image(gfx::test::CreateImage(16, 16));
input.set_accent_color(SK_ColorMAGENTA); input.set_accent_color(SK_ColorMAGENTA);
input.set_fullscreen_visibility(FullscreenVisibility::OVER_USER);
proxy->EchoNotification(input, &output); proxy->EchoNotification(input, &output);
Compare(input, output); Compare(input, output);
} }
......
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