OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2015, Google Inc. All rights reserved. | 2 * Copyright (c) 2015, 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 12 matching lines...) Expand all Loading... |
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 #include "core/loader/FrameFetchContext.h" | 31 #include "core/loader/FrameFetchContext.h" |
32 | 32 |
| 33 #include "core/dom/Document.h" |
33 #include "core/fetch/FetchInitiatorInfo.h" | 34 #include "core/fetch/FetchInitiatorInfo.h" |
34 #include "core/fetch/UniqueIdentifier.h" | 35 #include "core/fetch/UniqueIdentifier.h" |
35 #include "core/frame/FrameHost.h" | 36 #include "core/frame/FrameHost.h" |
36 #include "core/frame/FrameOwner.h" | 37 #include "core/frame/FrameOwner.h" |
37 #include "core/frame/FrameView.h" | 38 #include "core/frame/FrameView.h" |
38 #include "core/frame/Settings.h" | 39 #include "core/frame/Settings.h" |
39 #include "core/html/HTMLDocument.h" | |
40 #include "core/loader/DocumentLoader.h" | 40 #include "core/loader/DocumentLoader.h" |
41 #include "core/loader/EmptyClients.h" | 41 #include "core/loader/EmptyClients.h" |
42 #include "core/page/Page.h" | 42 #include "core/page/Page.h" |
43 #include "core/testing/DummyPageHolder.h" | 43 #include "core/testing/DummyPageHolder.h" |
44 #include "platform/network/ResourceRequest.h" | 44 #include "platform/network/ResourceRequest.h" |
45 #include "platform/weborigin/KURL.h" | 45 #include "platform/weborigin/KURL.h" |
46 #include "public/platform/WebAddressSpace.h" | 46 #include "public/platform/WebAddressSpace.h" |
47 #include "public/platform/WebCachePolicy.h" | 47 #include "public/platform/WebCachePolicy.h" |
48 #include "public/platform/WebInsecureRequestPolicy.h" | 48 #include "public/platform/WebInsecureRequestPolicy.h" |
49 #include "testing/gmock/include/gmock/gmock-generated-function-mockers.h" | 49 #include "testing/gmock/include/gmock/gmock-generated-function-mockers.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 MOCK_METHOD2(didDisplayContentWithCertificateErrors, void(const KURL&, const
CString&)); | 85 MOCK_METHOD2(didDisplayContentWithCertificateErrors, void(const KURL&, const
CString&)); |
86 }; | 86 }; |
87 | 87 |
88 class FrameFetchContextTest : public ::testing::Test { | 88 class FrameFetchContextTest : public ::testing::Test { |
89 protected: | 89 protected: |
90 void SetUp() override | 90 void SetUp() override |
91 { | 91 { |
92 dummyPageHolder = DummyPageHolder::create(IntSize(500, 500)); | 92 dummyPageHolder = DummyPageHolder::create(IntSize(500, 500)); |
93 dummyPageHolder->page().setDeviceScaleFactor(1.0); | 93 dummyPageHolder->page().setDeviceScaleFactor(1.0); |
94 documentLoader = DocumentLoader::create(&dummyPageHolder->frame(), Resou
rceRequest("http://www.example.com"), SubstituteData()); | 94 documentLoader = DocumentLoader::create(&dummyPageHolder->frame(), Resou
rceRequest("http://www.example.com"), SubstituteData()); |
95 document = toHTMLDocument(&dummyPageHolder->document()); | 95 document = &dummyPageHolder->document(); |
96 fetchContext = static_cast<FrameFetchContext*>(&documentLoader->fetcher(
)->context()); | 96 fetchContext = static_cast<FrameFetchContext*>(&documentLoader->fetcher(
)->context()); |
97 owner = DummyFrameOwner::create(); | 97 owner = DummyFrameOwner::create(); |
98 FrameFetchContext::provideDocumentToContext(*fetchContext, document.get(
)); | 98 FrameFetchContext::provideDocumentToContext(*fetchContext, document.get(
)); |
99 } | 99 } |
100 | 100 |
101 void TearDown() override | 101 void TearDown() override |
102 { | 102 { |
103 documentLoader->detachFromFrame(); | 103 documentLoader->detachFromFrame(); |
104 documentLoader.clear(); | 104 documentLoader.clear(); |
105 | 105 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 void SetUp() override | 144 void SetUp() override |
145 { | 145 { |
146 url = KURL(KURL(), "https://example.test/foo"); | 146 url = KURL(KURL(), "https://example.test/foo"); |
147 securityInfo = "security info"; | 147 securityInfo = "security info"; |
148 mainResourceUrl = KURL(KURL(), "https://www.example.test"); | 148 mainResourceUrl = KURL(KURL(), "https://www.example.test"); |
149 MockFrameLoaderClient* client = new MockFrameLoaderClient; | 149 MockFrameLoaderClient* client = new MockFrameLoaderClient; |
150 EXPECT_CALL(*client, didDisplayContentWithCertificateErrors(url, securit
yInfo)); | 150 EXPECT_CALL(*client, didDisplayContentWithCertificateErrors(url, securit
yInfo)); |
151 dummyPageHolder = DummyPageHolder::create(IntSize(500, 500), nullptr, cl
ient); | 151 dummyPageHolder = DummyPageHolder::create(IntSize(500, 500), nullptr, cl
ient); |
152 dummyPageHolder->page().setDeviceScaleFactor(1.0); | 152 dummyPageHolder->page().setDeviceScaleFactor(1.0); |
153 documentLoader = DocumentLoader::create(&dummyPageHolder->frame(), Resou
rceRequest(mainResourceUrl), SubstituteData()); | 153 documentLoader = DocumentLoader::create(&dummyPageHolder->frame(), Resou
rceRequest(mainResourceUrl), SubstituteData()); |
154 document = toHTMLDocument(&dummyPageHolder->document()); | 154 document = &dummyPageHolder->document(); |
155 document->setURL(mainResourceUrl); | 155 document->setURL(mainResourceUrl); |
156 fetchContext = static_cast<FrameFetchContext*>(&documentLoader->fetcher(
)->context()); | 156 fetchContext = static_cast<FrameFetchContext*>(&documentLoader->fetcher(
)->context()); |
157 owner = DummyFrameOwner::create(); | 157 owner = DummyFrameOwner::create(); |
158 FrameFetchContext::provideDocumentToContext(*fetchContext, document.get(
)); | 158 FrameFetchContext::provideDocumentToContext(*fetchContext, document.get(
)); |
159 } | 159 } |
160 | 160 |
161 KURL url; | 161 KURL url; |
162 KURL mainResourceUrl; | 162 KURL mainResourceUrl; |
163 CString securityInfo; | 163 CString securityInfo; |
164 }; | 164 }; |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
473 { "http://example.test", false, "", WebURLRequest::FrameTypeTopLevel, ""
}, | 473 { "http://example.test", false, "", WebURLRequest::FrameTypeTopLevel, ""
}, |
474 { "http://example.test", false, "", WebURLRequest::FrameTypeAuxiliary, "
" }, | 474 { "http://example.test", false, "", WebURLRequest::FrameTypeAuxiliary, "
" }, |
475 { "http://example.test", false, "", WebURLRequest::FrameTypeNested, "" }
, | 475 { "http://example.test", false, "", WebURLRequest::FrameTypeNested, "" }
, |
476 }; | 476 }; |
477 | 477 |
478 for (const auto& test : cases) { | 478 for (const auto& test : cases) { |
479 SCOPED_TRACE(::testing::Message() << test.documentURL << " => " << test.
serializedOrigin); | 479 SCOPED_TRACE(::testing::Message() << test.documentURL << " => " << test.
serializedOrigin); |
480 // Set up a new document to ensure sandbox flags are cleared: | 480 // Set up a new document to ensure sandbox flags are cleared: |
481 dummyPageHolder = DummyPageHolder::create(IntSize(500, 500)); | 481 dummyPageHolder = DummyPageHolder::create(IntSize(500, 500)); |
482 dummyPageHolder->page().setDeviceScaleFactor(1.0); | 482 dummyPageHolder->page().setDeviceScaleFactor(1.0); |
483 document = toHTMLDocument(&dummyPageHolder->document()); | 483 document = &dummyPageHolder->document(); |
484 FrameFetchContext::provideDocumentToContext(*fetchContext, document.get(
)); | 484 FrameFetchContext::provideDocumentToContext(*fetchContext, document.get(
)); |
485 | 485 |
486 // Setup the test: | 486 // Setup the test: |
487 document->setURL(KURL(ParsedURLString, test.documentURL)); | 487 document->setURL(KURL(ParsedURLString, test.documentURL)); |
488 document->setSecurityOrigin(SecurityOrigin::create(document->url())); | 488 document->setSecurityOrigin(SecurityOrigin::create(document->url())); |
489 | 489 |
490 if (test.documentSandboxed) | 490 if (test.documentSandboxed) |
491 document->enforceSandboxFlags(SandboxOrigin); | 491 document->enforceSandboxFlags(SandboxOrigin); |
492 | 492 |
493 ResourceRequest request("http://example.test/"); | 493 ResourceRequest request("http://example.test/"); |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
696 fetchContext->addAdditionalRequestHeaders(mainRequest, FetchMainResource
); | 696 fetchContext->addAdditionalRequestHeaders(mainRequest, FetchMainResource
); |
697 EXPECT_EQ(mainRequest.isExternalRequest(), test.isExternalExpectation); | 697 EXPECT_EQ(mainRequest.isExternalRequest(), test.isExternalExpectation); |
698 | 698 |
699 ResourceRequest subRequest(test.url); | 699 ResourceRequest subRequest(test.url); |
700 fetchContext->addAdditionalRequestHeaders(subRequest, FetchSubresource); | 700 fetchContext->addAdditionalRequestHeaders(subRequest, FetchSubresource); |
701 EXPECT_EQ(subRequest.isExternalRequest(), test.isExternalExpectation); | 701 EXPECT_EQ(subRequest.isExternalRequest(), test.isExternalExpectation); |
702 } | 702 } |
703 } | 703 } |
704 | 704 |
705 } // namespace blink | 705 } // namespace blink |
OLD | NEW |