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

Side by Side Diff: third_party/WebKit/Source/web/tests/WebFrameTest.cpp

Issue 2211283004: Drop test-only WebFrameClient params/functions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 3 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) 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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 #include "modules/mediastream/MediaStreamRegistry.h" 80 #include "modules/mediastream/MediaStreamRegistry.h"
81 #include "platform/DragImage.h" 81 #include "platform/DragImage.h"
82 #include "platform/PlatformResourceLoader.h" 82 #include "platform/PlatformResourceLoader.h"
83 #include "platform/RuntimeEnabledFeatures.h" 83 #include "platform/RuntimeEnabledFeatures.h"
84 #include "platform/UserGestureIndicator.h" 84 #include "platform/UserGestureIndicator.h"
85 #include "platform/geometry/FloatRect.h" 85 #include "platform/geometry/FloatRect.h"
86 #include "platform/network/ResourceError.h" 86 #include "platform/network/ResourceError.h"
87 #include "platform/scroll/ScrollbarTheme.h" 87 #include "platform/scroll/ScrollbarTheme.h"
88 #include "platform/testing/URLTestHelpers.h" 88 #include "platform/testing/URLTestHelpers.h"
89 #include "platform/testing/UnitTestHelpers.h" 89 #include "platform/testing/UnitTestHelpers.h"
90 #include "platform/weborigin/KURLHash.h"
90 #include "platform/weborigin/SchemeRegistry.h" 91 #include "platform/weborigin/SchemeRegistry.h"
91 #include "platform/weborigin/SecurityOrigin.h" 92 #include "platform/weborigin/SecurityOrigin.h"
92 #include "public/platform/Platform.h" 93 #include "public/platform/Platform.h"
93 #include "public/platform/WebCachePolicy.h" 94 #include "public/platform/WebCachePolicy.h"
94 #include "public/platform/WebClipboard.h" 95 #include "public/platform/WebClipboard.h"
95 #include "public/platform/WebFloatRect.h" 96 #include "public/platform/WebFloatRect.h"
96 #include "public/platform/WebMockClipboard.h" 97 #include "public/platform/WebMockClipboard.h"
97 #include "public/platform/WebSecurityOrigin.h" 98 #include "public/platform/WebSecurityOrigin.h"
98 #include "public/platform/WebThread.h" 99 #include "public/platform/WebThread.h"
99 #include "public/platform/WebURL.h" 100 #include "public/platform/WebURL.h"
(...skipping 5813 matching lines...) Expand 10 before | Expand all | Expand 10 after
5913 5914
5914 virtual void didStopLoading() 5915 virtual void didStopLoading()
5915 { 5916 {
5916 if (m_parentClient) { 5917 if (m_parentClient) {
5917 m_parentClient->didStopLoading(); 5918 m_parentClient->didStopLoading();
5918 return; 5919 return;
5919 } 5920 }
5920 TestWebFrameClient::didStopLoading(); 5921 TestWebFrameClient::didStopLoading();
5921 } 5922 }
5922 5923
5923 void willSendRequest(WebLocalFrame* frame, unsigned, WebURLRequest& request, const WebURLResponse&) override 5924 void willSendRequest(WebLocalFrame*, WebURLRequest& request) override
5924 { 5925 {
5925 m_policy = request.getCachePolicy(); 5926 m_policy = request.getCachePolicy();
5926 m_willSendRequestCallCount++; 5927 m_willSendRequestCallCount++;
5927 } 5928 }
5928 5929
5929 private: 5930 private:
5930 TestCachePolicyWebFrameClient* m_parentClient; 5931 TestCachePolicyWebFrameClient* m_parentClient;
5931 5932
5932 WebCachePolicy m_policy; 5933 WebCachePolicy m_policy;
5933 TestCachePolicyWebFrameClient* m_childClient; 5934 TestCachePolicyWebFrameClient* m_childClient;
(...skipping 30 matching lines...) Expand all
5964 EXPECT_EQ(childClient.getCachePolicy(), WebCachePolicy::ValidatingCacheData) ; 5965 EXPECT_EQ(childClient.getCachePolicy(), WebCachePolicy::ValidatingCacheData) ;
5965 } 5966 }
5966 5967
5967 class TestSameDocumentWebFrameClient : public FrameTestHelpers::TestWebFrameClie nt { 5968 class TestSameDocumentWebFrameClient : public FrameTestHelpers::TestWebFrameClie nt {
5968 public: 5969 public:
5969 TestSameDocumentWebFrameClient() 5970 TestSameDocumentWebFrameClient()
5970 : m_frameLoadTypeReloadMainResourceSeen(false) 5971 : m_frameLoadTypeReloadMainResourceSeen(false)
5971 { 5972 {
5972 } 5973 }
5973 5974
5974 virtual void willSendRequest(WebLocalFrame* frame, unsigned, WebURLRequest&, const WebURLResponse&) 5975 virtual void willSendRequest(WebLocalFrame* frame, WebURLRequest&)
5975 { 5976 {
5976 if (toWebLocalFrameImpl(frame)->frame()->loader().loadType() == FrameLoa dTypeReloadMainResource) 5977 if (toWebLocalFrameImpl(frame)->frame()->loader().loadType() == FrameLoa dTypeReloadMainResource)
5977 m_frameLoadTypeReloadMainResourceSeen = true; 5978 m_frameLoadTypeReloadMainResourceSeen = true;
5978 } 5979 }
5979 5980
5980 bool frameLoadTypeReloadMainResourceSeen() const { return m_frameLoadTypeRel oadMainResourceSeen; } 5981 bool frameLoadTypeReloadMainResourceSeen() const { return m_frameLoadTypeRel oadMainResourceSeen; }
5981 5982
5982 private: 5983 private:
5983 bool m_frameLoadTypeReloadMainResourceSeen; 5984 bool m_frameLoadTypeReloadMainResourceSeen;
5984 }; 5985 };
(...skipping 13 matching lines...) Expand all
5998 EXPECT_TRUE(client.frameLoadTypeReloadMainResourceSeen()); 5999 EXPECT_TRUE(client.frameLoadTypeReloadMainResourceSeen());
5999 } 6000 }
6000 6001
6001 class TestSameDocumentWithImageWebFrameClient : public FrameTestHelpers::TestWeb FrameClient { 6002 class TestSameDocumentWithImageWebFrameClient : public FrameTestHelpers::TestWeb FrameClient {
6002 public: 6003 public:
6003 TestSameDocumentWithImageWebFrameClient() 6004 TestSameDocumentWithImageWebFrameClient()
6004 : m_numOfImageRequests(0) 6005 : m_numOfImageRequests(0)
6005 { 6006 {
6006 } 6007 }
6007 6008
6008 virtual void willSendRequest(WebLocalFrame* frame, unsigned, WebURLRequest& request, const WebURLResponse&) 6009 virtual void willSendRequest(WebLocalFrame*, WebURLRequest& request)
6009 { 6010 {
6010 if (request.getRequestContext() == WebURLRequest::RequestContextImage) { 6011 if (request.getRequestContext() == WebURLRequest::RequestContextImage) {
6011 m_numOfImageRequests++; 6012 m_numOfImageRequests++;
6012 EXPECT_EQ(WebCachePolicy::UseProtocolCachePolicy, request.getCachePo licy()); 6013 EXPECT_EQ(WebCachePolicy::UseProtocolCachePolicy, request.getCachePo licy());
6013 } 6014 }
6014 } 6015 }
6015 6016
6016 int numOfImageRequests() const { return m_numOfImageRequests; } 6017 int numOfImageRequests() const { return m_numOfImageRequests; }
6017 6018
6018 private: 6019 private:
(...skipping 2805 matching lines...) Expand 10 before | Expand all | Expand 10 after
8824 request.setURL(toKURL("javascript:location='" + redirectURL + "'")); 8825 request.setURL(toKURL("javascript:location='" + redirectURL + "'"));
8825 request.setRequestorOrigin(WebSecurityOrigin::createUnique()); 8826 request.setRequestorOrigin(WebSecurityOrigin::createUnique());
8826 helper.webView()->mainFrameImpl()->loadRequest(request); 8827 helper.webView()->mainFrameImpl()->loadRequest(request);
8827 8828
8828 // Normally, the result of the JS url replaces the existing contents on the 8829 // Normally, the result of the JS url replaces the existing contents on the
8829 // Document. However, if the JS triggers a navigation, the contents should 8830 // Document. However, if the JS triggers a navigation, the contents should
8830 // not be replaced. 8831 // not be replaced.
8831 EXPECT_EQ("", toLocalFrame(helper.webView()->page()->mainFrame())->document( )->documentElement()->innerText()); 8832 EXPECT_EQ("", toLocalFrame(helper.webView()->page()->mainFrame())->document( )->documentElement()->innerText());
8832 } 8833 }
8833 8834
8835 class TestResourcePriorityWebFrameClient : public FrameTestHelpers::TestWebFrame Client {
8836 public:
8837 class ExpectedRequest {
8838 public:
8839 ExpectedRequest(const KURL& url, WebURLRequest::Priority priority)
8840 : url(url)
8841 , priority(priority)
8842 , seen(false)
8843 {
8844 }
8845
8846 KURL url;
8847 WebURLRequest::Priority priority;
8848 bool seen;
8849 };
8850
8851 TestResourcePriorityWebFrameClient()
8852 {
8853 }
8854
8855 void willSendRequest(WebLocalFrame*, WebURLRequest& request) override
8856 {
8857 ExpectedRequest* expectedRequest = m_expectedRequests.get(request.url()) ;
8858 DCHECK(expectedRequest);
8859 EXPECT_EQ(expectedRequest->priority, request.getPriority());
8860 expectedRequest->seen = true;
8861 }
8862
8863 void addExpectedRequest(const KURL& url, WebURLRequest::Priority priority)
8864 {
8865 m_expectedRequests.add(url, wrapUnique(new ExpectedRequest(url, priority )));
8866 }
8867
8868 void verifyAllRequests()
8869 {
8870 for (const auto& request : m_expectedRequests)
8871 EXPECT_TRUE(request.value->seen);
8872 }
8873
8874 private:
8875 HashMap<KURL, std::unique_ptr<ExpectedRequest>> m_expectedRequests;
8876 };
8877
8878 TEST_F(WebFrameTest, ChangeResourcePriority)
8879 {
8880 TestResourcePriorityWebFrameClient client;
8881 registerMockedHttpURLLoad("promote_img_in_viewport_priority.html");
8882 registerMockedHttpURLLoad("image_slow.pl");
8883 registerMockedHttpURLLoad("image_slow_out_of_viewport.pl");
8884 client.addExpectedRequest(toKURL("http://internal.test/promote_img_in_viewpo rt_priority.html"), WebURLRequest::PriorityVeryHigh);
8885 client.addExpectedRequest(toKURL("http://internal.test/image_slow.pl"), WebU RLRequest::PriorityLow);
8886 client.addExpectedRequest(toKURL("http://internal.test/image_slow_out_of_vie wport.pl"), WebURLRequest::PriorityLow);
8887
8888 FrameTestHelpers::WebViewHelper helper;
8889 helper.initialize(true, &client);
8890 helper.resize(WebSize(640, 480));
8891 FrameTestHelpers::loadFrame(helper.webView()->mainFrame(), m_baseURL + "prom ote_img_in_viewport_priority.html");
8892
8893 // Ensure the image in the viewport got promoted after the request was sent.
8894 Resource* image = toWebLocalFrameImpl(helper.webView()->mainFrame())->frame( )->document()->fetcher()->allResources().get(toKURL("http://internal.test/image_ slow.pl"));
8895 DCHECK(image);
8896 EXPECT_EQ(ResourceLoadPriorityHigh, image->resourceRequest().priority());
8897
8898 client.verifyAllRequests();
8899 }
8900
8901 TEST_F(WebFrameTest, ScriptPriority)
8902 {
8903 TestResourcePriorityWebFrameClient client;
8904 registerMockedHttpURLLoad("script_priority.html");
8905 registerMockedHttpURLLoad("priorities/defer.js");
8906 registerMockedHttpURLLoad("priorities/async.js");
8907 registerMockedHttpURLLoad("priorities/head.js");
8908 registerMockedHttpURLLoad("priorities/document-write.js");
8909 registerMockedHttpURLLoad("priorities/injected.js");
8910 registerMockedHttpURLLoad("priorities/injected-async.js");
8911 registerMockedHttpURLLoad("priorities/body.js");
8912 client.addExpectedRequest(toKURL("http://internal.test/script_priority.html" ), WebURLRequest::PriorityVeryHigh);
8913 client.addExpectedRequest(toKURL("http://internal.test/priorities/defer.js") , WebURLRequest::PriorityLow);
8914 client.addExpectedRequest(toKURL("http://internal.test/priorities/async.js") , WebURLRequest::PriorityLow);
8915 client.addExpectedRequest(toKURL("http://internal.test/priorities/head.js"), WebURLRequest::PriorityHigh);
8916 client.addExpectedRequest(toKURL("http://internal.test/priorities/document-w rite.js"), WebURLRequest::PriorityHigh);
8917 client.addExpectedRequest(toKURL("http://internal.test/priorities/injected.j s"), WebURLRequest::PriorityLow);
8918 client.addExpectedRequest(toKURL("http://internal.test/priorities/injected-a sync.js"), WebURLRequest::PriorityLow);
8919 client.addExpectedRequest(toKURL("http://internal.test/priorities/body.js"), WebURLRequest::PriorityHigh);
8920
8921 FrameTestHelpers::WebViewHelper helper;
8922 helper.initializeAndLoad(m_baseURL + "script_priority.html", true, &client);
8923 client.verifyAllRequests();
8924 }
8925
8834 } // namespace blink 8926 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp ('k') | third_party/WebKit/Source/web/tests/data/image_slow.pl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698