summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions
Commit message (Collapse)AuthorAgeFilesLines
...
* Try to fix the memory leak reports in g_restrictions.jstritar@chromium.org2012-01-111-4/+7
| | | | | | | | | | | | | | This updates the Restrictions usage to be more consistent with other LazyInstances: - do not copy and assign - use static keyword - use LAZY_INSTANCE_INITIALIZER BUG=106571 TEST=existing Review URL: http://codereview.chromium.org/9027007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117292 0039d316-1c4b-4281-b951-d872f2087c98
* Add conditional logging to ExtensionUnpacker to help debug crashes in unitmpcomplete@chromium.org2012-01-113-7/+49
| | | | | | | | | | | tests. BUG=108724 TEST=no Review URL: http://codereview.chromium.org/9181007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117256 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce background.scripts feature for extension manifests.aa@chromium.org2012-01-107-14/+178
| | | | | | | | | | | | | This optimizes for the common use case where background pages just include a reference to one or more script files and no additional HTML. BUG=107791 Review URL: http://codereview.chromium.org/9150008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117110 0039d316-1c4b-4281-b951-d872f2087c98
* Query the current window with chrome.tabs.query using -1.jstritar@chromium.org2012-01-105-3/+88
| | | | | | | | | | | | This makes querying for tabs in the current window easier by requiring less callbacks. BUG=108942 TEST=ExtensionApiTest.TabQuery Review URL: http://codereview.chromium.org/9162002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117107 0039d316-1c4b-4281-b951-d872f2087c98
* ExtensionUnpackerTest.InvalidMessagesFile is flaky on Windowsjeremy@chromium.org2012-01-101-1/+7
| | | | | | | | | | | | Disable on Windows for now. TEST=None BUG=109738 TBR=mpcomplete Review URL: http://codereview.chromium.org/9155012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117031 0039d316-1c4b-4281-b951-d872f2087c98
* Removing files that should have been removed in r116901mkwst@chromium.org2012-01-104-0/+0
| | | | | | | | | | | | | | Due to http://crbug.com/109715, the commit queue didn't remove more than a few files when committing http://codereview.chromium.org/9006027 This CL removes them manually. BUG=109712, 109715 TEST= TBR=rdevlin.cronin, aa Review URL: http://codereview.chromium.org/9158008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117014 0039d316-1c4b-4281-b951-d872f2087c98
* Remove comment that webRequest API is experimental from API documentationbattre@chromium.org2012-01-102-6/+2
| | | | | | | | | | BUG=108541 TEST=no Review URL: http://codereview.chromium.org/9147019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116990 0039d316-1c4b-4281-b951-d872f2087c98
* Update extension permissions to support optional permission API by default.jstritar@chromium.org2012-01-092-57/+58
| | | | | | | | | | BUG=106207 TEST=existing Review URL: http://codereview.chromium.org/9120012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116958 0039d316-1c4b-4281-b951-d872f2087c98
* Calculate extension permission increases from changes in warning messages.jstritar@chromium.org2012-01-092-17/+13
| | | | | | | | | | | | Instead of calculating permission increases from changes in API permissions, use the changes in actual warning messages. This makes sure we only prompt the user once when permissions share warnings. BUG=108198 TEST=ExtensionPermissionSetTest.HasLessPrivilegesThan Review URL: http://codereview.chromium.org/9152006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116931 0039d316-1c4b-4281-b951-d872f2087c98
* Rip Out the Sidebar APIrdevlin.cronin@chromium.org2012-01-0914-520/+3
| | | | | | | | | | | This fix removes the sidebar api and all its references from the code (primarily relating to chrome/common/extensions and chrome/browser/ui). BUG=107646 TEST=Covered by existing tests. Review URL: http://codereview.chromium.org/9006027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116901 0039d316-1c4b-4281-b951-d872f2087c98
* Implement chrome.experimental.downloads.getFileIcon().asanka@chromium.org2012-01-091-0/+41
| | | | | | | | | BUG=12133 TEST=browser_tests --gtest_filter=DownloadExtensionTest.*:DownloadsApiTest.* Review URL: http://codereview.chromium.org/8519004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116898 0039d316-1c4b-4281-b951-d872f2087c98
* Disable intermittently crashing ExtensionUnpackerTest.InvalidDefaultLocale ↵msw@chromium.org2012-01-061-2/+7
| | | | | | | | | | | | | | | | on Win. http://build.chromium.org/p/chromium/builders/Vista%20Tests%20%283%29/builds/10138/steps/unit_tests/logs/stdio This may be a more general problem; see bugs and crrev.com/116592. BUG=109238,108724 TEST=NONE TBR=yoz,dslomov,cira Review URL: http://codereview.chromium.org/9110041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116738 0039d316-1c4b-4281-b951-d872f2087c98
* Update permission restrictions for platform apps.jstritar@chromium.org2012-01-062-10/+12
| | | | | | | | | | | | - do not allow webstorePrivate for platform apps - clarify permission registration comments BUG=none TEST=ExtensionAPIPermissionTest.* Review URL: http://codereview.chromium.org/9096001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116699 0039d316-1c4b-4281-b951-d872f2087c98
* ExtensionUnpackerTest.HasDefaultLocaleMissingLocalesFolder crashes on Vista.jknotten@chromium.org2012-01-061-1/+9
| | | | | | | | | | | | Mark the test as disabled for windows. TBR=cira@chromium.org BUG=109385 TEST=ExtensionUnpackerTest.HasDefaultLocaleMissingLocalesFolder Review URL: http://codereview.chromium.org/9120003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116660 0039d316-1c4b-4281-b951-d872f2087c98
* Mark ExtensionUnpackerTest.ExtensionUnpackerTest DISABLED on OS_WIN.msw@chromium.org2012-01-061-3/+3
| | | | | | | | | BUG=109238,108724 TEST=NONE Review URL: http://codereview.chromium.org/9108029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116592 0039d316-1c4b-4281-b951-d872f2087c98
* An interim commit that works for simple cases. There is an arbitrary 1K ↵miket@chromium.org2012-01-051-2/+37
| | | | | | | | | | | | | | limit on individual read operations, and we're very wishy-washy about what we're actually reading/writing (they're std::strings). Next step: handle blobs rather than strings. Some of the toy code will go away, and we'll get the story straight about buffer sizes and blocking. BUG=106802 TEST=added. Also added a simple echo server. Manually verified that server skips busy ports. Review URL: http://codereview.chromium.org/9002001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116547 0039d316-1c4b-4281-b951-d872f2087c98
* Marking ExtensionUnpackerTest.EmptyDefaultLocale as flake on Windows. See ↵dslomov@chromium.org2012-01-051-2/+9
| | | | | | | | | | http://crbug.com/109238 TBR=cira@chromium.org,RDevlin.Cronin@gmail.com Review URL: http://codereview.chromium.org/9108006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116463 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated page action features from manifest v2.aa@chromium.org2012-01-0450-223/+153
| | | | | | | | BUG=106977 Review URL: http://codereview.chromium.org/8989055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116398 0039d316-1c4b-4281-b951-d872f2087c98
* Fix typo in extension permissions docs.jstritar@chromium.org2012-01-044-5/+5
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/9085011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116321 0039d316-1c4b-4281-b951-d872f2087c98
* Move background_page extension manifest key to background.page.aa@chromium.org2012-01-047-39/+84
| | | | | | | | | | | | | Move background_page to background.page so that additional properties can be added to the background group in the future. Only support background_page in older manifest versions. BUG=107791 Review URL: http://codereview.chromium.org/9072015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116289 0039d316-1c4b-4281-b951-d872f2087c98
* Hide downloads of extensions blacklist from web request API.battre@chromium.org2012-01-042-2/+21
| | | | | | | | | | | | | This CL prevents that extensions using the web request API can prevent Chrome from updating its extensions blacklist. R=mpcomplete@chromium.org BUG=108648 TEST=no Review URL: http://codereview.chromium.org/8952021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116258 0039d316-1c4b-4281-b951-d872f2087c98
* Re-enable extension_l10n_util unittests on non-Windows.yoz@chromium.org2011-12-281-21/+64
| | | | | | | | | BUG=108429 TBR=pastarmovj@chromium.org Review URL: http://codereview.chromium.org/9049009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115902 0039d316-1c4b-4281-b951-d872f2087c98
* Improved Web Request API documentationbattre@chromium.org2011-12-283-43/+43
| | | | | | | | | BUG=none TEST=no Review URL: http://codereview.chromium.org/9018011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115881 0039d316-1c4b-4281-b951-d872f2087c98
* Disable flakily crashing ExtensionResourceTest.CreateWithAllResourcesOnDisk ↵yoz@chromium.org2011-12-281-0/+4
| | | | | | | | | | | on Windows. BUG=108721 TBR=asargent@chromium.org Review URL: http://codereview.chromium.org/9049003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115865 0039d316-1c4b-4281-b951-d872f2087c98
* Extensions: Move Debugger Extension API (chrome.debugger) out of experimental.pfeldman@chromium.org2011-12-2717-96/+78
| | | | | | | | BUG=105931 Review URL: http://codereview.chromium.org/8980017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115820 0039d316-1c4b-4281-b951-d872f2087c98
* Disabling the whole ExtensionL10nUtil test suite because it crashes the ↵pastarmovj@chromium.org2011-12-261-20/+20
| | | | | | | | | | | | Vista bot. BUG=108429 TEST=unit_tests should not crash on Vista. TBR=cira@chromium.org Review URL: http://codereview.chromium.org/9030011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115790 0039d316-1c4b-4281-b951-d872f2087c98
* Disabled GetEmptyLocalesEmptyLocaleFolder because it crashes too often on ↵pastarmovj@chromium.org2011-12-261-1/+1
| | | | | | | | | | | | the Vista bot. BUG=108429 TEST=unit_tests GetEmptyLocalesEmptyLocaleFolder TBR=cira@chromium.org Review URL: http://codereview.chromium.org/8980018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115787 0039d316-1c4b-4281-b951-d872f2087c98
* Extensions: bring generated messages in sync with json schemas.pfeldman@chromium.org2011-12-266-10/+418
| | | | | | | | TBR=mtytel,calamity,aa Review URL: http://codereview.chromium.org/9042002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115783 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing names in extension api jsons so that code generation will work.calamity@chromium.org2011-12-259-11/+22
| | | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/8958023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115776 0039d316-1c4b-4281-b951-d872f2087c98
* WebRequest API documentation reviewbattre@chromium.org2011-12-233-377/+300
| | | | | | | | | BUG=108541 TEST=no Review URL: http://codereview.chromium.org/8729027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115717 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: do not allow chrome.debugger to attach to the WebUI pages.pfeldman@chromium.org2011-12-235-4/+4
| | | | | | | | BUG=108519 Review URL: http://codereview.chromium.org/9024014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115691 0039d316-1c4b-4281-b951-d872f2087c98
* Redo r113722 - Add Pass(), which implements move semantics, to scoped_ptr, ↵ajwong@chromium.org2011-12-221-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scoped_array.... -- This time for sure. -- Add Pass(), which implements move semantics, to scoped_ptr, scoped_array, and scoped_ptr_malloc. This modification to the scopers implements the "moveable but not copyable" semantics that were introduced in C++11's unique_ptr<>. With this, is now possible to use scopers as an argument type or a return type. This signifies, in the type system, transfer of ownership into a function or out of a function respectively. Calling, or returning such a function MUST use the temporary resulting from a function or explicit cast. This distinction makes it possible to avoid the implicit ownership transfer issues of auto_ptr, but still allow us to have compiler enforced ownership transfer. Also adds a Passed() helper that allows using a scoper with Bind(). Original Review URL: http://codereview.chromium.org/8774032 BUG=96118 TEST=new unittests Review URL: http://codereview.chromium.org/9018037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115607 0039d316-1c4b-4281-b951-d872f2087c98
* Remove references to obsolete TOUCH_UI build - extension samplerbyers@chromium.org2011-12-222-8/+1
| | | | | | | | | | | | | | | | | | | This sample includes a copy of the WebUI cr.js. We've removed all references to the old TOUCH_UI build from most of the code (including the main copy of cr.js). This updates the copy here and rebuilds the extension docs as requested by presubmit. Note that rebuilding the extension docs also gave me some unrelated changes to window.html (presumably because someone else failed to rebuild after updating) - I have not included those unrelated changes here. BUG=105046 TEST= Review URL: http://codereview.chromium.org/9018024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115554 0039d316-1c4b-4281-b951-d872f2087c98
* Marked the ExtensionL10nUtil.GetValidLocalesEmptyLocaleFolder as flakypastarmovj@chromium.org2011-12-221-1/+1
| | | | | | | | | | | | Has been failing constantly on the Vista Tests (3) buildbot. BUG=108429 TEST=unit_tests ExtensionL10nUtil.GetValidLocalesEmptyLocaleFolder TBR=cira@chromium.org Review URL: http://codereview.chromium.org/9025011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115530 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 115441 - Redo r113722 - Add Pass(), which implements move semantics, ↵jeremya@chromium.org2011-12-211-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to scoped_ptr, scoped_array.... (This undoes the revert in r114247. Win canaries still can't link, but this change has been deemed safe). Add Pass(), which implements move semantics, to scoped_ptr, scoped_array, and scoped_ptr_malloc. This modification to the scopers implements the "moveable but not copyable" semantics that were introduced in C++11's unique_ptr<>. With this, is now possible to use scopers as an argument type or a return type. This signifies, in the type system, transfer of ownership into a function or out of a function respectively. Calling, or returning such a function MUST use the temporary resulting from a function or explicit cast. This distinction makes it possible to avoid the implicit ownership transfer issues of auto_ptr, but still allow us to have compiler enforced ownership transfer. Also adds a Passed() helper that allows using a scoper with Bind(). BUG=96118 TEST=new unittests Review URL: http://codereview.chromium.org/9021032 TBR=ajwong@chromium.org Review URL: http://codereview.chromium.org/8949057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115444 0039d316-1c4b-4281-b951-d872f2087c98
* Redo r113722 - Add Pass(), which implements move semantics, to scoped_ptr, ↵ajwong@chromium.org2011-12-211-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scoped_array.... (This undoes the revert in r114247. Win canaries still can't link, but this change has been deemed safe). Add Pass(), which implements move semantics, to scoped_ptr, scoped_array, and scoped_ptr_malloc. This modification to the scopers implements the "moveable but not copyable" semantics that were introduced in C++11's unique_ptr<>. With this, is now possible to use scopers as an argument type or a return type. This signifies, in the type system, transfer of ownership into a function or out of a function respectively. Calling, or returning such a function MUST use the temporary resulting from a function or explicit cast. This distinction makes it possible to avoid the implicit ownership transfer issues of auto_ptr, but still allow us to have compiler enforced ownership transfer. Also adds a Passed() helper that allows using a scoper with Bind(). BUG=96118 TEST=new unittests Review URL: http://codereview.chromium.org/9021032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115441 0039d316-1c4b-4281-b951-d872f2087c98
* Add 'web_accessible_resource" keyword for version 2 extension manifests. ↵cdn@chromium.org2011-12-217-1/+96
| | | | | | | | | | This makes extension resources web accessible only when explicitly intended. Behavior is unaffected unless an extension specifies a manifest_version of 2 or more. BUG=46002 TEST=ExtensionResourceRequestPolicyTest.WebAccessibleResources Review URL: http://codereview.chromium.org/8849010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115401 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: update chrome.experimental.debugger sample zip files.pfeldman@chromium.org2011-12-212-0/+0
| | | | | | | | TBR=yurys Review URL: http://codereview.chromium.org/9018010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115333 0039d316-1c4b-4281-b951-d872f2087c98
* Take chrome.devtools out of experimental.caseq@google.com2011-12-213-11/+0
| | | | | | | | | BUG=105920 TEST=DevToolsExtensionAPITest.TestDevToolsExtensionAPI, ExtensionManifestTest.DevToolsExtensions Review URL: http://codereview.chromium.org/8995004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115320 0039d316-1c4b-4281-b951-d872f2087c98
* Disable ExtensionFileUtil.ValidateThemeUTF8 on Windowspeter@chromium.org2011-12-211-0/+4
| | | | | | | | | | | BUG=108279 TEST= TBR=mpcomplete@chromium.org Review URL: http://codereview.chromium.org/9021012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115314 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: inline the non-permission API names in extension_permission_set.cc.kalman@chromium.org2011-12-211-24/+12
| | | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/9021005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115298 0039d316-1c4b-4281-b951-d872f2087c98
* Add experimental.accessibility.getAlertsForTabhashimoto@chromium.org2011-12-211-0/+35
| | | | | | | | | | BUG=chromium-os:17602 TEST=browser_tests --gtest_filter="ExtensionApiTest.GetAlertsForTab" Review URL: http://codereview.chromium.org/8956009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115296 0039d316-1c4b-4281-b951-d872f2087c98
* Extensions: only inject the necessary extension API JSON into ↵kalman@chromium.org2011-12-215-70/+187
| | | | | | | | | | | schema_generated_bindings.js when populating the chrome.* namespace, where "necessary" is defined as the APIs that the extension has permission to use. BUG=80310 TEST=Extension* browser_tests Review URL: http://codereview.chromium.org/8888024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115252 0039d316-1c4b-4281-b951-d872f2087c98
* Disable CheckIllegalFilenamesReservedAndillegal on Windows.yoz@chromium.org2011-12-201-0/+5
| | | | | | | | | BUG=106381 TBR=georgey@chromium.org Review URL: http://codereview.chromium.org/9004002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115059 0039d316-1c4b-4281-b951-d872f2087c98
* Make extension installs from sync be from_webstore.yoz@chromium.org2011-12-193-8/+11
| | | | | | | | | BUG=107783 TEST=enable sync, install extension; check that when synced on another browser, its Preferences entry has from_webstore: true. Review URL: http://codereview.chromium.org/8965034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115013 0039d316-1c4b-4281-b951-d872f2087c98
* Fix extensions install procedure to use the user's temp directory for unzipping.pastarmovj@chromium.org2011-12-191-3/+35
| | | | | | | | | | | | | | Extensions should use the users temp dir instead of temp dir inside the profile because if we have roamed profile writing there from the sandbox will fail. There is a reason we don't copy directly to the target too: this has been done like that in order to ensure that no extensions is copied only partially to its final location when the profile and temp are on separate volumes. BUG=84045 TEST=manual Review URL: http://codereview.chromium.org/8507012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114998 0039d316-1c4b-4281-b951-d872f2087c98
* Standardize StringToInt{,64} interface.tedvessenes@gmail.com2011-12-191-2/+6
| | | | | | | | | | | | | | | | | | | | | | | These changes address issue #106655. All variants of StringToInt have been converted to use the StringPiece class. One instance of conversion, in chrome/browser/history/text_database.cc, required copying an underlying string. This is because the string type in question could use 8 or 16 bit characters depending on the OS type, and because StringPiece is not implemented as a template, the code cannot specify whether to create a StringPiece or StringPiece16. This should be remedied in a future CL. R=erikwright@chromium.org BUG=106655 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=114929 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=114944 Review URL: http://codereview.chromium.org/8921006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114993 0039d316-1c4b-4281-b951-d872f2087c98
* Added populate parameter to chrome.windows.get, chrome.windows.getCurrent,mtytel@chromium.org2011-12-191-0/+27
| | | | | | | | | | | chrome.windows.getLastFocused BUG=53516 TEST=Run chrome.windows.get(id, {"populate":true}, fun) from an extension Review URL: http://codereview.chromium.org/8969011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114963 0039d316-1c4b-4281-b951-d872f2087c98
* Fix exclude_matches functionalityaa@chromium.org2011-12-193-53/+71
| | | | | | | | | | | | This should allow the manifest to use the exclude_matches field in content scripts successfully. BUG=107505 TEST=See bug. A simple extension to test the exclude matches functionality, compliments of mihaip@chromium.org, is attached. Review URL: http://codereview.chromium.org/8963010 Patch from Devlin Cronin <RDevlin.Cronin@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114960 0039d316-1c4b-4281-b951-d872f2087c98
* Allow all URLPatterns to have ports.aa@chromium.org2011-12-199-250/+88
| | | | | | | | | | | | | | This is a minor breaking change, but after looking at the data, I don't think it's worth maintaining backward compat. I will mail the authors of the extensions that are affected to warn them. BUG=104104 Review URL: http://codereview.chromium.org/8970020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114957 0039d316-1c4b-4281-b951-d872f2087c98