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

Side by Side Diff: chrome/browser/search/iframe_source_unittest.cc

Issue 407093011: Allow URLRequests from one context to have different NetworkDelegates. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: And fix more stuff... Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/search/iframe_source.h" 5 #include "chrome/browser/search/iframe_source.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/ref_counted_memory.h" 8 #include "base/memory/ref_counted_memory.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 86
87 TestIframeSource* source() { return source_.get(); } 87 TestIframeSource* source() { return source_.get(); }
88 88
89 std::string response_string() { 89 std::string response_string() {
90 if (response_.get()) { 90 if (response_.get()) {
91 return std::string(response_->front_as<char>(), response_->size()); 91 return std::string(response_->front_as<char>(), response_->size());
92 } 92 }
93 return ""; 93 return "";
94 } 94 }
95 95
96 net::URLRequest* MockRequest( 96 scoped_ptr<net::URLRequest> MockRequest(
97 const std::string& url, 97 const std::string& url,
98 bool allocate_info, 98 bool allocate_info,
99 int render_process_id, 99 int render_process_id,
100 int render_frame_id) { 100 int render_frame_id) {
101 net::URLRequest* request = 101 scoped_ptr<net::URLRequest> request(
102 new net::URLRequest(GURL(url), 102 resource_context_.GetRequestContext()->CreateRequest(
103 net::DEFAULT_PRIORITY, 103 GURL(url),
104 NULL, 104 net::DEFAULT_PRIORITY,
105 resource_context_.GetRequestContext()); 105 NULL,
106 NULL));
106 if (allocate_info) { 107 if (allocate_info) {
107 content::ResourceRequestInfo::AllocateForTesting(request, 108 content::ResourceRequestInfo::AllocateForTesting(request.get(),
108 ResourceType::SUB_FRAME, 109 ResourceType::SUB_FRAME,
109 &resource_context_, 110 &resource_context_,
110 render_process_id, 111 render_process_id,
111 render_frame_id, 112 render_frame_id,
112 MSG_ROUTING_NONE, 113 MSG_ROUTING_NONE,
113 false); 114 false);
114 } 115 }
115 return request; 116 return request.Pass();
116 } 117 }
117 118
118 void SendResource(int resource_id) { 119 void SendResource(int resource_id) {
119 source()->SendResource(resource_id, callback_); 120 source()->SendResource(resource_id, callback_);
120 } 121 }
121 122
122 void SendJSWithOrigin( 123 void SendJSWithOrigin(
123 int resource_id, 124 int resource_id,
124 int render_process_id, 125 int render_process_id,
125 int render_frame_id) { 126 int render_frame_id) {
(...skipping 26 matching lines...) Expand all
152 net::TestURLRequestContext test_url_request_context_; 153 net::TestURLRequestContext test_url_request_context_;
153 content::MockResourceContext resource_context_; 154 content::MockResourceContext resource_context_;
154 scoped_ptr<TestIframeSource> source_; 155 scoped_ptr<TestIframeSource> source_;
155 content::URLDataSource::GotDataCallback callback_; 156 content::URLDataSource::GotDataCallback callback_;
156 scoped_refptr<InstantIOContext> instant_io_context_; 157 scoped_refptr<InstantIOContext> instant_io_context_;
157 scoped_refptr<base::RefCountedMemory> response_; 158 scoped_refptr<base::RefCountedMemory> response_;
158 }; 159 };
159 160
160 TEST_F(IframeSourceTest, ShouldServiceRequest) { 161 TEST_F(IframeSourceTest, ShouldServiceRequest) {
161 scoped_ptr<net::URLRequest> request; 162 scoped_ptr<net::URLRequest> request;
162 request.reset(MockRequest("http://test/loader.js", true, 163 request = MockRequest("http://test/loader.js", true,
163 kNonInstantRendererPID, 0)); 164 kNonInstantRendererPID, 0);
164 EXPECT_FALSE(source()->ShouldServiceRequest(request.get())); 165 EXPECT_FALSE(source()->ShouldServiceRequest(request.get()));
165 request.reset(MockRequest("chrome-search://bogus/valid.js", true, 166 request = MockRequest("chrome-search://bogus/valid.js", true,
166 kInstantRendererPID, 0)); 167 kInstantRendererPID, 0);
167 EXPECT_FALSE(source()->ShouldServiceRequest(request.get())); 168 EXPECT_FALSE(source()->ShouldServiceRequest(request.get()));
168 request.reset(MockRequest("chrome-search://test/bogus.js", true, 169 request = MockRequest("chrome-search://test/bogus.js", true,
169 kInstantRendererPID, 0)); 170 kInstantRendererPID, 0);
170 EXPECT_FALSE(source()->ShouldServiceRequest(request.get())); 171 EXPECT_FALSE(source()->ShouldServiceRequest(request.get()));
171 request.reset(MockRequest("chrome-search://test/valid.js", true, 172 request = MockRequest("chrome-search://test/valid.js", true,
172 kInstantRendererPID, 0)); 173 kInstantRendererPID, 0);
173 EXPECT_TRUE(source()->ShouldServiceRequest(request.get())); 174 EXPECT_TRUE(source()->ShouldServiceRequest(request.get()));
174 request.reset(MockRequest("chrome-search://test/valid.js", true, 175 request = MockRequest("chrome-search://test/valid.js", true,
175 kNonInstantRendererPID, 0)); 176 kNonInstantRendererPID, 0);
176 EXPECT_FALSE(source()->ShouldServiceRequest(request.get())); 177 EXPECT_FALSE(source()->ShouldServiceRequest(request.get()));
177 request.reset(MockRequest("chrome-search://test/valid.js", true, 178 request = MockRequest("chrome-search://test/valid.js", true,
178 kInvalidRendererPID, 0)); 179 kInvalidRendererPID, 0);
179 EXPECT_FALSE(source()->ShouldServiceRequest(request.get())); 180 EXPECT_FALSE(source()->ShouldServiceRequest(request.get()));
180 } 181 }
181 182
182 TEST_F(IframeSourceTest, GetMimeType) { 183 TEST_F(IframeSourceTest, GetMimeType) {
183 // URLDataManagerBackend does not include / in path_and_query. 184 // URLDataManagerBackend does not include / in path_and_query.
184 EXPECT_EQ("text/html", source()->GetMimeType("foo.html")); 185 EXPECT_EQ("text/html", source()->GetMimeType("foo.html"));
185 EXPECT_EQ("application/javascript", source()->GetMimeType("foo.js")); 186 EXPECT_EQ("application/javascript", source()->GetMimeType("foo.js"));
186 EXPECT_EQ("text/css", source()->GetMimeType("foo.css")); 187 EXPECT_EQ("text/css", source()->GetMimeType("foo.css"));
187 EXPECT_EQ("image/png", source()->GetMimeType("foo.png")); 188 EXPECT_EQ("image/png", source()->GetMimeType("foo.png"));
188 EXPECT_EQ("", source()->GetMimeType("bogus")); 189 EXPECT_EQ("", source()->GetMimeType("bogus"));
189 } 190 }
190 191
191 TEST_F(IframeSourceTest, SendResource) { 192 TEST_F(IframeSourceTest, SendResource) {
192 SendResource(IDR_MOST_VISITED_TITLE_HTML); 193 SendResource(IDR_MOST_VISITED_TITLE_HTML);
193 EXPECT_FALSE(response_string().empty()); 194 EXPECT_FALSE(response_string().empty());
194 } 195 }
195 196
196 TEST_F(IframeSourceTest, SendJSWithOrigin) { 197 TEST_F(IframeSourceTest, SendJSWithOrigin) {
197 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kInstantRendererPID, 0); 198 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kInstantRendererPID, 0);
198 EXPECT_FALSE(response_string().empty()); 199 EXPECT_FALSE(response_string().empty());
199 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kNonInstantRendererPID, 0); 200 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kNonInstantRendererPID, 0);
200 EXPECT_FALSE(response_string().empty()); 201 EXPECT_FALSE(response_string().empty());
201 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kInvalidRendererPID, 0); 202 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kInvalidRendererPID, 0);
202 EXPECT_TRUE(response_string().empty()); 203 EXPECT_TRUE(response_string().empty());
203 } 204 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698