| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
to chrome/browser.
This is a part of an effort to remove bad dependency of chrome/common
on chrome/browser.
TEST=unit_tests and ui_tests, just moving code
BUG=none
Review URL: http://codereview.chromium.org/621004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39428 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=32927
TEST=make sure you can bring up the options dialog without hitting a
DCHECK (only on debug builds).
Review URL: http://codereview.chromium.org/546119
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36963 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
initialization into IOThread.
The global host resolver and dns master have changed to be member variables of IOThread.
BUG=26156,26159
Review URL: http://codereview.chromium.org/553026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36866 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UMA data suggests that a 500ms limit on queue duration
(before assuming congestion) provides better user
experience. This change sets 500ms as the default,
and reduces the percentage of users that have other
experimental values.
BUG=3041,15479
r=eroman
Review URL: http://codereview.chromium.org/543083
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36489 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids retaining navigation history relating to the incognito window.
I piggy-back off of the dns prefetcher's OffTheRecordObserver to do this. In the future I hope to have a separate host resolver for off the record mode, so this won't be necessary.
BUG=24629
Review URL: http://codereview.chromium.org/523076
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35923 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
making these classes non-threadsafe.
Conceptually, PrefetchObserver and DnsMaster live on the IO thread, and their methods can only be called from the IO thread.
In the cases where calls do need to be made from the UI thread, we post a task to be run on the IO loop and return without blocking.
The only time where we block is during shutdown, when we must wait on the IO thread to get us the startup list and referral list.
BUG=25335
Review URL: http://codereview.chromium.org/300032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34066 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should probably help some folks that have very sensitive DNS
resolution systems, by at least assuring that the initial navigation
can't get stuck behind congestion induced by DNS prefetching.
There is a tiny chance that this used to be a bit less problematic, as
the DNS prefetch system used to use its own threads, which gave
the navigational resolution a "racing" chance to be handled first (or
at least sooner). With the centralized use of the resolver, the code
(as noted by eroman) actually started the sub-resource resolution
(in all cases) before the navigational resolution. This change
explicitly forces the clearly better ordering.
It won't "fix" bug 3041... but it may help some users with more
recent comments in that bug.
bug=3041
r=eroman
Review URL: http://codereview.chromium.org/464023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33869 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This change is to help diagnose bug 29038.
BUG=29038
Review URL: http://codereview.chromium.org/455025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33510 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
http://codereview.chromium.org/401002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32105 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
server.
The command line is:
--fixed-server=host:port
When set, all traffic will be diverted through this server. This is useful for
testing purposes with fixed servers.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/345034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30798 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
ChromeThread instead.
BUG=25354
Review URL: http://codereview.chromium.org/342068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30687 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
HostResolver::SetDefaultAddressFamily(), to make it more general.
This came up in a codereview comment, but was after I had checked in.
Review URL: http://codereview.chromium.org/303026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30063 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(1) Adds the ability to specify the address family on a per-request basis.
(2) Exposes a --disable-ipv6 flag to chrome that changes the default address family from AF_UNSPEC to AF_INET (same sort of thing Firefox does).
(3) Changes the backing datastructure for HostCache:EntryMap and HostResolverImpl::JobMap from a "hash_map" to a "std::map". This was for consistency with other code (when I went to add a custom hash trait, I couldn't find any existing code which was using hashmap for custom keys).
(4) Updates about:net-internals to display an address family for the hostcache dump (since it is now a part of the key).
This change is in anticipation of turning off IPv6 host resolving in the PAC utility functions (see bug 24641). But it is also a feature addition.
BUG=24641
TEST=HostCacheTest.AddressFamilyIsPartOfKey
Review URL: http://codereview.chromium.org/302010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29686 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Stats suggest that optimal boundary for congestion detection
in DNS pre-resolution may be under 1 second. This change
focuses the field trial on that region.
r=willchan
Review URL: http://codereview.chromium.org/155723
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21048 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(1) Extract HostResolver to an interface.
The existing concrete implementation is now named HostResolverImpl. This makes it possible to create mocks with more complex behavior (i.e. choose via rules if response will be sync vs async).
(2) Transform HostMapper into HostResolverProc.
Conceptually HostResolverProc maps a hostname to a socket address, whereas HostMapper mapped a hostname to another hostname (so you were still at the mercy of the system's host resolver). With HostResolverProc you can specify the exact AddressList, making it possible to run tests requiring IPv6 socketaddrs on systems (like WinXP) that don't actually support it.
(3) Add a MockHostResolver implementation of HostResolver.
This replaces the [ScopedHostMapper + RuleBasedHostMapper + HostResolver] combo. It is less clunky and a bit more expressive.
BUG=http://crbug.com/16452
R=willchan
TEST=existing
Review URL: http://codereview.chromium.org/149511
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20795 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To do this, I needed to add the feature that ALL FieldTrials that are
established in the browser process are forwarded and established in
the corresponding renderer processes. This then allows both DNS impact,
as well as SDCH inmpact (and any other field tests) to be studied
at the same time in a single binary.
This checkin also establishes a pattern that when we're doing A/B tests
via a histogram such as RequestToFinish, that we produce names for
all groups, rather than leaving one group as the "default" or "empty postfix"
group. This is critical for naming various sub-groups when a multitude
of tests are taking place at the same time.
BUG=15479
r=mbelshe
Review URL: http://codereview.chromium.org/150087
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19595 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I added another option in the DNS experiment: user 2 seconds or 500ms
for the congestion limit (that causes pre-resolutions to be discarded
from the queue.
The code in browser_main.cc was getting toooo large, so I pulled all
the experiment code into dns_global.cc.
BUG=15479
r=eroman
Review URL: http://codereview.chromium.org/147215
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19464 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
not try to complete on the IO thread.
This is an experiment for http://crbug.com/15513
BUG=15513
TBR=willchan
Review URL: http://codereview.chromium.org/150001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19463 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This way it can be properly shared between the url request contexts, and the dns prefetcher, and dns observer.
BUG=http://crbug.com/14664
TEST=existing unit tests.
Review URL: http://codereview.chromium.org/149053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19451 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/147242
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19432 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This way it can be properly shared between the url request contexts, and the dns prefetcher, and dns observer.
BUG=http://crbug.com/14664
TEST=existing unit tests.
Review URL: http://codereview.chromium.org/149053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19425 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Revert 19271, since it caused crash in reliability test. (dns prefetcher may still cancel requests on the host resolver during shutdown).
Review URL: http://codereview.chromium.org/149026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19289 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
in EnsureDnsPrefetchShutdown().
This is necessary because although CleanupRequestContext() is strictly before EnsureDnsPrefetchShutdown(), the URLRequestContext instances are refcounted. Therefore they may survive CleanupRequestContext(), and continue accessing the HostResolver after dns prefetcher has done teardown.
BUG=14664
Review URL: http://codereview.chromium.org/146139
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19271 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This particular subset should be a no-op: It adds an unused interface method (OnResolutionCancelled), and an unused test (CancelObserver), and lastly renames Cancel --> MarkAsCanceled().
The code in "dns_global.cc" is also unused since it is unreachable.
The original code review that this belongs to is:<http://codereview.chromium.org/125171>. (BUG=14138)
The original was backed out because of a valgrind linux error (BUG=14218), so I am now re-landing in smaller chunks to identify where the problem resides.
Review URL: http://codereview.chromium.org/126253
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18581 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original code review for this change was:
<http://codereview.chromium.org/125171>
It is being reverted because it seems to have caused a valgrind on linux regression:
<http://crbug.com14218>
BUG=14218,14138,14188
Review URL: http://codereview.chromium.org/126248
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18574 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
observers can tell when a request has been cancelled.
* Use OnCancelResolution() in DNS prefetcher observer, to avoid leaking entries in the |resolution| table when requests are cancelled. (BUG=14138)
* Fix a bug where completion notification wasn't being sent when the response was cached. (BUG=14188)
BUG=14138,14188
TEST=HostResolverTest.CancellationObserver, HostResolverTest.Observer
Review URL: http://codereview.chromium.org/125171
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18520 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TBR=jar
BUG=14138
Review URL: http://codereview.chromium.org/126167
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18471 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TEST=this is striclty a refactoring; just needs to compile and pass existing tests.
BUG=14056
Review URL: http://codereview.chromium.org/126110
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18372 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
prefetcher, into HostResolver. This has the advantage that consumers of DNS no longer have to remember to call "DidFinishDnsResolutionWithStatus()" followed by "DidStartDnsResolution()" in order for the prefetcher to observe the resolution. Instead it just happens automatically, and subscribers register via HostResolver::AddObserver() on a particular resolver instance.
* To accomodate the prefetcher's observer, HostResolver::Resolve() needs an additional "referrer" parameter. This is slightly awkward since "referrer" has nothing to do with the actual resolve request. To simplify plumbing through this and other optional parameters, Resolve() was changed to take a "RequestInfo&" parameter in place of say {hostname, port, flags}.
* Added an option to HostResolver::Resolve() for disallowing cached responses (RequestInfo::allow_cached_response). This will be used when you refresh a page, to bypass the host cache. The code to do this has been added to HttpNetworkTransaction, but is commented out pending an appropriate unit-test to verify it.
BUG=14056
Review URL: http://codereview.chromium.org/125107
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18371 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add a 1 minute cache for host resolves.
* Refactor HostResolver to handle multiple requests.
* Make HostResolver a dependency of URLRequestContext. operate the HostResolver
in async mode for proxy resolver (bridging to IO thread).
TEST=unittests
BUG=13163
Review URL: http://codereview.chromium.org/118100
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18236 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
And plumb through an (unused) HostResolver dependency into DnsMaster.
This is in preparation for <http://codereview.chromium.org/118100> which turns HostResolver into a (non-thread-safe) shared dependency of the URLRequestContext.
After CL 118100, DnsMaster will be issuing host resolves through the main URLRequestContext's HostResolver (now on the IO thread). This will have the effect of warming the shared HostResolver's internal cache.
BUG=13163
TEST=existing unit tests
Review URL: http://codereview.chromium.org/122028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18212 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=6532
r=wtc
Review URL: http://codereview.chromium.org/115990
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17338 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
BUG=12560
Review URL: http://codereview.chromium.org/115785
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16887 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16713 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
BUG=2381
Review URL: http://codereview.chromium.org/113738
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16702 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
This is also meant to exercise the field trial infrastructure.
r=mbelshe
Review URL: http://codereview.chromium.org/50084
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12271 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Normalize end of file newlines in chrome/. All files end in a single newline.
Review URL: http://codereview.chromium.org/42015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11331 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This happened when BrowserMain exited before the point when we initialized dns prefetching, but after BrowserProcessImpl was created. We do shutdown of dns prefetching in ~BrowserProcessImpl.
Example way to trigger the crash: open a saved HTML page while Chrome is already running.
Change ShutdownDnsPrefetch to EnsureDnsPrefetchingShutdown which does nothing
if dns prefetching has not been initialized. This is the simplest way
to prevent the crash and we don't want to complicate the startup sequence even more.
BUG=7900
Review URL: http://codereview.chromium.org/27048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10201 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- remove slave threads and use HostResolver in asynchronous mode instead (while still limiting number of concurrent lookups)
- make the implementation portable and make DnsMaster unit test compile and pass on Linux
- add more tests to DnsMaster unit test to simulate various shutdown scenarios, concurrent lookups, and to verify that we don't exceed our limit of concurrent lookup requests)
- remove some tests which relied on specifics of slaves' inner working
- adjust initialization and shutdown of dns prefetching (now it relies on the IO message loop being present)
Bonus: shutdown is almost instant now, no need to have a timeout.
BUG=5687, 6683
Review URL: http://codereview.chromium.org/15076
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10021 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
This revision changes half of the source files!".
Review URL: http://codereview.chromium.org/20378
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9958 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The DNS pre-resolution system already "learns" what domains are commonly
needed when rendering sub-resources of a page at a given domain.
This patch saves (some of) the information learned into a persistent
pref, and restores it on startup.
For now, I put in a wimpy pruning of the list each time I save, so that
the list will not grow endlessly from session to session. I probably need
a better pruning algorithm, such as one that prunes after a given amount
of time, rather than only during shutdown. For now, this should get
a lot of nice results, and provide slightly larger than needed lists to
users that have long lived sessions, which is similar to the current
performance, where I didn't persist any info, and only pruned (actually
discarded) all learned info at shutdown.
r=mbelshe
Review URL: http://codereview.chromium.org/21374
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9912 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r9312.
Revert "Fix HostResolver crash when MessageLoop is destroyed during"
This reverts commit r9317.
BUG=5687,6683
TBR=ph
Review URL: http://codereview.chromium.org/21133
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9325 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- remove slave threads and use HostResolver in asynchronous mode instead (while still limiting number of concurrent lookups)
- make the implementation portable and make DnsMaster unit test compile and pass on Linux
- add more tests to DnsMaster unit test to simulate various shutdown scenarios, concurrent lookups, and to verify that we don't exceed our limit of concurrent lookup requests)
- remove some tests which relied on specifics of slaves' inner working
Bonus: shutdown is almost instant now, no need to have a timeout.
BUG=5687, 6683
Review URL: http://codereview.chromium.org/15076
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9312 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
really painful to add more types, since lots of headers include the
notification service to derive from the notification observer. This splits that
out, so much less of the project should end up including notification_types.h
---Paths modified but not in any changelist:
Review URL: http://codereview.chromium.org/19744
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9020 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/18598
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8628 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=5687, 6683
Review URL: http://codereview.chromium.org/15076
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8625 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
- remove views dependencies from browser by moving profile related dialog actions into BrowserWindow.
- simplify the include dependencies in TabStripModel (making it easier to bring up on mac) by implementing more of its high level functionality in the delegate.
Review URL: http://codereview.chromium.org/18736
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8606 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Preparing for more complex changes.
Review URL: http://codereview.chromium.org/14919
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7344 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/15083
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7308 0039d316-1c4b-4281-b951-d872f2087c98
|