| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
I haven't yet renamed the classes.
BUG=30747
TEST=none
Review URL: http://codereview.chromium.org/582001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38315 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* A NULL stream was added to pushed_streams_
* FlipStream had a NULL HttpResponseInfo pointer. In non-server-push paths, this pointer references a member of the associated FlipNetworkTransaction. In this case, I just leak memory - needs a better solution.
* io_state_ was set to NONE on a server push, which DCHECK'ed in the first state machine loop. Changed it to jump to READ_HEADERS state.
BUG=NONE
TEST=Manual
Review URL: http://codereview.chromium.org/551006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38241 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
property for detecting when an upload is finished.
While this does prevent the crash described in the bug from occurring, this doesn't fully solve the problem as now the affected uploads don't complete. Fully resolving the issue will require implementing the chunked transfer encoding for requests.
Patch from Vernon Tang <vt@foilhead.net>, original review: http://codereview.chromium.org/555194
BUG=33501
TEST=Create a file with a non-zero size and select that file in an HTML-based uploader. Before starting the upload, remove read permissions from that file. Check that the upload doesn't cause the browser to crash or hang. net_unittests: HttpNetworkTransactionTest.UploadFileSmallerThanLength, UploadDataStreamTest.*
Review URL: http://codereview.chromium.org/578004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38129 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This requires the following refactors:
(1) NetworkChangeNotifier moves out of HttpNetworkSession into IOThread.
(2) HostResolver gets initialized with NetworkChangeNotifier.
(3) NetworkChangeNotifier needs to get passed into HttpCache and HttpNetworkSession (required updating a lot of files).
(4) NetworkChangeNotifier is no longer reference counted. It is owned by IOThread.
(5) IOThread gains a new struct: Globals. It can only be used on the io thread.
(6) ChromeURLRequestContextFactory uses IOThread::Globals to initialize ChromeURLRequest objects with the host resolver and network change notifier.
BUG=26159
Review URL: http://codereview.chromium.org/552117
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38052 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
BUG=31927
TEST=flip_framer_test
Review URL: http://codereview.chromium.org/549178
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37344 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
down. Basically, an error occurred, and we had cleaned up all streams and
removed our last reference from the FlipSessionPool, causing |this| to be
destroyed. But on the stack we came through and issued another read off the
now defunct FlipSession.
Added two new tests for FlipSession errors - one when frame decompression fails,
and one when we get a full protocol error on the session.
NOTE: Had to remove DCHECK from flip_framer; I'm intentionally triggering that
DCHECK, but it fires on our unit tests and windows doesn't support death tests
in any reasonable way. Since the check was an arbitrary assist for early
debugging, this should be okay.
BUG=none
TEST=flip_network_transaction_unittest.cc
Review URL: http://codereview.chromium.org/549116
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36820 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ReadSocket()
OnReadComplete()
ReadSocket()
...
as long as the reads are completing synchronously. This is not
a huge problem, but avoiding recursion offsers some robustness and
avoids stack blowouts.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/546071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36553 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/542015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35945 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Augments the loadTimes() API with a new field, "wasFetchedViaSpdy".
BUG=31615
TEST=flip_network_transaction_unittest
Review URL: http://codereview.chromium.org/518039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35943 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/515039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35715 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/519005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35293 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/523004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35292 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Previously, the "CONNECTION_ANY" was incorrectly recorded. It was recording
every Http *transaction*, not every Http connection.
* The histogram was vague about whether it was tracking successful or
unsuccessful connections. In fact, it was recording all SSL connections (fail
or success), and yet only successful HTTP connections. Modified to only apply
to successful connections.
* Added a Net.ConnectionTypeFailCount histogram which counts the number of
failed connections by type.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/519002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35264 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the FlipSession, and the FlipSession continued to try to
notify the stream of new data.
Also re-enable the CancelTransaction test, which did catch
the crash.
BUG=none
TEST=FlipNetworkTransactionTest.CancelTransaction
Review URL: http://codereview.chromium.org/506062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35106 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 a new flip option: "npn". --use-flip=npn to activate.
Allows for negotiation of SPDY via SSL for https urls.
Checks for the existence of existing SPDY sessions and reuses them where possible.
Review URL: http://codereview.chromium.org/500088
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35099 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=FlipNetworkTransactionTest.LoadLog
Review URL: http://codereview.chromium.org/500083
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34920 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This was artificially low for no real reason.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/505028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34873 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Necessary since we need the SSLInfo to handle certificate errors, but it lives within the HttpResponseInfo. SSL is before we choose http or spdy, so we don't have an http stream or a spdy stream yet, so they cannot own the HttpResponseInfo.
Review URL: http://codereview.chromium.org/500039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34773 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
flags.
Renames --testing-fixed-server to --testing-fixed-host. Adds --testing-fixed-http-port and --testing-fixed-https-port.
Review URL: http://codereview.chromium.org/501032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34624 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
we need to inform the stream of the error so that we don't continue
processing through the loop.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/479013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34260 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
passing the HttpResponseInfo (containing the response headers) to
FlipStream.
R=mbelshe
BUG=none
TEST=The DCHECK in GetCertID() in resource_dispatcher_host.cc should not
fail when you visit an HTTPS site using SPDY.
Review URL: http://codereview.chromium.org/471007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34169 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
http://codereview.chromium.org/469018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34067 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/460113
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34000 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=29471
Review URL: http://codereview.chromium.org/467031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33909 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/465061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33884 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a) When the SSL handshake completes, pass the error through
and close the session.
b) When the Connect returns error, we were returning OK anyway.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/463032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33868 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update the mocksocket so that we can test connection statuses.
Verified that the test case crashes without the flip_session.cc fix.
BUG=none
TEST=FlipNetworkTransaction.ConnectFailure
Review URL: http://codereview.chromium.org/462023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33792 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of resource loading from WebKit into the network stack.
In order to fully make these work, webkit changes are needed
as well.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/452033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33546 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=FlipProtocolTest
Review URL: http://codereview.chromium.org/449065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33512 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
full duplex, a closed socket will cause both read and write completions. Unifying
the cleanup code allows both codepaths to safely cleanup the socket.
In the process, consolidated several flags on the session into a single State
variable.
BUG=29004
TEST=WriteError
Review URL: http://codereview.chromium.org/450025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33404 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
rather than as OK.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/457014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33374 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an experimental, client only implementation of
next-protocol-negotiation:
http://www.imperialviolet.org/binary/draft-agl-tls-nextprotoneg-00.html
This only affects the internal copy of libssl and is only active when
built with use_system_ssl=0, which is not currently the default.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33327 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Accidentally already checked in the flip_session.cc reordering
of member variables in the constructor. So checking this in now.
BUG=none
TEST=none
TBR=wtc@chromium.org
Review URL: http://codereview.chromium.org/449017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33313 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
status or version headers would crash.
BUG=none
TEST=FlipNetworkTransactionTest.InvalidSynReply
Review URL: http://codereview.chromium.org/455003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33311 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
method factory for the DelayedSocketDataProvider.
The problem which crashed was that the lifecycle of
the socket and the data provider are not coupled; and
the posted message for a delayed ReadCompletion could
be left hanging.
BUG=none
TEST=WriteError
Review URL: http://codereview.chromium.org/452010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33300 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
were forgetting to release the in_flight_write,
which holds a reference to the FlipStream.
BUG=none
TEST=WriteError (coming)
Review URL: http://codereview.chromium.org/453005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33299 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/455001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33284 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
method factory for the DelayedSocketDataProvider.
The problem which crashed was that the lifecycle of
the socket and the data provider are not coupled; and
the posted message for a delayed ReadCompletion could
be left hanging.
Running test on bots at night.
BUG=none
TEST=WriteError
TBR=eroman@chromium.org
Review URL: http://codereview.chromium.org/453001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33283 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modified the FlipIOBuffer to use a DrainableIOBuffer instead
of a IOBufferWithSize. When a write completes, we drain the
bytes, and only fetch the next FlipFrame from the queue after
we have fully drained the buffer.
I will update the tests to be much more thorough in my next
CL.
BUG=none
TEST=FlipNetworkTransactionTest.PartialWrites
Review URL: http://codereview.chromium.org/451002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33250 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the FlipSession to support partial writes.
Modified the FlipIOBuffer to use a DrainableIOBuffer instead
of a IOBufferWithSize. When a write completes, we drain the
bytes, and only fetch the next FlipFrame from the queue after
we have fully drained the buffer.
I will update the tests to be much more thorough in my next
CL.
BUG=none
TEST=FlipNetworkTransactionTest.PartialWrites
Review URL: http://codereview.chromium.org/436019
Review URL: http://codereview.chromium.org/434065
TBR=mbelshe@google.com
Review URL: http://codereview.chromium.org/443003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33076 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the FlipSession to support partial writes.
Modified the FlipIOBuffer to use a DrainableIOBuffer instead
of a IOBufferWithSize. When a write completes, we drain the
bytes, and only fetch the next FlipFrame from the queue after
we have fully drained the buffer.
I will update the tests to be much more thorough in my next
CL.
BUG=none
TEST=FlipNetworkTransactionTest.PartialWrites
Review URL: http://codereview.chromium.org/436019
Review URL: http://codereview.chromium.org/434065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33073 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modified the FlipIOBuffer to use a DrainableIOBuffer instead
of a IOBufferWithSize. When a write completes, we drain the
bytes, and only fetch the next FlipFrame from the queue after
we have fully drained the buffer.
I will update the tests to be much more thorough in my next
CL.
BUG=none
TEST=FlipNetworkTransactionTest.PartialWrites
Review URL: http://codereview.chromium.org/436019
TBR=mbelshe@google.com
Review URL: http://codereview.chromium.org/440011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33020 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modified the FlipIOBuffer to use a DrainableIOBuffer instead
of a IOBufferWithSize. When a write completes, we drain the
bytes, and only fetch the next FlipFrame from the queue after
we have fully drained the buffer.
I will update the tests to be much more thorough in my next
CL.
BUG=none
TEST=FlipNetworkTransactionTest.PartialWrites
Review URL: http://codereview.chromium.org/436019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33018 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/434043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32959 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/437039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32947 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
FlipIOBuffer::release() was broken. It called release() on scoped_refptrs which does not decrease refcount, hence it leaked IOBuffers and FlipStreams.
Redo the memory management for FlipSession. Stop using raw pointers in FlipSessionPool to hold onto FlipSession. FlipSessionPool uses scoped_refptr now to track Fli
pSessions. Instead of having FlipSession call Release() on itself, it now calls FlipSessionPool to remove itself from the pool when the tcp connection is closed.
In FlipStreamTest, manually call FlipSessionPool::Remove() since there is no tcp connection event to trigger FlipSession to remove itself.
BUG=http://crbug.com/28493
Review URL: http://codereview.chromium.org/438014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32945 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
The current fix is suboptimal, since we're doing unnecessary work in the FlipStream (still handling reads and writes for a cancelled stream), but just don't ever hand the data over to a user since they've already cancelled the stream. We should fix this, but don't bother for now. Not calling any user_callback_ is good enough for now.
Review URL: http://codereview.chromium.org/439002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32881 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'm sorry for reverting your change earlier, looks like it wasn't the cause :(
TBR=mbelshe
BUG=28622
TEST=FlipStreamTest
Review URL: http://codereview.chromium.org/436009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32858 0039d316-1c4b-4281-b951-d872f2087c98
|