summaryrefslogtreecommitdiffstats
path: root/net/base
Commit message (Collapse)AuthorAgeFilesLines
* Include a parent directory link in the file list for file:///somepathyuzo@chromium.org2009-06-091-1/+4
| | | | | | | | | | | | | | | Also, order files/directories lexicographically. TEST=on linux, type file:///usr/ in the address bar and make sure the contents are sorted and include an entry for '..', which is [parent directory]. On windows, type file:///C:/Users/ . BUG=12621, 12812 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17933 0039d316-1c4b-4281-b951-d872f2087c98
* We don't handle certificate errors during SSL renegotiation.wtc@chromium.org2009-06-093-8/+36
| | | | | | | | | | | | | | | | | | In the common case, the server sends the same certificate during renegotiation. Since the certificate has been verified, we can assume the certificate is good or has been accepted by the user. If the server sends a different certificate that has an error, we need to return an error code that won't trigger our certificate error handling code, which doesn't handle this case correctly. Add the ERR_CERT_ERROR_IN_SSL_RENEGOTIATION error for this purpose. R=rvargas BUG=http://crbug.com/13226 TEST=See http://crbug.com/13226 comment 9 Review URL: http://codereview.chromium.org/118410 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17919 0039d316-1c4b-4281-b951-d872f2087c98
* Fix TCPClientSocketPool synchronous dns resolution + connect code path.willchan@chromium.org2009-06-092-79/+60
| | | | | | | | BUG=http://www.crbug.com/13289 Review URL: http://codereview.chromium.org/119251 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17913 0039d316-1c4b-4281-b951-d872f2087c98
* Don't save the cert chain in cert_list_.ukai@chromium.org2009-06-082-32/+26
| | | | | | | | | BUG=none TEST=net_unittests passes Review URL: http://codereview.chromium.org/119165 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17848 0039d316-1c4b-4281-b951-d872f2087c98
* Don't consider a certificate revoked if we don't havewtc@chromium.org2009-06-051-2/+5
| | | | | | | | | | | | | | | fresh revocation status of the certificate. We haven't written the code for NSS to use our network stack to download CRLs or talk to OCSP responders, so NSS doesn't have any revocation info. R=agl,ukai BUG=http://crbug.com/13336 TEST=none (requires a Linux system with NSS 3.12.3) Review URL: http://codereview.chromium.org/118314 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17756 0039d316-1c4b-4281-b951-d872f2087c98
* Use res_ninit for thread safety and a timer for reloading resolv.conf on Linux.evan@chromium.org2009-06-051-2/+76
| | | | | | | | | | | | | | We will only reload resolv.conf once per second per thread when DNS lookups fail. This should match the behaviour of mozilla. [retry of r17530, passes Valgrind now] BUG=12740 Review URL: http://codereview.chromium.org/118061 Patch from Craig Schlenter <craig.schlenter@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17750 0039d316-1c4b-4281-b951-d872f2087c98
* Make ClientSocketPool an interface. Move ClientSocketPool code into ↵willchan@chromium.org2009-06-055-202/+262
| | | | | | | | | | TCPClientSocketPool. Strictly a refactoring. BUG=http://www.crbug.com/13289 TEST=still builds and tests pass Review URL: http://codereview.chromium.org/119184 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17710 0039d316-1c4b-4281-b951-d872f2087c98
* Update google's certificate to the latest version.ukai@chromium.org2009-06-051-34/+34
| | | | | | | | | | | | | | | Current cert was already expired on Sat May 2 17:02:55 UTC 2009. Update to the cert of validity Not Before: Mar 18 23:35:19 2008 GMT Not After : Mar 18 23:35:19 2011 GMT BUG=none TEST=net_unittests passes Review URL: http://codereview.chromium.org/118231 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17706 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent SDCH from re-trying to download a dicitionaryjar@chromium.org2009-06-051-0/+1
| | | | | | | | | | | | | Some dicitoaries provided by an SDCH server may be larger than allowed by Chromium (which holds the dictionary memory-resident). This CL prevents Chromium from endlessly re-trying such dicitonary loads, BUG=7722 r=huanr Review URL: http://codereview.chromium.org/119198 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17699 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Interface for the sparse cache support.rvargas@google.com2009-06-041-0/+3
| | | | | | | | | | | | This is just the interface declaration plus a mocked implementation of the interface. BUG=12258 TEST=none Review URL: http://codereview.chromium.org/119072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17669 0039d316-1c4b-4281-b951-d872f2087c98
* To show IDN in view-source URLs, add special handling for view-source scheme inbrettw@chromium.org2009-06-042-1/+81
| | | | | | | | | | | | net::FormatUrl(). TEST=add a unit test BUG=3991 Original review: http://codereview.chromium.org/118071 Checked in for tkent@google.com git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17661 0039d316-1c4b-4281-b951-d872f2087c98
* Call CertVerifier to verify certificate.ukai@chromium.org2009-06-042-75/+102
| | | | | | | | | BUG=10911 TEST=net_unittests passes Review URL: http://codereview.chromium.org/115913 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17624 0039d316-1c4b-4281-b951-d872f2087c98
* Update thawte's certificate to the latest version.ukai@chromium.org2009-06-041-69/+84
| | | | | | | | | | | | | | | | Current cert was already expired on Jan 17 23:59:59 UTC 2009, so we may fail to verify the certificate while checking EV-ness of it. Update to the cert of validity Not Before: Nov 19 00:00:00 2008 GMT Not After : Jan 17 23:59:59 2010 GMT BUG=none TEST=net_unittests passes with ALLOW_EXTERNAL_ACCESS=1 Review URL: http://codereview.chromium.org/118154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17623 0039d316-1c4b-4281-b951-d872f2087c98
* Disable the leaky test.willchan@chromium.org2009-06-041-1/+1
| | | | | | Review URL: http://codereview.chromium.org/118222 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17613 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Fix valgrind/purify errors with ↵willchan@chromium.org2009-06-041-6/+7
| | | | | | | | | | | ClientSocketPoolTest_ConnectCancelConnect." This reverts commit git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17610 0039d316-1c4b-4281-b951-d872f2087c98 I was dumb, this freezes it. Review URL: http://codereview.chromium.org/119153 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17612 0039d316-1c4b-4281-b951-d872f2087c98
* Fix valgrind/purify errors with ClientSocketPoolTest_ConnectCancelConnect.willchan@chromium.org2009-06-041-7/+6
| | | | | | | | The ConnectingSocket never ran to completion. Call WaitForResult() to force it to finish and delete itself. Review URL: http://codereview.chromium.org/119152 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17610 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Use res_ninit for thread safety and a timer for reloading ↵willchan@chromium.org2009-06-041-72/+1
| | | | | | | | | | | | resolv.conf on Linux." This reverts commit d4f0dede964549af67f275ac6296c5e9add3fb03. It caused a valgrind error. TBR=craig.schlenter@gmail.com Review URL: http://codereview.chromium.org/118220 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17607 0039d316-1c4b-4281-b951-d872f2087c98
* Reland my ClientSocketPool refactor again...willchan@chromium.org2009-06-046-181/+718
| | | | | | | | | | The bug was that the handle was getting reused, so the ConnectingSocket doesn't know that it got canceled. It just keeps chugging away. I added a map to keep track of the ConnectingSockets so they can be canceled if we detect a reuse. TBR=wtc Review URL: http://codereview.chromium.org/118219 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17606 0039d316-1c4b-4281-b951-d872f2087c98
* Sigh, revert "Reland my ClientSocketPool refactor."willchan@chromium.org2009-06-046-618/+181
| | | | | | | | | This reverts commit d3d93c94d040db33599b798723ac1fef560b653a. It broke document-location-click-timeout.html again =/ Review URL: http://codereview.chromium.org/119143 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17591 0039d316-1c4b-4281-b951-d872f2087c98
* Reland my ClientSocketPool refactor.willchan@chromium.org2009-06-046-181/+618
| | | | | | | | | | | Fixed a bug where we were double compensating for active_socket_count in CancelRequest and OnIOComplete. Added ClientSocketPoolTest_TwoRequestsCancelOne to catch this. Triggered a DCHECK in debug mode before I removed the extra code in OnIOComplete. BUG=http://www.crbug.com/13289 Review URL: http://codereview.chromium.org/118172 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17588 0039d316-1c4b-4281-b951-d872f2087c98
* Enable a test, by masking failures if the system does not support IPv6.eroman@chromium.org2009-06-031-7/+11
| | | | | | Review URL: http://codereview.chromium.org/114061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17571 0039d316-1c4b-4281-b951-d872f2087c98
* Avoiding IO completion callback during the closinghuanr@chromium.org2009-06-034-12/+38
| | | | | | | | | | of FileStream. BUG=8942 Review URL: http://codereview.chromium.org/112090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17560 0039d316-1c4b-4281-b951-d872f2087c98
* Use res_ninit for thread safety and a timer for reloading resolv.conf on Linux.evan@chromium.org2009-06-031-1/+72
| | | | | | | | | | | | We will only reload resolv.conf once per second per thread when DNS lookups fail. This should match the behaviour of mozilla. BUG=12740 Review URL: http://codereview.chromium.org/118061 Patch from Craig Schlenter <craig.schlenter@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17530 0039d316-1c4b-4281-b951-d872f2087c98
* Increase cookie limit to 3000. This matches Firefox 3.5 and Firefox ↵pkasting@chromium.org2009-06-032-6/+6
| | | | | | | | trunk.BUG=8850 Review URL: http://codereview.chromium.org/118011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17501 0039d316-1c4b-4281-b951-d872f2087c98
* Local text file with spaces in filename is urlencoded in tab titlemhm@chromium.org2009-06-036-56/+86
| | | | | | | | | | | | | | When viewing a local text file with spaces in filename, it is still urlencoded. Filename should be displayed with spaces, not with urlencoding. It would be more user-friendly. Since net::FormatURL is already implemented, using it would be great. But it doesn't escape SPACES, just NORMAL, it doesn't even escape unicode. I plumbed out a unescapeurl that could be used whether we allow conversion of spaces or not. BUG=8775 (http://crbug.com/8775) TEST=Tested whether the input is escaped in the navigational context and ran the net tests New Review: http://codereview.chromium.org/118059 Review URL: http://codereview.chromium.org/56053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17462 0039d316-1c4b-4281-b951-d872f2087c98
* Parsing routines for X-Force-TLS header.abarth@chromium.org2009-06-023-1/+229
| | | | | | | | | | R=darin BUG=http://crbug.com/12190 TEST=ForceTLSStateTest.BogusHeaders, ForceTLSStateTest.ValidHeaders Review URL: http://codereview.chromium.org/118049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17377 0039d316-1c4b-4281-b951-d872f2087c98
* Move X509Certificate::HasExpired to x509_certificate.cc.ukai@chromium.org2009-06-014-14/+5
| | | | | | | | | | | All versions have implemented valid_expiry(), so we can use common code for X509Certificate::HasExpired. R=wtc Review URL: http://codereview.chromium.org/118069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17311 0039d316-1c4b-4281-b951-d872f2087c98
* Remove code path that passes a file handle to the rendererhclam@chromium.org2009-05-292-6/+0
| | | | | | | | | | | | | | | | | | | | | | Since the code now does range request without any caching the code path for passing file handle is not used any more. Changes: 1. Remove response_data_file in webkit_glue::ResourceResponseHead 2. Remove response_data_file in net::ResourceInfo 3. Remove code that passes file handle using IPC 4. Remove code that passes file hadnle from network layer to ResourceDispatcherHost 5. Remove MediaResourceHandler 6. Remove code in disk_cache that expose the file handle 7. Remove ChromeURLRequestContext::CreateOffTheRecordForMedia() so no more OTR request context for media, in OTR mode simply memory cache is used 8. Reset cache size for media cache to default BUG=12249 BUG=12256 Review URL: http://codereview.chromium.org/113931 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17227 0039d316-1c4b-4281-b951-d872f2087c98
* Handle mimetype queries for media fileshclam@chromium.org2009-05-292-3/+42
| | | | | | | | | | Added code path from WebKit to net::mimt_util to query supported mime-types for media files. BUG=12777 Review URL: http://codereview.chromium.org/114060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17225 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce header dependencies in net/phajdan.jr@chromium.org2009-05-2925-15/+32
| | | | | | | | TEST=none Review URL: http://codereview.chromium.org/115870 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17178 0039d316-1c4b-4281-b951-d872f2087c98
* Remember the intermediate CA certs if the server sends them to us.ukai@chromium.org2009-05-292-10/+147
| | | | | | | | | BUG=10911 TEST=net_unittests passes Review URL: http://codereview.chromium.org/115700 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17168 0039d316-1c4b-4281-b951-d872f2087c98
* Detach verify thread from NSPR on linux.ukai@chromium.org2009-05-291-0/+14
| | | | | | | | | | | | | The threads in our thread pool terminate after we have called PR_Cleanup. Unless we detach them from NSPR, if we use CertVerifier, net_unittests dies with segfault on shutdown. BUG=10911 TEST=net_unittests passes with code that uses CertVerifier. Review URL: http://codereview.chromium.org/115856 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17160 0039d316-1c4b-4281-b951-d872f2087c98
* Implement X509Certificate::Verify for Linux.ukai@chromium.org2009-05-281-7/+270
| | | | | | | | | | | | | | | | | | | | | | | Use CERT_PKIXVerifyCert() with CRL to verify certificate. With OCSP, CERT_PKIXVerifyCert() failed with SEC_ERROR_INVALID_ARGS. Increase stack size. It was not enough size if we use CERT_PKIXVerifyCert() on some sites. For example, https://www.google.com/ works, but https://bugs.webkit.org/ or https://www.thawte.com/ would die by SIGSEGV. This is because pkix_List_Destroy() routine destroys PKIX_List recursively, so if there are some long PKIX_Lists, it consumes stack a lot and dies by stack overflow. Note that X509Certificate::Verify isn't used in SSLClientSocketNSS yet. BUG=10911 TEST=net_unittests passes Review URL: http://codereview.chromium.org/113578 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17071 0039d316-1c4b-4281-b951-d872f2087c98
* Work around linux resolver problem where changes to resolv.conf go unnoticed ↵evan@chromium.org2009-05-271-0/+10
| | | | | | | | | | | | | | in some distributions. BUG=11380 TEST=Start chrome with empty resolv.conf, fix resolv.conf; chrome should be able to resolve sites. Review URL: http://codereview.chromium.org/113904 Patch from Craig Schlenter <craig.schlenter@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17005 0039d316-1c4b-4281-b951-d872f2087c98
* Rename |policy_url| to |first_party_for_cookies|. This now matches the ↵abarth@chromium.org2009-05-232-13/+15
| | | | | | | | | | | | WebKit name for this piece of data. R=jackson BUG=None TEST=No behavior change Review URL: http://codereview.chromium.org/115743 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16843 0039d316-1c4b-4281-b951-d872f2087c98
* Extract socket mocks out of HttpNetworkTransactionTest.phajdan.jr@chromium.org2009-05-232-0/+463
| | | | | | | | | | This is the first step towards writing tests for FtpNetworkTransaction. http://crbug.com/12409 Review URL: http://codereview.chromium.org/115646 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16837 0039d316-1c4b-4281-b951-d872f2087c98
* Shows Unicode IDN instead of Punycode in the followings:brettw@google.com2009-05-223-0/+341
| | | | | | | | | | | | | | | | | | | - Bookmark Manager - Edit Bookmark dialog opened by Bookmark Manager - Edit Bookmark dialog opened by the star on the left of the address bar Introduces new function, net::FormatUrl(), which has the following parameters in addition to gfx::GetCleanStringFromUrl(). - bool omit_username_password - bool unescape and moves gfx::GetClienStringFromUrl() to net:: namespace, and removed the last two parameters. BUG=3991 Checked in for tkent Original review = http://codereview.chromium.org/115346 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16761 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Temporarily landing my ClientSocketPool refactor. Will revert right ↵willchan@chromium.org2009-05-226-599/+181
| | | | | | | | after." Review URL: http://codereview.chromium.org/113760 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16732 0039d316-1c4b-4281-b951-d872f2087c98
* Temporarily landing my ClientSocketPool refactor. Will revert right after.willchan@chromium.org2009-05-226-181/+599
| | | | | | Review URL: http://codereview.chromium.org/113759 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16731 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert "Implement full duplex mode for TCPClientSocketLibevent.""willchan@chromium.org2009-05-225-157/+276
| | | | | | | | | Fix TCPClientSocketLibevent::DidCompleteConnect(). Should call Connect(write_callback_). TBR=wtc Review URL: http://codereview.chromium.org/115697 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16730 0039d316-1c4b-4281-b951-d872f2087c98
* Add #if defined(OS_WIN) for the previous change, which onlywtc@chromium.org2009-05-221-1/+5
| | | | | | | | | | | | applies to Windows. I forgot that this file is used by all platforms. R=eroman http://crbug.com/5234 TEST=N/A Review URL: http://codereview.chromium.org/113729 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16695 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Implement full duplex mode for TCPClientSocketLibevent."willchan@chromium.org2009-05-225-275/+156
| | | | | | | | Revert "Disable the flaky fullduplex tests." Review URL: http://codereview.chromium.org/113749 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16685 0039d316-1c4b-4281-b951-d872f2087c98
* Disable the flaky fullduplex tests.willchan@chromium.org2009-05-211-2/+2
| | | | | | | | TBR=wtc Review URL: http://codereview.chromium.org/115671 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16679 0039d316-1c4b-4281-b951-d872f2087c98
* Implement full duplex mode for TCPClientSocketLibevent.willchan@chromium.org2009-05-215-154/+273
| | | | | | | | | | | | | | | The main thing is not to share the same MessageLoopForIO::FileDescriptorWatcher object for both reads and writes. Fixed tcp_client_socket_unittest.cc's full duplex test. In doing so, I also had to fix up some other stuff. (1) Put everything in the net::(anonymous) namespace. (2) Keep calling Write() until ERR_IO_PENDING happens. (3) Make the server socket pause its reads so that the buffers (both client and server side) eventually fill up. (4) Discovered that after the first Read(), the server socket will close. Further Write() calls will lead to a TCP RST, which breaks the FullDuplex_WriteFirst test, since it wants to do a Write() at the end. Fix this by changing DidRead() not to automatically close the server socket. Added a CloseServerSocket() member function to make this explicit. Fixed up the Read() tests. Made them more exact too. BUG=http://www.crbug.com/11888 TEST=Go to gmail, compose a message, attach a large file (say 1MB or so). It shouldn't crash. Review URL: http://codereview.chromium.org/115504 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16675 0039d316-1c4b-4281-b951-d872f2087c98
* Changes the UI for HTTP/FTP auth challenges to include the server's port. So ↵ericroman@google.com2009-05-214-20/+79
| | | | | | | | | | | instead of "www.foo.com" it will say "www.foo.com:80". We need to include the port number since otherwise it can be ambiguous what the actual target server is. This change also introduces utility function "GetHostAnd[Optional]Port()" to help with forming <host> [":" <port>] strings. BUG=12073 Review URL: http://codereview.chromium.org/112041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16672 0039d316-1c4b-4281-b951-d872f2087c98
* Map the NSS error code SEC_ERROR_CA_CERT_INVALID (-8156)wtc@chromium.org2009-05-211-1/+2
| | | | | | | | | | | | | to ERR_CERT_AUTHORITY_INVALID. R=ukai BUG=12359 TEST=Visit https://www.grounation.org/. The SSL error page should say "The site's security certificate is not trusted!" rather than "Invalid Server Certificate". Review URL: http://codereview.chromium.org/115597 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16566 0039d316-1c4b-4281-b951-d872f2087c98
* Remove another NOTIMPLEMENTEDkuchhal@chromium.org2009-05-201-1/+1
| | | | | | | | | BUG=12052 Review URL: http://codereview.chromium.org/113642 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16487 0039d316-1c4b-4281-b951-d872f2087c98
* Add JSON-specific escaping, which has different rules from JS ↵erikkay@google.com2009-05-201-6/+5
| | | | | | | | escaping.BUG=http://crbug.com/11431TEST=base_unittests.exe --gtest_filter=StringEscapeTest.Json* Review URL: http://codereview.chromium.org/113606 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16485 0039d316-1c4b-4281-b951-d872f2087c98
* More progress on ForceHTTPS.abarth@chromium.org2009-05-202-0/+84
| | | | | | | | | | | Instead of turning on strict HTTPS error processing for every site, we now track which sites have opted in. Our implementation is still experimental and hidden behing the command line switch --force-https. R=darin TEST=No tests yet because this is just an experiment. Review URL: http://codereview.chromium.org/113503 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16464 0039d316-1c4b-4281-b951-d872f2087c98
* Linux download shelf icons first cut.estade@chromium.org2009-05-201-2/+2
| | | | | | | | | Nor do we have support for alternate file formats; nor do we have a default icon. BUG=http://crbug.com/8631 Review URL: http://codereview.chromium.org/113571 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16444 0039d316-1c4b-4281-b951-d872f2087c98