Introduce the PlatformNotificationContext class.
[chromium-blink-merge.git] / content / shell / browser / layout_test / layout_test_push_messaging_service.cc
blob58890f55dc04a45fe4dd6c90b112edc8794b7f12
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/shell/browser/layout_test/layout_test_push_messaging_service.h"
7 #include "base/callback.h"
8 #include "base/logging.h"
10 namespace content {
12 LayoutTestPushMessagingService::LayoutTestPushMessagingService() {
15 LayoutTestPushMessagingService::~LayoutTestPushMessagingService() {
18 void LayoutTestPushMessagingService::SetPermission(const GURL& origin,
19 bool allowed) {
20 permission_map_[origin] = allowed ? blink::WebPushPermissionStatusGranted
21 : blink::WebPushPermissionStatusDenied;
24 void LayoutTestPushMessagingService::ClearPermissions() {
25 permission_map_.clear();
28 GURL LayoutTestPushMessagingService::GetPushEndpoint() {
29 return GURL("https://example.com/LayoutTestEndpoint");
32 void LayoutTestPushMessagingService::RegisterFromDocument(
33 const GURL& requesting_origin,
34 int64 service_worker_registration_id,
35 const std::string& sender_id,
36 int renderer_id,
37 int render_frame_id,
38 bool user_gesture,
39 const PushMessagingService::RegisterCallback& callback) {
40 RegisterFromWorker(requesting_origin, service_worker_registration_id,
41 sender_id, callback);
44 void LayoutTestPushMessagingService::RegisterFromWorker(
45 const GURL& requesting_origin,
46 int64 service_worker_registration_id,
47 const std::string& sender_id,
48 const PushMessagingService::RegisterCallback& callback) {
49 if (GetPermissionStatus(requesting_origin, requesting_origin) ==
50 blink::WebPushPermissionStatusGranted) {
51 callback.Run("layoutTestRegistrationId",
52 PUSH_REGISTRATION_STATUS_SUCCESS_FROM_PUSH_SERVICE);
53 } else {
54 callback.Run("registration_id", PUSH_REGISTRATION_STATUS_PERMISSION_DENIED);
58 blink::WebPushPermissionStatus
59 LayoutTestPushMessagingService::GetPermissionStatus(
60 const GURL& requesting_origin,
61 const GURL& embedding_origin) {
62 const auto& it = permission_map_.find(requesting_origin);
63 if (it == permission_map_.end())
64 return blink::WebPushPermissionStatusDefault;
65 return it->second;
68 void LayoutTestPushMessagingService::Unregister(
69 const GURL& requesting_origin,
70 int64 service_worker_registration_id,
71 const std::string& sender_id,
72 const UnregisterCallback& callback) {
73 callback.Run(PUSH_UNREGISTRATION_STATUS_SUCCESS_UNREGISTERED);
76 } // namespace content