| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. |
| 3 * Copyright (C) 2013, Intel Corporation | 3 * Copyright (C) 2013, Intel Corporation |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 529 ThreadableLoaderClient* client = m_client; | 529 ThreadableLoaderClient* client = m_client; |
| 530 clear(); | 530 clear(); |
| 531 client->didFailRedirectCheck(); | 531 client->didFailRedirectCheck(); |
| 532 | 532 |
| 533 return false; | 533 return false; |
| 534 } | 534 } |
| 535 | 535 |
| 536 // Allow same origin requests to continue after allowing clients to audit the | 536 // Allow same origin requests to continue after allowing clients to audit the |
| 537 // redirect. | 537 // redirect. |
| 538 if (isAllowedRedirect(request.url())) { | 538 if (isAllowedRedirect(request.url())) { |
| 539 m_client->didReceiveRedirectTo(request.url()); |
| 539 if (m_client->isDocumentThreadableLoaderClient()) { | 540 if (m_client->isDocumentThreadableLoaderClient()) { |
| 540 return static_cast<DocumentThreadableLoaderClient*>(m_client) | 541 return static_cast<DocumentThreadableLoaderClient*>(m_client) |
| 541 ->willFollowRedirect(request, redirectResponse); | 542 ->willFollowRedirect(request, redirectResponse); |
| 542 } | 543 } |
| 543 return true; | 544 return true; |
| 544 } | 545 } |
| 545 | 546 |
| 546 if (m_corsRedirectLimit <= 0) { | 547 if (m_corsRedirectLimit <= 0) { |
| 547 ThreadableLoaderClient* client = m_client; | 548 ThreadableLoaderClient* client = m_client; |
| 548 clear(); | 549 clear(); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 590 | 591 |
| 591 if (!allowRedirect) { | 592 if (!allowRedirect) { |
| 592 ThreadableLoaderClient* client = m_client; | 593 ThreadableLoaderClient* client = m_client; |
| 593 clear(); | 594 clear(); |
| 594 client->didFailAccessControlCheck(ResourceError( | 595 client->didFailAccessControlCheck(ResourceError( |
| 595 errorDomainBlinkInternal, 0, redirectResponse.url().getString(), | 596 errorDomainBlinkInternal, 0, redirectResponse.url().getString(), |
| 596 accessControlErrorDescription)); | 597 accessControlErrorDescription)); |
| 597 return false; | 598 return false; |
| 598 } | 599 } |
| 599 | 600 |
| 601 m_client->didReceiveRedirectTo(request.url()); |
| 602 |
| 600 // FIXME: consider combining this with CORS redirect handling performed by | 603 // FIXME: consider combining this with CORS redirect handling performed by |
| 601 // CrossOriginAccessControl::handleRedirect(). | 604 // CrossOriginAccessControl::handleRedirect(). |
| 602 clearResource(); | 605 clearResource(); |
| 603 | 606 |
| 604 // If the original request wasn't same-origin, then if the request URL origin | 607 // If the original request wasn't same-origin, then if the request URL origin |
| 605 // is not same origin with the original URL origin, set the source origin to a | 608 // is not same origin with the original URL origin, set the source origin to a |
| 606 // globally unique identifier. (If the original request was same-origin, the | 609 // globally unique identifier. (If the original request was same-origin, the |
| 607 // origin of the new request should be the original URL origin.) | 610 // origin of the new request should be the original URL origin.) |
| 608 if (!m_sameOriginRequest) { | 611 if (!m_sameOriginRequest) { |
| 609 RefPtr<SecurityOrigin> originalOrigin = | 612 RefPtr<SecurityOrigin> originalOrigin = |
| (...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1123 } | 1126 } |
| 1124 | 1127 |
| 1125 DEFINE_TRACE(DocumentThreadableLoader) { | 1128 DEFINE_TRACE(DocumentThreadableLoader) { |
| 1126 visitor->trace(m_resource); | 1129 visitor->trace(m_resource); |
| 1127 visitor->trace(m_document); | 1130 visitor->trace(m_document); |
| 1128 ThreadableLoader::trace(visitor); | 1131 ThreadableLoader::trace(visitor); |
| 1129 RawResourceClient::trace(visitor); | 1132 RawResourceClient::trace(visitor); |
| 1130 } | 1133 } |
| 1131 | 1134 |
| 1132 } // namespace blink | 1135 } // namespace blink |
| OLD | NEW |