OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/extensions/api/notifications/notifications_api.h" | 5 #include "chrome/browser/extensions/api/notifications/notifications_api.h" |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 &info.icon); | 277 &info.icon); |
278 optional_fields.buttons.push_back(info); | 278 optional_fields.buttons.push_back(info); |
279 } | 279 } |
280 } | 280 } |
281 | 281 |
282 if (options->expanded_message.get()) { | 282 if (options->expanded_message.get()) { |
283 optional_fields.expanded_message = | 283 optional_fields.expanded_message = |
284 UTF8ToUTF16(*options->expanded_message); | 284 UTF8ToUTF16(*options->expanded_message); |
285 } | 285 } |
286 | 286 |
287 if (options->context_message) | |
288 optional_fields.context_message = UTF8ToUTF16(*options->context_message); | |
289 | |
290 bool has_image = NotificationBitmapToGfxImage(options->image_bitmap.get(), | 287 bool has_image = NotificationBitmapToGfxImage(options->image_bitmap.get(), |
291 &optional_fields.image); | 288 &optional_fields.image); |
292 // We should have an image if and only if the type is an image type. | 289 // We should have an image if and only if the type is an image type. |
293 if (has_image != (type == message_center::NOTIFICATION_TYPE_IMAGE)) | 290 if (has_image != (type == message_center::NOTIFICATION_TYPE_IMAGE)) |
294 return false; | 291 return false; |
295 | 292 |
296 // We should have list items if and only if the type is a multiple type. | 293 // We should have list items if and only if the type is a multiple type. |
297 bool has_list_items = options->items.get() && options->items->size() > 0; | 294 bool has_list_items = options->items.get() && options->items->size() > 0; |
298 if (has_list_items != (type == message_center::NOTIFICATION_TYPE_MULTIPLE)) | 295 if (has_list_items != (type == message_center::NOTIFICATION_TYPE_MULTIPLE)) |
299 return false; | 296 return false; |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 | 377 |
381 for (size_t i = 0; i < number_of_buttons; i++) { | 378 for (size_t i = 0; i < number_of_buttons; i++) { |
382 message_center::ButtonInfo info( | 379 message_center::ButtonInfo info( |
383 UTF8ToUTF16((*options->buttons)[i]->title)); | 380 UTF8ToUTF16((*options->buttons)[i]->title)); |
384 NotificationBitmapToGfxImage((*options->buttons)[i]->icon_bitmap.get(), | 381 NotificationBitmapToGfxImage((*options->buttons)[i]->icon_bitmap.get(), |
385 &info.icon); | 382 &info.icon); |
386 optional_fields.buttons.push_back(info); | 383 optional_fields.buttons.push_back(info); |
387 } | 384 } |
388 } | 385 } |
389 | 386 |
390 if (options->context_message) | |
391 notification->set_context_message(UTF8ToUTF16(*options->context_message)); | |
392 | |
393 if (options->expanded_message) { | 387 if (options->expanded_message) { |
394 notification->set_expanded_message( | 388 notification->set_expanded_message( |
395 UTF8ToUTF16(*options->expanded_message)); | 389 UTF8ToUTF16(*options->expanded_message)); |
396 } | 390 } |
397 | 391 |
398 gfx::Image image; | 392 gfx::Image image; |
399 if (NotificationBitmapToGfxImage(options->image_bitmap.get(), &image)) { | 393 if (NotificationBitmapToGfxImage(options->image_bitmap.get(), &image)) { |
400 // We should have an image if and only if the type is an image type. | 394 // We should have an image if and only if the type is an image type. |
401 if (notification->type() != message_center::NOTIFICATION_TYPE_IMAGE) | 395 if (notification->type() != message_center::NOTIFICATION_TYPE_IMAGE) |
402 return false; | 396 return false; |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
589 StripScopeFromIdentifier(extension_->id(), *iter), true); | 583 StripScopeFromIdentifier(extension_->id(), *iter), true); |
590 } | 584 } |
591 | 585 |
592 SetResult(result.release()); | 586 SetResult(result.release()); |
593 SendResponse(true); | 587 SendResponse(true); |
594 | 588 |
595 return true; | 589 return true; |
596 } | 590 } |
597 | 591 |
598 } // namespace extensions | 592 } // namespace extensions |
OLD | NEW |