Index: content/browser/loader/resource_loader_unittest.cc |
diff --git a/content/browser/loader/resource_loader_unittest.cc b/content/browser/loader/resource_loader_unittest.cc |
index 8be5ec1d0ebdc82e3b30c215e976ef44f6ca83e0..b3aadf6aa6c11a7ff9d4ecafa194949b5b84cc27 100644 |
--- a/content/browser/loader/resource_loader_unittest.cc |
+++ b/content/browser/loader/resource_loader_unittest.cc |
@@ -14,6 +14,7 @@ |
#include "content/browser/loader/resource_loader_delegate.h" |
#include "content/public/browser/client_certificate_delegate.h" |
#include "content/public/browser/resource_request_info.h" |
+#include "content/public/common/content_paths.h" |
#include "content/public/common/resource_response.h" |
#include "content/public/test/mock_resource_context.h" |
#include "content/public/test/test_browser_context.h" |
@@ -29,6 +30,7 @@ |
#include "net/cert/x509_certificate.h" |
#include "net/ssl/client_cert_store.h" |
#include "net/ssl/ssl_cert_request_info.h" |
+#include "net/test/embedded_test_server/embedded_test_server.h" |
#include "net/url_request/url_request.h" |
#include "net/url_request/url_request_job_factory.h" |
#include "net/url_request/url_request_job_factory_impl.h" |
@@ -390,22 +392,15 @@ class ResourceLoaderTest : public testing::Test, |
return leaf_handler.Pass(); |
} |
- void SetUp() override { |
- job_factory_.SetProtocolHandler("test", CreateProtocolHandler()); |
- |
- browser_context_.reset(new TestBrowserContext()); |
- scoped_refptr<SiteInstance> site_instance = |
- SiteInstance::Create(browser_context_.get()); |
- web_contents_.reset( |
- TestWebContents::Create(browser_context_.get(), site_instance.get())); |
- RenderFrameHost* rfh = web_contents_->GetMainFrame(); |
- |
+ void SetUpResourceLoader(const GURL& url) { |
scoped_ptr<net::URLRequest> request( |
resource_context_.GetRequestContext()->CreateRequest( |
- test_url(), |
+ url, |
net::DEFAULT_PRIORITY, |
NULL /* delegate */)); |
raw_ptr_to_request_ = request.get(); |
+ |
+ RenderFrameHost* rfh = web_contents_->GetMainFrame(); |
ResourceRequestInfo::AllocateForTesting( |
request.get(), RESOURCE_TYPE_MAIN_FRAME, &resource_context_, |
rfh->GetProcess()->GetID(), rfh->GetRenderViewHost()->GetRoutingID(), |
@@ -421,6 +416,18 @@ class ResourceLoaderTest : public testing::Test, |
this)); |
} |
+ void SetUp() override { |
+ job_factory_.SetProtocolHandler("test", CreateProtocolHandler()); |
+ |
+ browser_context_.reset(new TestBrowserContext()); |
+ scoped_refptr<SiteInstance> site_instance = |
+ SiteInstance::Create(browser_context_.get()); |
+ web_contents_.reset( |
+ TestWebContents::Create(browser_context_.get(), site_instance.get())); |
+ |
+ SetUpResourceLoader(test_url()); |
+ } |
+ |
void TearDown() override { |
// Destroy the WebContents and pump the event loop before destroying |
// |rvh_test_enabler_| and |thread_bundle_|. This lets asynchronous cleanup |
@@ -640,6 +647,23 @@ TEST_F(ResourceLoaderTest, DeferEOF) { |
raw_ptr_resource_handler_->status().status()); |
} |
+TEST_F(ResourceLoaderTest, UploadProgress) { |
+ // Set up a test server. |
+ net::test_server::EmbeddedTestServer server; |
+ ASSERT_TRUE(server.InitializeAndWaitUntilReady()); |
+ base::FilePath path; |
+ PathService::Get(content::DIR_TEST_DATA, &path); |
+ server.ServeFilesFromDirectory(path); |
+ |
+ SetUpResourceLoader(server.GetURL("/title1.html")); |
+ |
+ raw_ptr_to_request_->EnableChunkedUpload(); |
+ raw_ptr_to_request_->AppendChunkToUpload("test", 4, true); |
+ |
+ loader_->StartRequest(); |
+ base::RunLoop().RunUntilIdle(); |
Andre
2015/05/20 21:05:12
What should we do here?
What is the best way to wa
mmenke
2015/05/20 21:15:04
My suggestion: Add a method to ResourceHandlerStu
Andre
2015/05/20 22:36:10
Thanks, that works well.
|
+} |
+ |
class ResourceLoaderRedirectToFileTest : public ResourceLoaderTest { |
public: |
ResourceLoaderRedirectToFileTest() |