public:
virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
command_line->AppendSwitch(switches::kSingleProcess);
-#if defined(OS_WIN) && defined(USE_AURA)
+#if defined(OS_WIN)
// Don't want to try to create a GPU process.
command_line->AppendSwitch(switches::kDisableAcceleratedCompositing);
#endif
WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
- scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(
- url, frame, WebURLRequest::TargetIsMainFrame, delegate->NewCallback()));
+ scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
+ fetcher->Start(frame, WebURLRequest::TargetIsMainFrame,
+ delegate->NewCallback());
delegate->WaitForResponse();
WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
- scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(
- url, frame, WebURLRequest::TargetIsMainFrame, delegate->NewCallback()));
+ scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
+ fetcher->Start(frame, WebURLRequest::TargetIsMainFrame,
+ delegate->NewCallback());
delegate->WaitForResponse();
// Try to fetch a page on a site that doesn't exist.
GURL url("http://localhost:1339/doesnotexist");
scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
- scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(
- url, frame, WebURLRequest::TargetIsMainFrame, delegate->NewCallback()));
+ scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
+ fetcher->Start(frame, WebURLRequest::TargetIsMainFrame,
+ delegate->NewCallback());
delegate->WaitForResponse();
WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
- scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(
- url, frame, WebURLRequest::TargetIsMainFrame,
- delegate->NewCallback()));
+ scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
+ fetcher->Start(frame, WebURLRequest::TargetIsMainFrame,
+ delegate->NewCallback());
fetcher->SetTimeout(base::TimeDelta());
delegate->WaitForResponse();
WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
scoped_ptr<EvilFetcherDelegate> delegate(new EvilFetcherDelegate);
- scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(
- url, frame, WebURLRequest::TargetIsMainFrame,
- delegate->NewCallback()));
+ scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
+ fetcher->Start(frame, WebURLRequest::TargetIsMainFrame,
+ delegate->NewCallback());
fetcher->SetTimeout(base::TimeDelta());
delegate->SetFetcher(fetcher.release());
delegate->WaitForResponse();
EXPECT_FALSE(delegate->timed_out());
}
+
+ void ResourceFetcherPost(const GURL& url) {
+ const char* kBody = "Really nifty POST body!";
+
+ WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
+
+ scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
+ scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
+ fetcher->SetMethod("POST");
+ fetcher->SetBody(kBody);
+ fetcher->Start(frame, WebURLRequest::TargetIsMainFrame,
+ delegate->NewCallback());
+
+ delegate->WaitForResponse();
+ ASSERT_TRUE(delegate->completed());
+ EXPECT_EQ(delegate->response().httpStatusCode(), 200);
+ EXPECT_EQ(kBody, delegate->data());
+ }
+
+ void ResourceFetcherSetHeader(const GURL& url) {
+ const char* kHeader = "Rather boring header.";
+
+ WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
+
+ scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
+ scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
+ fetcher->SetHeader("header", kHeader);
+ fetcher->Start(frame, WebURLRequest::TargetIsMainFrame,
+ delegate->NewCallback());
+
+ delegate->WaitForResponse();
+ ASSERT_TRUE(delegate->completed());
+ EXPECT_EQ(delegate->response().httpStatusCode(), 200);
+ EXPECT_EQ(kHeader, delegate->data());
+ }
};
+#if defined(OS_ANDROID)
+// Disable (http://crbug.com/248796).
+#define MAYBE_ResourceFetcher404 DISABLED_ResourceFetcher404
+#define MAYBE_ResourceFetcherDeletedInCallback \
+ DISABLED_ResourceFetcherDeletedInCallback
+#define MAYBE_ResourceFetcherTimeout DISABLED_ResourceFetcherTimeout
+#define MAYBE_ResourceFetcherDownload DISABLED_ResourceFetcherDownload
+// Disable (http://crbug.com/341142).
+#define MAYBE_ResourceFetcherPost DISABLED_ResourceFetcherPost
+#define MAYBE_ResourceFetcherSetHeader DISABLED_ResourceFetcherSetHeader
+#else
+#define MAYBE_ResourceFetcher404 ResourceFetcher404
+#define MAYBE_ResourceFetcherDeletedInCallback ResourceFetcherDeletedInCallback
+#define MAYBE_ResourceFetcherTimeout ResourceFetcherTimeout
+#define MAYBE_ResourceFetcherDownload ResourceFetcherDownload
+#define MAYBE_ResourceFetcherPost ResourceFetcherPost
+#define MAYBE_ResourceFetcherSetHeader ResourceFetcherSetHeader
+#endif
+
// Test a fetch from the test server.
// If this flakes, use http://crbug.com/51622.
-IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, ResourceFetcherDownload) {
+IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherDownload) {
// Need to spin up the renderer.
NavigateToURL(shell(), GURL(kAboutBlankURL));
base::Unretained(this), url));
}
-IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, ResourceFetcher404) {
+IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcher404) {
// Need to spin up the renderer.
NavigateToURL(shell(), GURL(kAboutBlankURL));
base::Unretained(this)));
}
-IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, ResourceFetcherTimeout) {
+IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherTimeout) {
// Need to spin up the renderer.
NavigateToURL(shell(), GURL(kAboutBlankURL));
base::Unretained(this), url));
}
-IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, ResourceFetcherDeletedInCallback) {
+IN_PROC_BROWSER_TEST_F(ResourceFetcherTests,
+ MAYBE_ResourceFetcherDeletedInCallback) {
// Need to spin up the renderer.
NavigateToURL(shell(), GURL(kAboutBlankURL));
base::Unretained(this), url));
}
+
+
+// Test that ResourceFetchers can handle POSTs.
+IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherPost) {
+ // Need to spin up the renderer.
+ NavigateToURL(shell(), GURL(kAboutBlankURL));
+
+ // Grab a page that echos the POST body.
+ ASSERT_TRUE(test_server()->Start());
+ GURL url(test_server()->GetURL("echo"));
+
+ PostTaskToInProcessRendererAndWait(
+ base::Bind(
+ &ResourceFetcherTests::ResourceFetcherPost,
+ base::Unretained(this), url));
+}
+
+// Test that ResourceFetchers can set headers.
+IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherSetHeader) {
+ // Need to spin up the renderer.
+ NavigateToURL(shell(), GURL(kAboutBlankURL));
+
+ // Grab a page that echos the POST body.
+ ASSERT_TRUE(test_server()->Start());
+ GURL url(test_server()->GetURL("echoheader?header"));
+
+ PostTaskToInProcessRendererAndWait(
+ base::Bind(
+ &ResourceFetcherTests::ResourceFetcherSetHeader,
+ base::Unretained(this), url));
+}
+
} // namespace content