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

Unified Diff: content/browser/notifications/notification_database_data_conversions.cc

Issue 1010833002: Expose bits of the Web Notification database in the //content API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@n-db-DeleteInContext
Patch Set: add NON_EXPORTED_BASE Created 5 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: content/browser/notifications/notification_database_data_conversions.cc
diff --git a/content/browser/notifications/notification_database_data.cc b/content/browser/notifications/notification_database_data_conversions.cc
similarity index 60%
rename from content/browser/notifications/notification_database_data.cc
rename to content/browser/notifications/notification_database_data_conversions.cc
index bf4a5418f91186cb904f0181f87af2e4fd2322d4..d183dd414e2cf2a67b37c52a639a7f83ed2100c7 100644
--- a/content/browser/notifications/notification_database_data.cc
+++ b/content/browser/notifications/notification_database_data_conversions.cc
@@ -2,53 +2,56 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/browser/notifications/notification_database_data.h"
+#include "content/browser/notifications/notification_database_data_conversions.h"
#include "base/logging.h"
#include "base/strings/utf_string_conversions.h"
#include "content/browser/notifications/notification_database_data.pb.h"
+#include "content/public/browser/notification_database_data.h"
namespace content {
-NotificationDatabaseData::NotificationDatabaseData()
- : notification_id(0),
- service_worker_registration_id(0) {
-}
-
-NotificationDatabaseData::~NotificationDatabaseData() {}
+bool DeserializeNotificationDatabaseData(const std::string& input,
+ NotificationDatabaseData* output) {
+ DCHECK(output);
-bool NotificationDatabaseData::ParseFromString(const std::string& input) {
NotificationDatabaseDataProto message;
if (!message.ParseFromString(input))
return false;
- notification_id = message.notification_id();
- origin = GURL(message.origin());
- service_worker_registration_id = message.service_worker_registration_id();
+ output->notification_id = message.notification_id();
+ output->origin = GURL(message.origin());
+ output->service_worker_registration_id =
+ message.service_worker_registration_id();
+ PlatformNotificationData* notification_data = &output->notification_data;
const NotificationDatabaseDataProto::NotificationData& payload =
message.notification_data();
- notification_data.title = base::UTF8ToUTF16(payload.title());
- notification_data.direction =
+ notification_data->title = base::UTF8ToUTF16(payload.title());
+ notification_data->direction =
payload.direction() ==
NotificationDatabaseDataProto::NotificationData::RIGHT_TO_LEFT ?
PlatformNotificationData::NotificationDirectionRightToLeft :
PlatformNotificationData::NotificationDirectionLeftToRight;
- notification_data.lang = payload.lang();
- notification_data.body = base::UTF8ToUTF16(payload.body());
- notification_data.tag = payload.tag();
- notification_data.icon = GURL(payload.icon());
- notification_data.silent = payload.silent();
+ notification_data->lang = payload.lang();
+ notification_data->body = base::UTF8ToUTF16(payload.body());
+ notification_data->tag = payload.tag();
+ notification_data->icon = GURL(payload.icon());
+ notification_data->silent = payload.silent();
return true;
}
-bool NotificationDatabaseData::SerializeToString(std::string* output) const {
+bool SerializeNotificationDatabaseData(const NotificationDatabaseData& input,
+ std::string* output) {
DCHECK(output);
scoped_ptr<NotificationDatabaseDataProto::NotificationData> payload(
new NotificationDatabaseDataProto::NotificationData());
+
+ const PlatformNotificationData& notification_data = input.notification_data;
+
payload->set_title(base::UTF16ToUTF8(notification_data.title));
payload->set_direction(
notification_data.direction ==
@@ -62,10 +65,10 @@ bool NotificationDatabaseData::SerializeToString(std::string* output) const {
payload->set_silent(notification_data.silent);
NotificationDatabaseDataProto message;
- message.set_notification_id(notification_id);
- message.set_origin(origin.spec());
+ message.set_notification_id(input.notification_id);
+ message.set_origin(input.origin.spec());
message.set_service_worker_registration_id(
- service_worker_registration_id);
+ input.service_worker_registration_id);
message.set_allocated_notification_data(payload.release());
return message.SerializeToString(output);

Powered by Google App Engine
This is Rietveld 408576698