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

Side by Side Diff: android_webview/native/permission/permission_request_handler_unittest.cc

Issue 1852513003: Convert //android_webview to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git is hard Created 4 years, 8 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 "android_webview/native/permission/permission_request_handler.h" 5 #include "android_webview/native/permission/permission_request_handler.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "android_webview/native/permission/aw_permission_request.h" 9 #include "android_webview/native/permission/aw_permission_request.h"
10 #include "android_webview/native/permission/aw_permission_request_delegate.h" 10 #include "android_webview/native/permission/aw_permission_request_delegate.h"
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 &PermissionRequestHandlerTest::NotifyRequestResult, 141 &PermissionRequestHandlerTest::NotifyRequestResult,
142 base::Unretained(this)))); 142 base::Unretained(this))));
143 } 143 }
144 144
145 const GURL& origin() { 145 const GURL& origin() {
146 return origin_; 146 return origin_;
147 } 147 }
148 148
149 int64_t resources() { return resources_; } 149 int64_t resources() { return resources_; }
150 150
151 scoped_ptr<AwPermissionRequestDelegate> delegate() { 151 std::unique_ptr<AwPermissionRequestDelegate> delegate() {
152 return std::move(delegate_); 152 return std::move(delegate_);
153 } 153 }
154 154
155 TestPermissionRequestHandler* handler() { 155 TestPermissionRequestHandler* handler() {
156 return &handler_; 156 return &handler_;
157 } 157 }
158 158
159 TestPermissionRequestHandlerClient* client() { 159 TestPermissionRequestHandlerClient* client() {
160 return &client_; 160 return &client_;
161 } 161 }
162 162
163 bool allowed() { 163 bool allowed() {
164 return allowed_; 164 return allowed_;
165 } 165 }
166 166
167 private: 167 private:
168 GURL origin_; 168 GURL origin_;
169 int64_t resources_; 169 int64_t resources_;
170 scoped_ptr<AwPermissionRequestDelegate> delegate_; 170 std::unique_ptr<AwPermissionRequestDelegate> delegate_;
171 TestPermissionRequestHandlerClient client_; 171 TestPermissionRequestHandlerClient client_;
172 TestPermissionRequestHandler handler_; 172 TestPermissionRequestHandler handler_;
173 bool allowed_; 173 bool allowed_;
174 }; 174 };
175 175
176 TEST_F(PermissionRequestHandlerTest, TestPermissionGranted) { 176 TEST_F(PermissionRequestHandlerTest, TestPermissionGranted) {
177 handler()->SendRequest(delegate()); 177 handler()->SendRequest(delegate());
178 // Verify Handler store the request correctly. 178 // Verify Handler store the request correctly.
179 ASSERT_EQ(1u, handler()->requests().size()); 179 ASSERT_EQ(1u, handler()->requests().size());
180 EXPECT_EQ(origin(), handler()->requests()[0]->GetOrigin()); 180 EXPECT_EQ(origin(), handler()->requests()[0]->GetOrigin());
(...skipping 29 matching lines...) Expand all
210 EXPECT_FALSE(allowed()); 210 EXPECT_FALSE(allowed());
211 handler()->PruneRequests(); 211 handler()->PruneRequests();
212 // Verify the weak reference in handler was removed. 212 // Verify the weak reference in handler was removed.
213 EXPECT_TRUE(handler()->requests().empty()); 213 EXPECT_TRUE(handler()->requests().empty());
214 } 214 }
215 215
216 TEST_F(PermissionRequestHandlerTest, TestMultiplePermissionRequest) { 216 TEST_F(PermissionRequestHandlerTest, TestMultiplePermissionRequest) {
217 GURL origin1 = GURL("http://a.google.com"); 217 GURL origin1 = GURL("http://a.google.com");
218 int64_t resources1 = AwPermissionRequest::Geolocation; 218 int64_t resources1 = AwPermissionRequest::Geolocation;
219 219
220 scoped_ptr<AwPermissionRequestDelegate> delegate1; 220 std::unique_ptr<AwPermissionRequestDelegate> delegate1;
221 delegate1.reset(new TestAwPermissionRequestDelegate( 221 delegate1.reset(new TestAwPermissionRequestDelegate(
222 origin1, resources1, 222 origin1, resources1,
223 base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult, 223 base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult,
224 base::Unretained(this)))); 224 base::Unretained(this))));
225 225
226 // Send 1st request 226 // Send 1st request
227 handler()->SendRequest(delegate()); 227 handler()->SendRequest(delegate());
228 // Verify Handler store the request correctly. 228 // Verify Handler store the request correctly.
229 ASSERT_EQ(1u, handler()->requests().size()); 229 ASSERT_EQ(1u, handler()->requests().size());
230 EXPECT_EQ(origin(), handler()->requests()[0]->GetOrigin()); 230 EXPECT_EQ(origin(), handler()->requests()[0]->GetOrigin());
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 TEST_F(PermissionRequestHandlerTest, TestPreauthorizePermission) { 277 TEST_F(PermissionRequestHandlerTest, TestPreauthorizePermission) {
278 handler()->PreauthorizePermission(origin(), resources()); 278 handler()->PreauthorizePermission(origin(), resources());
279 279
280 // Permission should granted without asking PermissionRequestHandlerClient. 280 // Permission should granted without asking PermissionRequestHandlerClient.
281 handler()->SendRequest(delegate()); 281 handler()->SendRequest(delegate());
282 EXPECT_TRUE(allowed()); 282 EXPECT_TRUE(allowed());
283 EXPECT_EQ(NULL, client()->request()); 283 EXPECT_EQ(NULL, client()->request());
284 284
285 // Only ask one preauthorized resource, permission should granted 285 // Only ask one preauthorized resource, permission should granted
286 // without asking PermissionRequestHandlerClient. 286 // without asking PermissionRequestHandlerClient.
287 scoped_ptr<AwPermissionRequestDelegate> delegate; 287 std::unique_ptr<AwPermissionRequestDelegate> delegate;
288 delegate.reset(new TestAwPermissionRequestDelegate( 288 delegate.reset(new TestAwPermissionRequestDelegate(
289 origin(), AwPermissionRequest::AudioCapture, 289 origin(), AwPermissionRequest::AudioCapture,
290 base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult, 290 base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult,
291 base::Unretained(this)))); 291 base::Unretained(this))));
292 client()->Reset(); 292 client()->Reset();
293 handler()->SendRequest(std::move(delegate)); 293 handler()->SendRequest(std::move(delegate));
294 EXPECT_TRUE(allowed()); 294 EXPECT_TRUE(allowed());
295 EXPECT_EQ(NULL, client()->request()); 295 EXPECT_EQ(NULL, client()->request());
296 } 296 }
297 297
298 TEST_F(PermissionRequestHandlerTest, TestOriginNotPreauthorized) { 298 TEST_F(PermissionRequestHandlerTest, TestOriginNotPreauthorized) {
299 handler()->PreauthorizePermission(origin(), resources()); 299 handler()->PreauthorizePermission(origin(), resources());
300 300
301 // Ask the origin which wasn't preauthorized. 301 // Ask the origin which wasn't preauthorized.
302 GURL origin ("http://a.google.com/a/b"); 302 GURL origin ("http://a.google.com/a/b");
303 scoped_ptr<AwPermissionRequestDelegate> delegate; 303 std::unique_ptr<AwPermissionRequestDelegate> delegate;
304 int64_t requested_resources = AwPermissionRequest::AudioCapture; 304 int64_t requested_resources = AwPermissionRequest::AudioCapture;
305 delegate.reset(new TestAwPermissionRequestDelegate( 305 delegate.reset(new TestAwPermissionRequestDelegate(
306 origin, requested_resources, 306 origin, requested_resources,
307 base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult, 307 base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult,
308 base::Unretained(this)))); 308 base::Unretained(this))));
309 handler()->SendRequest(std::move(delegate)); 309 handler()->SendRequest(std::move(delegate));
310 EXPECT_EQ(origin, handler()->requests()[0]->GetOrigin()); 310 EXPECT_EQ(origin, handler()->requests()[0]->GetOrigin());
311 EXPECT_EQ(requested_resources, handler()->requests()[0]->GetResources()); 311 EXPECT_EQ(requested_resources, handler()->requests()[0]->GetResources());
312 client()->Grant(); 312 client()->Grant();
313 EXPECT_TRUE(allowed()); 313 EXPECT_TRUE(allowed());
314 } 314 }
315 315
316 TEST_F(PermissionRequestHandlerTest, TestResourcesNotPreauthorized) { 316 TEST_F(PermissionRequestHandlerTest, TestResourcesNotPreauthorized) {
317 handler()->PreauthorizePermission(origin(), resources()); 317 handler()->PreauthorizePermission(origin(), resources());
318 318
319 // Ask the resources which weren't preauthorized. 319 // Ask the resources which weren't preauthorized.
320 scoped_ptr<AwPermissionRequestDelegate> delegate; 320 std::unique_ptr<AwPermissionRequestDelegate> delegate;
321 int64_t requested_resources = 321 int64_t requested_resources =
322 AwPermissionRequest::AudioCapture | AwPermissionRequest::Geolocation; 322 AwPermissionRequest::AudioCapture | AwPermissionRequest::Geolocation;
323 delegate.reset(new TestAwPermissionRequestDelegate( 323 delegate.reset(new TestAwPermissionRequestDelegate(
324 origin(), requested_resources, 324 origin(), requested_resources,
325 base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult, 325 base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult,
326 base::Unretained(this)))); 326 base::Unretained(this))));
327 327
328 handler()->SendRequest(std::move(delegate)); 328 handler()->SendRequest(std::move(delegate));
329 EXPECT_EQ(origin(), handler()->requests()[0]->GetOrigin()); 329 EXPECT_EQ(origin(), handler()->requests()[0]->GetOrigin());
330 EXPECT_EQ(requested_resources, handler()->requests()[0]->GetResources()); 330 EXPECT_EQ(requested_resources, handler()->requests()[0]->GetResources());
331 client()->Deny(); 331 client()->Deny();
332 EXPECT_FALSE(allowed()); 332 EXPECT_FALSE(allowed());
333 } 333 }
334 334
335 TEST_F(PermissionRequestHandlerTest, TestPreauthorizeMultiplePermission) { 335 TEST_F(PermissionRequestHandlerTest, TestPreauthorizeMultiplePermission) {
336 handler()->PreauthorizePermission(origin(), resources()); 336 handler()->PreauthorizePermission(origin(), resources());
337 // Preauthorize another permission. 337 // Preauthorize another permission.
338 GURL origin ("http://a.google.com/a/b"); 338 GURL origin ("http://a.google.com/a/b");
339 handler()->PreauthorizePermission(origin, AwPermissionRequest::Geolocation); 339 handler()->PreauthorizePermission(origin, AwPermissionRequest::Geolocation);
340 GURL origin_hostname ("http://a.google.com/"); 340 GURL origin_hostname ("http://a.google.com/");
341 scoped_ptr<AwPermissionRequestDelegate> delegate; 341 std::unique_ptr<AwPermissionRequestDelegate> delegate;
342 delegate.reset(new TestAwPermissionRequestDelegate( 342 delegate.reset(new TestAwPermissionRequestDelegate(
343 origin_hostname, AwPermissionRequest::Geolocation, 343 origin_hostname, AwPermissionRequest::Geolocation,
344 base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult, 344 base::Bind(&PermissionRequestHandlerTest::NotifyRequestResult,
345 base::Unretained(this)))); 345 base::Unretained(this))));
346 handler()->SendRequest(std::move(delegate)); 346 handler()->SendRequest(std::move(delegate));
347 EXPECT_TRUE(allowed()); 347 EXPECT_TRUE(allowed());
348 EXPECT_EQ(NULL, client()->request()); 348 EXPECT_EQ(NULL, client()->request());
349 } 349 }
350 350
351 } // android_webview 351 } // android_webview
OLDNEW
« no previous file with comments | « android_webview/native/permission/permission_request_handler.cc ('k') | android_webview/native/state_serializer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698