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

Unified Diff: content/browser/loader/resource_loader_unittest.cc

Issue 1130343006: Don't share ResourceDispatcherHostImpl's timer for reporting upload progress. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@safari-backend
Patch Set: Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
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()

Powered by Google App Engine
This is Rietveld 408576698