OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 #include "platform/RuntimeEnabledFeatures.h" | 82 #include "platform/RuntimeEnabledFeatures.h" |
83 #include "platform/UserGestureIndicator.h" | 83 #include "platform/UserGestureIndicator.h" |
84 #include "platform/geometry/FloatRect.h" | 84 #include "platform/geometry/FloatRect.h" |
85 #include "platform/network/ResourceError.h" | 85 #include "platform/network/ResourceError.h" |
86 #include "platform/scroll/ScrollbarTheme.h" | 86 #include "platform/scroll/ScrollbarTheme.h" |
87 #include "platform/testing/URLTestHelpers.h" | 87 #include "platform/testing/URLTestHelpers.h" |
88 #include "platform/testing/UnitTestHelpers.h" | 88 #include "platform/testing/UnitTestHelpers.h" |
89 #include "platform/weborigin/SchemeRegistry.h" | 89 #include "platform/weborigin/SchemeRegistry.h" |
90 #include "platform/weborigin/SecurityOrigin.h" | 90 #include "platform/weborigin/SecurityOrigin.h" |
91 #include "public/platform/Platform.h" | 91 #include "public/platform/Platform.h" |
| 92 #include "public/platform/WebCachePolicy.h" |
92 #include "public/platform/WebFloatRect.h" | 93 #include "public/platform/WebFloatRect.h" |
93 #include "public/platform/WebSecurityOrigin.h" | 94 #include "public/platform/WebSecurityOrigin.h" |
94 #include "public/platform/WebThread.h" | 95 #include "public/platform/WebThread.h" |
95 #include "public/platform/WebURL.h" | 96 #include "public/platform/WebURL.h" |
96 #include "public/platform/WebURLResponse.h" | 97 #include "public/platform/WebURLResponse.h" |
97 #include "public/platform/WebUnitTestSupport.h" | 98 #include "public/platform/WebUnitTestSupport.h" |
98 #include "public/web/WebCache.h" | 99 #include "public/web/WebCache.h" |
99 #include "public/web/WebConsoleMessage.h" | 100 #include "public/web/WebConsoleMessage.h" |
100 #include "public/web/WebDataSource.h" | 101 #include "public/web/WebDataSource.h" |
101 #include "public/web/WebDeviceEmulationParams.h" | 102 #include "public/web/WebDeviceEmulationParams.h" |
(...skipping 5021 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5123 std::string errorURL = "http://0.0.0.0"; | 5124 std::string errorURL = "http://0.0.0.0"; |
5124 WebURLResponse response; | 5125 WebURLResponse response; |
5125 response.initialize(); | 5126 response.initialize(); |
5126 response.setURL(URLTestHelpers::toKURL(errorURL)); | 5127 response.setURL(URLTestHelpers::toKURL(errorURL)); |
5127 response.setMIMEType("text/html"); | 5128 response.setMIMEType("text/html"); |
5128 response.setHTTPStatusCode(500); | 5129 response.setHTTPStatusCode(500); |
5129 WebHistoryItem errorHistoryItem; | 5130 WebHistoryItem errorHistoryItem; |
5130 errorHistoryItem.initialize(); | 5131 errorHistoryItem.initialize(); |
5131 errorHistoryItem.setURLString(WebString::fromUTF8(errorURL.c_str(), errorURL
.length())); | 5132 errorHistoryItem.setURLString(WebString::fromUTF8(errorURL.c_str(), errorURL
.length())); |
5132 Platform::current()->unitTestSupport()->registerMockedErrorURL(URLTestHelper
s::toKURL(errorURL), response, error); | 5133 Platform::current()->unitTestSupport()->registerMockedErrorURL(URLTestHelper
s::toKURL(errorURL), response, error); |
5133 FrameTestHelpers::loadHistoryItem(frame, errorHistoryItem, WebHistoryDiffere
ntDocumentLoad, WebURLRequest::UseProtocolCachePolicy); | 5134 FrameTestHelpers::loadHistoryItem(frame, errorHistoryItem, WebHistoryDiffere
ntDocumentLoad, WebCachePolicy::UseProtocolCachePolicy); |
5134 | 5135 |
5135 WebString text = WebFrameContentDumper::dumpFrameTreeAsText(frame->toWebLoca
lFrame(), std::numeric_limits<size_t>::max()); | 5136 WebString text = WebFrameContentDumper::dumpFrameTreeAsText(frame->toWebLoca
lFrame(), std::numeric_limits<size_t>::max()); |
5136 EXPECT_EQ("This should appear", text.utf8()); | 5137 EXPECT_EQ("This should appear", text.utf8()); |
5137 EXPECT_TRUE(webFrameClient.commitCalled()); | 5138 EXPECT_TRUE(webFrameClient.commitCalled()); |
5138 } | 5139 } |
5139 | 5140 |
5140 class TestWillInsertBodyWebFrameClient : public FrameTestHelpers::TestWebFrameCl
ient { | 5141 class TestWillInsertBodyWebFrameClient : public FrameTestHelpers::TestWebFrameCl
ient { |
5141 public: | 5142 public: |
5142 TestWillInsertBodyWebFrameClient() : m_numBodies(0), m_didLoad(false) | 5143 TestWillInsertBodyWebFrameClient() : m_numBodies(0), m_didLoad(false) |
5143 { | 5144 { |
(...skipping 731 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5875 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr
ue); | 5876 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr
ue); |
5876 WebFrame* frame = webViewHelper.webView()->mainFrame(); | 5877 WebFrame* frame = webViewHelper.webView()->mainFrame(); |
5877 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI
mpl()->frame()->loader(); | 5878 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI
mpl()->frame()->loader(); |
5878 Persistent<HistoryItem> firstItem = mainFrameLoader.currentItem(); | 5879 Persistent<HistoryItem> firstItem = mainFrameLoader.currentItem(); |
5879 EXPECT_TRUE(firstItem); | 5880 EXPECT_TRUE(firstItem); |
5880 | 5881 |
5881 registerMockedHttpURLLoad("white-1x1.png"); | 5882 registerMockedHttpURLLoad("white-1x1.png"); |
5882 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png"); | 5883 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png"); |
5883 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem()); | 5884 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem()); |
5884 | 5885 |
5885 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem.get()), We
bHistoryDifferentDocumentLoad, WebURLRequest::UseProtocolCachePolicy); | 5886 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem.get()), We
bHistoryDifferentDocumentLoad, WebCachePolicy::UseProtocolCachePolicy); |
5886 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem()); | 5887 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem()); |
5887 | 5888 |
5888 FrameTestHelpers::reloadFrame(frame); | 5889 FrameTestHelpers::reloadFrame(frame); |
5889 EXPECT_EQ(WebURLRequest::ValidatingCacheData, frame->dataSource()->request()
.getCachePolicy()); | 5890 EXPECT_EQ(WebCachePolicy::ValidatingCacheData, frame->dataSource()->request(
).getCachePolicy()); |
5890 } | 5891 } |
5891 | 5892 |
5892 TEST_P(ParameterizedWebFrameTest, BackDuringChildFrameReload) | 5893 TEST_P(ParameterizedWebFrameTest, BackDuringChildFrameReload) |
5893 { | 5894 { |
5894 registerMockedHttpURLLoad("page_with_blank_iframe.html"); | 5895 registerMockedHttpURLLoad("page_with_blank_iframe.html"); |
5895 FrameTestHelpers::WebViewHelper webViewHelper(this); | 5896 FrameTestHelpers::WebViewHelper webViewHelper(this); |
5896 webViewHelper.initializeAndLoad(m_baseURL + "page_with_blank_iframe.html", t
rue); | 5897 webViewHelper.initializeAndLoad(m_baseURL + "page_with_blank_iframe.html", t
rue); |
5897 WebFrame* mainFrame = webViewHelper.webView()->mainFrame(); | 5898 WebFrame* mainFrame = webViewHelper.webView()->mainFrame(); |
5898 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI
mpl()->frame()->loader(); | 5899 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI
mpl()->frame()->loader(); |
5899 WebFrame* childFrame = mainFrame->firstChild(); | 5900 WebFrame* childFrame = mainFrame->firstChild(); |
5900 ASSERT_TRUE(childFrame); | 5901 ASSERT_TRUE(childFrame); |
5901 | 5902 |
5902 // Start a history navigation, then have a different frame commit a navigati
on. | 5903 // Start a history navigation, then have a different frame commit a navigati
on. |
5903 // In this case, reload an about:blank frame, which will commit synchronousl
y. | 5904 // In this case, reload an about:blank frame, which will commit synchronousl
y. |
5904 // After the history navigation completes, both the appropriate document url
and | 5905 // After the history navigation completes, both the appropriate document url
and |
5905 // the current history item should reflect the history navigation. | 5906 // the current history item should reflect the history navigation. |
5906 registerMockedHttpURLLoad("white-1x1.png"); | 5907 registerMockedHttpURLLoad("white-1x1.png"); |
5907 WebHistoryItem item; | 5908 WebHistoryItem item; |
5908 item.initialize(); | 5909 item.initialize(); |
5909 WebURL historyURL(toKURL(m_baseURL + "white-1x1.png")); | 5910 WebURL historyURL(toKURL(m_baseURL + "white-1x1.png")); |
5910 item.setURLString(historyURL.string()); | 5911 item.setURLString(historyURL.string()); |
5911 mainFrame->loadHistoryItem(item, WebHistoryDifferentDocumentLoad, WebURLRequ
est::UseProtocolCachePolicy); | 5912 mainFrame->loadHistoryItem(item, WebHistoryDifferentDocumentLoad, WebCachePo
licy::UseProtocolCachePolicy); |
5912 | 5913 |
5913 FrameTestHelpers::reloadFrame(childFrame); | 5914 FrameTestHelpers::reloadFrame(childFrame); |
5914 EXPECT_EQ(item.urlString(), mainFrame->document().url().string()); | 5915 EXPECT_EQ(item.urlString(), mainFrame->document().url().string()); |
5915 EXPECT_EQ(item.urlString(), WebString(mainFrameLoader.currentItem()->urlStri
ng())); | 5916 EXPECT_EQ(item.urlString(), WebString(mainFrameLoader.currentItem()->urlStri
ng())); |
5916 } | 5917 } |
5917 | 5918 |
5918 TEST_P(ParameterizedWebFrameTest, ReloadPost) | 5919 TEST_P(ParameterizedWebFrameTest, ReloadPost) |
5919 { | 5920 { |
5920 registerMockedHttpURLLoad("reload_post.html"); | 5921 registerMockedHttpURLLoad("reload_post.html"); |
5921 FrameTestHelpers::WebViewHelper webViewHelper(this); | 5922 FrameTestHelpers::WebViewHelper webViewHelper(this); |
5922 webViewHelper.initializeAndLoad(m_baseURL + "reload_post.html", true); | 5923 webViewHelper.initializeAndLoad(m_baseURL + "reload_post.html", true); |
5923 WebFrame* frame = webViewHelper.webView()->mainFrame(); | 5924 WebFrame* frame = webViewHelper.webView()->mainFrame(); |
5924 | 5925 |
5925 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), "javascrip
t:document.forms[0].submit()"); | 5926 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), "javascrip
t:document.forms[0].submit()"); |
5926 // Pump requests one more time after the javascript URL has executed to | 5927 // Pump requests one more time after the javascript URL has executed to |
5927 // trigger the actual POST load request. | 5928 // trigger the actual POST load request. |
5928 FrameTestHelpers::pumpPendingRequestsForFrameToLoad(webViewHelper.webView()-
>mainFrame()); | 5929 FrameTestHelpers::pumpPendingRequestsForFrameToLoad(webViewHelper.webView()-
>mainFrame()); |
5929 EXPECT_EQ(WebString::fromUTF8("POST"), frame->dataSource()->request().httpMe
thod()); | 5930 EXPECT_EQ(WebString::fromUTF8("POST"), frame->dataSource()->request().httpMe
thod()); |
5930 | 5931 |
5931 FrameTestHelpers::reloadFrame(frame); | 5932 FrameTestHelpers::reloadFrame(frame); |
5932 EXPECT_EQ(WebURLRequest::ValidatingCacheData, frame->dataSource()->request()
.getCachePolicy()); | 5933 EXPECT_EQ(WebCachePolicy::ValidatingCacheData, frame->dataSource()->request(
).getCachePolicy()); |
5933 EXPECT_EQ(WebNavigationTypeFormResubmitted, frame->dataSource()->navigationT
ype()); | 5934 EXPECT_EQ(WebNavigationTypeFormResubmitted, frame->dataSource()->navigationT
ype()); |
5934 } | 5935 } |
5935 | 5936 |
5936 TEST_P(ParameterizedWebFrameTest, LoadHistoryItemReload) | 5937 TEST_P(ParameterizedWebFrameTest, LoadHistoryItemReload) |
5937 { | 5938 { |
5938 registerMockedHttpURLLoad("fragment_middle_click.html"); | 5939 registerMockedHttpURLLoad("fragment_middle_click.html"); |
5939 FrameTestHelpers::WebViewHelper webViewHelper(this); | 5940 FrameTestHelpers::WebViewHelper webViewHelper(this); |
5940 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr
ue); | 5941 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr
ue); |
5941 WebFrame* frame = webViewHelper.webView()->mainFrame(); | 5942 WebFrame* frame = webViewHelper.webView()->mainFrame(); |
5942 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI
mpl()->frame()->loader(); | 5943 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI
mpl()->frame()->loader(); |
5943 Persistent<HistoryItem> firstItem = mainFrameLoader.currentItem(); | 5944 Persistent<HistoryItem> firstItem = mainFrameLoader.currentItem(); |
5944 EXPECT_TRUE(firstItem); | 5945 EXPECT_TRUE(firstItem); |
5945 | 5946 |
5946 registerMockedHttpURLLoad("white-1x1.png"); | 5947 registerMockedHttpURLLoad("white-1x1.png"); |
5947 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png"); | 5948 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png"); |
5948 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem()); | 5949 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem()); |
5949 | 5950 |
5950 // Cache policy overrides should take. | 5951 // Cache policy overrides should take. |
5951 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem), WebHisto
ryDifferentDocumentLoad, WebURLRequest::ValidatingCacheData); | 5952 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem), WebHisto
ryDifferentDocumentLoad, WebCachePolicy::ValidatingCacheData); |
5952 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem()); | 5953 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem()); |
5953 EXPECT_EQ(WebURLRequest::ValidatingCacheData, frame->dataSource()->request()
.getCachePolicy()); | 5954 EXPECT_EQ(WebCachePolicy::ValidatingCacheData, frame->dataSource()->request(
).getCachePolicy()); |
5954 } | 5955 } |
5955 | 5956 |
5956 | 5957 |
5957 class TestCachePolicyWebFrameClient : public FrameTestHelpers::TestWebFrameClien
t { | 5958 class TestCachePolicyWebFrameClient : public FrameTestHelpers::TestWebFrameClien
t { |
5958 public: | 5959 public: |
5959 explicit TestCachePolicyWebFrameClient(TestCachePolicyWebFrameClient* parent
Client) | 5960 explicit TestCachePolicyWebFrameClient(TestCachePolicyWebFrameClient* parent
Client) |
5960 : m_parentClient(parentClient) | 5961 : m_parentClient(parentClient) |
5961 , m_policy(WebURLRequest::UseProtocolCachePolicy) | 5962 , m_policy(WebCachePolicy::UseProtocolCachePolicy) |
5962 , m_childClient(0) | 5963 , m_childClient(0) |
5963 , m_willSendRequestCallCount(0) | 5964 , m_willSendRequestCallCount(0) |
5964 , m_childFrameCreationCount(0) | 5965 , m_childFrameCreationCount(0) |
5965 { | 5966 { |
5966 } | 5967 } |
5967 | 5968 |
5968 void setChildWebFrameClient(TestCachePolicyWebFrameClient* client) { m_child
Client = client; } | 5969 void setChildWebFrameClient(TestCachePolicyWebFrameClient* client) { m_child
Client = client; } |
5969 WebURLRequest::CachePolicy getCachePolicy() const { return m_policy; } | 5970 WebCachePolicy getCachePolicy() const { return m_policy; } |
5970 int willSendRequestCallCount() const { return m_willSendRequestCallCount; } | 5971 int willSendRequestCallCount() const { return m_willSendRequestCallCount; } |
5971 int childFrameCreationCount() const { return m_childFrameCreationCount; } | 5972 int childFrameCreationCount() const { return m_childFrameCreationCount; } |
5972 | 5973 |
5973 virtual WebFrame* createChildFrame(WebLocalFrame* parent, WebTreeScopeType s
cope, const WebString&, const WebString&, WebSandboxFlags, const WebFrameOwnerPr
operties& frameOwnerProperties) | 5974 virtual WebFrame* createChildFrame(WebLocalFrame* parent, WebTreeScopeType s
cope, const WebString&, const WebString&, WebSandboxFlags, const WebFrameOwnerPr
operties& frameOwnerProperties) |
5974 { | 5975 { |
5975 DCHECK(m_childClient); | 5976 DCHECK(m_childClient); |
5976 m_childFrameCreationCount++; | 5977 m_childFrameCreationCount++; |
5977 WebFrame* frame = WebLocalFrame::create(scope, m_childClient); | 5978 WebFrame* frame = WebLocalFrame::create(scope, m_childClient); |
5978 parent->appendChild(frame); | 5979 parent->appendChild(frame); |
5979 return frame; | 5980 return frame; |
(...skipping 19 matching lines...) Expand all Loading... |
5999 | 6000 |
6000 void willSendRequest(WebLocalFrame* frame, unsigned, WebURLRequest& request,
const WebURLResponse&) override | 6001 void willSendRequest(WebLocalFrame* frame, unsigned, WebURLRequest& request,
const WebURLResponse&) override |
6001 { | 6002 { |
6002 m_policy = request.getCachePolicy(); | 6003 m_policy = request.getCachePolicy(); |
6003 m_willSendRequestCallCount++; | 6004 m_willSendRequestCallCount++; |
6004 } | 6005 } |
6005 | 6006 |
6006 private: | 6007 private: |
6007 TestCachePolicyWebFrameClient* m_parentClient; | 6008 TestCachePolicyWebFrameClient* m_parentClient; |
6008 | 6009 |
6009 WebURLRequest::CachePolicy m_policy; | 6010 WebCachePolicy m_policy; |
6010 TestCachePolicyWebFrameClient* m_childClient; | 6011 TestCachePolicyWebFrameClient* m_childClient; |
6011 int m_willSendRequestCallCount; | 6012 int m_willSendRequestCallCount; |
6012 int m_childFrameCreationCount; | 6013 int m_childFrameCreationCount; |
6013 }; | 6014 }; |
6014 | 6015 |
6015 TEST_P(ParameterizedWebFrameTest, ReloadIframe) | 6016 TEST_P(ParameterizedWebFrameTest, ReloadIframe) |
6016 { | 6017 { |
6017 registerMockedHttpURLLoad("iframe_reload.html"); | 6018 registerMockedHttpURLLoad("iframe_reload.html"); |
6018 registerMockedHttpURLLoad("visible_iframe.html"); | 6019 registerMockedHttpURLLoad("visible_iframe.html"); |
6019 TestCachePolicyWebFrameClient mainClient(0); | 6020 TestCachePolicyWebFrameClient mainClient(0); |
6020 TestCachePolicyWebFrameClient childClient(&mainClient); | 6021 TestCachePolicyWebFrameClient childClient(&mainClient); |
6021 mainClient.setChildWebFrameClient(&childClient); | 6022 mainClient.setChildWebFrameClient(&childClient); |
6022 | 6023 |
6023 FrameTestHelpers::WebViewHelper webViewHelper(this); | 6024 FrameTestHelpers::WebViewHelper webViewHelper(this); |
6024 webViewHelper.initializeAndLoad(m_baseURL + "iframe_reload.html", true, &mai
nClient); | 6025 webViewHelper.initializeAndLoad(m_baseURL + "iframe_reload.html", true, &mai
nClient); |
6025 | 6026 |
6026 WebLocalFrameImpl* mainFrame = webViewHelper.webViewImpl()->mainFrameImpl(); | 6027 WebLocalFrameImpl* mainFrame = webViewHelper.webViewImpl()->mainFrameImpl(); |
6027 RawPtr<WebLocalFrameImpl> childFrame = toWebLocalFrameImpl(mainFrame->firstC
hild()); | 6028 RawPtr<WebLocalFrameImpl> childFrame = toWebLocalFrameImpl(mainFrame->firstC
hild()); |
6028 ASSERT_EQ(childFrame->client(), &childClient); | 6029 ASSERT_EQ(childFrame->client(), &childClient); |
6029 EXPECT_EQ(mainClient.childFrameCreationCount(), 1); | 6030 EXPECT_EQ(mainClient.childFrameCreationCount(), 1); |
6030 EXPECT_EQ(childClient.willSendRequestCallCount(), 1); | 6031 EXPECT_EQ(childClient.willSendRequestCallCount(), 1); |
6031 EXPECT_EQ(childClient.getCachePolicy(), WebURLRequest::UseProtocolCachePolic
y); | 6032 EXPECT_EQ(childClient.getCachePolicy(), WebCachePolicy::UseProtocolCachePoli
cy); |
6032 | 6033 |
6033 FrameTestHelpers::reloadFrame(mainFrame); | 6034 FrameTestHelpers::reloadFrame(mainFrame); |
6034 | 6035 |
6035 // A new WebFrame should have been created, but the child WebFrameClient sho
uld be reused. | 6036 // A new WebFrame should have been created, but the child WebFrameClient sho
uld be reused. |
6036 ASSERT_NE(childFrame, toWebLocalFrameImpl(mainFrame->firstChild())); | 6037 ASSERT_NE(childFrame, toWebLocalFrameImpl(mainFrame->firstChild())); |
6037 ASSERT_EQ(toWebLocalFrameImpl(mainFrame->firstChild())->client(), &childClie
nt); | 6038 ASSERT_EQ(toWebLocalFrameImpl(mainFrame->firstChild())->client(), &childClie
nt); |
6038 | 6039 |
6039 EXPECT_EQ(mainClient.childFrameCreationCount(), 2); | 6040 EXPECT_EQ(mainClient.childFrameCreationCount(), 2); |
6040 EXPECT_EQ(childClient.willSendRequestCallCount(), 2); | 6041 EXPECT_EQ(childClient.willSendRequestCallCount(), 2); |
6041 EXPECT_EQ(childClient.getCachePolicy(), WebURLRequest::ValidatingCacheData); | 6042 EXPECT_EQ(childClient.getCachePolicy(), WebCachePolicy::ValidatingCacheData)
; |
6042 } | 6043 } |
6043 | 6044 |
6044 class TestSameDocumentWebFrameClient : public FrameTestHelpers::TestWebFrameClie
nt { | 6045 class TestSameDocumentWebFrameClient : public FrameTestHelpers::TestWebFrameClie
nt { |
6045 public: | 6046 public: |
6046 TestSameDocumentWebFrameClient() | 6047 TestSameDocumentWebFrameClient() |
6047 : m_frameLoadTypeSameSeen(false) | 6048 : m_frameLoadTypeSameSeen(false) |
6048 { | 6049 { |
6049 } | 6050 } |
6050 | 6051 |
6051 virtual void willSendRequest(WebLocalFrame* frame, unsigned, WebURLRequest&,
const WebURLResponse&) | 6052 virtual void willSendRequest(WebLocalFrame* frame, unsigned, WebURLRequest&,
const WebURLResponse&) |
(...skipping 27 matching lines...) Expand all Loading... |
6079 public: | 6080 public: |
6080 TestSameDocumentWithImageWebFrameClient() | 6081 TestSameDocumentWithImageWebFrameClient() |
6081 : m_numOfImageRequests(0) | 6082 : m_numOfImageRequests(0) |
6082 { | 6083 { |
6083 } | 6084 } |
6084 | 6085 |
6085 virtual void willSendRequest(WebLocalFrame* frame, unsigned, WebURLRequest&
request, const WebURLResponse&) | 6086 virtual void willSendRequest(WebLocalFrame* frame, unsigned, WebURLRequest&
request, const WebURLResponse&) |
6086 { | 6087 { |
6087 if (request.getRequestContext() == WebURLRequest::RequestContextImage) { | 6088 if (request.getRequestContext() == WebURLRequest::RequestContextImage) { |
6088 m_numOfImageRequests++; | 6089 m_numOfImageRequests++; |
6089 EXPECT_EQ(WebURLRequest::UseProtocolCachePolicy, request.getCachePol
icy()); | 6090 EXPECT_EQ(WebCachePolicy::UseProtocolCachePolicy, request.getCachePo
licy()); |
6090 } | 6091 } |
6091 } | 6092 } |
6092 | 6093 |
6093 int numOfImageRequests() const { return m_numOfImageRequests; } | 6094 int numOfImageRequests() const { return m_numOfImageRequests; } |
6094 | 6095 |
6095 private: | 6096 private: |
6096 int m_numOfImageRequests; | 6097 int m_numOfImageRequests; |
6097 }; | 6098 }; |
6098 | 6099 |
6099 TEST_P(ParameterizedWebFrameTest, NavigateToSameNoConditionalRequestForSubresour
ce) | 6100 TEST_P(ParameterizedWebFrameTest, NavigateToSameNoConditionalRequestForSubresour
ce) |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6201 | 6202 |
6202 TEST_P(ParameterizedWebFrameTest, SameDocumentHistoryNavigationCommitType) | 6203 TEST_P(ParameterizedWebFrameTest, SameDocumentHistoryNavigationCommitType) |
6203 { | 6204 { |
6204 registerMockedHttpURLLoad("push_state.html"); | 6205 registerMockedHttpURLLoad("push_state.html"); |
6205 TestDidNavigateCommitTypeWebFrameClient client; | 6206 TestDidNavigateCommitTypeWebFrameClient client; |
6206 FrameTestHelpers::WebViewHelper webViewHelper(this); | 6207 FrameTestHelpers::WebViewHelper webViewHelper(this); |
6207 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "push
_state.html", true, &client); | 6208 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "push
_state.html", true, &client); |
6208 Persistent<HistoryItem> item = toLocalFrame(webViewImpl->page()->mainFrame()
)->loader().currentItem(); | 6209 Persistent<HistoryItem> item = toLocalFrame(webViewImpl->page()->mainFrame()
)->loader().currentItem(); |
6209 runPendingTasks(); | 6210 runPendingTasks(); |
6210 | 6211 |
6211 toLocalFrame(webViewImpl->page()->mainFrame())->loader().load( | 6212 toLocalFrame(webViewImpl->page()->mainFrame())->loader().load(FrameLoadReque
st(nullptr, FrameLoader::resourceRequestFromHistoryItem(item.get(), WebCachePoli
cy::UseProtocolCachePolicy)), FrameLoadTypeBackForward, item.get(), HistorySameD
ocumentLoad); |
6212 FrameLoadRequest(nullptr, FrameLoader::resourceRequestFromHistoryItem( | |
6213 item.get(), UseProtocolCachePolicy)), | |
6214 FrameLoadTypeBackForward, item.get(), HistorySameDocumentLoad); | |
6215 EXPECT_EQ(WebBackForwardCommit, client.lastCommitType()); | 6213 EXPECT_EQ(WebBackForwardCommit, client.lastCommitType()); |
6216 } | 6214 } |
6217 | 6215 |
6218 class TestHistoryWebFrameClient : public FrameTestHelpers::TestWebFrameClient { | 6216 class TestHistoryWebFrameClient : public FrameTestHelpers::TestWebFrameClient { |
6219 public: | 6217 public: |
6220 TestHistoryWebFrameClient() | 6218 TestHistoryWebFrameClient() |
6221 { | 6219 { |
6222 m_replacesCurrentHistoryItem = false; | 6220 m_replacesCurrentHistoryItem = false; |
6223 m_frame = nullptr; | 6221 m_frame = nullptr; |
6224 } | 6222 } |
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6872 | 6870 |
6873 TEST_P(ParameterizedWebFrameTest, ReloadBypassingCache) | 6871 TEST_P(ParameterizedWebFrameTest, ReloadBypassingCache) |
6874 { | 6872 { |
6875 // Check that a reload ignoring cache on a frame will result in the cache | 6873 // Check that a reload ignoring cache on a frame will result in the cache |
6876 // policy of the request being set to ReloadBypassingCache. | 6874 // policy of the request being set to ReloadBypassingCache. |
6877 registerMockedHttpURLLoad("foo.html"); | 6875 registerMockedHttpURLLoad("foo.html"); |
6878 FrameTestHelpers::WebViewHelper webViewHelper(this); | 6876 FrameTestHelpers::WebViewHelper webViewHelper(this); |
6879 webViewHelper.initializeAndLoad(m_baseURL + "foo.html", true); | 6877 webViewHelper.initializeAndLoad(m_baseURL + "foo.html", true); |
6880 WebFrame* frame = webViewHelper.webView()->mainFrame(); | 6878 WebFrame* frame = webViewHelper.webView()->mainFrame(); |
6881 FrameTestHelpers::reloadFrameIgnoringCache(frame); | 6879 FrameTestHelpers::reloadFrameIgnoringCache(frame); |
6882 EXPECT_EQ(WebURLRequest::BypassingCache, frame->dataSource()->request().getC
achePolicy()); | 6880 EXPECT_EQ(WebCachePolicy::BypassingCache, frame->dataSource()->request().get
CachePolicy()); |
6883 } | 6881 } |
6884 | 6882 |
6885 static void nodeImageTestValidation(const IntSize& referenceBitmapSize, DragImag
e* dragImage) | 6883 static void nodeImageTestValidation(const IntSize& referenceBitmapSize, DragImag
e* dragImage) |
6886 { | 6884 { |
6887 // Prepare the reference bitmap. | 6885 // Prepare the reference bitmap. |
6888 SkBitmap bitmap; | 6886 SkBitmap bitmap; |
6889 bitmap.allocN32Pixels(referenceBitmapSize.width(), referenceBitmapSize.heigh
t()); | 6887 bitmap.allocN32Pixels(referenceBitmapSize.width(), referenceBitmapSize.heigh
t()); |
6890 SkCanvas canvas(bitmap); | 6888 SkCanvas canvas(bitmap); |
6891 canvas.drawColor(SK_ColorGREEN); | 6889 canvas.drawColor(SK_ColorGREEN); |
6892 | 6890 |
(...skipping 1606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8499 } | 8497 } |
8500 | 8498 |
8501 TEST_F(WebFrameVisibilityChangeTest, RemoteFrameParentVisibilityChange) | 8499 TEST_F(WebFrameVisibilityChangeTest, RemoteFrameParentVisibilityChange) |
8502 { | 8500 { |
8503 swapLocalFrameToRemoteFrame(); | 8501 swapLocalFrameToRemoteFrame(); |
8504 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').p
arentElement.style.display = 'none';")); | 8502 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').p
arentElement.style.display = 'none';")); |
8505 EXPECT_FALSE(remoteFrameClient()->isVisible()); | 8503 EXPECT_FALSE(remoteFrameClient()->isVisible()); |
8506 } | 8504 } |
8507 | 8505 |
8508 } // namespace blink | 8506 } // namespace blink |
OLD | NEW |