diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-16 19:38:27 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-16 19:38:27 +0000 |
commit | fb123bc8253f4886799101007d47a3a209b65b59 (patch) | |
tree | 918a9fc7d9a47f22594cdc69e97a4e245f022c14 /chrome_frame/utils.cc | |
parent | 16ce91fc01733f1056c514155b2110e1618ceb5c (diff) | |
download | chromium_src-fb123bc8253f4886799101007d47a3a209b65b59.zip chromium_src-fb123bc8253f4886799101007d47a3a209b65b59.tar.gz chromium_src-fb123bc8253f4886799101007d47a3a209b65b59.tar.bz2 |
Bump up the number of simultaneous connections in IE to 6. This is done via a WinInet API
InternetSetOption.
Fixes bug http://code.google.com/p/chromium/issues/detail?id=50328
BUG=50328
TEST=none
Review URL: http://codereview.chromium.org/6480092
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75162 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/utils.cc')
-rw-r--r-- | chrome_frame/utils.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/chrome_frame/utils.cc b/chrome_frame/utils.cc index 049294c..7182428 100644 --- a/chrome_frame/utils.cc +++ b/chrome_frame/utils.cc @@ -1603,3 +1603,36 @@ bool IsChromeFrameDocument(IWebBrowser2* web_browser) { return false; } +bool IncreaseWinInetConnections(DWORD connections) { + static bool wininet_connection_count_updated = false; + if (wininet_connection_count_updated) { + return true; + } + + static int connection_options[] = { + INTERNET_OPTION_MAX_CONNS_PER_SERVER, + INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER, + }; + + BOOL ret = FALSE; + + for (int option_index = 0; option_index < arraysize(connection_options); + ++option_index) { + DWORD connection_value_size = sizeof(DWORD); + DWORD current_connection_limit = 0; + InternetQueryOption(NULL, connection_options[option_index], + ¤t_connection_limit, &connection_value_size); + if (current_connection_limit > connections) { + continue; + } + + ret = InternetSetOption(NULL, connection_options[option_index], + &connections, connection_value_size); + if (!ret) { + return false; + } + } + wininet_connection_count_updated = true; + return true; +} + |