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

Side by Side Diff: chrome/browser/ui/webui/net_internals/net_internals_ui_browsertest.cc

Issue 275953002: Remove HTTP pipelining support. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix line endings Created 6 years, 6 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
« no previous file with comments | « chrome/browser/ui/webui/net_internals/net_internals_ui.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/webui/net_internals/net_internals_ui_browsertest.h" 5 #include "chrome/browser/ui/webui/net_internals/net_internals_ui_browsertest.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 16 matching lines...) Expand all
27 #include "content/public/browser/web_contents.h" 27 #include "content/public/browser/web_contents.h"
28 #include "content/public/browser/web_ui_message_handler.h" 28 #include "content/public/browser/web_ui_message_handler.h"
29 #include "net/base/address_list.h" 29 #include "net/base/address_list.h"
30 #include "net/base/net_errors.h" 30 #include "net/base/net_errors.h"
31 #include "net/base/net_log.h" 31 #include "net/base/net_log.h"
32 #include "net/base/net_log_logger.h" 32 #include "net/base/net_log_logger.h"
33 #include "net/dns/host_cache.h" 33 #include "net/dns/host_cache.h"
34 #include "net/dns/host_resolver.h" 34 #include "net/dns/host_resolver.h"
35 #include "net/dns/mock_host_resolver.h" 35 #include "net/dns/mock_host_resolver.h"
36 #include "net/http/http_network_session.h" 36 #include "net/http/http_network_session.h"
37 #include "net/http/http_pipelined_host_capability.h"
38 #include "net/http/http_transaction_factory.h" 37 #include "net/http/http_transaction_factory.h"
39 #include "net/url_request/url_request_context.h" 38 #include "net/url_request/url_request_context.h"
40 #include "net/url_request/url_request_context_getter.h" 39 #include "net/url_request/url_request_context_getter.h"
41 #include "testing/gtest/include/gtest/gtest.h" 40 #include "testing/gtest/include/gtest/gtest.h"
42 #include "url/gurl.h" 41 #include "url/gurl.h"
43 42
44 using content::BrowserThread; 43 using content::BrowserThread;
45 using content::WebUIMessageHandler; 44 using content::WebUIMessageHandler;
46 45
47 namespace { 46 namespace {
(...skipping 23 matching lines...) Expand all
71 ASSERT_TRUE(ip_literal.empty()); 70 ASSERT_TRUE(ip_literal.empty());
72 } 71 }
73 72
74 // Add entry to the cache. 73 // Add entry to the cache.
75 cache->Set(net::HostCache::Key(hostname, net::ADDRESS_FAMILY_UNSPECIFIED, 0), 74 cache->Set(net::HostCache::Key(hostname, net::ADDRESS_FAMILY_UNSPECIFIED, 0),
76 net::HostCache::Entry(net_error, address_list), 75 net::HostCache::Entry(net_error, address_list),
77 base::TimeTicks::Now(), 76 base::TimeTicks::Now(),
78 ttl); 77 ttl);
79 } 78 }
80 79
81 // Called on IO thread. Adds an entry to the list of known HTTP pipelining
82 // hosts.
83 void AddDummyHttpPipelineFeedbackOnIOThread(
84 net::URLRequestContextGetter* context_getter,
85 const std::string& hostname,
86 int port,
87 net::HttpPipelinedHostCapability capability) {
88 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
89 net::URLRequestContext* context = context_getter->GetURLRequestContext();
90 net::HttpNetworkSession* http_network_session =
91 context->http_transaction_factory()->GetSession();
92 base::WeakPtr<net::HttpServerProperties> http_server_properties =
93 http_network_session->http_server_properties();
94 net::HostPortPair origin(hostname, port);
95 http_server_properties->SetPipelineCapability(origin, capability);
96 }
97
98 // Called on IO thread. Adds an entry to the list of known HTTP pipelining
99 // hosts.
100 void EnableHttpPipeliningOnIOThread(
101 net::URLRequestContextGetter* context_getter, bool enable) {
102 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
103 net::URLRequestContext* context = context_getter->GetURLRequestContext();
104 net::HttpNetworkSession* http_network_session =
105 context->http_transaction_factory()->GetSession();
106 http_network_session->set_http_pipelining_enabled(enable);
107 }
108
109 } // namespace 80 } // namespace
110 81
111 //////////////////////////////////////////////////////////////////////////////// 82 ////////////////////////////////////////////////////////////////////////////////
112 // NetInternalsTest::MessageHandler 83 // NetInternalsTest::MessageHandler
113 //////////////////////////////////////////////////////////////////////////////// 84 ////////////////////////////////////////////////////////////////////////////////
114 85
115 // Class to handle messages from the renderer needed by certain tests. 86 // Class to handle messages from the renderer needed by certain tests.
116 class NetInternalsTest::MessageHandler : public content::WebUIMessageHandler { 87 class NetInternalsTest::MessageHandler : public content::WebUIMessageHandler {
117 public: 88 public:
118 explicit MessageHandler(NetInternalsTest* net_internals_test); 89 explicit MessageHandler(NetInternalsTest* net_internals_test);
(...skipping 26 matching lines...) Expand all
145 // there, and that the background tab exists at slot 1. 116 // there, and that the background tab exists at slot 1.
146 void NavigateToPrerender(const base::ListValue* list_value); 117 void NavigateToPrerender(const base::ListValue* list_value);
147 118
148 // Creates an incognito browser. Once creation is complete, passes a 119 // Creates an incognito browser. Once creation is complete, passes a
149 // message to the Javascript test harness. 120 // message to the Javascript test harness.
150 void CreateIncognitoBrowser(const base::ListValue* list_value); 121 void CreateIncognitoBrowser(const base::ListValue* list_value);
151 122
152 // Closes an incognito browser created with CreateIncognitoBrowser. 123 // Closes an incognito browser created with CreateIncognitoBrowser.
153 void CloseIncognitoBrowser(const base::ListValue* list_value); 124 void CloseIncognitoBrowser(const base::ListValue* list_value);
154 125
155 // Takes in a boolean and enables/disabled HTTP pipelining accordingly.
156 void EnableHttpPipelining(const base::ListValue* list_value);
157
158 // Called on UI thread. Adds an entry to the list of known HTTP pipelining
159 // hosts.
160 void AddDummyHttpPipelineFeedback(const base::ListValue* list_value);
161
162 // Creates a simple log with a NetLogLogger, and returns it to the 126 // Creates a simple log with a NetLogLogger, and returns it to the
163 // Javascript callback. 127 // Javascript callback.
164 void GetNetLogLoggerLog(const base::ListValue* list_value); 128 void GetNetLogLoggerLog(const base::ListValue* list_value);
165 129
166 Browser* browser() { return net_internals_test_->browser(); } 130 Browser* browser() { return net_internals_test_->browser(); }
167 131
168 NetInternalsTest* net_internals_test_; 132 NetInternalsTest* net_internals_test_;
169 Browser* incognito_browser_; 133 Browser* incognito_browser_;
170 134
171 DISALLOW_COPY_AND_ASSIGN(MessageHandler); 135 DISALLOW_COPY_AND_ASSIGN(MessageHandler);
(...skipping 20 matching lines...) Expand all
192 base::Unretained(this))); 156 base::Unretained(this)));
193 web_ui()->RegisterMessageCallback("navigateToPrerender", 157 web_ui()->RegisterMessageCallback("navigateToPrerender",
194 base::Bind(&NetInternalsTest::MessageHandler::NavigateToPrerender, 158 base::Bind(&NetInternalsTest::MessageHandler::NavigateToPrerender,
195 base::Unretained(this))); 159 base::Unretained(this)));
196 web_ui()->RegisterMessageCallback("createIncognitoBrowser", 160 web_ui()->RegisterMessageCallback("createIncognitoBrowser",
197 base::Bind(&NetInternalsTest::MessageHandler::CreateIncognitoBrowser, 161 base::Bind(&NetInternalsTest::MessageHandler::CreateIncognitoBrowser,
198 base::Unretained(this))); 162 base::Unretained(this)));
199 web_ui()->RegisterMessageCallback("closeIncognitoBrowser", 163 web_ui()->RegisterMessageCallback("closeIncognitoBrowser",
200 base::Bind(&NetInternalsTest::MessageHandler::CloseIncognitoBrowser, 164 base::Bind(&NetInternalsTest::MessageHandler::CloseIncognitoBrowser,
201 base::Unretained(this))); 165 base::Unretained(this)));
202 web_ui()->RegisterMessageCallback("enableHttpPipelining",
203 base::Bind(&NetInternalsTest::MessageHandler::EnableHttpPipelining,
204 base::Unretained(this)));
205 web_ui()->RegisterMessageCallback("addDummyHttpPipelineFeedback",
206 base::Bind(
207 &NetInternalsTest::MessageHandler::AddDummyHttpPipelineFeedback,
208 base::Unretained(this)));
209 web_ui()->RegisterMessageCallback("getNetLogLoggerLog", 166 web_ui()->RegisterMessageCallback("getNetLogLoggerLog",
210 base::Bind( 167 base::Bind(
211 &NetInternalsTest::MessageHandler::GetNetLogLoggerLog, 168 &NetInternalsTest::MessageHandler::GetNetLogLoggerLog,
212 base::Unretained(this))); 169 base::Unretained(this)));
213 } 170 }
214 171
215 void NetInternalsTest::MessageHandler::RunJavascriptCallback( 172 void NetInternalsTest::MessageHandler::RunJavascriptCallback(
216 base::Value* value) { 173 base::Value* value) {
217 web_ui()->CallJavascriptFunction("NetInternalsTest.callback", *value); 174 web_ui()->CallJavascriptFunction("NetInternalsTest.callback", *value);
218 } 175 }
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 253
297 void NetInternalsTest::MessageHandler::CloseIncognitoBrowser( 254 void NetInternalsTest::MessageHandler::CloseIncognitoBrowser(
298 const base::ListValue* list_value) { 255 const base::ListValue* list_value) {
299 ASSERT_TRUE(incognito_browser_); 256 ASSERT_TRUE(incognito_browser_);
300 incognito_browser_->tab_strip_model()->CloseAllTabs(); 257 incognito_browser_->tab_strip_model()->CloseAllTabs();
301 // Closing all a Browser's tabs will ultimately result in its destruction, 258 // Closing all a Browser's tabs will ultimately result in its destruction,
302 // thought it may not have been destroyed yet. 259 // thought it may not have been destroyed yet.
303 incognito_browser_ = NULL; 260 incognito_browser_ = NULL;
304 } 261 }
305 262
306 void NetInternalsTest::MessageHandler::EnableHttpPipelining(
307 const base::ListValue* list_value) {
308 bool enable;
309 ASSERT_TRUE(list_value->GetBoolean(0, &enable));
310 BrowserThread::PostTask(
311 BrowserThread::IO, FROM_HERE,
312 base::Bind(&EnableHttpPipeliningOnIOThread,
313 make_scoped_refptr(browser()->profile()->GetRequestContext()),
314 enable));
315 }
316
317 void NetInternalsTest::MessageHandler::AddDummyHttpPipelineFeedback(
318 const base::ListValue* list_value) {
319 std::string hostname;
320 double port;
321 std::string raw_capability;
322 net::HttpPipelinedHostCapability capability;
323 ASSERT_TRUE(list_value->GetString(0, &hostname));
324 ASSERT_TRUE(list_value->GetDouble(1, &port));
325 ASSERT_TRUE(list_value->GetString(2, &raw_capability));
326 if (raw_capability == "capable") {
327 capability = net::PIPELINE_CAPABLE;
328 } else if (raw_capability == "incapable") {
329 capability = net::PIPELINE_INCAPABLE;
330 } else {
331 FAIL() << "Unexpected capability string: " << raw_capability;
332 }
333 BrowserThread::PostTask(
334 BrowserThread::IO, FROM_HERE,
335 base::Bind(&AddDummyHttpPipelineFeedbackOnIOThread,
336 make_scoped_refptr(browser()->profile()->GetRequestContext()),
337 hostname,
338 static_cast<int>(port),
339 capability));
340 }
341
342 void NetInternalsTest::MessageHandler::GetNetLogLoggerLog( 263 void NetInternalsTest::MessageHandler::GetNetLogLoggerLog(
343 const base::ListValue* list_value) { 264 const base::ListValue* list_value) {
344 base::ScopedTempDir temp_directory; 265 base::ScopedTempDir temp_directory;
345 ASSERT_TRUE(temp_directory.CreateUniqueTempDir()); 266 ASSERT_TRUE(temp_directory.CreateUniqueTempDir());
346 base::FilePath temp_file; 267 base::FilePath temp_file;
347 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_directory.path(), 268 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_directory.path(),
348 &temp_file)); 269 &temp_file));
349 FILE* temp_file_handle = base::OpenFile(temp_file, "w"); 270 FILE* temp_file_handle = base::OpenFile(temp_file, "w");
350 ASSERT_TRUE(temp_file_handle); 271 ASSERT_TRUE(temp_file_handle);
351 272
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 GURL url_loader = test_server()->GetURL(replacement_path); 345 GURL url_loader = test_server()->GetURL(replacement_path);
425 return url_loader; 346 return url_loader;
426 } 347 }
427 348
428 bool NetInternalsTest::StartTestServer() { 349 bool NetInternalsTest::StartTestServer() {
429 if (test_server_started_) 350 if (test_server_started_)
430 return true; 351 return true;
431 test_server_started_ = test_server()->Start(); 352 test_server_started_ = test_server()->Start();
432 return test_server_started_; 353 return test_server_started_;
433 } 354 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/net_internals/net_internals_ui.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698