summaryrefslogtreecommitdiffstats
path: root/net/base
Commit message (Collapse)AuthorAgeFilesLines
* Disable caching of failed DNS lookups.eroman@chromium.org2010-06-171-1/+1
| | | | | | | | | | | | This is causing problems on network changes, since we don't have a reliable signal for telling when DNS is back up (so we aren't able to flush the cache properly). This will regress bug 1672, filed 46821 to address that. BUG=46821 Review URL: http://codereview.chromium.org/2873003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50141 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a TODO: Move "NonThreadSafe" inheritance from ↵pkasting@chromium.org2010-06-178-49/+82
| | | | | | | | | | | | NetworkChangeNotifier interface to implementations. Also add CalledOnValidThread() DCHECKs in as many places as possible. Some minor style changes. BUG=none TEST=none Review URL: http://codereview.chromium.org/2813019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50139 0039d316-1c4b-4281-b951-d872f2087c98
* Assert SetCookieableScheme called before first use.rdsmith@google.com2010-06-172-0/+5
| | | | | | | | | BUG=44476 TEST=Linux CookieMonster.SetCookieableSchemes (as modified) Review URL: http://codereview.chromium.org/2869002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50105 0039d316-1c4b-4281-b951-d872f2087c98
* Working towards -Wextrathomasvl@chromium.org2010-06-161-3/+3
| | | | | | | | | | | | - Make loops use {} instead of a ';' to make it clear there is no body to the loop. - Remove checks of unsigned values for <0 - coordinates should be CGFloat, not NSUInteger. BUG=34160 TEST=none Review URL: http://codereview.chromium.org/2865003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49939 0039d316-1c4b-4281-b951-d872f2087c98
* In addition to the logging the IP address that a TCP connect is made to, ↵eroman@chromium.org2010-06-165-33/+81
| | | | | | | | | | also include the port number. This helps when debugging situations where the port has been changed. Review URL: http://codereview.chromium.org/2808008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49893 0039d316-1c4b-4281-b951-d872f2087c98
* Add Keynectis to EV listdavidben@chromium.org2010-06-151-0/+6
| | | | | | | | | BUG=43954 TEST=verify https://www.keynectis.com cert is recognized as EV on Windows and Linux Review URL: http://codereview.chromium.org/2865001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49816 0039d316-1c4b-4281-b951-d872f2087c98
* Introduced artificial processing delay to work around the issue of proxy ↵zelidrag@chromium.org2010-06-142-2/+35
| | | | | | | | | | | | | initialization before name resolving is functional in ChromeOS. This should be removed once this bug chromium-os:3996 is properly fixed. BUG=chromium-os:3996 TEST=check the bug for repro steps Review URL: http://codereview.chromium.org/2796007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49716 0039d316-1c4b-4281-b951-d872f2087c98
* Download filename encoding fix [try2]:estade@chromium.org2010-06-112-4/+37
| | | | | | | | | | | | | Fall back on other charsets when using the URL to suggest a filename. The URL should be escaped UTF-8, but may use another encoding instead. Check for empty string in DecodeWord (avoids crash). BUG=44301 TEST=see bug. Also, net_unittests. Review URL: http://codereview.chromium.org/2733005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49475 0039d316-1c4b-4281-b951-d872f2087c98
* Adding flushing of files on chromeos, so that when something is downloaded, ↵dhg@chromium.org2010-06-103-0/+41
| | | | | | | | | | its written out ot disk shortly after finish downloading. BUG=chromium-os:2661 TEST=none Review URL: http://codereview.chromium.org/2770002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49461 0039d316-1c4b-4281-b951-d872f2087c98
* Mark HostCache as NonThreadSafe.cbentzel@chromium.org2010-06-092-25/+48
| | | | | | | | | BUG=None TEST=net_unittests, and ran chrome with net_internals DNS. Review URL: http://codereview.chromium.org/2721005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49285 0039d316-1c4b-4281-b951-d872f2087c98
* revert r49217, which caused unit test failures on win:estade@chromium.org2010-06-091-10/+3
| | | | | | | | | | | | | Download filename encoding fix: Fall back on other charsets when using the URL to suggest a filename. The URL should be escaped UTF-8, but may use another encoding instead. BUG=44301 TEST=see bug. Review URL: http://codereview.chromium.org/2775002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49219 0039d316-1c4b-4281-b951-d872f2087c98
* Download filename encoding fix:estade@chromium.org2010-06-081-3/+10
| | | | | | | | | | | Fall back on other charsets when using the URL to suggest a filename. The URL should be escaped UTF-8, but may use another encoding instead. BUG=44301 TEST=see bug. Review URL: http://codereview.chromium.org/2635006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49217 0039d316-1c4b-4281-b951-d872f2087c98
* Allow bypassing a block of IP addresses using CIDR notation in the proxy ↵eroman@chromium.org2010-06-085-78/+364
| | | | | | | | | | | | | | | | | bypass list. For example: 10.3.1.3/16 2020:ffff::/96 Note that similar to firefox, this is only applied to IP literals in URLs, and NOT to the resolved addresses of URLs. BUG=9835 Review URL: http://codereview.chromium.org/2663001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49211 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of DISALLOW_EVIL_CONSTRUCTORS macro usage in our code base.tfarina@chromium.org2010-06-075-9/+9
| | | | | | | | | | | TODO: Fix the remaining usages in third_party libraries and get rid of the macro in question. BUG=None TEST=trybots Review URL: http://codereview.chromium.org/2657005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49032 0039d316-1c4b-4281-b951-d872f2087c98
* Make HostResolver NonThreadSafe and not thread safe refcounted.willchan@chromium.org2010-06-033-2/+13
| | | | | | | | | | Required making SyncHostResolverBridge not use RefCountedThreadSafe. I refactored the innards to have a thread safe refcounted Core implementation. BUG=45298 Review URL: http://codereview.chromium.org/2122015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48867 0039d316-1c4b-4281-b951-d872f2087c98
* Rework the logging for sockets/connectjobs.eroman@chromium.org2010-06-034-27/+79
| | | | | | | | | | | | | | | | | | In particular, make it work better when using backup jobs / late binding (the display was very confused before because of how these asynchronous events would nest). Also changed the paradigm for how PassiveLogCollector preserves these async associations -- this fixes how it replays the events to net-internals. (Before we would collapse the event streams into the SOURCE_URL_REQUEST which lost some hiearchy.. now I keep the separate streams). Some of the particular changes to the event streams: * ConnectJobs now create their own source stream internally. * Sockets are now bounded by +SOCKET_ALIVE / -SOCKET_ALIVE events (removed the one-off SOCKET_DONE event). * The socket log streams contains +SOCKET_IN_USE / -SOCKET_IN_USE event blocks to show which URLRequest was controlling it at various points in time (this makes it much easier to understand which read/writes belonged to a particular network transaction when a socket gets re-used). * ConnectJobs are bounded by +SOCKET_POOL_CONNECT_JOB / - SOCKET_POOL_CONNECT_JOB events. * ConnectJobs log the net error they failed with. * Removed the SOCKET_BACKUP_TIMER_EXTENDED event. Review URL: http://codereview.chromium.org/2363003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48797 0039d316-1c4b-4281-b951-d872f2087c98
* Misc. small cleanups I ran into while working on other changes.pkasting@chromium.org2010-06-021-4/+2
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/2486004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48730 0039d316-1c4b-4281-b951-d872f2087c98
* Strip the trailing slash from URLs like "http://google.com/". This ↵pkasting@chromium.org2010-06-023-24/+66
| | | | | | | | | | | | especially helps when the scheme has also been stripped, as it makes the hostname look less unbalanced. We're careful to avoid stripping the slash when doing so would confuse the omnibox. This also moves to more aggressive stripping and/or unescaping in several places. In general, it seems like we should be as aggressive as is feasible. BUG=43587 TEST=Visit google.com. There should be no slash in the address bar. Review URL: http://codereview.chromium.org/2389002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48691 0039d316-1c4b-4281-b951-d872f2087c98
* Use SSLClientSocketNSS on Mac OS X. By default, chrome still useswtc@chromium.org2010-06-011-11/+10
| | | | | | | | | | | | | | | | | | SSLClientSocketMac. Specify the --use-nss-for-ssl command-line option to use SSLClientSocketNSS. The nss.gyp in src/net/third_party/nss is renamed ssl.gyp to avoid a naming conflict with the nss.gyp in src/third_party/nss. The GYP generator for Xcode project files disallows same-named .gyp files. SSL client authentication doesn't work yet. R=mark BUG=30689 TEST=No build and test failures on Mac and Windows. Review URL: http://codereview.chromium.org/2322008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48650 0039d316-1c4b-4281-b951-d872f2087c98
* Move net::HTTPSProber from net_base to netmnissler@chromium.org2010-06-012-153/+0
| | | | | | | | | | | | | net::HTTPSProber belongs into the net library, where also it's only user net::URLRequest is living. This fixes undefined references in net_base caused by net::HTTPSProber when not linking against net. BUG=45493 TEST=Building hresolv with the plain ld linker in shared library configuration should not generate undefined references. Review URL: http://codereview.chromium.org/2441001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48632 0039d316-1c4b-4281-b951-d872f2087c98
* Remove assertion on correct NetworkChangeNotifierLinux cleanup.willchan@chromium.org2010-05-281-1/+2
| | | | | | | | BUG=36890 Review URL: http://codereview.chromium.org/2340002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48504 0039d316-1c4b-4281-b951-d872f2087c98
* Change the proxy waiting-for message to:mbelshe@chromium.org2010-05-271-0/+4
| | | | | | | | | | | | | | "Waiting for proxy tunnel..." Add a message for waiting for the SSL Handshake to complete: "Establishing secure connection..." Also make the waiting messages work for SPDY connections. BUG=none TEST=none Review URL: http://codereview.chromium.org/2262003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48430 0039d316-1c4b-4281-b951-d872f2087c98
* Enable warning 4389 as an error on windows builds. This will make mbelshe@chromium.org2010-05-272-4/+4
| | | | | | | | | | | | windows builds more similar to linux/mac, which already treat signed/ unsigned equality comparisons as warnings (and hence errors). BUG=44471 TEST=none Review URL: http://codereview.chromium.org/2222002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48395 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Another dependency the bbot missed!!!"rafaelw@chromium.org2010-05-262-4/+4
| | | | | | | | | | | | | | | | | | This reverts commit 161f7fd3bdd425167af9fe26fdc5373a2ff44c98. Revert "Missed a file as part of checkin for r48186" This reverts commit cff86beba5938209393a6c3bccced62a7f3ff36b. Revert "Enable warning 4389 as an error on windows builds. This will make" This reverts commit c78936bcfc65b98edf288191d927a495b0364621. TBR=mbelshe Review URL: http://codereview.chromium.org/2253001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48238 0039d316-1c4b-4281-b951-d872f2087c98
* Enable warning 4389 as an error on windows builds. This will makembelshe@chromium.org2010-05-252-4/+4
| | | | | | | | | | | | windows builds more similar to linux/mac, which already treat signed/ unsigned equality comparisons as warnings (and hence errors). BUG=44471 TEST=none Review URL: http://codereview.chromium.org/2081007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48186 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate the establishing_tunnel_ internal state and move to explicitmbelshe@chromium.org2010-05-252-14/+24
| | | | | | | | | | | | | states in the state machine for proxy tunnel establishment. Original work from svandebo. BUG=none TEST=existing Review URL: http://codereview.chromium.org/2101014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48173 0039d316-1c4b-4281-b951-d872f2087c98
* Address a TODO about not duplicating the name --> value mapping for ↵eroman@chromium.org2010-05-222-7/+18
| | | | | | | | NetLog::Source. Review URL: http://codereview.chromium.org/2131024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47977 0039d316-1c4b-4281-b951-d872f2087c98
* net-internals: Log the addresses that were attempted during a TCP connect, ↵eroman@chromium.org2010-05-213-1/+59
| | | | | | | | | | | | and any OS errors that attempts failed with (windows implementation) Note that this change is the same as r47764, but for the windows implementation. BUG=44488 Review URL: http://codereview.chromium.org/2127011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47956 0039d316-1c4b-4281-b951-d872f2087c98
* Fix locking in CookieMonster.rdsmith@chromium.org2010-05-211-5/+42
| | | | | | | | | | | | | | | | | | Specifically: * Added assertions in most private methods of CookieMonster that the instance lock is held. * Refactored locking out of FindCookiesForHostAndDomain and into DeleteCookie(url,cookie_name) and GetCookiesWithOptions (its callers) to protect DeleteCookie's call to InternalDeleteCookie. * Protected SetCookieableSchemes() (public method that modifies internal state directly). * Shifted calls to HasCookieableScheme() around so that they were protected by the instance lock. BUG=43188 TEST=Windows net_unittests ParsedCookieTest.*:CookieMonsterTest.* (Inserted assertions, confirmed crash in CookieMonsterTest.DeleteCookieByName, refactored, confirmed no failure). Windows net_perftests ParsedCookieTest.*:CookieMonsterTest.* run before and after change; noted minimal (but non-zero) performance degradation. Review URL: http://codereview.chromium.org/2131002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47928 0039d316-1c4b-4281-b951-d872f2087c98
* net-internals: Log the addresses that were attempted during a TCP connect, ↵eroman@chromium.org2010-05-202-2/+30
| | | | | | | | | | and any OS errors that attempts failed with. This is only for the libevent implementation so far. BUG=44488 Review URL: http://codereview.chromium.org/2077012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47764 0039d316-1c4b-4281-b951-d872f2087c98
* Chromium side changes for enabling VP8 and WebM support.scherkus@chromium.org2010-05-203-11/+105
| | | | | | | | | | | Patches by Frank Galligan (fgalligan@google.com), Tom Finegan (tomfinegan@google.com) and James Zern (jzern@google.com). BUG=none TEST=none Review URL: http://codereview.chromium.org/2093007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47759 0039d316-1c4b-4281-b951-d872f2087c98
* chunk of straightforward ifdef/include changes for BSD portpvalchev@google.com2010-05-194-2/+5
| | | | | | | based on sprewell's patch Review URL: http://codereview.chromium.org/2069009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47687 0039d316-1c4b-4281-b951-d872f2087c98
* Annotate load flags and net errors with their symbolic name.eroman@chromium.org2010-05-182-69/+86
| | | | | | | | | | | | | | Here are some examples showing what it looks like now (the stuff in parenthesis is new): --> load_flags = 8240 (DISABLE_CACHE | DISABLE_INTERCEPT | DO_NOT_SAVE_COOKIES) --> net_error = -105 (NAME_NOT_RESOLVED) BUG=37421 Review URL: http://codereview.chromium.org/2115007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47552 0039d316-1c4b-4281-b951-d872f2087c98
* Adding some known mime types to the platform_mime_utils on linux. This ↵dhg@chromium.org2010-05-181-0/+29
| | | | | | | | | | might not be a perfect solution right now, but its a simple stopgap. BUG=chromium-os:3242 TEST=none Review URL: http://codereview.chromium.org/2077006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47549 0039d316-1c4b-4281-b951-d872f2087c98
* Trigger SSL fallback based on Bad MAC alert.agl@chromium.org2010-05-181-0/+3
| | | | | | | | | | | | We have found a server (www.virginia.edu) which fails at DEFLATE support in a new way: it returns a Bad MAC alert. Thus we add Bad MAC to the list of triggers for falling back to SSLv3. BUG=44251 http://codereview.chromium.org/2086008/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47513 0039d316-1c4b-4281-b951-d872f2087c98
* Update comments based on my new understanding of thewtc@chromium.org2010-05-181-2/+7
| | | | | | | | | | | CertGetCertificateChain Function. R=rvargas BUG=none TEST=none Review URL: http://codereview.chromium.org/2035010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47480 0039d316-1c4b-4281-b951-d872f2087c98
* Support speculative pre-connection to search URLsjar@chromium.org2010-05-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement several flavors of TCP/IP speculative preconnection under a command line flag (not yet on by default). The first area of preconnection takes place when a user types a query into the omnibox, as we preconnect to the search service when the omnibox suggests it is going to do a search. The second area involves subresources, such as images. When a navigation takes place, and we've seen navigations to that domain/port before, and the history-based probabability that we'll need to make a connection to a second site (host/port) is sufficiently large, then we preconnect to that second site while we are still connecting to the primary site (and before we've gotten content from the primary site. We also fall-back to mere DNS pre-resolution of subresource hostnames when the probability of a connection to the subresource is not high enough. BUG=42694 r=pkasting,willchan,mbelshe Review URL: http://codereview.chromium.org/1585029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47479 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the logging of URL_REQUEST_START, so the nesting is correct on redirects.eroman@chromium.org2010-05-171-3/+5
| | | | | | | | | (It was possible to get unmatched start/end before). Also renamed the event to URL_REQUEST_START_JOB, since it is really a superset of URLRequest::Start(). Review URL: http://codereview.chromium.org/2091009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47475 0039d316-1c4b-4281-b951-d872f2087c98
* Log the OS error that getaddrinfo() failed with.eroman@chromium.org2010-05-169-46/+199
| | | | | | | | | - Display it on the about:net-internals page - Collect it in the histogram Net.OSErrorsForGetAddrinfo. Review URL: http://codereview.chromium.org/2134004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47386 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 47342.willchan@chromium.org2010-05-162-0/+46
| | | | | | | | | | | Fixes the merge issue this time. Also fixes a TODO in another change that was blocked on this one. Support SpdySession as a new NetLog source type. Start logging some more SPDY control frames. Original code review: http://codereview.chromium.org/2102003/show BUG=43237 Review URL: http://codereview.chromium.org/2114003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47376 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY: Add push streams to the NetLog.willchan@chromium.org2010-05-151-0/+10
| | | | | | | | | | For streams that already have delegates, they have their own NetLogs so use those. For streams that don't have delegates, just write out to the session's NetLog. TODO(willchan): Use a different event type once the SpdySession NetLog tracker is landed. Review URL: http://codereview.chromium.org/2101003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47346 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 47342 - Support SpdySession as a new NetLog source type. Start ↵willchan@chromium.org2010-05-152-36/+0
| | | | | | | | | | | | | logging some more SPDY control frames. BUG=43237 Review URL: http://codereview.chromium.org/2102003 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/2118003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47343 0039d316-1c4b-4281-b951-d872f2087c98
* Support SpdySession as a new NetLog source type. Start logging some more ↵willchan@chromium.org2010-05-152-0/+36
| | | | | | | | | | SPDY control frames. BUG=43237 Review URL: http://codereview.chromium.org/2102003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47342 0039d316-1c4b-4281-b951-d872f2087c98
* Add the URLRequest's method and load flags to the NetLog.eroman@chromium.org2010-05-142-8/+9
| | | | | | | | BUG=37421 Review URL: http://codereview.chromium.org/2108003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47321 0039d316-1c4b-4281-b951-d872f2087c98
* Minor refactor: rename "extra_parameters" --> "params".eroman@chromium.org2010-05-131-6/+4
| | | | | | | | (The "extra" was redundant. And "params" is a well understood abbreviation of "parameters"). Review URL: http://codereview.chromium.org/2110001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47183 0039d316-1c4b-4281-b951-d872f2087c98
* Add SPDY SYN_STREAM and SYN_REPLY events to about:net-internals.willchan@chromium.org2010-05-131-0/+18
| | | | | | | | BUG=43237 Review URL: http://codereview.chromium.org/2004010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47174 0039d316-1c4b-4281-b951-d872f2087c98
* Add --host-rules support.willchan@chromium.org2010-05-125-92/+216
| | | | | | | | | The format for --host-rules is identical to --host-resolver-rules. The difference is that --host-rules affects the endpoint of the HttpNetworkTransaction, not just the host resolver. So, this means the host passed to the host resolver and the TCP connect(), the tunnel CONNECT, and the SOCKS connect will be different. Review URL: http://codereview.chromium.org/2057007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47083 0039d316-1c4b-4281-b951-d872f2087c98
* Add the response headers to net-internals.willchan@chromium.org2010-05-111-0/+15
| | | | | | | | BUG=43812 Review URL: http://codereview.chromium.org/2015011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46943 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ~FileStream in POSIX to auto close if the flag is set. This is left from myjianli@chromium.org2010-05-111-1/+2
| | | | | | | | | | | last patch. BUG=none TEST=none Review URL: http://codereview.chromium.org/1989011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46937 0039d316-1c4b-4281-b951-d872f2087c98
* FTP: fix navigating to files listed under non-ASCII charactersphajdan.jr@chromium.org2010-05-112-4/+9
| | | | | | | | | | | We need to convert the file name back to server encoding. BUG=38016 TEST=see bug Review URL: http://codereview.chromium.org/1857002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46900 0039d316-1c4b-4281-b951-d872f2087c98