summaryrefslogtreecommitdiffstats
path: root/net/socket_stream
Commit message (Collapse)AuthorAgeFilesLines
* Cancel proxy request when context is about to change in SocketStream.ukai@chromium.org2010-07-011-0/+6
| | | | | | | | | | | | | | | | | If SocketStream is deleted while ResolvProxy is running, proxy service might access SocketStream's member fields, such as proxy_info_, after SocketStream is deleted, so it would cause crash like http://crash/reportdetail?reportid=40166b9529ce6b74 In SocketStream destructor, it will set context to NULL, so it will cancel proxy request if pac_request_ is not NULL. BUG=46750 TEST=none Review URL: http://codereview.chromium.org/2852034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51351 0039d316-1c4b-4281-b951-d872f2087c98
* HttpNetworkTransaction handles asynchronous auth token generation.cbentzel@chromium.org2010-06-171-5/+4
| | | | | | | | | BUG=21050,42222 TEST=net_unittests Review URL: http://codereview.chromium.org/2722009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50088 0039d316-1c4b-4281-b951-d872f2087c98
* Check proxy_info_.is_empty()ukai@chromium.org2010-06-171-2/+11
| | | | | | | | | | | | In case proxy_info_.is_empty(), we can't access proxy_info_.proxy_server() or so. BUG=46750 TEST=none Review URL: http://codereview.chromium.org/2803010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50078 0039d316-1c4b-4281-b951-d872f2087c98
* Async support for HttpAuthHandler::GenerateAuthToken.cbentzel@chromium.org2010-06-101-3/+5
| | | | | | | | | | | | | | This CL changes the signature of GenerateAuthToken to support an async completion of GenerateAuthToken. At this point, all of the implementations complete synchronously, but a future version will change Negotiate to complete asynchronously. TEST=net_unittests BUG=42222 Review URL: http://codereview.chromium.org/2671001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49398 0039d316-1c4b-4281-b951-d872f2087c98
* HttpAuthHandler's are no longer refcounted.cbentzel@chromium.org2010-06-072-6/+6
| | | | | | | | | | | | Since HttpAuthHandler objects are no longer contained inside of the HttpAuthCache, the lifetime of the handlers is more clearly defined. TEST=net_unittests (including some changes) BUG=42222 Review URL: http://codereview.chromium.org/2635004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49052 0039d316-1c4b-4281-b951-d872f2087c98
* HttpAuthHandlers hold onto a bound net log.cbentzel@chromium.org2010-05-271-2/+2
| | | | | | | | | | | Although this doesn't have a behavioral impact in this CL, it is needed for additional logging which I'd like to add. BUG=34737 TEST=net_unittests Review URL: http://codereview.chromium.org/2288001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48391 0039d316-1c4b-4281-b951-d872f2087c98
* SocketStream::Close() disconnect the socket after all pending data sent.ukai@chromium.org2010-05-213-3/+147
| | | | | | | | | | | | | | SocketStream::Close() immediately disconnected the socket even if it has some data to be sent. It is not desired behavior. Change to that Close() just requests to close the socket, and when all pending data have been processed, close the socket. BUG=none TEST=net_unittests passes Review URL: http://codereview.chromium.org/2066011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47880 0039d316-1c4b-4281-b951-d872f2087c98
* Remove handler from HttpAuthCache.cbentzel@chromium.org2010-05-201-10/+23
| | | | | | | | | | | This is part of a refactoring meant to simplify the connection phase of HttpNetworkTransaction. BUG=None TEST=net_unittests (which already includes unit tests for preemptive auth, as well as using values from cache). Review URL: http://codereview.chromium.org/2056003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47786 0039d316-1c4b-4281-b951-d872f2087c98
* Added authentication scheme as key to HttpAuthCache.cbentzel@chromium.org2010-05-131-7/+5
| | | | | | | | | | | | | | | | | Behavioral changes are small; this is mostly a syntactic sugar change. But there are a few behavioral changes: * If a web site replies with different schemes for the same realm, we'll have two entries in the cache. * There will not be a log entry in HttpNetworkTransaction::SelectNextAuthIdentityToTry when we have the wrong authentication scheme (we don't see that entry any more) * We will no longer return ERR_TUNNEL_CONNECTION_FAILED from SocketStream::HandleAuthChallenge when there's an entry in the cache with a non-basic authentication scheme (we won't know it's there). Contributed by rdsmith@chromium.org BUG=33433 TEST=HttpAuthCacheTest.* (as modified in this commit), HttpNetworkTransactionTest.*, SocketStreamTest.*, only on Linux. Review URL: http://codereview.chromium.org/1949004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47149 0039d316-1c4b-4281-b951-d872f2087c98
* More cleanup to address TODOs in net_log.h.eroman@chromium.org2010-04-281-10/+11
| | | | | | | | | | | * Removes 9 methods: AddEventWithParameters, BeginEventWithParameters, EndEventWithParameters, BeginEventWithString, BeginEventWithInteger, AddEventWithString, AddEventWithInteger, EndEventWithParameters, EndEventWithInteger. This was becoming ridiculous, instead made the EventParameters* a required parameter. * Moves CapturingBoundNetLog / CapturingNetLog to its own file. BUG=37421 Review URL: http://codereview.chromium.org/1746012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45843 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Address some of the todos in net_log.heroman@chromium.org2010-04-271-2/+3
| | | | | | | | | | | - Get rid of the AddString() and AddStringLiteral() methods. - Make EventParameters able to serialize to JSON, instead of a string. BUG=37421 Review URL: http://codereview.chromium.org/1716007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45750 0039d316-1c4b-4281-b951-d872f2087c98
* Add net log entries that summarize transmit and receive byte counts.vandebo@chromium.org2010-04-231-4/+5
| | | | | | | | | | | | | | | | | | | | | Tx/Rx summaries are integrated into the net log at the last point that bytes were transmitted or received. Hopefully this will help resolve http://crbug.com/37729 by showing if we've received bytes over the network when we hit the "Waiting for cache" bug. This change also modernizes the use of NetLog: - ClientSocket now has a net_log() accessor - ClientSocket::Connect no longer takes a NetLog, instead the TCPClientSocket constructor takes one, others use their transport socket's NetLog - TCPClientSocket creates a new source id with source type SOCKET Also updates PassiveLogCollector infrastructure: - The LiveRequestsObserver lets a RequestTracker update a RequestInfo just before it is displayed. This allows ConnectJobs to be associated with URLRequests while connecting and then reassociated if they are late-bound to a different request. BUG=37729 TEST=tx/rx lines show up in chrome://net-internals/ Review URL: http://codereview.chromium.org/1696005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45449 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for attaching custom parameters to NetLog events.eroman@chromium.org2010-04-091-4/+4
| | | | | | | | BUG=37421 Review URL: http://codereview.chromium.org/1556018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44057 0039d316-1c4b-4281-b951-d872f2087c98
* Fix race condition in SocketStream::Close().ukai@chromium.org2010-03-311-0/+6
| | | | | | | | | | | | | it must not run DoLoop if next_state_ is already STATE_NONE. If next_state_ is already STATE_NONE, it means Finish() was already called, so it had called Release() for AddRef() in Connect(). BUG=none TEST=none Review URL: http://codereview.chromium.org/1579003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43192 0039d316-1c4b-4281-b951-d872f2087c98
* Try to fix flaky websocket tests again.ukai@chromium.org2010-03-232-13/+14
| | | | | | | | | | | | | | | | | | | | | Some websoket layout tests became flaky from r41818. This is because it adds websocket throttling in WebSocketJob. Make sure Close() will call OnClose() even if it is waiting resolving or waiting in throttling queue, so that WebSocketJob is removed from throttling queue and wake up next WebSocketJob. r42074 was reverted because failure in SocketStreamMetrics::OnClose on Linux Builder (Views dbg). Ignore UMA record if the connection has not been established. TBR=tyoshino BUG=38397 TEST=layout tests websocket/tests passes Review URL: http://codereview.chromium.org/1134004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42320 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 42074 - Try to fix flaky websocket tests.amit@chromium.org2010-03-191-2/+3
| | | | | | | | | | | | | | | | | | | Some websoket layout tests became flaky from r41818. This is because it adds websocket throttling in WebSocketJob. Make sure Close() will call OnClose() even if it is waiting resolving or waiting in throttling queue, so that WebSocketJob is removed from throttling queue and wake up next WebSocketJob. BUG=38397 TEST=layout tests websocket/tests passes Review URL: http://codereview.chromium.org/1096001 TBR=ukai@chromium.org Review URL: http://codereview.chromium.org/1120004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42078 0039d316-1c4b-4281-b951-d872f2087c98
* Try to fix flaky websocket tests.ukai@chromium.org2010-03-191-3/+2
| | | | | | | | | | | | | | | | Some websoket layout tests became flaky from r41818. This is because it adds websocket throttling in WebSocketJob. Make sure Close() will call OnClose() even if it is waiting resolving or waiting in throttling queue, so that WebSocketJob is removed from throttling queue and wake up next WebSocketJob. BUG=38397 TEST=layout tests websocket/tests passes Review URL: http://codereview.chromium.org/1096001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42074 0039d316-1c4b-4281-b951-d872f2087c98
* EndEvent when context has been changedukai@chromium.org2010-03-181-1/+1
| | | | | | | | | | | as URLRequest::set_context() does. BUG=none TEST=none Review URL: http://codereview.chromium.org/1000006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41933 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor WebSocket throttling feature.ukai@chromium.org2010-03-174-176/+9
| | | | | | | | | Protocol specific handling should be done in SocketStreamJob subclasss, so websocket throttling should be handled in WebSocketJob. Review URL: http://codereview.chromium.org/669157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41818 0039d316-1c4b-4281-b951-d872f2087c98
* Generalize the net module's LoadLog facility from a passive container, to an ↵eroman@chromium.org2010-03-163-46/+27
| | | | | | | | | | | | | | | | event stream (NetLog). This makes it possible to associate a single NetLog with a URLRequestContext, and then attach observers to that log to watch the stream of events. This changelist attempts to do the most direct translation, so there will be subsequent iterations to clean up. The user-visible behavior should remain unchanged. BUG=37421 Review URL: http://codereview.chromium.org/848006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41689 0039d316-1c4b-4281-b951-d872f2087c98
* Fix memory leak in WebSocketJobTest.ukai@chromium.org2010-03-011-1/+1
| | | | | | | | | BUG=none TEST=no memory leak in valgrind test: net_unittests Review URL: http://codereview.chromium.org/661266 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40258 0039d316-1c4b-4281-b951-d872f2087c98
* Support HttpOnly cookie on Web Socketukai@chromium.org2010-03-016-11/+227
| | | | | | | | | | | | | | | | | | | | | | | | Web Socket should send "HttpOnly" cookie when handshaking. In WebKit/WebCore, WebSocketHandshake uses cookieRequestHeaderFieldValue() to get cookies including HttpOnly cookie. However, Chrome doesn't trunk renderer process, so we're not allowed to access HttpOnly cookie in WebCore. Thus, we handle HttpOnly cookies in browser process. Add SocketStreamJob as interface for protocol specific handling on SocketStream. WebSocketJob implements Web Socket specific handling. For now, it handles cookies in Web Socket. It checks Web Socket handshake request message from renderer process, and replaces Cookie: header to include HttpOnly cookies. It also checks Web Socket handshake response message, sets cookies if any, and strips Set-Cookie: header, so that renderer process couldn't see Set-Cookie: header. BUG=35660 TEST=net_unittests and layout_tests passes Review URL: http://codereview.chromium.org/601077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40250 0039d316-1c4b-4281-b951-d872f2087c98
* Really connect to the same server in FTP network transaction.phajdan.jr@chromium.org2010-02-201-1/+1
| | | | | | | | | | | | Also create necessary infrastructure to know the address a client socket is connected to. TEST=Covered by net_unittests. BUG=35670 Review URL: http://codereview.chromium.org/598071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39559 0039d316-1c4b-4281-b951-d872f2087c98
* Pulled out Callback code into base/callback.h. This is the first step ↵akalin@chromium.org2010-02-191-0/+1
| | | | | | | | | | | | | towards redoing the Callback interfaces. Added and removed includes as needed. BUG=35223 TEST=trybots Review URL: http://codereview.chromium.org/646061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39419 0039d316-1c4b-4281-b951-d872f2087c98
* Added factories for HttpAuthHandler.cbentzel@chromium.org2010-02-152-5/+10
| | | | | | | | | | | | | | | | | | | The driving rationale for this change was to prevent choosing an AuthHandler when it is not supported on the system due to a missing runtime component (such as not being able to locate a gssapi shared library when seeing a Negotiate scheme). It also has the advantage (currently unused) of determining some per-auth-scheme properties only the first time that a challenge for that scheme is seen (such as maximum token length for the SSPI implementation of NTLM). Finally, it may make unit tests easier to generate since the factory can be easily mocked. BUG=34795 TEST=New unit test for HttpAuthHandlerDispatchFactory. Review URL: http://codereview.chromium.org/582007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39065 0039d316-1c4b-4281-b951-d872f2087c98
* Add bounds checking to StaticSocketDataProvider, to make tests more reliablephajdan.jr@chromium.org2010-02-091-2/+4
| | | | | | | | | | | when they fail. TEST=net_unittests BUG=27567 Review URL: http://codereview.chromium.org/582020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38453 0039d316-1c4b-4281-b951-d872f2087c98
* Add Single Sign On support to HTTP Authentication handlers.cbentzel@chromium.org2010-02-051-4/+11
| | | | | | | | | | | | | | | Currently this is implemented on Windows for the NTLM and Negotiate schemes. This CL does not introduce the hooks to actually use Single Sign On in response to a 401/407 request - that will come in a later CL. This behavior is disabled for now as well. BUG=29862 TEST=Ran unittests, and Chrome against a server with authentication challenges. Review URL: http://codereview.chromium.org/555174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38227 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup the unittest helpers in load_log_unittest.h.eroman@chromium.org2010-01-291-7/+4
| | | | | | | | | | | Consolidates all the callers to using the testing::AssertionResult() flavor, and renames them to have "Event" in the name. This rename is in anticipation of adding testers for other entry types. BUG=NONE TEST=existing Review URL: http://codereview.chromium.org/551135 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37501 0039d316-1c4b-4281-b951-d872f2087c98
* Fix secure websocket (wss) on Mac.ukai@chromium.org2010-01-191-2/+35
| | | | | | | | | | | | | | | | When SSLClientSocket of Mac reports certificate error (e.g. ERR_CERT_AUTHORITY_INVALID), it hasn't finish the SSL handshake and doesn't report the socket is connected. So, even if we tricks the result from SSLClientSocket::Connect by HandleCertificateError, it will be handled as ERR_CONNECTION_FAILED because socket_->IsConnected() is false. So, when SSLClientSocket::Connect reported certificate error and socket_->IsConnectedAndIdle() is false, get the certificate and retry establishing connection again with the certificate in allowed bad certificates, so we could ignore the certificate verify error. Without this fix, websocket live experiment on mac always fails for secure connection. BUG=32569 TEST=try open wss: connection and got open events. Review URL: http://codereview.chromium.org/543111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36519 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup histogram classes mixing SetFlags into FactoryGet argumentsjar@chromium.org2009-12-282-21/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Generic cleanup of histogram class, renaming *FactoryGet to FactoryGet, along with reformatting. The macros were cleaned up to use common sub-macros rather than repeating code as much. Removed ThreadSafeHistogram (and associated ASSET_HISTOGRAM macros) since this class was not getting used. I introduced UMA_HISTOGRAM_ENUMERATION to support the common use of LinearHistograms to count various enumerated values. I added a Flags argument to all the FactoryGet routines to help avoid needing to call SetFlags each time a new sample is Add()ed. This also simplifies the code. This will all help prepare for a "don't histogram at all" macro setting so that I can test the impact of the histogram macro calls on performance (since there are now so many active histograms). BUG=31206 r=raman.tenneti Review URL: http://codereview.chromium.org/515033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35295 0039d316-1c4b-4281-b951-d872f2087c98
* Extend LoadLog to support logging of arbitrary strings, and of network error ↵eroman@chromium.org2009-12-211-1/+1
| | | | | | | | | | | | | | codes. - The logging of error codes is intended to be used in passive mode. - The logging of string messages is intended to be used when in full-logging mode. - The logging of string literal messages is intended to be used in passive mode. BUG=27552 Review URL: http://codereview.chromium.org/503066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35103 0039d316-1c4b-4281-b951-d872f2087c98
* Add the ability to enable full logging for LoadLogs.eroman@chromium.org2009-12-211-4/+8
| | | | | | | | | | | | | | | | | This works by clicking a button in about:net-internals to turn on active logging. Right now full logging means: - Instead of just the most recent 25 requests, keep all requests info. - Instead of limiting each request to 50 log entries, keep all log entries. - Instead of saving the first 1000 bytes of request URLs, save all its bytes. In the future full logging will be expanded to include other log events, and also string messages (so it can mirror what was sent to LOG(INFO) / LOG(WARNING)). BUG=27552 Review URL: http://codereview.chromium.org/507055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35098 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove the support for IPv4 and IPv6 addressing types in the SOCKS5 ↵eroman@chromium.org2009-12-181-1/+1
| | | | | | | | | | | | | implementation. This is no longer used by chrome, and it is unlikely that embedders would want to use this. The default will just use the DOMAIN addressing type. BUG=29914 Review URL: http://codereview.chromium.org/507048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34928 0039d316-1c4b-4281-b951-d872f2087c98
* When talking to a SOCKS v5 proxy, default to sending addresses as raw ↵eroman@chromium.org2009-12-181-1/+1
| | | | | | | | | | | | | | | domains rather than IP addresses. Before, we would default to client-side DNS resolution (sending IP addresses to the proxy) for both v4 and v5. However if you are using a v5 server, it is most likely that you want to do the resolves on the proxy-side. And in fact if you are using a SOCKS 5 proxy to anonymize your browsing, you definitely don't want that as the default policy. Embedders of the network stack can select the alternate policy by passing a non-NULL Host resolver into SOCKS5ClientSocket. BUG=29914 TEST=HttpNetworkTransactionTest.SOCKS5_HTTP_GET, HttpNetworkTransactionTest.SOCKS5_SSL_GET Review URL: http://codereview.chromium.org/507033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34903 0039d316-1c4b-4281-b951-d872f2087c98
* <html>ukai@chromium.org2009-12-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <style type="text/css"> <!-- body { font-family: arial,sans-serif; background-color: #fff; margin-top: 2; } .c { width: 4; height: 4; } a:link { color: #00c; } a:visited { color: #551a8b; } a:active { color: #f00; } .form-noindent { background-color: #fff; border: 1px solid #c3d9ff; } --> </style> <style type="text/css"><!-- .gaia.le.lbl { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.fpwd { font-family: Arial, Helvetica, sans-serif; font-size: 70%; } .gaia.le.chusr { font-family: Arial, Helvetica, sans-serif; font-size: 70%; } .gaia.le.val { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.button { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.rem { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.captchahtml.desc { font-family: arial, sans-serif; font-size: smaller; } .gaia.captchahtml.cmt { font-family: arial, sans-serif; font-size: smaller; font-style: italic; } --></style> <head> <title>Google Accounts</title> <style type="text/css"><!-- body { font-family: arial, sans-serif; margin: 0; padding: 13px 15px 15px; } .body { margin: 0; } div.errorbox-good {} div.errorbox-bad {} div.errormsg { color: red; font-size: smaller; font-family: arial,sans-serif;} font.errormsg { color: red; font-size: smaller; font-family: arial,sans-serif;} div.topbar { font-size:smaller; margin-right: -5px; text-align:right; white-space:nowrap; } div.header { margin-bottom: 9px; margin-left: -2px; position:relative; zoom: 1 } div.header img.logo { border: 0; float:left; } div.header div.headercontent { float:right; margin-top:17px; } div.header:after{ content:"."; display:block; height:0; clear:both; visibility:hidden; } div.pagetitle { font-weight:bold; } .footer { color: #666; font-size: smaller; margin-top: 40px; text-align: center; } table#signupform { left: -5px; top: -7px; position:relative; } table#signupform td{ padding: 7px 5px; } table#signupform td table td{ padding: 1px; } hr { border: 0; background-color:#DDDDDD; height: 1px; width: 100%; text-align: left; margin: 5px; } --></style> </head> <body dir="ltr" onLoad= "gaia_setFocus();" > <div id="main"> <div class=header> <a href='https://www.google.com/accounts/'> <img class=logo src='https://www.google.com/intl/en/images/logos/accounts_logo.gif' alt="Google" /> </img> </a> </div> <div id=maincontent> <table border="0" width="100%" cellpadding=0 cellspacing=0> <tr> <td width="75%" valign="top"> <h3> Chromium Code Reviews uses Google Accounts for Sign In. </h3> <p><font size=-1> Google is not affiliated with the contents of <b>Chromium Code Reviews</b> or its owners. If you sign in, Google will share your email address with <b>Chromium Code Reviews</b>, but not your password or any other personal information. </font></p> <p><font size=-1> <b>Chromium Code Reviews</b> may use your email address to personalize your experience on their website. </font></p> </td> <td style="padding-left: 10px;" valign="top" align="center"> <div id="rhs"> <div id="rhs_login_signup_box"> <script><!-- function gaia_onLoginSubmit() { if (window.gaiacb_onLoginSubmit) { return gaiacb_onLoginSubmit(); } else { return true; } } function gaia_setFocus() { var f = null; if (document.getElementById) { f = document.getElementById("gaia_loginform"); } else if (window.gaia_loginform) { f = window.gaia_loginform; } if (f) { if (f.Email && (f.Email.value == null || f.Email.value == "")) { f.Email.focus(); } else if (f.Passwd) { f.Passwd.focus(); } } } --></script> <style type="text/css"><!-- div.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; } font.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; } --></style> <style type="text/css"><!-- .gaia.le.lbl { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.fpwd { font-family: Arial, Helvetica, sans-serif; font-size: 70%; } .gaia.le.chusr { font-family: Arial, Helvetica, sans-serif; font-size: 70%; } .gaia.le.val { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.button { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.rem { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.captchahtml.desc { font-family: arial, sans-serif; font-size: smaller; } .gaia.captchahtml.cmt { font-family: arial, sans-serif; font-size: smaller; font-style: italic; } --></style> <form id="gaia_loginform" action="https://www.google.com/accounts/ServiceLoginAuth?service=ah&amp;sig=d71ef8b8d6150b23958ad03b3bf546b7" method="post" onsubmit= "return(gaia_onLoginSubmit());" > <div id="gaia_loginbox"> <table class="form-noindent" cellspacing="3" cellpadding="5" width="100%" border="0"> <tr> <td valign="top" style="text-align:center" nowrap="nowrap" bgcolor="#e8eefa"> <input type="hidden" name="ltmpl" value="gm"> <div class="loginBox"> <table id="gaia_table" align="center" border="0" cellpadding="1" cellspacing="0"> <tr> <td colspan="2" align="center"> <font size="-1"> Sign in with your </font> <table> <tr> <td valign="top"> <img src="google_transparent.gif" alt="Google"> </img> </td> <td valign="middle"> <font size="+0"><b>Account</b></font> </td> </tr> </table> </td> </tr> <script type="text/javascript"><!-- function onPreCreateAccount() { return true; } function onPreLogin() { if (window["onlogin"] != null) { return onlogin(); } else { return true; } } --></script> <tr> <td colspan="2" align="center"> </td> </tr> <tr> <td nowrap="nowrap"> <div align="right"> <span class="gaia le lbl"> Email: </span> </div> </td> <td> <input type="hidden" name="continue" id="continue" value="http://codereview.chromium.org/_ah/login?continue=http://codereview.chromium.org/505032/description" /> <input type="hidden" name="service" id="service" value="ah" /> <input type="hidden" name="dsh" id="dsh" value="-228459803188649000" /> <input type="hidden" name="ltmpl" id="ltmpl" value="gm" /> <input type="hidden" name="ltmpl" id="ltmpl" value="gm" /> <input type="hidden" name="ahname" id="ahname" value="Chromium Code Reviews" /> <input type="hidden" name="GALX" value="Z-oARm-lgTQ" /> <input type="text" name="Email" id="Email" size="18" value="" class='gaia le val' /> </td> </tr> <tr> <td></td> <td align="left"> </td> </tr> <tr> <td align="right" nowrap="nowrap"> <span class="gaia le lbl"> Password: </span> </td> <td> <input type="password" name="Passwd" id="Passwd" size="18" class="gaia le val" /> </td> </tr> <tr> <td> </td> <td align="left"> </td> </tr> <tr> <td align="right" valign="top"> <input type="checkbox" name="PersistentCookie" id="PersistentCookie" value="yes" checked='checked' /> <input type="hidden" name='rmShown' value="1" /> </td> <td> <label for="PersistentCookie" class="gaia le rem"> Stay signed in </label> </td> </tr> <tr> <td> </td> <td align="left"> <input type="submit" class="gaia le button" name="signIn" value="Sign in" /> </td> </tr> <tr id="ga-fprow"> <td colspan="2" height="33.0" class="gaia le fpwd" align="center" valign="bottom"> <a href="http://www.google.com/support/accounts/bin/answer.py?answer=48598&amp;hl=en&amp;ctx=ch_ServiceLogin&amp;p=ah&amp;fpUrl=https%3A%2F%2Fwww.google.com%2Faccounts%2FForgotPasswd%3FfpOnly%3D1%26continue%3Dhttp%253A%252F%252Fcodereview.chromium.org%252F_ah%252Flogin%253Fcontinue%253Dhttp%253A%252F%252Fcodereview.chromium.org%252F505032%252Fdescription%26service%3Dah%26ltmpl%3Dgm" target=_top> Can&#39;t access your account? </a> </td> </tr> </table> </div> </td> </tr> </table> </div> <input type="hidden" name="asts" id="asts" value=""> </form> <form id="gaia_universallogin" action="https://www.google.com/accounts/ServiceLoginAuth?service=ah&amp;sig=d71ef8b8d6150b23958ad03b3bf546b7" method="post" onsubmit="return(gaia_onLoginSubmit());"> <input type="hidden" name="continue" id="continue" value="http://codereview.chromium.org/_ah/login?continue=http://codereview.chromium.org/505032/description" /> <input type="hidden" name="service" id="service" value="ah" /> <input type="hidden" name="dsh" id="dsh" value="-228459803188649000" /> <input type="hidden" name="ltmpl" id="ltmpl" value="gm" /> <input type="hidden" name="ltmpl" id="ltmpl" value="gm" /> <input type="hidden" name="ahname" id="ahname" value="Chromium Code Reviews" /> <input type="hidden" name="ltmpl" id="ltmpl" value="gm" /> </form> <br/> <table class="form-noindent" border="0" cellpadding="6" cellspacing="3" width="100%"> <tr> <td bgcolor="#e8eefa" align="center" style="font-size:83%"> <b>Don't have a Google Account? </b><br/> <a href='https://www.google.com/accounts/NewAccount?continue=http%3A%2F%2Fcodereview.chromium.org%2F_ah%2Flogin%3Fcontinue%3Dhttp%3A%2F%2Fcodereview.chromium.org%2F505032%2Fdescription&amp;service=ah&amp;ltmpl=gm&amp;sig=14656a8ac80c71318bdaaf14b1c8bc1a' > <b>Create an account now</b> </a> </td> </tr> </table> </div> <br/> </div> </td> </tr> </table> </div> <div class="footer"> &copy;2009 Google - <a href='http://www.google.com/'>Google Home</a> - <a href='https://www.google.com/accounts/TOS?hl=en'>Terms of Service</a> - <a href='http://www.google.com/intl/en/privacy.html'>Privacy Policy</a> - <a href='http://www.google.com/support/accounts?hl=en'>Help</a> </div> </div> </body> </html> Review URL: http://codereview.chromium.org/505032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34806 0039d316-1c4b-4281-b951-d872f2087c98
* Add tests for SocketStreamMetrics.satorux@chromium.org2009-12-152-1/+183
| | | | | | | | | | | | | | Tests for SocketStreamMetrics were missing, which is not great. Note that the tests became a bit more complex than I originally thought as the global histograms are shared by other tests in other files. TEST=net_unittests BUG=none Review URL: http://codereview.chromium.org/491045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34536 0039d316-1c4b-4281-b951-d872f2087c98
* Use factory to create histograms, and refcounts to track lifetimesjar@chromium.org2009-12-061-10/+12
| | | | | | | | | | | | | | | This is CL patch 377028 by Raman Tenneti, with minor changes to make the try-bots happier. It is cleanup that better ensures lifetimes of histograms (making it harder for users to abuse them). bug=16495 (repairs leak induced by the first landing) bug=18840 (should make leaks less possible) tbr=raman.tenneti Review URL: http://codereview.chromium.org/462027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33933 0039d316-1c4b-4281-b951-d872f2087c98
* Try https proxy for websocket connection.ukai@chromium.org2009-11-162-1/+18
| | | | | | | | | | | | | | | Safari always uses "https" to get proxies for websocket connection, so chrome also tries it as well. Fix url replacement failure. We should use std::string instead of char[]. BUG=none TEST=net_unittests passes Review URL: http://codereview.chromium.org/397008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32050 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 32045.ukai@chromium.org2009-11-162-17/+1
| | | | | | Review URL: http://codereview.chromium.org/396009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32049 0039d316-1c4b-4281-b951-d872f2087c98
* Try https proxy for websocket connection.ukai@chromium.org2009-11-162-1/+17
| | | | | | | | | | | | Safari always uses "https" to get proxies for websocket connection, so chrome also tries it as well. BUG=none TEST=none Review URL: http://codereview.chromium.org/398004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32045 0039d316-1c4b-4281-b951-d872f2087c98
* Close immediately if no context is setukai@chromium.org2009-11-131-1/+6
| | | | | | | | | | | | | | Profile::GetDefaultRequestContext() is initialized lazily, on the UI thread. So, if SocketStreamHost runs before it has gotten lazily initialized yet, SocketStream won't have context. In this case, SocketStream will die. Rather than that, just close immediately. BUG=none TEST=none Review URL: http://codereview.chromium.org/384077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31886 0039d316-1c4b-4281-b951-d872f2087c98
* Style nit -- bind asterisks to the left rather than right.eroman@chromium.org2009-11-131-1/+1
| | | | | | Review URL: http://codereview.chromium.org/384112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31884 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb LoadLog into SocketStreamukai@chromium.org2009-11-133-14/+72
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/385003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31881 0039d316-1c4b-4281-b951-d872f2087c98
* Metrics of SocketStreamukai@chromium.org2009-11-114-1/+184
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/380004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31650 0039d316-1c4b-4281-b951-d872f2087c98
* There was confusion in the mock socket classes due tombelshe@google.com2009-11-111-4/+4
| | | | | | | | | | | | | | | | | | | overlapping names. The MockSocket is not actually a socket. It is an interface for fetching data for reads and writes on a socket. The MockClientSocket and MockTCPClientSocket are the actual sockets. Rename MockSocket to SocketDataProvider. Rename SSLMockSocket to SSLSocketDataProvider. Update all tests to reflect name change. BUG=none TEST=none Review URL: http://codereview.chromium.org/384024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31640 0039d316-1c4b-4281-b951-d872f2087c98
* Use URLRequestContext's host_resolver instead of SystemHostResolver.ukai@chromium.org2009-11-101-1/+2
| | | | | | | | | | | For unittests, we can inject mock host_resolver via SetHostResolver(). BUG=none TEST=none Review URL: http://codereview.chromium.org/384001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31545 0039d316-1c4b-4281-b951-d872f2087c98
* Add error reporting in net/websocketsukai@chromium.org2009-11-061-1/+1
| | | | | | | | | | | Fix response code for websocket authentication. BUG=none TEST=none Review URL: http://codereview.chromium.org/368003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31211 0039d316-1c4b-4281-b951-d872f2087c98
* Second patch in making destructors of refcounted objects private.jam@chromium.org2009-11-051-2/+6
| | | | | | | | BUG=26749 Review URL: http://codereview.chromium.org/368001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31165 0039d316-1c4b-4281-b951-d872f2087c98
* Implement websocket throttling.ukai@chromium.org2009-11-044-25/+210
| | | | | | | | | | | | | | | | Implement the client-side requirements in the spec. 4.1 Handshake 1. If the user agent already has a Web Socket connection to the remote host (IP address) identified by /host/, even if known by another name, wait until that connection has been established or for that connection to have failed. BUG=none TEST=net_unittests passes Review URL: http://codereview.chromium.org/342052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30949 0039d316-1c4b-4281-b951-d872f2087c98
* Minor fixes in SocketStream.ukai@chromium.org2009-11-041-2/+8
| | | | | | | | | | | Commented on http://codereview.chromium.org/345025 BUG=none TEST=none Review URL: http://codereview.chromium.org/355022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30937 0039d316-1c4b-4281-b951-d872f2087c98