OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 "content/shell/browser/layout_test/layout_test_push_messaging_service.h " | 5 #include "content/shell/browser/layout_test/layout_test_push_messaging_service.h " |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "content/public/browser/permission_type.h" | 9 #include "content/public/browser/permission_type.h" |
10 #include "content/shell/browser/layout_test/layout_test_browser_context.h" | 10 #include "content/shell/browser/layout_test/layout_test_browser_context.h" |
11 #include "content/shell/browser/layout_test/layout_test_content_browser_client.h " | 11 #include "content/shell/browser/layout_test/layout_test_content_browser_client.h " |
12 #include "content/shell/browser/layout_test/layout_test_permission_manager.h" | 12 #include "content/shell/browser/layout_test/layout_test_permission_manager.h" |
13 | 13 |
14 namespace content { | 14 namespace content { |
15 | 15 |
16 namespace { | 16 namespace { |
17 | 17 |
18 // Curve25519 public key made available to layout tests. Must be 32 bytes. | |
19 const uint8_t kTestCurve25519dh[] = { | |
20 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, | |
21 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, | |
22 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F | |
23 }; | |
24 | |
25 static_assert(sizeof(kTestCurve25519dh) == 32, | |
26 "The fake public key must have the size of a real public key."); | |
27 | |
18 blink::WebPushPermissionStatus ToWebPushPermissionStatus( | 28 blink::WebPushPermissionStatus ToWebPushPermissionStatus( |
19 PermissionStatus status) { | 29 PermissionStatus status) { |
20 switch (status) { | 30 switch (status) { |
21 case PERMISSION_STATUS_GRANTED: | 31 case PERMISSION_STATUS_GRANTED: |
22 return blink::WebPushPermissionStatusGranted; | 32 return blink::WebPushPermissionStatusGranted; |
23 case PERMISSION_STATUS_DENIED: | 33 case PERMISSION_STATUS_DENIED: |
24 return blink::WebPushPermissionStatusDenied; | 34 return blink::WebPushPermissionStatusDenied; |
25 case PERMISSION_STATUS_ASK: | 35 case PERMISSION_STATUS_ASK: |
26 return blink::WebPushPermissionStatusPrompt; | 36 return blink::WebPushPermissionStatusPrompt; |
27 } | 37 } |
(...skipping 27 matching lines...) Expand all Loading... | |
55 } | 65 } |
56 | 66 |
57 void LayoutTestPushMessagingService::SubscribeFromWorker( | 67 void LayoutTestPushMessagingService::SubscribeFromWorker( |
58 const GURL& requesting_origin, | 68 const GURL& requesting_origin, |
59 int64 service_worker_registration_id, | 69 int64 service_worker_registration_id, |
60 const std::string& sender_id, | 70 const std::string& sender_id, |
61 bool user_visible, | 71 bool user_visible, |
62 const PushMessagingService::RegisterCallback& callback) { | 72 const PushMessagingService::RegisterCallback& callback) { |
63 if (GetPermissionStatus(requesting_origin, requesting_origin, user_visible) == | 73 if (GetPermissionStatus(requesting_origin, requesting_origin, user_visible) == |
64 blink::WebPushPermissionStatusGranted) { | 74 blink::WebPushPermissionStatusGranted) { |
65 callback.Run("layoutTestRegistrationId", | 75 std::vector<uint8_t> curve25519dh( |
76 kTestCurve25519dh, kTestCurve25519dh + arraysize(kTestCurve25519dh)); | |
77 | |
78 callback.Run("layoutTestRegistrationId", curve25519dh, | |
66 PUSH_REGISTRATION_STATUS_SUCCESS_FROM_PUSH_SERVICE); | 79 PUSH_REGISTRATION_STATUS_SUCCESS_FROM_PUSH_SERVICE); |
67 } else { | 80 } else { |
68 callback.Run("registration_id", PUSH_REGISTRATION_STATUS_PERMISSION_DENIED); | 81 callback.Run("registration_id", std::vector<uint8_t>(), |
82 PUSH_REGISTRATION_STATUS_PERMISSION_DENIED); | |
69 } | 83 } |
70 } | 84 } |
71 | 85 |
86 void LayoutTestPushMessagingService::GetPublicEncryptionKey( | |
87 const GURL& origin, | |
88 int64_t service_worker_registration_id, | |
89 const PublicKeyCallback& callback) { | |
90 std::vector<uint8_t> curve25519dh( | |
91 kTestCurve25519dh, kTestCurve25519dh + arraysize(kTestCurve25519dh)); | |
johnme
2015/07/09 16:02:53
Nit: #include "base/macros.h"
Peter Beverloo
2015/07/09 18:54:17
Done.
| |
92 | |
93 callback.Run(true /* success */, curve25519dh); | |
94 } | |
95 | |
72 blink::WebPushPermissionStatus | 96 blink::WebPushPermissionStatus |
73 LayoutTestPushMessagingService::GetPermissionStatus( | 97 LayoutTestPushMessagingService::GetPermissionStatus( |
74 const GURL& requesting_origin, | 98 const GURL& requesting_origin, |
75 const GURL& embedding_origin, | 99 const GURL& embedding_origin, |
76 bool user_visible) { | 100 bool user_visible) { |
77 return ToWebPushPermissionStatus(LayoutTestContentBrowserClient::Get() | 101 return ToWebPushPermissionStatus(LayoutTestContentBrowserClient::Get() |
78 ->GetLayoutTestBrowserContext() | 102 ->GetLayoutTestBrowserContext() |
79 ->GetLayoutTestPermissionManager() | 103 ->GetLayoutTestPermissionManager() |
80 ->GetPermissionStatus(PermissionType::PUSH_MESSAGING, | 104 ->GetPermissionStatus(PermissionType::PUSH_MESSAGING, |
81 requesting_origin, | 105 requesting_origin, |
82 embedding_origin)); | 106 embedding_origin)); |
83 } | 107 } |
84 | 108 |
85 bool LayoutTestPushMessagingService::SupportNonVisibleMessages() { | 109 bool LayoutTestPushMessagingService::SupportNonVisibleMessages() { |
86 return false; | 110 return false; |
87 } | 111 } |
88 | 112 |
89 void LayoutTestPushMessagingService::Unsubscribe( | 113 void LayoutTestPushMessagingService::Unsubscribe( |
90 const GURL& requesting_origin, | 114 const GURL& requesting_origin, |
91 int64 service_worker_registration_id, | 115 int64 service_worker_registration_id, |
92 const std::string& sender_id, | 116 const std::string& sender_id, |
93 const UnregisterCallback& callback) { | 117 const UnregisterCallback& callback) { |
94 callback.Run(PUSH_UNREGISTRATION_STATUS_SUCCESS_UNREGISTERED); | 118 callback.Run(PUSH_UNREGISTRATION_STATUS_SUCCESS_UNREGISTERED); |
95 } | 119 } |
96 | 120 |
97 } // namespace content | 121 } // namespace content |
OLD | NEW |