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

Side by Side Diff: third_party/WebKit/Source/web/AssociatedURLLoaderTest.cpp

Issue 2120233003: [OBSOLETE] Remove WebURLResponse::initialize() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix formatting issues and one last compile error Created 4 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 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 // Reuse one of the test files from WebFrameTest. 70 // Reuse one of the test files from WebFrameTest.
71 m_baseFilePath = testing::blinkRootDir(); 71 m_baseFilePath = testing::blinkRootDir();
72 m_baseFilePath.append("/Source/web/tests/data/"); 72 m_baseFilePath.append("/Source/web/tests/data/");
73 m_frameFilePath = m_baseFilePath; 73 m_frameFilePath = m_baseFilePath;
74 m_frameFilePath.append("iframes_test.html"); 74 m_frameFilePath.append("iframes_test.html");
75 } 75 }
76 76
77 KURL RegisterMockedUrl(const std::string& urlRoot, const WTF::String& filena me) 77 KURL RegisterMockedUrl(const std::string& urlRoot, const WTF::String& filena me)
78 { 78 {
79 WebURLResponse response; 79 WebURLResponse response;
80 response.initialize();
81 response.setMIMEType("text/html"); 80 response.setMIMEType("text/html");
82 WTF::String localPath = m_baseFilePath; 81 WTF::String localPath = m_baseFilePath;
83 localPath.append(filename); 82 localPath.append(filename);
84 KURL url = toKURL(urlRoot + filename.utf8().data()); 83 KURL url = toKURL(urlRoot + filename.utf8().data());
85 Platform::current()->getURLLoaderMockFactory()->registerURL(url, respons e, localPath); 84 Platform::current()->getURLLoaderMockFactory()->registerURL(url, respons e, localPath);
86 return url; 85 return url;
87 } 86 }
88 87
89 void SetUp() override 88 void SetUp() override
90 { 89 {
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 id.append("-Exposed"); 233 id.append("-Exposed");
235 id.append(".html"); 234 id.append(".html");
236 235
237 KURL url = toKURL(id); 236 KURL url = toKURL(id);
238 WebURLRequest request; 237 WebURLRequest request;
239 request.initialize(); 238 request.initialize();
240 request.setURL(url); 239 request.setURL(url);
241 240
242 WebString headerNameString(WebString::fromUTF8(headerName)); 241 WebString headerNameString(WebString::fromUTF8(headerName));
243 m_expectedResponse = WebURLResponse(); 242 m_expectedResponse = WebURLResponse();
244 m_expectedResponse.initialize();
245 m_expectedResponse.setMIMEType("text/html"); 243 m_expectedResponse.setMIMEType("text/html");
246 m_expectedResponse.setHTTPStatusCode(200); 244 m_expectedResponse.setHTTPStatusCode(200);
247 m_expectedResponse.addHTTPHeaderField("Access-Control-Allow-Origin", "*" ); 245 m_expectedResponse.addHTTPHeaderField("Access-Control-Allow-Origin", "*" );
248 if (exposed) 246 if (exposed)
249 m_expectedResponse.addHTTPHeaderField("access-control-expose-headers ", headerNameString); 247 m_expectedResponse.addHTTPHeaderField("access-control-expose-headers ", headerNameString);
250 m_expectedResponse.addHTTPHeaderField(headerNameString, "foo"); 248 m_expectedResponse.addHTTPHeaderField(headerNameString, "foo");
251 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expec tedResponse, m_frameFilePath); 249 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expec tedResponse, m_frameFilePath);
252 250
253 WebURLLoaderOptions options; 251 WebURLLoaderOptions options;
254 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginReque stPolicyUseAccessControl; 252 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginReque stPolicyUseAccessControl;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 285
288 // Test a successful same-origin URL load. 286 // Test a successful same-origin URL load.
289 TEST_F(AssociatedURLLoaderTest, SameOriginSuccess) 287 TEST_F(AssociatedURLLoaderTest, SameOriginSuccess)
290 { 288 {
291 KURL url = toKURL("http://www.test.com/SameOriginSuccess.html"); 289 KURL url = toKURL("http://www.test.com/SameOriginSuccess.html");
292 WebURLRequest request; 290 WebURLRequest request;
293 request.initialize(); 291 request.initialize();
294 request.setURL(url); 292 request.setURL(url);
295 293
296 m_expectedResponse = WebURLResponse(); 294 m_expectedResponse = WebURLResponse();
297 m_expectedResponse.initialize();
298 m_expectedResponse.setMIMEType("text/html"); 295 m_expectedResponse.setMIMEType("text/html");
299 m_expectedResponse.setHTTPStatusCode(200); 296 m_expectedResponse.setHTTPStatusCode(200);
300 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath); 297 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath);
301 298
302 m_expectedLoader = createAssociatedURLLoader(); 299 m_expectedLoader = createAssociatedURLLoader();
303 EXPECT_TRUE(m_expectedLoader); 300 EXPECT_TRUE(m_expectedLoader);
304 m_expectedLoader->loadAsynchronously(request, this); 301 m_expectedLoader->loadAsynchronously(request, this);
305 serveRequests(); 302 serveRequests();
306 EXPECT_TRUE(m_didReceiveResponse); 303 EXPECT_TRUE(m_didReceiveResponse);
307 EXPECT_TRUE(m_didReceiveData); 304 EXPECT_TRUE(m_didReceiveData);
(...skipping 17 matching lines...) Expand all
325 // This is cross-origin since the frame was loaded from www.test.com. 322 // This is cross-origin since the frame was loaded from www.test.com.
326 KURL url = toKURL("http://www.other.com/CrossOriginSuccess"); 323 KURL url = toKURL("http://www.other.com/CrossOriginSuccess");
327 WebURLRequest request; 324 WebURLRequest request;
328 request.initialize(); 325 request.initialize();
329 request.setURL(url); 326 request.setURL(url);
330 // No-CORS requests (CrossOriginRequestPolicyAllow) aren't allowed for the 327 // No-CORS requests (CrossOriginRequestPolicyAllow) aren't allowed for the
331 // default context. So we set the context as Script here. 328 // default context. So we set the context as Script here.
332 request.setRequestContext(WebURLRequest::RequestContextScript); 329 request.setRequestContext(WebURLRequest::RequestContextScript);
333 330
334 m_expectedResponse = WebURLResponse(); 331 m_expectedResponse = WebURLResponse();
335 m_expectedResponse.initialize();
336 m_expectedResponse.setMIMEType("text/html"); 332 m_expectedResponse.setMIMEType("text/html");
337 m_expectedResponse.setHTTPStatusCode(200); 333 m_expectedResponse.setHTTPStatusCode(200);
338 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath); 334 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath);
339 335
340 WebURLLoaderOptions options; 336 WebURLLoaderOptions options;
341 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyAllow; 337 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyAllow;
342 m_expectedLoader = createAssociatedURLLoader(options); 338 m_expectedLoader = createAssociatedURLLoader(options);
343 EXPECT_TRUE(m_expectedLoader); 339 EXPECT_TRUE(m_expectedLoader);
344 m_expectedLoader->loadAsynchronously(request, this); 340 m_expectedLoader->loadAsynchronously(request, this);
345 serveRequests(); 341 serveRequests();
346 EXPECT_TRUE(m_didReceiveResponse); 342 EXPECT_TRUE(m_didReceiveResponse);
347 EXPECT_TRUE(m_didReceiveData); 343 EXPECT_TRUE(m_didReceiveData);
348 EXPECT_TRUE(m_didFinishLoading); 344 EXPECT_TRUE(m_didFinishLoading);
349 } 345 }
350 346
351 // Test a successful cross-origin load using CORS. 347 // Test a successful cross-origin load using CORS.
352 TEST_F(AssociatedURLLoaderTest, CrossOriginWithAccessControlSuccess) 348 TEST_F(AssociatedURLLoaderTest, CrossOriginWithAccessControlSuccess)
353 { 349 {
354 // This is cross-origin since the frame was loaded from www.test.com. 350 // This is cross-origin since the frame was loaded from www.test.com.
355 KURL url = toKURL("http://www.other.com/CrossOriginWithAccessControlSuccess. html"); 351 KURL url = toKURL("http://www.other.com/CrossOriginWithAccessControlSuccess. html");
356 WebURLRequest request; 352 WebURLRequest request;
357 request.initialize(); 353 request.initialize();
358 request.setURL(url); 354 request.setURL(url);
359 355
360 m_expectedResponse = WebURLResponse(); 356 m_expectedResponse = WebURLResponse();
361 m_expectedResponse.initialize();
362 m_expectedResponse.setMIMEType("text/html"); 357 m_expectedResponse.setMIMEType("text/html");
363 m_expectedResponse.setHTTPStatusCode(200); 358 m_expectedResponse.setHTTPStatusCode(200);
364 m_expectedResponse.addHTTPHeaderField("access-control-allow-origin", "*"); 359 m_expectedResponse.addHTTPHeaderField("access-control-allow-origin", "*");
365 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath); 360 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath);
366 361
367 WebURLLoaderOptions options; 362 WebURLLoaderOptions options;
368 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl; 363 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl;
369 m_expectedLoader = createAssociatedURLLoader(options); 364 m_expectedLoader = createAssociatedURLLoader(options);
370 EXPECT_TRUE(m_expectedLoader); 365 EXPECT_TRUE(m_expectedLoader);
371 m_expectedLoader->loadAsynchronously(request, this); 366 m_expectedLoader->loadAsynchronously(request, this);
372 serveRequests(); 367 serveRequests();
373 EXPECT_TRUE(m_didReceiveResponse); 368 EXPECT_TRUE(m_didReceiveResponse);
374 EXPECT_TRUE(m_didReceiveData); 369 EXPECT_TRUE(m_didReceiveData);
375 EXPECT_TRUE(m_didFinishLoading); 370 EXPECT_TRUE(m_didFinishLoading);
376 } 371 }
377 372
378 // Test an unsuccessful cross-origin load using CORS. 373 // Test an unsuccessful cross-origin load using CORS.
379 TEST_F(AssociatedURLLoaderTest, CrossOriginWithAccessControlFailure) 374 TEST_F(AssociatedURLLoaderTest, CrossOriginWithAccessControlFailure)
380 { 375 {
381 // This is cross-origin since the frame was loaded from www.test.com. 376 // This is cross-origin since the frame was loaded from www.test.com.
382 KURL url = toKURL("http://www.other.com/CrossOriginWithAccessControlFailure. html"); 377 KURL url = toKURL("http://www.other.com/CrossOriginWithAccessControlFailure. html");
383 WebURLRequest request; 378 WebURLRequest request;
384 request.initialize(); 379 request.initialize();
385 request.setURL(url); 380 request.setURL(url);
386 381
387 m_expectedResponse = WebURLResponse(); 382 m_expectedResponse = WebURLResponse();
388 m_expectedResponse.initialize();
389 m_expectedResponse.setMIMEType("text/html"); 383 m_expectedResponse.setMIMEType("text/html");
390 m_expectedResponse.setHTTPStatusCode(200); 384 m_expectedResponse.setHTTPStatusCode(200);
391 m_expectedResponse.addHTTPHeaderField("access-control-allow-origin", "*"); 385 m_expectedResponse.addHTTPHeaderField("access-control-allow-origin", "*");
392 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath); 386 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath);
393 387
394 WebURLLoaderOptions options; 388 WebURLLoaderOptions options;
395 // Send credentials. This will cause the CORS checks to fail, because creden tials can't be 389 // Send credentials. This will cause the CORS checks to fail, because creden tials can't be
396 // sent to a server which returns the header "access-control-allow-origin" w ith "*" as its value. 390 // sent to a server which returns the header "access-control-allow-origin" w ith "*" as its value.
397 options.allowCredentials = true; 391 options.allowCredentials = true;
398 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl; 392 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl;
(...skipping 12 matching lines...) Expand all
411 // Test an unsuccessful cross-origin load using CORS. 405 // Test an unsuccessful cross-origin load using CORS.
412 TEST_F(AssociatedURLLoaderTest, CrossOriginWithAccessControlFailureBadStatusCode ) 406 TEST_F(AssociatedURLLoaderTest, CrossOriginWithAccessControlFailureBadStatusCode )
413 { 407 {
414 // This is cross-origin since the frame was loaded from www.test.com. 408 // This is cross-origin since the frame was loaded from www.test.com.
415 KURL url = toKURL("http://www.other.com/CrossOriginWithAccessControlFailure. html"); 409 KURL url = toKURL("http://www.other.com/CrossOriginWithAccessControlFailure. html");
416 WebURLRequest request; 410 WebURLRequest request;
417 request.initialize(); 411 request.initialize();
418 request.setURL(url); 412 request.setURL(url);
419 413
420 m_expectedResponse = WebURLResponse(); 414 m_expectedResponse = WebURLResponse();
421 m_expectedResponse.initialize();
422 m_expectedResponse.setMIMEType("text/html"); 415 m_expectedResponse.setMIMEType("text/html");
423 m_expectedResponse.setHTTPStatusCode(0); 416 m_expectedResponse.setHTTPStatusCode(0);
424 m_expectedResponse.addHTTPHeaderField("access-control-allow-origin", "*"); 417 m_expectedResponse.addHTTPHeaderField("access-control-allow-origin", "*");
425 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath); 418 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath);
426 419
427 WebURLLoaderOptions options; 420 WebURLLoaderOptions options;
428 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl; 421 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl;
429 m_expectedLoader = createAssociatedURLLoader(options); 422 m_expectedLoader = createAssociatedURLLoader(options);
430 EXPECT_TRUE(m_expectedLoader); 423 EXPECT_TRUE(m_expectedLoader);
431 m_expectedLoader->loadAsynchronously(request, this); 424 m_expectedLoader->loadAsynchronously(request, this);
(...skipping 11 matching lines...) Expand all
443 { 436 {
444 KURL url = toKURL("http://www.test.com/RedirectSuccess.html"); 437 KURL url = toKURL("http://www.test.com/RedirectSuccess.html");
445 char redirect[] = "http://www.test.com/RedirectSuccess2.html"; // Same-orig in 438 char redirect[] = "http://www.test.com/RedirectSuccess2.html"; // Same-orig in
446 KURL redirectURL = toKURL(redirect); 439 KURL redirectURL = toKURL(redirect);
447 440
448 WebURLRequest request; 441 WebURLRequest request;
449 request.initialize(); 442 request.initialize();
450 request.setURL(url); 443 request.setURL(url);
451 444
452 m_expectedRedirectResponse = WebURLResponse(); 445 m_expectedRedirectResponse = WebURLResponse();
453 m_expectedRedirectResponse.initialize();
454 m_expectedRedirectResponse.setMIMEType("text/html"); 446 m_expectedRedirectResponse.setMIMEType("text/html");
455 m_expectedRedirectResponse.setHTTPStatusCode(301); 447 m_expectedRedirectResponse.setHTTPStatusCode(301);
456 m_expectedRedirectResponse.setHTTPHeaderField("Location", redirect); 448 m_expectedRedirectResponse.setHTTPHeaderField("Location", redirect);
457 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR edirectResponse, m_frameFilePath); 449 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR edirectResponse, m_frameFilePath);
458 450
459 m_expectedNewRequest = WebURLRequest(); 451 m_expectedNewRequest = WebURLRequest();
460 m_expectedNewRequest.initialize(); 452 m_expectedNewRequest.initialize();
461 m_expectedNewRequest.setURL(redirectURL); 453 m_expectedNewRequest.setURL(redirectURL);
462 454
463 m_expectedResponse = WebURLResponse(); 455 m_expectedResponse = WebURLResponse();
464 m_expectedResponse.initialize();
465 m_expectedResponse.setMIMEType("text/html"); 456 m_expectedResponse.setMIMEType("text/html");
466 m_expectedResponse.setHTTPStatusCode(200); 457 m_expectedResponse.setHTTPStatusCode(200);
467 Platform::current()->getURLLoaderMockFactory()->registerURL(redirectURL, m_e xpectedResponse, m_frameFilePath); 458 Platform::current()->getURLLoaderMockFactory()->registerURL(redirectURL, m_e xpectedResponse, m_frameFilePath);
468 459
469 m_expectedLoader = createAssociatedURLLoader(); 460 m_expectedLoader = createAssociatedURLLoader();
470 EXPECT_TRUE(m_expectedLoader); 461 EXPECT_TRUE(m_expectedLoader);
471 m_expectedLoader->loadAsynchronously(request, this); 462 m_expectedLoader->loadAsynchronously(request, this);
472 serveRequests(); 463 serveRequests();
473 EXPECT_TRUE(m_willFollowRedirect); 464 EXPECT_TRUE(m_willFollowRedirect);
474 EXPECT_TRUE(m_didReceiveResponse); 465 EXPECT_TRUE(m_didReceiveResponse);
475 EXPECT_TRUE(m_didReceiveData); 466 EXPECT_TRUE(m_didReceiveData);
476 EXPECT_TRUE(m_didFinishLoading); 467 EXPECT_TRUE(m_didFinishLoading);
477 } 468 }
478 469
479 // Test a cross-origin URL redirect without Access Control set. 470 // Test a cross-origin URL redirect without Access Control set.
480 TEST_F(AssociatedURLLoaderTest, RedirectCrossOriginFailure) 471 TEST_F(AssociatedURLLoaderTest, RedirectCrossOriginFailure)
481 { 472 {
482 KURL url = toKURL("http://www.test.com/RedirectCrossOriginFailure.html"); 473 KURL url = toKURL("http://www.test.com/RedirectCrossOriginFailure.html");
483 char redirect[] = "http://www.other.com/RedirectCrossOriginFailure.html"; / / Cross-origin 474 char redirect[] = "http://www.other.com/RedirectCrossOriginFailure.html"; / / Cross-origin
484 KURL redirectURL = toKURL(redirect); 475 KURL redirectURL = toKURL(redirect);
485 476
486 WebURLRequest request; 477 WebURLRequest request;
487 request.initialize(); 478 request.initialize();
488 request.setURL(url); 479 request.setURL(url);
489 480
490 m_expectedRedirectResponse = WebURLResponse(); 481 m_expectedRedirectResponse = WebURLResponse();
491 m_expectedRedirectResponse.initialize();
492 m_expectedRedirectResponse.setMIMEType("text/html"); 482 m_expectedRedirectResponse.setMIMEType("text/html");
493 m_expectedRedirectResponse.setHTTPStatusCode(301); 483 m_expectedRedirectResponse.setHTTPStatusCode(301);
494 m_expectedRedirectResponse.setHTTPHeaderField("Location", redirect); 484 m_expectedRedirectResponse.setHTTPHeaderField("Location", redirect);
495 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR edirectResponse, m_frameFilePath); 485 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR edirectResponse, m_frameFilePath);
496 486
497 m_expectedNewRequest = WebURLRequest(); 487 m_expectedNewRequest = WebURLRequest();
498 m_expectedNewRequest.initialize(); 488 m_expectedNewRequest.initialize();
499 m_expectedNewRequest.setURL(redirectURL); 489 m_expectedNewRequest.setURL(redirectURL);
500 490
501 m_expectedResponse = WebURLResponse(); 491 m_expectedResponse = WebURLResponse();
502 m_expectedResponse.initialize();
503 m_expectedResponse.setMIMEType("text/html"); 492 m_expectedResponse.setMIMEType("text/html");
504 m_expectedResponse.setHTTPStatusCode(200); 493 m_expectedResponse.setHTTPStatusCode(200);
505 Platform::current()->getURLLoaderMockFactory()->registerURL(redirectURL, m_e xpectedResponse, m_frameFilePath); 494 Platform::current()->getURLLoaderMockFactory()->registerURL(redirectURL, m_e xpectedResponse, m_frameFilePath);
506 495
507 m_expectedLoader = createAssociatedURLLoader(); 496 m_expectedLoader = createAssociatedURLLoader();
508 EXPECT_TRUE(m_expectedLoader); 497 EXPECT_TRUE(m_expectedLoader);
509 m_expectedLoader->loadAsynchronously(request, this); 498 m_expectedLoader->loadAsynchronously(request, this);
510 499
511 serveRequests(); 500 serveRequests();
512 EXPECT_FALSE(m_willFollowRedirect); 501 EXPECT_FALSE(m_willFollowRedirect);
513 EXPECT_FALSE(m_didReceiveResponse); 502 EXPECT_FALSE(m_didReceiveResponse);
514 EXPECT_FALSE(m_didReceiveData); 503 EXPECT_FALSE(m_didReceiveData);
515 EXPECT_FALSE(m_didFinishLoading); 504 EXPECT_FALSE(m_didFinishLoading);
516 } 505 }
517 506
518 // Test that a cross origin redirect response without CORS headers fails. 507 // Test that a cross origin redirect response without CORS headers fails.
519 TEST_F(AssociatedURLLoaderTest, RedirectCrossOriginWithAccessControlFailure) 508 TEST_F(AssociatedURLLoaderTest, RedirectCrossOriginWithAccessControlFailure)
520 { 509 {
521 KURL url = toKURL("http://www.test.com/RedirectCrossOriginWithAccessControlF ailure.html"); 510 KURL url = toKURL("http://www.test.com/RedirectCrossOriginWithAccessControlF ailure.html");
522 char redirect[] = "http://www.other.com/RedirectCrossOriginWithAccessControl Failure.html"; // Cross-origin 511 char redirect[] = "http://www.other.com/RedirectCrossOriginWithAccessControl Failure.html"; // Cross-origin
523 KURL redirectURL = toKURL(redirect); 512 KURL redirectURL = toKURL(redirect);
524 513
525 WebURLRequest request; 514 WebURLRequest request;
526 request.initialize(); 515 request.initialize();
527 request.setURL(url); 516 request.setURL(url);
528 517
529 m_expectedRedirectResponse = WebURLResponse(); 518 m_expectedRedirectResponse = WebURLResponse();
530 m_expectedRedirectResponse.initialize();
531 m_expectedRedirectResponse.setMIMEType("text/html"); 519 m_expectedRedirectResponse.setMIMEType("text/html");
532 m_expectedRedirectResponse.setHTTPStatusCode(301); 520 m_expectedRedirectResponse.setHTTPStatusCode(301);
533 m_expectedRedirectResponse.setHTTPHeaderField("Location", redirect); 521 m_expectedRedirectResponse.setHTTPHeaderField("Location", redirect);
534 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR edirectResponse, m_frameFilePath); 522 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR edirectResponse, m_frameFilePath);
535 523
536 m_expectedNewRequest = WebURLRequest(); 524 m_expectedNewRequest = WebURLRequest();
537 m_expectedNewRequest.initialize(); 525 m_expectedNewRequest.initialize();
538 m_expectedNewRequest.setURL(redirectURL); 526 m_expectedNewRequest.setURL(redirectURL);
539 527
540 m_expectedResponse = WebURLResponse(); 528 m_expectedResponse = WebURLResponse();
541 m_expectedResponse.initialize();
542 m_expectedResponse.setMIMEType("text/html"); 529 m_expectedResponse.setMIMEType("text/html");
543 m_expectedResponse.setHTTPStatusCode(200); 530 m_expectedResponse.setHTTPStatusCode(200);
544 Platform::current()->getURLLoaderMockFactory()->registerURL(redirectURL, m_e xpectedResponse, m_frameFilePath); 531 Platform::current()->getURLLoaderMockFactory()->registerURL(redirectURL, m_e xpectedResponse, m_frameFilePath);
545 532
546 WebURLLoaderOptions options; 533 WebURLLoaderOptions options;
547 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl; 534 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl;
548 m_expectedLoader = createAssociatedURLLoader(options); 535 m_expectedLoader = createAssociatedURLLoader(options);
549 EXPECT_TRUE(m_expectedLoader); 536 EXPECT_TRUE(m_expectedLoader);
550 m_expectedLoader->loadAsynchronously(request, this); 537 m_expectedLoader->loadAsynchronously(request, this);
551 538
(...skipping 13 matching lines...) Expand all
565 KURL redirectURL = toKURL(redirect); 552 KURL redirectURL = toKURL(redirect);
566 553
567 WebURLRequest request; 554 WebURLRequest request;
568 request.initialize(); 555 request.initialize();
569 request.setURL(url); 556 request.setURL(url);
570 // Add a CORS simple header. 557 // Add a CORS simple header.
571 request.setHTTPHeaderField("accept", "application/json"); 558 request.setHTTPHeaderField("accept", "application/json");
572 559
573 // Create a redirect response that allows the redirect to pass the access co ntrol checks. 560 // Create a redirect response that allows the redirect to pass the access co ntrol checks.
574 m_expectedRedirectResponse = WebURLResponse(); 561 m_expectedRedirectResponse = WebURLResponse();
575 m_expectedRedirectResponse.initialize();
576 m_expectedRedirectResponse.setMIMEType("text/html"); 562 m_expectedRedirectResponse.setMIMEType("text/html");
577 m_expectedRedirectResponse.setHTTPStatusCode(301); 563 m_expectedRedirectResponse.setHTTPStatusCode(301);
578 m_expectedRedirectResponse.setHTTPHeaderField("Location", redirect); 564 m_expectedRedirectResponse.setHTTPHeaderField("Location", redirect);
579 m_expectedRedirectResponse.addHTTPHeaderField("access-control-allow-origin", "*"); 565 m_expectedRedirectResponse.addHTTPHeaderField("access-control-allow-origin", "*");
580 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR edirectResponse, m_frameFilePath); 566 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR edirectResponse, m_frameFilePath);
581 567
582 m_expectedNewRequest = WebURLRequest(); 568 m_expectedNewRequest = WebURLRequest();
583 m_expectedNewRequest.initialize(); 569 m_expectedNewRequest.initialize();
584 m_expectedNewRequest.setURL(redirectURL); 570 m_expectedNewRequest.setURL(redirectURL);
585 m_expectedNewRequest.setHTTPHeaderField("accept", "application/json"); 571 m_expectedNewRequest.setHTTPHeaderField("accept", "application/json");
586 572
587 m_expectedResponse = WebURLResponse(); 573 m_expectedResponse = WebURLResponse();
588 m_expectedResponse.initialize();
589 m_expectedResponse.setMIMEType("text/html"); 574 m_expectedResponse.setMIMEType("text/html");
590 m_expectedResponse.setHTTPStatusCode(200); 575 m_expectedResponse.setHTTPStatusCode(200);
591 m_expectedResponse.addHTTPHeaderField("access-control-allow-origin", "*"); 576 m_expectedResponse.addHTTPHeaderField("access-control-allow-origin", "*");
592 Platform::current()->getURLLoaderMockFactory()->registerURL(redirectURL, m_e xpectedResponse, m_frameFilePath); 577 Platform::current()->getURLLoaderMockFactory()->registerURL(redirectURL, m_e xpectedResponse, m_frameFilePath);
593 578
594 WebURLLoaderOptions options; 579 WebURLLoaderOptions options;
595 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl; 580 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl;
596 m_expectedLoader = createAssociatedURLLoader(options); 581 m_expectedLoader = createAssociatedURLLoader(options);
597 EXPECT_TRUE(m_expectedLoader); 582 EXPECT_TRUE(m_expectedLoader);
598 m_expectedLoader->loadAsynchronously(request, this); 583 m_expectedLoader->loadAsynchronously(request, this);
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 // Test that the loader can allow non-whitelisted response headers for trusted C ORS loads. 677 // Test that the loader can allow non-whitelisted response headers for trusted C ORS loads.
693 TEST_F(AssociatedURLLoaderTest, CrossOriginHeaderAllowResponseHeaders) 678 TEST_F(AssociatedURLLoaderTest, CrossOriginHeaderAllowResponseHeaders)
694 { 679 {
695 WebURLRequest request; 680 WebURLRequest request;
696 request.initialize(); 681 request.initialize();
697 KURL url = toKURL("http://www.other.com/CrossOriginHeaderAllowResponseHeader s.html"); 682 KURL url = toKURL("http://www.other.com/CrossOriginHeaderAllowResponseHeader s.html");
698 request.setURL(url); 683 request.setURL(url);
699 684
700 WebString headerNameString(WebString::fromUTF8("non-whitelisted")); 685 WebString headerNameString(WebString::fromUTF8("non-whitelisted"));
701 m_expectedResponse = WebURLResponse(); 686 m_expectedResponse = WebURLResponse();
702 m_expectedResponse.initialize();
703 m_expectedResponse.setMIMEType("text/html"); 687 m_expectedResponse.setMIMEType("text/html");
704 m_expectedResponse.setHTTPStatusCode(200); 688 m_expectedResponse.setHTTPStatusCode(200);
705 m_expectedResponse.addHTTPHeaderField("Access-Control-Allow-Origin", "*"); 689 m_expectedResponse.addHTTPHeaderField("Access-Control-Allow-Origin", "*");
706 m_expectedResponse.addHTTPHeaderField(headerNameString, "foo"); 690 m_expectedResponse.addHTTPHeaderField(headerNameString, "foo");
707 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath); 691 Platform::current()->getURLLoaderMockFactory()->registerURL(url, m_expectedR esponse, m_frameFilePath);
708 692
709 WebURLLoaderOptions options; 693 WebURLLoaderOptions options;
710 options.exposeAllResponseHeaders = true; // This turns off response whitelis ting. 694 options.exposeAllResponseHeaders = true; // This turns off response whitelis ting.
711 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl; 695 options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPo licyUseAccessControl;
712 m_expectedLoader = createAssociatedURLLoader(options); 696 m_expectedLoader = createAssociatedURLLoader(options);
713 EXPECT_TRUE(m_expectedLoader); 697 EXPECT_TRUE(m_expectedLoader);
714 m_expectedLoader->loadAsynchronously(request, this); 698 m_expectedLoader->loadAsynchronously(request, this);
715 serveRequests(); 699 serveRequests();
716 EXPECT_TRUE(m_didReceiveResponse); 700 EXPECT_TRUE(m_didReceiveResponse);
717 EXPECT_TRUE(m_didReceiveData); 701 EXPECT_TRUE(m_didReceiveData);
718 EXPECT_TRUE(m_didFinishLoading); 702 EXPECT_TRUE(m_didFinishLoading);
719 703
720 EXPECT_FALSE(m_actualResponse.httpHeaderField(headerNameString).isEmpty()); 704 EXPECT_FALSE(m_actualResponse.httpHeaderField(headerNameString).isEmpty());
721 } 705 }
722 706
723 } // namespace blink 707 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698