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

Side by Side Diff: content/shell/browser/layout_test/layout_test_push_messaging_service.cc

Issue 1210283005: Introduce the PushSubscription.curve25519dh attribute (2/3) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 unified diff | Download patch
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698