Commit 45214516 authored by John Williams's avatar John Williams Committed by Commit Bot

[Media Router] Fixed crash when showing dummy media notification.

This change also moves generation of the notification ID to the
notification item itself.

Bug: 1107164, b/161612881
Change-Id: Ie043c8810878ff357027076205f45b7f194da43c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2414311Reviewed-by: default avatarElly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: John Williams <jrw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#807599}
parent 7939c567
...@@ -4,22 +4,19 @@ ...@@ -4,22 +4,19 @@
#include "chrome/browser/ui/global_media_controls/presentation_request_notification_item.h" #include "chrome/browser/ui/global_media_controls/presentation_request_notification_item.h"
#include <utility> #include "base/unguessable_token.h"
#include "chrome/browser/media/router/presentation/presentation_service_delegate_impl.h" #include "chrome/browser/media/router/presentation/presentation_service_delegate_impl.h"
#include "chrome/browser/ui/global_media_controls/media_notification_service.h" #include "chrome/browser/ui/global_media_controls/media_notification_service.h"
PresentationRequestNotificationItem::PresentationRequestNotificationItem( PresentationRequestNotificationItem::PresentationRequestNotificationItem(
const std::string& id,
MediaNotificationService* notification_service, MediaNotificationService* notification_service,
const content::PresentationRequest& request, const content::PresentationRequest& request,
std::unique_ptr<media_router::StartPresentationContext> context) std::unique_ptr<media_router::StartPresentationContext> context)
: id_(id), : id_(base::UnguessableToken::Create().ToString()),
notification_service_(notification_service), notification_service_(notification_service),
context_(std::move(context)) { context_(std::move(context)) {
// TODO(jrw): Save a copy of |request| once it is actually used. // TODO(jrw): Save a copy of |request| once it is actually used.
DCHECK(!context || request == context->presentation_request()); DCHECK(!context || request == context->presentation_request());
notification_service_->ShowNotification(id_);
} }
PresentationRequestNotificationItem::~PresentationRequestNotificationItem() { PresentationRequestNotificationItem::~PresentationRequestNotificationItem() {
......
...@@ -23,7 +23,6 @@ class PresentationRequestNotificationItem ...@@ -23,7 +23,6 @@ class PresentationRequestNotificationItem
: public media_message_center::MediaNotificationItem { : public media_message_center::MediaNotificationItem {
public: public:
PresentationRequestNotificationItem( PresentationRequestNotificationItem(
const std::string& id,
MediaNotificationService* notification_service, MediaNotificationService* notification_service,
const content::PresentationRequest& request, const content::PresentationRequest& request,
std::unique_ptr<media_router::StartPresentationContext> context); std::unique_ptr<media_router::StartPresentationContext> context);
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
#include <utility> #include <utility>
#include "base/unguessable_token.h"
#include "chrome/browser/media/router/media_router.h" #include "chrome/browser/media/router/media_router.h"
#include "chrome/browser/media/router/media_router_factory.h" #include "chrome/browser/media/router/media_router_factory.h"
#include "chrome/browser/media/router/presentation/presentation_service_delegate_impl.h" #include "chrome/browser/media/router/presentation/presentation_service_delegate_impl.h"
...@@ -137,6 +136,6 @@ void PresentationRequestNotificationProvider::CreateItemForPresentationRequest( ...@@ -137,6 +136,6 @@ void PresentationRequestNotificationProvider::CreateItemForPresentationRequest(
std::unique_ptr<media_router::StartPresentationContext> context) { std::unique_ptr<media_router::StartPresentationContext> context) {
// This may replace an existing item, which is the right thing to do if we've // This may replace an existing item, which is the right thing to do if we've
// reached this point. // reached this point.
item_.emplace(base::UnguessableToken().ToString(), notification_service_, item_.emplace(notification_service_, request, std::move(context));
request, std::move(context)); notification_service_->ShowNotification(item_->id());
} }
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