summaryrefslogtreecommitdiffstats
path: root/chrome/test/testing_profile.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename X-Force-TLS to Strict-Transport-Security.abarth@chromium.org2009-09-051-1/+1
| | | | | | | | | | | Also, remove StrictTransportSecurity code from SSLPolicy because that code doesn't work. R=agl Review URL: http://codereview.chromium.org/198035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25577 0039d316-1c4b-4281-b951-d872f2087c98
* GTK Themes: Add basic unit tests for gtk themes.erg@google.com2009-09-031-4/+7
| | | | | | Review URL: http://codereview.chromium.org/186019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25317 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb request interception into the appcache library for both chrome and ↵michaeln@google.com2009-09-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | test_shell. AppCache library: * Added AppCacheInterceptor, which is derived from URLRequest::Interceptor. Chrome: * Each UserProfile instantiates a ChromeAppCacheService, which is derived from an appcache library class. * Each ChromeURLRequestContext associated with that profile has a reference to that instance. * ResourceDispatcherHost pokes AppCacheInterceptor when initiating URLRequests and when returning the response head. TestShell: * Added SimpleAppCacheSystem which bundles together appcache lib components for use in a single process with an UI and IO thread. * TestShellWebKit instantiates and initializes an instance of the above, aimed at at temp directory that will get cleaned up when the test run is over. * SimpleResourceLoaderBridge pokes the system when initiating URLRequests and when returning the response head. TEST=none, although many existing tests exercise this stuff BUG=none Review URL: http://codereview.chromium.org/173406 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25099 0039d316-1c4b-4281-b951-d872f2087c98
* Adds a FaviconService class tied to the profile.arv@google.com2009-08-281-0/+4
| | | | | | | | | | | | | | | | | | | Original issue: http://codereview.chromium.org/115212/show The favicons service is the entry point to getting favicons. Make the DOMUIFactory handle the favicons of DOMUI pages so since DOMUI pages are never added to the history. BUG=5840 TEST=Open a new window and open history and downloads (Ctrl+H and Ctrl+J) in this window. Then close the window and open the NTP. The recently closed windows/tabs should show the favicons for the hsitroy and downloads page. Review URL: http://codereview.chromium.org/178001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24806 0039d316-1c4b-4281-b951-d872f2087c98
* Exposes a chrome.devtools object to extensions. This allows extensions to ↵mpcomplete@chromium.org2009-08-241-0/+3
| | | | | | | | | | call chrome.devtools.connect() to open up a Port by which it can receive devtools messages to implement the proposed perf trace extensions API documented here: http://code.google.com/p/chromium/wiki/ExtensionsPerfTraceAPI Review URL: http://codereview.chromium.org/159882 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24158 0039d316-1c4b-4281-b951-d872f2087c98
* Pref-backed SSLConfigService for Linux.mattm@chromium.org2009-08-191-0/+3
| | | | | | | | | | Makes SSLConfigService into a ref-counted interface, and makes Profile own an SSLConfigServiceFactory which is used to create the SSLConfigService and pass it through the URLRequestContext on down to where it is actually used. R=eroman,wtc BUG=11507,19290 Review URL: http://codereview.chromium.org/165003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23757 0039d316-1c4b-4281-b951-d872f2087c98
* Some personalization cleanup:tim@chromium.org2009-08-151-3/+1
| | | | | | | | | | | | | | | | - Removes ProfilePersonalization (which is why the CL appears huge) - Makes Profile do the work ProfilePersonalization did for creating PSS - cloudy:stats > about:sync - Removes the cloudy:// scheme and uses chrome:// for resources. (Note SyncResourcesSource is a straight copy of CloudyResourceSource). - Moves prefs and switches to pref_names and chrome_switches. BUG=none TEST=ProfileSyncServiceTest, LiveBookmarkSyncTests, SyncSetupWizardTest Review URL: http://codereview.chromium.org/164544 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23505 0039d316-1c4b-4281-b951-d872f2087c98
* Implement kCurrentThemeID so we can know what the last theme to be installed ↵avi@chromium.org2009-08-031-0/+3
| | | | | | | | | | | was. BUG=none TEST=not visible in UI Review URL: http://codereview.chromium.org/159705 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22270 0039d316-1c4b-4281-b951-d872f2087c98
* Changed the extension.connect() API not to broadcast to all tabs. Added ampcomplete@chromium.org2009-07-201-0/+3
| | | | | | | | | | | | | more specific tabs.connect(tabId) API to connect to a specific tab. Also changed the ExtensionMessageService from a singleton to a Profile-owned object. BUG=12461 TEST=no Review URL: http://codereview.chromium.org/155707 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21102 0039d316-1c4b-4281-b951-d872f2087c98
* Fix my accidental change from r21037.thestig@chromium.org2009-07-181-3/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21038 0039d316-1c4b-4281-b951-d872f2087c98
* Remove file_path.h from testing_profile.h, it's already included in file_util.h.thestig@chromium.org2009-07-181-2/+4
| | | | | | This is really a dummy change to kick the buildbot. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21037 0039d316-1c4b-4281-b951-d872f2087c98
* GTK: Initial implementation of using GTK themes, partially based on evan's ↵erg@google.com2009-07-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | CL 118358. A lot of stuff works: - Colors are picked out of the GTK theme. - Buttons use the current GTK button theme. - We use the user's icon theme. A lot of stuff doesn't: - We could do a better job of picking colors for the skylines. - The omnibox hasn't been touched. - UI that's not part of the toolbar hasn't been touched. - We currently fail on themes like HighContrastInverse. TEST=Under Options>Personal Stuff, click GTK Theme. Colors and widgets should be rendered with the current GTK theme stuff. TEST=With chrome open and in GTK Theme mode, change your GTK theme or icon theme. chrome should pick up on the change immediately and reimport the colors and images. http://crbug.com/13967 Review URL: http://codereview.chromium.org/150176 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19868 0039d316-1c4b-4281-b951-d872f2087c98
* Create a webkit thread for use within the browser process. This patch also ↵jorlow@chromium.org2009-06-261-0/+6
| | | | | | | | | | | includes some (soon to be fleshed out in another CL) code to demonstrate how it'll be used in DOM Storage. BUG=None TEST=None Review URL: http://codereview.chromium.org/139003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19413 0039d316-1c4b-4281-b951-d872f2087c98
* Privacy Blacklist SketelonAdded code hooks to serve as place holders for the ↵idanan@chromium.org2009-06-231-0/+3
| | | | | | | | | | | implementationof the privacy blacklist. The --privacy-blacklist option was addedwhich will eventually is used to activate the code.This is work-in-progress code which effectively makes a couple morepointer-checks when the --privacy-blacklist is not specified. Whenit is specified, some of the blacklist code is executed but theblacklist is always empty and therefore has no impact on browsing. BUG=none TEST=Blacklist* Review URL: http://codereview.chromium.org/119313 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19033 0039d316-1c4b-4281-b951-d872f2087c98
* First draft of web resource service; fetches data from a JSON feed mirandac@chromium.org2009-06-181-0/+2
| | | | | | | | | | and stores it in user prefs, where it can be used by the new tab page. BUG = http://crbug.com/13363 Review URL: http://codereview.chromium.org/125052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18766 0039d316-1c4b-4281-b951-d872f2087c98
* Modified ThumbnailStore to cache/store JPEGs insteadbrettw@chromium.org2009-06-091-0/+5
| | | | | | | | | | | | | of SkBitmaps. Add command line flag "--thumbnail-store" to enable using the ThumbnailStore facility instead of the current ThumbnailDatabase. Original review: http://codereview.chromium.org/118409 Patch by Meelap Shah git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17971 0039d316-1c4b-4281-b951-d872f2087c98
* Fix user scripts not getting initialized.aa@chromium.org2009-06-081-4/+2
| | | | | | | | | BUG=13290,13128 TEST=Add --enable-user-scripts to command line without --enable-extensions or --load-extension. Start Chrome, user scripts should work. Also run ui tests with --enable-extensions. Review URL: http://codereview.chromium.org/119256 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17898 0039d316-1c4b-4281-b951-d872f2087c98
* Change PasswordStoreDefault to access the WebDataService from the UI thread ↵stuartmorgan@chromium.org2009-06-031-0/+3
| | | | | | | | | | | | only. Enables the PasswordStore refactoring yet again (third time's the charm?). BUG=12479 TEST=Password save/autofill should continue to work on Windows. Review URL: http://codereview.chromium.org/118131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17545 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 17273 - Fails reliability testsmhm@chromium.org2009-05-301-3/+0
| | | | | | Review URL: http://codereview.chromium.org/118047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17279 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land the password store work from bug 8205, with changes that should fix ↵stuartmorgan@chromium.org2009-05-301-0/+3
| | | | | | | | | | bug 12479. The Linux pieces are still disabled, however. BUG=8205 TEST=Password autofill should continue to work on Windows. Review URL: http://codereview.chromium.org/114057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17273 0039d316-1c4b-4281-b951-d872f2087c98
* Revert the password manager refactoring -- it failed reliability tests.evan@chromium.org2009-05-261-3/+0
| | | | | | | | | | | (For reference, it was committed with the wrong message: "Patch to make password patch build.") This reverts commit r16708. Review URL: http://codereview.chromium.org/113871 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16939 0039d316-1c4b-4281-b951-d872f2087c98
* Patch to make password patch build.evan@chromium.org2009-05-221-0/+3
| | | | | | | Review URL: http://codereview.chromium.org/113710 Patch from John Maguire <johnmaguire@google.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16708 0039d316-1c4b-4281-b951-d872f2087c98
* More progress on ForceHTTPS.abarth@chromium.org2009-05-201-0/+3
| | | | | | | | | | | 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
* Attempt to fix leaks in DOMUISources test glen@chromium.org2009-05-161-1/+8
| | | | | | | | TBR=arv Review URL: http://codereview.chromium.org/115441 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16232 0039d316-1c4b-4281-b951-d872f2087c98
* Add a separate cookie store that's used for extensions.mpcomplete@google.com2009-05-141-0/+3
| | | | | | | Modify CookieMonster to support overriding the "cookieable schemes". Review URL: http://codereview.chromium.org/115204 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16083 0039d316-1c4b-4281-b951-d872f2087c98
* This is the first pass at themes.glen@chromium.org2009-05-091-0/+6
| | | | | | | | | | | | This CL is paired with http://codereview.chromium.org/67284 This CL (for commit purposes) includes http://codereview.chromium.org/67284 BUG=4463,11232,11233,11234,11235 Review URL: http://codereview.chromium.org/99030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15704 0039d316-1c4b-4281-b951-d872f2087c98
* Resurrect ExtensionProcessManager. Move the code for starting extensionmpcomplete@google.com2009-05-061-0/+3
| | | | | | | | | | instances from ExtensionsService to the manager. Unlike ExtensionsService, EPM is not shared between an incognito Profile and its parent. Review URL: http://codereview.chromium.org/109044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15454 0039d316-1c4b-4281-b951-d872f2087c98
* ImportantFileWriterphajdan.jr@chromium.org2009-04-281-1/+1
| | | | | | | | | | | | | | Introducing a class for writing important files, preventing their corruption during writing. Switched PrefService to use it. Other classes will be switched in future changesets. TEST=This may affect things using preferences. Make sure that changes in preferences don't get lost, and that you don't get excessive disk activity when changing preferences. http://crbug.com/10618 Review URL: http://codereview.chromium.org/83001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14717 0039d316-1c4b-4281-b951-d872f2087c98
* Searching by keyword now generates a visit against the site with asky@chromium.org2009-04-271-0/+5
| | | | | | | | | | | | | | | | transition type of TAB_TO_SEARCH. This visit increments the typed count and ensures if you use TAB_TO_SEARCH you still get autocompleted to the site. I'll add some tests for this, but want to make sure we're ok with it before I do that. BUG=3633 TEST=will be covered by unit tests. Review URL: http://codereview.chromium.org/93087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14609 0039d316-1c4b-4281-b951-d872f2087c98
* Remove more unneeded scaffolding.thestig@chromium.org2009-04-081-10/+1
| | | | | | Review URL: http://codereview.chromium.org/63129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13376 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some uses of custom tab contents types from some tests.brettw@chromium.org2009-04-041-0/+2
| | | | | | | | | | | | | | | This required redoing the tests that used it to use the new RenderViewHost test harness. This is mostly straightforward, but required more work for the NavigationController tests. I removed a few random places that were testing for the tab types. I also made different versions of a few functions that don't take tab contents types next to the existing ones that do, so my touched code won't have to be changed again when I remove the tab contents types. Review URL: http://codereview.chromium.org/62039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13132 0039d316-1c4b-4281-b951-d872f2087c98
* Issue 348: can view old incognito cache if main process left runningidanan@chromium.org2009-03-271-0/+3
| | | | | | | | | | | | Same place we clear cookies when the last incognito window is closed, destroy the entire incognito profile which by implication destoys the incognito cache. BUG=348 Review URL: http://codereview.chromium.org/53101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12688 0039d316-1c4b-4281-b951-d872f2087c98
* Mac bookmark work. jrg@chromium.org2009-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | - The bookmark menu is populated dynamically with bookmarks, including subfolders --> submenus. E.g. star something --> shows up in menu. Menu items are disabled but always present and current. - Always Show Bookmarks" menu now live; reads from / writes to preference, and shows correct "toggle state". - Bookmark bar on each tab, present if requested. (Currently an empty box). - Random stuff; e.g. bookmark prefs init moved to a x-plat location. This CL does not contain Cole's views. Bried english description of the nib file changes: - add a new view for the bookmark bar in the tab; hook it up to the controller - Many tag sets (e.g. View-->Always Show Bookmarks Bar now 40009) - Remove dummy bookmark menu items Review URL: http://codereview.chromium.org/46078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11936 0039d316-1c4b-4281-b951-d872f2087c98
* Add FilePath setter/getter to pref service. Change callers to use it rather ↵estade@chromium.org2009-03-041-1/+1
| | | | | | | | | | | | | than the string methods. Update the pref service unit test and enable it on linux. Also switch over some wstrings to filepaths where appropriate. BUG=8154 Review URL: http://codereview.chromium.org/27354 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10844 0039d316-1c4b-4281-b951-d872f2087c98
* Proposed change to support resource loading for media files.hclam@chromium.org2009-03-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Highlights of changes: - Added methods to disk_cache::Entry: - Entry::PrepareTargetAsExternalFile(int index) Prepare a stream in an entry to use external file for storage. - Entry::GetExternalFile(int index) Get the external file backing the stream in the entry. - Added a property "CacheType type_" to HttpCache, along with setter and getter. There shall be two cache types, COMMON_CACHE and MEDIA_CACHE for distinguishing between different purpose of HttpCache. We have this property to trigger special behavior for caching needs of media files. - Added static methods to ChromeURLRequestContext - ChromeURLRequestContext::CreateOriginalForMedia Create a URLRequestContext for media files for the original profile. - ChromeURLRequestContext::CreateOffTheRecordForMedia Create a URLRequestContext for media files for off the record profile. - Added method to Profile interface. - GetRequestContextForMedia To get the request context for media files from the context. Design decissions: - Enforce writing to external file by calling methods to Entry rather than construct Backend by a different flag. Since we only want a valid and full response to go into an external file rather than redirection response or erroneous response, we should let HttpCache::Transaction to decide when to have an external file for response data. We eliminate a lot of useless external cache files. - Adding the CacheType enum and property to HttpCache, we could allow possible (?) future extensions to HttpCache to handle other different caching needs. And there's no need to add change constructors of HttpCache, but maybe we should add a specific constructor to accomodate a media HttpCache? - Adding Profile::GetRequestContextForMedia() Since we will need to use this new request context in ResourceDispatcherHost, I think the best place to keep it is in the profile. Also we will expose to user that there's a separate cache for media, so it's better to expose it in the Profile level to allow settings to the media cache, e.g. max file size, etc. Review URL: http://codereview.chromium.org/19747 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10745 0039d316-1c4b-4281-b951-d872f2087c98
* Remember that we've white listed a certificate when we switch to a new tab.abarth@chromium.org2009-02-131-0/+3
| | | | | | | | R=wtc BUG=6456 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9749 0039d316-1c4b-4281-b951-d872f2087c98
* Make session_service.cc compile on Mac and Linux.jhawkins@chromium.org2009-02-111-1/+1
| | | | | | Review URL: http://codereview.chromium.org/23018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9608 0039d316-1c4b-4281-b951-d872f2087c98
* Revert basically everything I've done today as it fails mysteriouslyevan@chromium.org2009-02-101-1/+1
| | | | | | | and I lack the patience to diagnose why mac doesn't link in libjpeg. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9447 0039d316-1c4b-4281-b951-d872f2087c98
* Bring a bunch more headers into the non-Windows build:evan@chromium.org2009-02-101-1/+1
| | | | | | | | | | | | | - history - autocomplete - bookmarks These were all reviewed separately but turned out to be interdependent. :~( Review URL: http://codereview.chromium.org/21170 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9444 0039d316-1c4b-4281-b951-d872f2087c98
* Bring many of the template_url classes into the fold for the Mac. Note that ↵avi@google.com2009-02-041-7/+19
| | | | | | | | template_url_model_unittest isn't there; it requires a working database first. Review URL: http://codereview.chromium.org/19714 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9140 0039d316-1c4b-4281-b951-d872f2087c98
* Porting profiles to the Mac.avi@chromium.org2009-01-281-2/+2
| | | | | | Review URL: http://codereview.chromium.org/19623 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8831 0039d316-1c4b-4281-b951-d872f2087c98
* Add user script support to extensions.aa@chromium.org2009-01-251-0/+2
| | | | | | | | | | | | | | | This is implemented mostly by relying on the existing user script code. But since extension user scripts are declared, not discovered in a directory, I had to add support for adding 'lone' user scripts to UserScriptMaster. This led to a bit of refactoring. Note that this CL relies on: http://codereview.chromium.org/18352 Review URL: http://codereview.chromium.org/18198 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8614 0039d316-1c4b-4281-b951-d872f2087c98
* Move functions required by the rest of the browser from RenderProcessHost to ↵brettw@chromium.org2009-01-161-3/+3
| | | | | | | | an interface and move the implementation to BrowserRenderProcessHost. This will allow me to write render view unit tests without using the actual renderer, but there are no tests yet. Review URL: http://codereview.chromium.org/18132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8188 0039d316-1c4b-4281-b951-d872f2087c98
* Move search code to a subdirben@chromium.org2009-01-161-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8148 0039d316-1c4b-4281-b951-d872f2087c98
* Fie.ben@chromium.org2009-01-151-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8111 0039d316-1c4b-4281-b951-d872f2087c98
* Move search engines files into subdirben@chromium.org2009-01-151-1/+1
| | | | | | Review URL: http://codereview.chromium.org/18263 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8108 0039d316-1c4b-4281-b951-d872f2087c98
* This is a rename of the term 'Greasemonkey' to 'user script' in Chromium.aa@chromium.org2009-01-091-1/+1
| | | | | | | | | | | I'm doing this to avoid confusion with the Firefox version of Greasemonkey and also because 'user script' is really the correct generic term. At the same time, I also moved user_script_master* into extensions/ because I want these two pieces to get closer and closer such that standalone user scripts are just a very small extension. Also extensions will be relying on most of the user script code. Review URL: http://codereview.chromium.org/17281 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7827 0039d316-1c4b-4281-b951-d872f2087c98
* Makes the tab restore service contain any windows that were open atsky@google.com2008-12-181-3/+16
| | | | | | | | | | | | | the time of a crash. BUG=5465 TEST=Bring up chrome, go to google.com. Wait a minute. Kill chrome via the task manager. Launch chrome again. Make sure the new tab page shows an entry named 'Window (g)' where g is Google's favicon. Review URL: http://codereview.chromium.org/14172 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7188 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce ExtensionsService. Load extensions on startup from a directory inaa@chromium.org2008-12-051-0/+3
| | | | | | | | | | the profile if a command-line flag is present. Please carefully scrutinize the threading/ref-counting schenanigans. Review URL: http://codereview.chromium.org/12876 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6403 0039d316-1c4b-4281-b951-d872f2087c98
* Add option to disable/enable Spell Check. In addition, remove additional ↵sidchat@google.com2008-10-291-1/+1
| | | | | | | | | | code in resource message filter, which was initilaizing spellchecker in the filter if it was NULL. This part of the code is not required since the resource message filter should not initialize spellchecker; it is up to the profile to give the spellchecker to the resource message filter. Issue = 120 Review URL: http://codereview.chromium.org/7935 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4140 0039d316-1c4b-4281-b951-d872f2087c98